Efficient iteration in data-parallel programs with irregular and dynamically distributed data structures
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.
- Research Organization:
- Pacific Northwest Lab., Richland, WA (USA)
- Sponsoring Organization:
- DOE/NE
- DOE Contract Number:
- AC06-76RL01830
- OSTI ID:
- 6779587
- Report Number(s):
- PNL-SA-17937; CONF-900874-4; ON: DE91000417; CNN: CCR-8619663; CCR-9807666
- Resource Relation:
- Conference: 1990 international conference on parallel processing, St. Charles, IL (USA), 13-17 Aug 1990
- Country of Publication:
- United States
- Language:
- English
Similar Records
Scaling Irregular Applications through Data Aggregation and Software Multithreading
Parallel performance of a preconditioned CG solver for unstructured finite element applications
Related Subjects
PARALLEL PROCESSING
ITERATIVE METHODS
COMPUTER ARCHITECTURE
DISTRIBUTED DATA PROCESSING
FINITE ELEMENT METHOD
HYPERCUBE COMPUTERS
MESH GENERATION
PERFORMANCE
COMPUTERS
DATA PROCESSING
NUMERICAL SOLUTION
PROCESSING
PROGRAMMING
990200* - Mathematics & Computers