Distinguishing sharing types to minimize communication in software distributed shared memory systems

Tyng Yeu Liang, Jyh Chang Ueng, Ce Kuen Shieh, Deh Yuan Chuang, Jun Qi Lee

Research output: Contribution to journalArticle

6 Citations (Scopus)


Using thread migration to redistribute threads to processors is a common scheme for minimizing communication needed to maintain data consistency in software distributed shared memory (DSM) systems. In order to minimize data-consistency communication, the number of shared pages is used to identify the pair of threads that will cause the most communication. This pair of threads is then co-located on the same node. Thread pairs sharing a given page can be classified into three types, i.e., read/read (r/r), read/write (r/w) and write/write (w/w). Based on memory-consistency protocol, these three types of sharing generate distinct amounts of data-consistency communication. Ignoring this factor will mispredict the amount of communication caused by cross-node sharing and generate wrong decisions in thread migration. This paper presents a new policy called distinguishing of types sharing (DOTS) for DSM systems. The basic concept of this policy is to classify sharing among threads as r/r, r/w or w/w, each with a different weight, and then evaluate communication cost in terms of these weights. Experiments show that considering sharing types is necessary for minimization of data-consistency communication in DSM. Using DOTS for thread mapping produces more communication reduction than considering only the number of shared pages.

Original languageEnglish
Pages (from-to)73-85
Number of pages13
JournalJournal of Systems and Software
Issue number1
Publication statusPublished - 2000 Nov 5

All Science Journal Classification (ASJC) codes

  • Software
  • Information Systems
  • Hardware and Architecture

Fingerprint Dive into the research topics of 'Distinguishing sharing types to minimize communication in software distributed shared memory systems'. Together they form a unique fingerprint.

  • Cite this