Evaluation of Compiler-Assisted Software DSM Schemes for a Workstation Cluster

  • Authors:
  • Junpei Niwa;Tatsushi Inagaki;Takashi Matsumoto;Kei Hiraki

  • Affiliations:
  • -;-;-;-

  • Venue:
  • IWIA '99 Proceedings of the 1999 International Workshop on Innovative Architecture
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

To execute shared-memory parallel programs efficiently on distributed-memory systems without remote-caching hardware mechanisms, software-caching mechanisms must be used. We have proposed two compiler-assisted software-caching schemes. One is a page-based system (Asymmetric Distributed Shared Memory: ADSM) that uses virtual memory mechanisms only for read cache-misses. The other is a full user-level system (User-level Distributed Shared Memory: UDSM) that uses user-level checking codes and consistency-management codes.In these schemes, an optimizing compiler directly analyses the shared-memory source programs and optimizes them. It exploits the capabilities of middle-grained or coarse-grained remote-memory accesses to reduce the volume of communications and to reduce the overhead of the cache-emulation codes. It performs interprocedural points-to analysis; interprocedural shared-access set calculations by using interval analysis to solve redundancy elimination equations along with lazy release consistency model. We implemented this optimizing compiler for both ADSM and UDSM, and run-time system for user-level cache-emulation.The run-time system runs on an SS20 workstation cluster connected with a 100BASE-TX Ethernet. Both schemes achieve a high speed-up ratio with the SPLASH-2 benchmark suite. The experimental results show that the combination of the optimizing compiler and Software DSM is very effective. The experimental results also show that the performance of the ADSM scheme is limited by the communication of unnecessary data, while that of the UDSM scheme is limited by the instrumentation overhead.