Accessing Nearby Copies of Replicated Objects in a Distributed Environment

Consider a set of shared objects in a distributed network, where several copies of each object may exist at any given time. To ensure both fast access to the objects as well as efficient utilization of network resources, it is desirable that each access request be satisfied by a copy "close" to the requesting node. Unfortunately, it is not clear how to efficiently achieve this goal in a dynamic, distributed environment in which large numbers of objects are continuously being created, replicated, and destroyed. In this paper, we design a simple randomized algorithm for accessing shared objects that tends to satisfy each access request with a nearby copy. The algorithm is based on a novel mechanism to maintain and distribute information about object locations, and requires only a small amount of additional memory at each node. We analyze our access scheme for a class of cost functions that captures the hierarchical nature of wide-area networks. We show that under the particular cost model considered: (i) the expected cost of an individual access is asymptotically optimal, and (ii) if objects are sufficiently large, the memory used for objects dominates the additional memory used by our algorithm with high probability. We also address dynamic changes in both the network as well as the set of object copies.

[1]  H. Chernoff A Measure of Asymptotic Efficiency for Tests of a Hypothesis Based on the sum of Observations , 1952 .

[2]  G. N. Raney Functional composition patterns and power series reversion , 1960 .

[3]  J. Davenport Editor , 1960 .

[4]  Charles E. Leiserson,et al.  Fat-trees: Universal networks for hardware-efficient supercomputing , 1985, IEEE Transactions on Computers.

[5]  Abhiram G. Ranade,et al.  How to emulate shared memory , 1991, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[6]  Eli Upfal,et al.  How to share memory in a distributed system , 1984, JACM.

[7]  Baruch Awerbuch,et al.  Sparse partitions , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[8]  Friedhelm Meyer auf der Heide,et al.  Efficient PRAM simulation on a distributed memory machine , 1992, STOC '92.

[9]  Yuval Rabani,et al.  Competitive algorithms for distributed data management (extended abstract) , 1992, STOC '92.

[10]  Baruch Awerbuch,et al.  Routing with Polynomial Communication-Space Trade-Off , 1992, SIAM J. Discret. Math..

[11]  A. Fleischmann Distributed Systems , 1994, Springer Berlin Heidelberg.

[12]  Michael F. Schwartz,et al.  Locating nearby copies of replicated Internet servers , 1995, SIGCOMM '95.

[13]  Baruch Awerbuch,et al.  Online tracking of mobile users , 1995, JACM.

[14]  Yuval Rabani,et al.  Competitive Algorithms for Distributed Data Management , 1995, J. Comput. Syst. Sci..

[15]  David Peleg,et al.  Bubbles: adaptive routing scheme for high-speed dynamic networks , 1995, STOC '95.

[16]  Amos Fiat,et al.  Distributed paging for general networks , 1996, SODA '96.

[17]  Franz J. Hauck,et al.  A Model for Worldwide Tracking of Distributed Objects , 1996 .

[18]  R.M. Karp, M. Luby, F. Meyer auf der Hei Efficient PRAM simulation on a distributed memory machine , 1996 .

[19]  Rajmohan Rajaraman,et al.  Fast fault-tolerant concurrent access to shared objects , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

[20]  David R. Karger,et al.  Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web , 1997, STOC '97.

[21]  Rina Panigrahy,et al.  Relieving Hot Spots on the World Wide Web , 1997 .

[22]  Bruce M. Maggs,et al.  Exploiting locality for data management in systems of limited bandwidth , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[23]  Rajmohan Rajaraman,et al.  Accessing Nearby Copies of Replicated Objects in a Distributed Environment , 1999, Theory of Computing Systems.