Efficient Replication of Large Data Objects
We present a new distributed data replication algorithm tailored especially for large-scale read/write data objects such as files. The algorithm guarantees atomic data consistency, while incurring low latency costs. The key idea of the algorithm is to maintain copies of the data objects separately from information about the locations of up-to-date copies. Because it performs most of its work using only the location information, our algorithm needs to access only a few copies of the actual data; specifically, only one copy during a read and only f+1 copies during a write, where f is an assumed upper bound on the number of copies that can fail. These bounds are optimal. The algorithm works in an asynchronous message-passing environment. It does not use additional mechanisms such as group communication or distributed locking. It is suitable for implementation in WANs as well as LANs. We also present two lower bounds on the costs of data replication. The first lower bound is on the number of low-level writes required during a read operation on the data. The second bound is on the minimum space complexity of a class of efficient replication algorithms. These lower bounds suggest that some of the techniques used in our algorithm are necessary. They are also of independent interest.
KeywordsShared Memory Communication Cost Communication Complexity Read Operation Data Replication
Unable to display preview. Download preview PDF.
- 1.Adya, A., Bolosky, W., Castro, M., Cermak, G., et al.: Farsite: Federated, available, and reliable storage for an incompletely trusted environment. In: Proceedings of the fifth symposium on operating systems design and implementation (2002)Google Scholar
- 2.Amir, Y., Dolev, D., Melliar-Smith, P., Moser, L.: Robust and efficient replication using group communication (1994)Google Scholar
- 4.Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency control and recovery in database systems. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (1987)Google Scholar
- 6.Fan, R.: Efficient replication of large data-objects. Technical Report MIT-LCS-TR-886, Department of Electrical Engineering and Computer Science, MIT, Cambridge, MA 02139 (February 2003)Google Scholar
- 7.Gifford, D.K.: Weighted voting for replicated data. In: Proceedings of the seventh symposium on Operating systems principles, pp. 150–162 (1979)Google Scholar
- 9.Welch, J., Attiya, H.: Distributed Computing. McGraw Hill International, Ltd., New York (1998)Google Scholar
- 10.Herlihy, M.P., Wing, J.M.: Axioms for concurrent objects, pp. 13–26. ACM Press, New York (1987)Google Scholar
- 14.Lynch, N., Shvartsman, A.: Robust emulation of shared memory using dynamic quorum-acknowledged broadcasts. In: Twenty-Seventh Annual International Symposium on Fault-Tolerant Computing (FTCS 1997), Seattle, Washington, USA, June 1997, pp. 272–281. IEEE, Los Alamitos (1997)Google Scholar
- 15.Pacitti, E., Minet, P., Simon, E.: Fast algorithms for maintaining replica consistency in lazy master replicated databases. In: VLDB 1999, Proceedings of 25th International Conference on Very Large Data Bases, Edinburgh, Scotland, UK, September 7-10, pp. 126–137. Morgan Kaufmann, San Francisco (1999)Google Scholar
- 16.Paris, J.-F.: Voting with witnesses: A consistency scheme for replicated files. In: Proceedings of the 6th International Conference on Distributed Computing Systems (ICDCS), pp. 606–612. IEEE Computer Society, Los Alamitos (1986)Google Scholar
- 17.Petersen, K., Li, K.: An evaluation of multiprocessor cache coherence based on virtual memory support. In: Proc. of the 8th Int’l Parallel Processing Symp (IPPS 1994), pp. 158–164 (1994)Google Scholar
- 18.van Renesse, R., Tanenbaum, A.S.: Voting with ghosts. In: Proceedings of the 8th International Conference on Distributed Computing Systems (ICDCS), pp. 456–462. IEEE Computer Society, Los Alamitos (1988)Google Scholar