Open Access
Efficient iteration in data-parallel programs with irregular and dynamically distributed data structures
R.J. Littlefield
- 01 Feb 1990
4
TL;DR: Onyx, a programming system that provides a shared memory model of distributed data structures and extends the concept of data distribution to include irregular and dynamic distributions, is developed and the Onyx implementation of a model problem that repeatedly executes an irregular but fixed data reference pattern is described.
read more
Abstract: To implement an efficient data-parallel program on a non-shared memory MIMD multicomputer, data and computations must be properly partitioned to achieve good load balance and locality of reference. Programs with irregular data reference patterns often require irregular partitions. Although good partitions may be easy to determine, they can be difficult or impossible to implement in programming languages that provide only regular data distributions, such as blocked or cyclic arrays. We are developing Onyx, a programming system that provides a shared memory model of distributed data structures and extends the concept of data distribution to include irregular and dynamic distributions. This provides a powerful means to specify irregular partitions. Perhaps surprisingly, programs using it can also execute efficiently. In this paper, we describe and evaluate the Onyx implementation of a model problem that repeatedly executes an irregular but fixed data reference pattern. On an NCUBE hypercube, the speed of the Onyx implementation is comparable to that of carefully handwritten message-passing code.
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
Programming distributed memory architectures using Kali
Piyush Mehrotra,John Vanrosendale +1 more
- 01 Oct 1990
TL;DR: The paper presents a new programming environment, Kali, which provides a global name space and allows direct access to remote data values and a system of annotations, allowing the user to control those aspects of the program critical to performance, such as data distribution and load balancing.
Compiling programs for nonshared memory machines
Charles Koelbel
- 01 May 1991
TL;DR: The purpose of this research is to show how nonshared-memory machines can be programmed at a higher level than is currently possible by developing techniques for compiling shared-memory programs for execution on those architectures.
Scientific programming languages for distributed memory multiprocessors: paradigms and research issues
Matthew Rosing,Robert B. Schnabel,Robert P. Weaver +2 more
- 03 Jan 1992
TL;DR: A common paradigm for imperative, data parallel programming languages for distributed memory multiprocessors is described, and a new categorization for these approaches is proposed, and the relative advantages or disadvantages of the different models are discussed.
7
Flexible language constructs for large parallel programs
Matt Rosing,Robert B. Schnabel +1 more
TL;DR: An overview of a new language that combines many of these programming models in a clean manner for writing large data parallel numerical programs for distributed memory (multiple instruction multiple data [MIMD]) multiprocessors is given.
3
Related Papers (5)
G. P. Trabado,Emilio L. Zapata +1 more
- 25 Jan 1995
Fabrizio Baiardi,Paolo Mori,Laura Ricci +2 more
- 15 Jun 2002