Adaptive algorithms for PASO systems

We describe a fault-tolerant distributed storage system for local area networks. Our system implements Persistent, Associative, Shared Object (PASO) memory. A PASO memory stores a set of data objects that can be accessed by associative search queries from all nodes in an ensemble of machines. This approach to distributed memory has been used in a number of systems, and provides a convenient and useful model for parallel and distributed applications. PASO memory is amenable to adaptive implementations that relocate data objects in response to changing network configurations and access patterns, making it a good candidate for an efficient, fault-tolerant storage system. The paper defines the semantics of PASO memory, gives a basic design strategy, discusses memory primitives and their costs, and discusses adaptive techniques for improving efficiency.

[1]  Craig C. Douglas,et al.  A tupleware approach to domain decomposition methods , 1991 .

[2]  Amos Fiat,et al.  Competitive Paging Algorithms , 1991, J. Algorithms.

[3]  Jonathan Walpole,et al.  Recovery with limited replay: fault-tolerant processes in Linda , 1990, Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.

[4]  Algirdas Avizienis,et al.  Position Paper , 1994, EDCC.

[5]  Daniel Le Métayer,et al.  Reasearch Directions in High-Level Parallel Programming Languages , 1991, Lecture Notes in Computer Science.

[6]  Barbara Liskov,et al.  A design for a fault-tolerant, distributed implementation of Linda , 1989, [1989] The Nineteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[7]  Lyle A. McGeoch,et al.  Competitive algorithms for on-line problems , 1988, STOC '88.

[8]  Satoshi Matsuoka,et al.  Using tuple space communication in distributed object-oriented languages , 1988, OOPSLA 1988.

[9]  A. Klein,et al.  Tuple space integrated into Modula-2, implementation of the Linda concept on a hierarchical multiprocessor , 1989 .

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

[11]  Suresh Jagannathan TS/Scheme: Distributed Data Structures in Lisp , 1994, LISP Symb. Comput..

[12]  Robert E. Tarjan,et al.  Amortized efficiency of list update and paging rules , 1985, CACM.

[13]  Gruia-Catalin Roman,et al.  Pavane: a system for declarative visualization of concurrent computations , 1992, J. Vis. Lang. Comput..

[14]  Richard D. Schlichting,et al.  Supporting Fault-Tolerant Parallel Programming in Linda , 1995, IEEE Trans. Parallel Distributed Syst..

[15]  Gul A. Agha,et al.  ActorSpace: an open distributed programming paradigm , 1993, PPOPP '93.

[16]  Richard D. Schlichting,et al.  Tolerating failures in the bag-of-tasks programming paradigm , 1991, [1991] Digest of Papers. Fault-Tolerant Computing: The Twenty-First International Symposium.

[17]  Antonio Brogi,et al.  The concurrent language, Shared Prolog , 1991, TOPL.

[18]  Amos Fiat,et al.  Competitive distributed file allocation , 1993, STOC '93.

[19]  Kenneth P. Birman,et al.  Reliable communication in the presence of failures , 1987, TOCS.

[20]  M. Luby,et al.  On ~ competitive algorithms for paging problems , 1991 .

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

[22]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[23]  Satoshi Matsuoka,et al.  Using tuple space communication in distributed object-oriented languages , 1988, OOPSLA '88.

[24]  David Gelernter,et al.  Supercomputing out of recycled garbage: preliminary experience with Piranha , 1992, ICS '92.

[25]  Anna R. Karlin,et al.  Competitive snoopy caching , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).