A programming methodology for dual-tier multicomputers
- 1 March 2000
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 26 (3) , 212-226
- https://doi.org/10.1109/32.842948
Abstract
Hierarchically organized ensembles of shared memory multiprocessors possess a richer and more complex model of locality than previous generation multicomputers with single processor nodes. These dual-tier computers introduce many new factors into the programmer's performance model. We present a methodology for implementing block-structured numerical applications on dual-tier computers and a run-time infrastructure, called KeLP2, that implements the methodology. KeLP2 supports two levels of locality and parallelism via hierarchical SPMD control flow, run-time geometric meta-data, and asynchronous collective communication. KeLP applications can effectively overlap communication with computation under conditions where nonblocking point-to-point message passing fails to do so. KeLP's abstractions hide considerable detail without sacrificing performance and dual-tier applications written in KeLP consistently outperform equivalent single-tier implementations written in MPI. We describe the KeLP2 model and show how it facilitates the implementation of five block-structured applications specially formulated to hide communication latency on dual-tiered architectures. We support our arguments with empirical data from applications running on various single- and dual-tier multicomputers. KeLP2 supports a migration path from single-tier to dual-tier platforms and we illustrate this capability with a detailed programming example.Keywords
This publication has 25 references indexed in Scilit:
- A taxonomy of programming models for symmetric multiprocessors and SMP clustersPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Multiple data parallelism with HPF and KeLPPublished by Springer Nature ,1998
- Netsolve: a Network-Enabled Server for Solving Computational Science ProblemsThe International Journal of Supercomputer Applications and High Performance Computing, 1997
- Fast messages: efficient, portable communication for workstation clusters and MPPsIEEE Concurrency, 1997
- Aspect-oriented programmingPublished by Springer Nature ,1997
- Perspectives on supercomputing: three decades of changeComputer, 1996
- Flexible communication mechanisms for dynamic structured applicationsPublished by Springer Nature ,1996
- Design and Implementation of the ScaLAPACK LU, QR, and Cholesky Factorization RoutinesScientific Programming, 1995
- Implementation of a portable nested data-parallel languagePublished by Association for Computing Machinery (ACM) ,1993
- Cedar Fortrand its compilerPublished by Springer Nature ,1990