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 that enables parallel computing on networks of workstations by providing a shared memory abstraction. It allows processes to access a globally shared virtual memory, even though they run on nodes that do not physically share memory. The system supports synchronization through barriers and locks, and provides a simple API for process creation, synchronization, and shared memory allocation. TreadMarks uses a relaxed memory model called release consistency, which allows for more efficient performance by reducing the number of messages and data exchanges required for consistency. The system is implemented as a user-level library on Unix, requiring no kernel modifications, and is portable across various platforms. It has been tested with two large applications: mixed integer programming and genetic linkage analysis. The results show that TreadMarks achieves near-linear speedup for most applications, with some exhibiting super-linear speedup. The system's performance is influenced by the communication-to-computation ratio, and it focuses on minimizing the number of messages and data exchanged. TreadMarks also addresses issues such as false sharing and data races through its use of multiple-writer protocols and diff-based updates. The system has been compared to other DSM implementations, including IVY and Munin, and has shown competitive performance in terms of message traffic and consistency. Overall, TreadMarks provides an efficient and flexible approach to parallel computing on networks of workstations.TreadMarks is a distributed shared memory (DSM) system that enables parallel computing on networks of workstations by providing a shared memory abstraction. It allows processes to access a globally shared virtual memory, even though they run on nodes that do not physically share memory. The system supports synchronization through barriers and locks, and provides a simple API for process creation, synchronization, and shared memory allocation. TreadMarks uses a relaxed memory model called release consistency, which allows for more efficient performance by reducing the number of messages and data exchanges required for consistency. The system is implemented as a user-level library on Unix, requiring no kernel modifications, and is portable across various platforms. It has been tested with two large applications: mixed integer programming and genetic linkage analysis. The results show that TreadMarks achieves near-linear speedup for most applications, with some exhibiting super-linear speedup. The system's performance is influenced by the communication-to-computation ratio, and it focuses on minimizing the number of messages and data exchanged. TreadMarks also addresses issues such as false sharing and data races through its use of multiple-writer protocols and diff-based updates. The system has been compared to other DSM implementations, including IVY and Munin, and has shown competitive performance in terms of message traffic and consistency. Overall, TreadMarks provides an efficient and flexible approach to parallel computing on networks of workstations.
Reach us at info@study.space
[slides] TreadMarks%3A shared memory computing on networks of workstations | StudySpace