TreadMarks: Shared Memory Computing on Networks of Workstations

TreadMarks: Shared Memory Computing on Networks of Workstations

| Cristiana Amza, Alan L. Cox, Sandhya Dwarkadas, Pete Keleher, Honghui Lu, Ramakrishnan Rajamony, Weimin Yu and Willy Zwaenepoel
TreadMarks is a distributed shared memory (DSM) system designed to support parallel computing on networks of workstations. It provides a shared memory abstraction, allowing processes to access any data item without worrying about where it is located or how to obtain its value. This simplifies the programming model and facilitates the transition from sequential to parallel programs. TreadMarks uses a relaxed memory model called release consistency, which enforces consistency at the time of a synchronization operation rather than at the time of a memory update. The system also employs a multiple-writer protocol to reduce message traffic and false sharing, which can cause performance issues in DSM systems. The paper discusses the application programming interface (API) provided by TreadMarks, including synchronization primitives such as barriers and exclusive locks. It presents two simple illustrations: Jacobi iteration and the traveling salesman problem (TSP), demonstrating how TreadMarks can be used to achieve parallelization in these examples. The implementation challenges of DSM systems are addressed, particularly the problem of false sharing and the need for efficient memory consistency protocols. TreadMarks uses a lazy release consistency algorithm, which sends invalidation messages only when necessary, reducing message traffic. Additionally, it employs a multiple-writer protocol to allow multiple processes to have writable copies of a page simultaneously, further improving performance. The paper also provides an overview of the TreadMarks system, including its communication and memory management mechanisms. It reports on the basic operation costs of TreadMarks in an experimental environment and discusses the performance of two large applications: mixed integer programming and genetic linkage analysis. Both applications show near-linear speedups, with the genetic linkage analysis achieving good speedups for datasets with long running times. Finally, the paper compares TreadMarks with alternative approaches, such as message passing (PVM) and implicit parallelism (HPF), and discusses other distributed shared memory implementations like hardware-based approaches and sequentially consistent software DSMs.TreadMarks is a distributed shared memory (DSM) system designed to support parallel computing on networks of workstations. It provides a shared memory abstraction, allowing processes to access any data item without worrying about where it is located or how to obtain its value. This simplifies the programming model and facilitates the transition from sequential to parallel programs. TreadMarks uses a relaxed memory model called release consistency, which enforces consistency at the time of a synchronization operation rather than at the time of a memory update. The system also employs a multiple-writer protocol to reduce message traffic and false sharing, which can cause performance issues in DSM systems. The paper discusses the application programming interface (API) provided by TreadMarks, including synchronization primitives such as barriers and exclusive locks. It presents two simple illustrations: Jacobi iteration and the traveling salesman problem (TSP), demonstrating how TreadMarks can be used to achieve parallelization in these examples. The implementation challenges of DSM systems are addressed, particularly the problem of false sharing and the need for efficient memory consistency protocols. TreadMarks uses a lazy release consistency algorithm, which sends invalidation messages only when necessary, reducing message traffic. Additionally, it employs a multiple-writer protocol to allow multiple processes to have writable copies of a page simultaneously, further improving performance. The paper also provides an overview of the TreadMarks system, including its communication and memory management mechanisms. It reports on the basic operation costs of TreadMarks in an experimental environment and discusses the performance of two large applications: mixed integer programming and genetic linkage analysis. Both applications show near-linear speedups, with the genetic linkage analysis achieving good speedups for datasets with long running times. Finally, the paper compares TreadMarks with alternative approaches, such as message passing (PVM) and implicit parallelism (HPF), and discusses other distributed shared memory implementations like hardware-based approaches and sequentially consistent software DSMs.
Reach us at info@study.space