This paper describes Proteus, a distributed shared memory (DSM) system whic
h supports runtime node reconfiguration. Proteus allows users to change the
node set during the execution of a DSM program. The capability of node add
ition allows users to further shorten the execution time of their DSM progr
ams 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 a
dapt to the node configuration efficiently, Proteus employs several techniq
ues, including adaptive workload redistribution, affinity page movement, an
d forced update. Proteus supports both sequential consistency and release c
onsistency. It provides an object-oriented parallel programming environment
. This paper describes the design and implementation of node reconfiguratio
n in Proteus, and presents the performance of the system. Experimental resu
lts 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. (C) 2001 Elsevier Science Inc. All rights reserved.