Data Structures for Irregular Applications

Parallelization of any large application can be a diicult task, but when the application contains irregular patterns of communication and control, the parallelization eeort is higher and the likelihood of producing an eecient implementation is lower. The kinds of data structures that appear in irregular applications, for example, trees, graphs, and sets, do not have simple mappings onto distributed memory machines. We are building a library of such distributed data structures that use a combination of replication and partitioning to achieve high performance. Operations on these structures cannot be eeciently implemented as atomic operations, because of the latency of inter-processor communication. We propose a relaxed consistency model for these data structures, which is analogous to a weak consistency model on shared memory. This allows for clean, simple interfaces on the objects, but admits low latency, high throughput implementations. We demonstrate these ideas using a few data structure examples, each of which is being used in at least one application.

[1]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[2]  Katherine A. Yelick,et al.  Implementing an irregular application on a distributed memory multiprocessor , 1993, PPOPP '93.

[3]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1986, PODC '86.

[4]  Steven Lucco,et al.  A dynamic scheduling method for irregular parallel programs , 1992, PLDI '92.

[5]  David R. Jefferson,et al.  Dynamic load management in the time warp operating system , 1990 .

[6]  Katherine A. Yelick,et al.  Parallel timing simulation on a distributed memory multiprocessor , 1993, ICCAD.

[7]  Willy Zwaenepoel,et al.  Implementation and performance of Munin , 1991, SOSP '91.

[8]  Mark D. Hill,et al.  Weak ordering-a new definition , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[9]  M. Hill,et al.  Weak ordering-a new definition , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.