Open Access
Multipol: A Distributed Data Structure Library
Soumen Chakrabarti,Etienne Deprit,Eun Kyung Im,Jeffrey A. Jones,Arvind Krishnamurthy,Chi Wen,Katherine Yelick +6 more
- 01 Jul 1995
24
TL;DR: An overview of Multipol is given, which includes parallel versions of classic data structures such as trees, sets, lists, graphs, and queues, built on a portable runtime layer that provides basic communication, synchronization, and caching.
read more
Abstract: Applications with dynamic data structures, unpredictable computational costs, and irregular data access patterns require substantial effort to parallelize. Much of their programming complexity comes from the implementation of distributed data structures. We describe a library of such data structures, Multipol, which includes parallel versions of classic data structures such as trees, sets, lists, graphs, and queues. The library is built on a portable runtime layer that provides basic communication, synchronization, and caching. The data structures address the classic trade-off between locality and load balance through a combination of replication, partitioning, and dynamic caching. To tolerate remote communication latencies, some of the operations are split into a separate initiation and completion phase, allowing for computation and communication overlap at the library interface level. This leads to a form of relaxed consistency semantics for the data types. In this paper we give an overview of Multipol, discuss the performance trade-offs and interface issues, and describe some of the applications that motivated its development.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Teapot: language support for writing memory coherence protocols
Satish Chandra,Brad Richards,James R. Larus +2 more
- 01 May 1996
TL;DR: This paper describes Teapot, a small, domain-specific language for writing coherence protocols, which uses continuations to help reduce the complexity of writing protocols and results in protocols that run nearly as fast as hand-written C code.
Run-time adaptation in river
TL;DR: This study presents the design, implementation, and evaluation of run-time adaptation within the River dataflow programming environment, comparing results from idealized models of system behavior, targeted simulations, and a prototype implementation.
Communication overlap in multi-tier parallel algorithms
Scott B. Baden,Stephen J. Fink +1 more
- 07 Nov 1998
TL;DR: A hierarchical model of communication targeted to block- structured, bulk-synchronous applications running on dedicated clusters of symmetric multiprocessors that supports node-level rather processor-level communication as the fundamental operation, and is optimized for aggregate patterns of regular section moves rather than point-to-point messages.
35
A parallel software infrastructure for dynamic block-irregular scientific calculations
Scott R. Kohn,Scott B. Baden +1 more
- 01 Jan 1995
TL;DR: A parallel software infrastructure to simplify the implementation of dynamic, irregular, block-structured scientific computations on high-performance parallel supercomputers and introduces the concept of "structural abstraction," which enables applications to dynamically manipulate irregular data decompositions as language-level objects.
31
Researching system administration
Eric Arnold Anderson,Dave Patterson +1 more
- 01 Jan 2002
TL;DR: The field of system administration is ripe for exploration, and the approach of “Let the human handle it” with the CARD cluster monitoring system and a substantial number of open research directions are described based both on the classification of existing research, and on the systems that are built.
25
References
Linearizability: a correctness condition for concurrent objects
TL;DR: This paper defines linearizability, compares it to other correctness conditions, presents and demonstrates a method for proving the correctness of implementations, and shows how to reason about concurrent objects, given they are linearizable.
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
TL;DR: Many large sequential computers execute operations in a different order than is specified by the program, and a correct execution by each processor does not guarantee the correct execution of the entire program.
Efficient implementation of a BDD package
Karl S. Brace,Richard Rudell,Randal E. Bryant +2 more
- 24 Jun 1990
TL;DR: A package for manipulating Boolean functions based on the reduced, ordered, binary decision diagram (ROBDD) representation is described, based on an efficient implementation of the if-then-else (ITE) operator.
Memory consistency and event ordering in scalable shared-memory multiprocessors
Kourosh Gharachorloo,Daniel E. Lenoski,James Laudon,Phillip B. Gibbons,Anoop Gupta,John L. Hennessy +5 more
- 01 May 1990
TL;DR: A new model of memory consistency, called release consistency, that allows for more buffering and pipelining than previously proposed models is introduced and is shown to be equivalent to the sequential consistency model for parallel programs with sufficient synchronization.
CHARM++: a portable concurrent object oriented system based on C++
Laxmikant V. Kale,Laxmikant V. Kale,Sanjeev Krishnan +2 more
- 01 Oct 1993
TL;DR: Charm++ is an explicitly parallel language consisting of C++ with a few extensions that provides a clear separation between sequential and parallel objects and helps one write programs that are latency-tolerant.
1K