« SOA Process Dependency Tracking | Main | Multiple Document Author Editing »

Distributed BTree

One of the ways a cloud based memory can be achieved is via a Distributed BTree. So then why not a Distributed Map? A Distributed Map would be an optimal solution that is guaranteed to produce constant time look ups. The problem, however, is the mapping Hash Function. It is not possible to find an optimum hashing function that could map correctly for large number of memory nodes. What is really required is a dynamic function that mutates with the nodes addition or removal in order to keep the lookup time constant. This is possible, but difficult.

One of the most important aspect when it comes to creating such a Distributed BTree is the connection to individual memory nodes. Replication complicates the arrangement. For HA, it is important to be able to replicate efficiently across multiple nodes. A point to point connection of this kind will lead to NACK/ACK implosion at some point of time. So an efficient Distributed BTree should be based on some kind of a Tree Based Reliable Multicast Protocol. We can also choose to decrease the level of replication and network traffic by using neighborhood node based correction algorithms. This means that if the node pointed to by an index does not have the data,we can use a corrective algorithm to get the data from the linked list of its immediate descendants. For this it is important that the descendant nodes are all grouped on the basis of the number of hops.

Another problem is that individual nodes may not be connected via high performance network devices. The design should be able to accommodate the slowest link as well. To make sure that the cloud's data retrieval is not limited to that of the slowest link, parallel data retrievals can be initiated on a configurable number of separate threads on different nodes and the quickest data should be accepted.

TrackBack

TrackBack URL for this entry:
http://blogs.oracle.com/mt/mt-tb.cgi/8956

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

About This Entry

This page contains a single entry from the blog posted on December 13, 2008 10:42 AM.

The previous post in this blog was SOA Process Dependency Tracking .

The next post in this blog is Multiple Document Author Editing.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type and Oracle