Abstract

Constructing multithreaded parallel systems with software distributed shared memory (DSM) is an attractive trend in cluster computing. Distributed Cilk (Cilk 5.1) is a multithreaded runtime system for SMP clusters with support for the divide-and-conquer programming paradigm. However, it lacks support for user-level shared memory. We describe SilkRoad, an extension of Distributed Cilk which implements the lazy release consistency (LRC) memory model. In the SilkRoad runtime system, system control information is kept consistent by means of a backing store, just as it is in the original Distributed Cilk, while the user's cluster wide shared data is kept consistent by LRC. LRC enables SilkRoad programmers to define and use shared variables between the threads running on different nodes in a cluster This greatly enlarges the scope of supported programming paradigms in Cilk. Besides testing its performance, we also compared SilkRoad with TreadMarks, an LRC software DSM system for clusters with no support of multithreading. The results show that with the hybrid memory model of dag-consistency and LRC, multithreaded SilkRoad programs written in a divide-and-conquer fashion with good data locality can achieve comparable performance with the corresponding multiple-process TreadMarks programs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call