Abstract
The problem of designing, implementing and operating a data structure in a distributed system is studied from a complexity oriented point of view. Various relevant issues are addressed via the development of an example structure. The structure evolves through a sequence of steps, each oriented towards attacking a different aspect of the problem. The paper concentrates on deterministic structures featuring low memory requirements, memory balance and efficient access protocols. Among the issues treated are centerless organizations of data structures, background maintenance of memory balancing, employing redundancy for increasing search efficiency and concurrent accesses to distributed structures.
Supported in part by an Allon Fellowship, by a Walter and Elise Haas Career Development Award and by a Bantrell Fellowship.
Preview
Unable to display preview. Download preview PDF.
References
B. Awerbuch, A. Bar-Noy, N. Linial, and D. Peleg. Compact distributed data structures for adaptive routing. In Proc. 21st ACM Symp. on Theory of Computing, pages 230–240, Seattle, Washington, May 1989.
A.V. Aho, J.E. Hopcroft, and J.D. Ullman. Data Structures and Algorithms. Addison-Wesley Publishing Co., Reading, MA, 1983.
M.J. Atallah and S.R. Kosaraju. A generalized dictionary machine for VLSI. IEEE Trans. on Computers, C-34:151–155, 1985.
B. Awerbuch. Complexity of network synchronization. J. of the ACM, 32:804–823, 1985.
P.A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley Publishing Co., Reading, MA, 1987.
K.P. Birman and T.A. Joseph. Reliable communication in the presence of failures. ACM Trans. on Comput. Syst., 5:47–76, 1987.
J. Bar-Ilan and D. Peleg. How to Assign Network Centers. Technical Report CS90-20, The Weizmann Institute, August 1990.
R. Bayer and M. Schkolnick. Concurrency of operations on B-trees. Acta Informatica, 9:1–21, 1979.
J.H. Chang, M.J. Chung, O.H. Ibarra, and K.K. Rao. Systolic tree implementation of data structures. In Proc. IEEE Int. Conf. on Parallel Process., pages 669–671, IEEE, 1986.
N. Carriero, D. Gelernter, and J. Leichter. Distributed data structures in Linda. In Proc. 13th ACM Symp. on Principles of Prog. Lang, pages 236–242, ACM, 1986.
J. Chang and N.F. Maxemchuk. Reliable broadcast protocols. ACM Trans. on Comput. Syst., 3:251–273, 1984.
M. Dietzfelbinger and F. Meyer auf der Heide. How to distribute a dictionary in a complete network. In Proc. 22nd ACM Symp. on Theory of Computing, 1990. to appear.
W.J. Dally and C.L. Seitz. The Balanced Cube: A Concurrent Data Structure. Technical Report 5174:TR:85, California Institute of Technology, 1985.
F. Dehne and N. Santoro. Optimal VLSI dictionary machines on meshes. In Proc. IEEE Int. Conf. on Parallel Process., pages 832–840, IEEE, 1987.
C.S. Ellis. Concurrent search and insertion in 2–3 trees. Acta Informatica, 14:63–86, 1980.
C.S. Ellis. Concurrent search and insertion in AVL trees. IEEE Trans. on Computers, C-29:811–817, 1980.
C.S. Ellis. Distributed data structures, a case study. IEEE Trans. on Computers, C-34:1178–1185, 1985.
A.J. Frank, L.D. Wittie, and A.J. Bernstein. Maintaining weakly-consistent replicated data on dynamic groups of computers. In Proc. IEEE Int. Conf. on Parallel Process., pages 155–162, IEEE, 1985.
R.G. Gallager, P.A. Humblet, and P.M. Spira. A distributed algorithm for minimum weight spanning trees. ACM Trans. on Programming Lang. and Syst., 5:66–77, 1983.
D.K. Gifford. Weighted voting for replicated data. In Proc. 7th ACM Symp. on Operating Systems Principles, pages 150–162, ACM, Pacific Grove, CA, December 1979.
P.M. Gopal and B.K. Kadaba. Analysis of a Class of Distributed Directory Algorithms. Research Report RC-14488, IBM Yorktown, March 1989.
H. Garcia-Molina and A. Spauster. Message ordering in a multicast environment. In Proc. 9th IEEE Conf. on Distributed Computing Systems, Newport Beach, CA, 1989.
D. Ginat and A.U. Shankar. Decentralized ordering of contending nodes in a distributed system. 1989. unpublished manuscript.
M. Herlihy. Replication Methods for Abstract Data Types. Technical Report TR-319, MIT, Lab. for Computer Science, May 1984.
M. Herlihy. Concurrency versus availability: atomicity mechanisms for replicated data. ACM Trans. on Comput. Syst., 5:249–274, 1987.
M. Herlihy. A methodology for implementing highly concurrent data structures. In Proc. ACM PPoPP, ACM, 1990.
D.S. Hochbaum and D. Shmoys. Powers of graphs: a powerful technique for bottleneck problems. In Proc. 16th ACM Symp. on Theory of Computing, pages 324–333, ACM, April 1984.
M. Herlihy and J. Wing. Axioms for concurrent objects. In Proc. 14th ACM Symp. on Principles of Prog. Lang, pages 13–16, ACM, January 1987.
H.T. Kung and P.L. Lehman. Concurrent manipulation of binary search trees. ACM Trans. on Programming Lang. and Syst., 5:339–353, 1980.
D.E. Knuth. The Art of Computer Programming, Vol. 3. Addison-Wesley Publishing Co., Reading, MA, 1973.
A. Karlin and E. Upfal. Parallel hashing — an efficient implementation of shared memory. In Proc. 18th ACM Symp. on Theory of Computing, May 1986.
L. Lamport. On interprocess communication, parts I and II. Distributed Computing, 1:77–101, 1986.
K.A. Lantz, J.L. Edighoffer, and B.L. Histon. Towards a universal directory service. In Proc. 4th ACM Symp. on Principles of Distributed Computing, pages 261–271, August 1985.
C.E. Leiserson. Systolic Priority Queues. Technical Report CMU-CS-79-115, Carnegie-Mellon University, 1979.
N. Lynch and M. Merritt. Introduction to the theory of nested transactions. In Int. Conf. on Database Theory, pages 278–305, Rome, Italy, 1979.
L. Lovász. On the ratio of optimal integral and fractional covers. Discrete Mathematics, 13:383–390, 1975.
V. Lanin and D. Shasha. Concurrent set manipulation without locking. In Proc. 7th ACM Symp. on Principles of Database Systems, pages 211–220, ACM, 1988.
U. Manber. On maintaining dynamic information in a concurrent environment. SIAM J. on Comput., 15:1130–1142, 1986.
U. Manber and R.E. Ladner. Concurrency control in a dynamic search structure. ACM Trans. on Database Syst., 9:439–455, 1984.
S.J. Mullender and P.M.B. Vitányi. Distributed match-making. Algorithmica, 3:367–391, 1985.
D. Oppen and Y.K. Dalal. The Clearinghouse: A Decentralized Agent for Locating Named Objects in a Distributed Environment. Technical Report OPD-T8103, Xerox Corp., October 1981.
T.A. Ottman, A.L. Rosenberg, and L.J. Stockmeyer. A dictionary machine for VLSI. IEEE Trans. on Computers, C-31:892–897, 1982.
C.H. Papadimitriou. The Theory of Concurrency Control. Computer Science Press, Rockville, MD, 1986.
D. Peleg. Distance-Dependent Distributed Directories. Technical Report CS89-10, The Weizmann Institute, May 1989.
G.F. Pfister and V.A. Norton. “hot spot” contention and combining in multistage interconnection networks. IEEE Trans. on Computers, C-34:943–948, 1985.
D. Peleg and E. Upfal. A tradeoff between size and efficiency for routing tables. J. of the ACM, 36:510–530, 1989.
D. Peleg and K. Ziegler. A compact, memory-balanced, deterministic distributed dictionary. 1990. In preparation.
A. Ranade. How to emulate shared memory. In Proc. 28th IEEE Symp. on Foundations of Computer Science, pages 185–194, October 1987.
D.P. Reed. Naming and Synchronization in a Decentralized Computer System. PhD thesis, MIT, Dept. of Electrical Engineering, 1978.
V.N. Rao and V. Kumar. Concurrent insertions and deletions in a priority queue. In Proc. IEEE Int. Conf. on Parallel Process., pages 207–211, IEEE, 1988.
Y. Sagiv. Concurrent operations on B-trees with overtaking. In Proc. 4th ACM Symp. on Principles of Database Systems, pages 28–37, ACM, January 1985.
A. Segall. Distributed network protocols. IEEE Trans. on Info. Theory, IT-29:23–25, 1983.
N. Santoro and R. Khatib. Labelling and implicit routing in networks. The Computer Journal, 28:5–8, 1985.
A.M. Schwartz and M. Loui. Dictionary machines on cube-class networks. IEEE Trans. on Computers, C-36:100–105, 1987.
D.B. Terry. Cashing hints in distributed systems. IEEE Trans. on Software Eng., SE-13:48–54, 1987.
E. Upfal and A. Wigderson. How to share memory in a distributed system. J. of the ACM, 34:116–127, 1987.
W.E. Weihl. Specification and Implementation of Atomic Data Types. Technical Memo MIT/LCS/TM-314, MIT, Lab. for Computer Science, March 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Peleg, D. (1991). Distributed data structures: A complexity-oriented view. In: van Leeuwen, J., Santoro, N. (eds) Distributed Algorithms. WDAG 1990. Lecture Notes in Computer Science, vol 486. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54099-7_6
Download citation
DOI: https://doi.org/10.1007/3-540-54099-7_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54099-1
Online ISBN: 978-3-540-47405-0
eBook Packages: Springer Book Archive