Abstract
We compare the performance of three major programming models on a modern, 64-processor hardware cache-coherent machine, one of the two major types of platforms upon which high-performance computing is converging. We focus on applications that are either regular, predictable or at least do not require fine-grained dynamic replication of irregularly accessed data. Within this class, we use programs with a range of important communication patterns. We examine whether the basic parallel algorithm and communication structuring approaches needed for best performance are similar or different among the models, whether some models have substantial performance advantages over others as problem size and number of processors change, what the sources of these performance differences are, where the programs spend their time, and whether substantial improvements can be obtained by modifying either the application programming interfaces or the implementations of the programming models on this type of tightly-coupled multiprocessor platform.
Original language | English (US) |
---|---|
Pages (from-to) | 283-318 |
Number of pages | 36 |
Journal | International Journal of Parallel Programming |
Volume | 29 |
Issue number | 3 |
State | Published - 2001 |
All Science Journal Classification (ASJC) codes
- Software
- Theoretical Computer Science
- Information Systems
Keywords
- Ease of programming
- Message passing
- Parallel programming models
- Performance
- Shared memory