Multi-threaded design for a software distributed shared memory system

Jyh Chang Ueng, Ce Kuen Shieh, Su Cheong Mac

Research output: Contribution to journalArticlepeer-review

11 Citations (Scopus)


SUMMARY This paper describes the design and implementation of a multi-threaded Distributed Shared Memory (DSM) system, called Cohesion, which provides high programming flexibility and latency masking, and supports load balancing. Cohesion offers a parallel programming environment which is very similar to that on a multiprocessors system. Threads could be created recursively in this environment, and users are not required to handle the locations of the threads. Instead of supporting a shared variable model, Cohesion provides a global shared address space among all nodes in the system. The space is further divided into three regions, i.e., release, conventional, and object-based memory, each is applied with different consistency protocol. In this paper, the design issues in an ordinary thread system, such as thread management, load balancing, and synchronization, have been reconsidered with the memory management provided by the DSM system. Several real applications have been used to evaluate the performance of the system. The results show that multi-threading usually has better performance than single-threading because the network latency can be masked by overlapping communication and computation. However, the gain depends on program behavior and the number of threads executed on each node in the system.

Original languageEnglish
Pages (from-to)1512-1523
Number of pages12
JournalIEICE Transactions on Information and Systems
Issue number12
Publication statusPublished - 1999

All Science Journal Classification (ASJC) codes

  • Software
  • Hardware and Architecture
  • Computer Vision and Pattern Recognition
  • Electrical and Electronic Engineering
  • Artificial Intelligence


Dive into the research topics of 'Multi-threaded design for a software distributed shared memory system'. Together they form a unique fingerprint.

Cite this