Design and evaluation of shared memory for workstation networks

Arif Mahmood Bhatti · 1997

The popularity of the shared memory programming model arises from its ability to hide all architectural details from programmers. Distributed shared memory (DSM) is an abstraction to support this model in software on distributed memory machines. The special importance of networks of workstations (NOW) as a platform for parallel computing stems from their economies of scale. Recent dramatic improvements in end-to-end communication speeds present an opportunity to increase the scope of application of NOWs. This thesis presents, evaluates and contrasts three designs for implementing DSM on NOWs. Two of these designs follow traditional approaches. SIDSM is a sequentially consistent invalidation-based DSM, while RUDSM is a release-consistent update-based system. The third design is novel, and I call it SNOW. I implemented each of these three systems on a machine simulator that I modified to account for distributed shared memory activities. For a carefully chosen benchmark application suite, the performance measurements show that the traditionally designed SIDSM and RUDSM suffer from serious but different performance problems. Furthermore, a novel combination of techniques is found to remedy these deficiencies, and these are embodied in SNOW. In particular, my results suggest that: (1) The use of hardware support, in the form of a memory management unit (MMU) can worsen the negative effect of false sharing dramatically. Further, the traditional remedy to this problem, embodied in RUDSM's use of write-sharing, introduces unacceptably high overheads. (2) Contrary to traditional belief, static ownership of memory blocks incurs far less software access detection overhead than dynamic ownership. (3) SIDSM must be implemented by polling to avoid interrupt overhead. By contrast, RUDSM can exploit polling or interrupts, without the major penalty induced by access detection. (4) Every application in the benchmark suite runs faster on SNOW. This is achieved by employing small, variable sized memory blocks, with static ownership. SNOW also features especially efficient memory initialization and hybrid coherence protocols. The above results suggest that SNOW is superior in many respects to RUDSM and SIDSM. Hardware MMU's are beneficial only if they allow small, or variable sized memory blocks.

Read the paper · More papers on PaperTik