Software distributed shared memory: issues and a case study

Paweł Gburzyński, T.A. Marsland, Mehmet Rasit Eskicioglu · 2004

Software Distributed Shared Memory (S-DSM) is an abstraction which combines the scalability of loosely coupled multicomputer systems with the ease of usability of tightly coupled multiprocessors. One of the fundamental characteristics of S-DSM is its transparent replication and caching of application data. S-DSM is a useful tool not only for deploying networks of standalone computers as a parallel multicomputer, but also for increasing the usability of non-uniform memory access (NUMA) multicomputers. Furthermore, building this abstraction on top of a network of standalone computers represents an inexpensive alternative to high-end parallel computers in terms of startup and maintenance costs. S-DSM has received much attention in the past, leading to the development of many consistency models, protocols, and systems. Developing parallel programs that can achieve substantial performance gains over their sequential alternatives is not a trivial task. Factors such as degree of sharing data among processors, initial placement of data, and methods used for communication and data coherence often have a negative impact on the overall performance of parallel programs. This thesis presents a detailed overview of the past S-DSM research, and reviews several key implementations. It then introduces an optimized new implementation of JIAJIA S-DSM system, called JIA-R. In a case study, experimental results show the performance of JIA-R on several platforms. The thesis concludes by commenting on several additional research ideas to further the S-DSM research, and speculates on different potential uses, particularly those other than running parallel applications on loosely coupled systems.

Read the paper · More papers on PaperTik