Proteus: an efficient runtime reconfigurable distributed shared memory system

Abstract This paper describes Proteus, a distributed shared memory (DSM) system which supports runtime node reconfiguration. Proteus allows users to change the node set during the execution of a DSM program. The capability of node addition allows users to further shorten the execution time of their DSM programs by dynamically adding newly available nodes to the system. Furthermore, competition for resources between system users and computer owners can be avoided by dynamically deleting nodes from the system. To make the system adapt to the node configuration efficiently, Proteus employs several techniques, including adaptive workload redistribution, affinity page movement, and forced update. Proteus supports both sequential consistency and release consistency. It provides an object-oriented parallel programming environment. This paper describes the design and implementation of node reconfiguration in Proteus, and presents the performance of the system. Experimental results indicate that Proteus can further improve the performance of the tested programs by taking advantage of node reconfiguration. Our results further demonstrate that the techniques employed in Proteus minimize communication and overhead.

[1]  Allen Gersho,et al.  Vector quantization and signal compression , 1991, The Kluwer international series in engineering and computer science.

[2]  Peter J. Keleher,et al.  Thread migration and communication minimization in DSM systems , 1999 .

[3]  Assaf Schuster,et al.  Thread migration and its applications in distributed shared memory systems , 1998, J. Syst. Softw..

[4]  Ce-Kuen Shieh,et al.  Design and Implementation of Cohesion , 1998, J. Inf. Sci. Eng..

[5]  Peter J. Keleher,et al.  Per-Node Multithreading and Remote Latency , 1998, IEEE Trans. Computers.

[6]  Brian N. Bershad,et al.  PRESTO: A system for object‐oriented parallel programming , 1988, Softw. Pract. Exp..

[7]  Brian N. Bershad,et al.  Midway : shared memory parallel programming with entry consistency for distributed memory multiprocessors , 1991 .

[8]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1986, PODC '86.

[9]  Brian N. Bershad,et al.  Dynamic node reconfiguration in a parallel-distributed environment , 1991, PPOPP '91.

[10]  Ce-Kuen Shieh,et al.  Load balancing in distributed shared memory systems , 1997, 1997 IEEE International Performance, Computing and Communications Conference.

[11]  Robert M. Gray,et al.  An Algorithm for Vector Quantizer Design , 1980, IEEE Trans. Commun..

[12]  Anoop Gupta,et al.  Memory consistency and event ordering in scalable shared-memory multiprocessors , 1990, ISCA '90.

[13]  Willy Zwaenepoel,et al.  Munin: distributed shared memory based on type-specific memory coherence , 1990, PPOPP '90.

[14]  Miron Livny,et al.  A worldwide flock of Condors: Load sharing among workstation clusters , 1996, Future Gener. Comput. Syst..

[15]  Willy Zwaenepoel,et al.  Implementation and performance of Munin , 1991, SOSP '91.

[16]  Alan L. Cox,et al.  Lazy release consistency for software distributed shared memory , 1992, ISCA '92.

[17]  Liviu Iftode,et al.  Scope consistency: a bridge between release consistency and entry consistency , 1996, SPAA '96.

[18]  Peter J. Keleher,et al.  Active correlation tracking , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).