High-Performance All-Software Distributed Shared Memory

  • Authors:
  • K. L. Johnson

  • Affiliations:
  • -

  • Venue:
  • High-Performance All-Software Distributed Shared Memory
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

The C Region Library (CRL) is a new all-software distributed shared memory (DSM) system. CRL requires no special compiler, hardware, or operating system support beyond the ability to send and receive messages between processing nodes. It provides a simple, portable, region-based shared address space programming model that is capable of delivering good performance on a wide range of multiprocessor and distributed system architectures. Each region is an arbitrarily sized, contiguous area of memory. The programmer defines regions and delimits accesses to them using annotations. CRL implementations have been developed for two platforms: The Thinking Machines CM-5, a commercial multicomputer, and the MIT Alewife machine, an experimental multiprocessor offering efficient hardware support for both message passing and shared memory. Results are presented for up to 128 processors on the CM-5 and up to 32 processors on Alewife. Using Alewife as a vehicle, this thesis presents results from the first completely controlled comparison of scalable hardware and software DSM systems. These results indicate the CRL is capable of delivering performance that is competitive with hardware DSM systems: CRL achieves speedups within 15% of those provided by Alewife''s native hardware-suported shared memory, even for challenging aplications (e.g., Barnes-Hut) and small problem sizes. A second set of experimental results provides insight into the sensitivity of CRL''s performance to increased communication costs (both higher latency and lower bandwidth). These results demonstrate that even for relatively challenging applivcations, CRL should be capable of delivering reasonable performance on current-generation distributed systems. Taken together, these reults indicate the substancial promise of CRL and other all-software approaches to providing shared memory funtionality and suggest that in many cases specvial-purpose hardware support for shared memory may not be necessary.