HRUNTING: a distributed shared memory system for the BEOWULF parallel workstation

Jennifer Crawford, Clark M. Mobarry · 2002

Shared memory programming systems present a helpful abstraction to the parallel programmer. However, modern commodity and near commodity architectures, such as Networks-of-Workstations (IBM SP/2) and Piles-of-PCs (Beowulf) lack hardware support for memory operations that span multiple memory busses. Such architectures require software support for shared memory operations. Two important design choices by which software shared memory can be characterized are namespace model and access method. In order to provide the semantics and ease-of-use of shared memory multiprocessors, distributed memory systems must provide a global namespace and a transparent (implicit) access method. This paper describes Hrunting, a freeware distributed shared memory (DSM) system for Beowulf-class multicomputers that satisfies both requirements. In order to reduce network communications, the DSM system uses the release consistency model. It has been shown that release consistency is equivalent to serial consistency with sufficient synchronization. In order to take advantage of the existing memory management hardware and software, the DSM system deals with the shared memory on the granularity of virtual memory pages. The DSM system employs a multiple writer protocol to allow several processes to write to different parts of the same virtual memory page, and an invalidate protocol to allow processes to keep copies of shared pages until the pages are modified. The performance of the DSM system was tested with a Barnes-Hut N-body galaxy simulation and with a parallel sort.

Read the paper · More papers on PaperTik