Distributed Storage Systems provide availability and survivability of data by replicating them in geographically dispersed network locations. A major problem with data distribution is consistency. How the system detects the latest-value of the replicated data? The most natural and easy to understand consistency guarantee is atomicity. Atomicity ensures that a read operation returns the value of the preceding write operation and that value is at least as recent as the value returned by any preceding read operation.
Researchers, over the last two decades, have developed numerous atomic implementations for the asynchronous message passing environment considering the simplest form of data storage: a read/write register. In this proposal we aim to elevate the applicability of the proposed solutions by using them for the development of an atomic distributed file system (ADFS) for the asynchronous, message passing crash prone environment. Large-scale objects, like files, degrade the operation latencies of the proposed algorithms when data are replicated and delivered over asynchronous channels to the replica hosts. On the other hand segmenting files into very small pieces and running an instance of the atomic implementation over each segment object may increase the request load on the replica hosts.
So this project will investigate the trade-offs between file fragmentation, fragment distribution, and operation latency. We need to specify precisely how file replication will be carried out and how clients will locate and retrieve the latest version of the file they desire. For this purpose we need to develop efficient fragmentation algorithms that minimize the read and write operation latency while at the same time do not incur excessive overhead on server requests.
We plan to implement and deploy our developed algorithms both in single processor simulation environments as well as in planetary-scale real time networks.