The Working-Set Based Adaptive Protocol for Software Distributed Shared Memory

Recently, many different protocols have been proposed for software Distributed Shared Memory (DSM) that can provide a shared-memory programming model for distributed memory hardware. The adaptive protocols of these protocols attempt to allow the system to choose between different protocols based on the access patterns it observes in an application. This paper describes several problems that deteriorate the performance of a hybrid protocol[6], an adaptive invalidate/update protocol. To address these problems, this paper then presents a working-set based adaptive invalidate/update protocol that uses a working-set model as the criteria for determining whether to update or invalidate. The proposed protocol was implemented in CVM [7], a software DSM system, and evaluated using eight nodes of an IBM SP2. After experimenting with various working-set window sizes, it was confirmed that the proposed protocol could track an access pattern better than the hybrid protocol, plus with a very small window size the protocol was able to optimize the over-all performance.