In brief, exNodes aggregate IBP storage resources to provide file services over the network.
An analogy is in order. In any computer, the user does not interact with the storage directly. No one manipulates individual disk blocks. Instead, the OS manages inodes which are pointers to disk blocks. Similarly, exNodes are pointers to IBP allocations (or capabilities).
For those unfamiliar with IBP, it is a service that allows users to store data in the network. IBP allows allocations up to 4 GB in size. When you request an allocation, the depot (IBP server) returns to you a capability (or key). It is safer than ftp or http for file distribution since you must have the allocation key to acces the file and, unlike ftp and http, it does not reveal anything about your filesystem.
Now that you know that IBP depots are serving storage in the network, how do you find them? Currently, we use the Logistical Backbone (L-Bone). The L-Bone allows the user to specify the amount and type of storage needed and for how long. It also allows the user to specify where they need storage.
The advantages to using exNodes versus dealing directly with IBP capabilities are many. Although IBP allocations have great capabilities, it can become a chore to manage the all the keys. ExNodes solve this dilemma and they provide many useful benefits. See next page for details.
ExNodes capitalize on the features of IBP and extend them.
Individual IBP capabilties may store 2 GB, but exNodes can chain these allocations together into a file up to 8 exabyte (63 bit) in size - even on 32 bit systems*.
Each exNode can have multiple copies of the file for more reliability. If a single depot goes down or becomes unreachable over the network, you can still retrieve data from copies stored on different machines.
Data Where You Need It
Not only do multiple copies increase reliability, but they also allow you to pre-position data near the consumers of the data. By staging data near the users, you can optimize performance. The exNode download tools use Network Weather Service (NWS) tools to select the copy with the highest throughput at that moment when choosing which copy to download.
Designed for Multi-Threading and RAID
In addition to muliple copies, you may choose to fragment the stored file as well. Fragmenting allows you to scatter the data over a wider area and it allows you to separate the file into pieces with pieces located near the individual machines working on distributed computations. By building in this capability now, we can also add multi-threaded downloading for blazing fast performance and RAID capabilities for even greater reliability.
We are developing both command line tools and a C api to allow you to easily integrate exNodes into your environment.
All exNodes are 100% compatible regardless of which OS created them. All exNodes use XML for serialization so that you can upload a file on one OS and send the exNode file to another user on another OS.
* To store and download 8 EB (63 bit) files on 32 bit systems, the operating system must support large files and the compiler must be gcc. This is supported on Solaris, Linux and MacOSX.
If you have any questions or suggestions for exNode, please subscribe to the LoCI interest mailing list or send us an email at