Parallel programming in Split-C
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
An integrated compile-time/run-time software distributed shared memory system
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
ICS '99 Proceedings of the 13th international conference on Supercomputing
Journal of Parallel and Distributed Computing
MPI: The Complete Reference
IPPS '99/SPDP '99 Proceedings of the 13th International Symposium on Parallel Processing and the 10th Symposium on Parallel and Distributed Processing
Nanothreads vs. Fibers for the Support of Fine Grain Parallelism on Windows NT/2000 Platforms
ISHPC '00 Proceedings of the Third International Symposium on High Performance Computing
A taxonomy of programming models for symmetric multiprocessors and SMP clusters
PMMP '95 Proceedings of the conference on Programming Models for Massively Parallel Computers
Runtime Support for Multigrain and Multiparadigm Parallelism
HiPC '02 Proceedings of the 9th International Conference on High Performance Computing
High-level abstractions for message-passing parallel programming
Parallel Computing - Special issue: Parallel and distributed scientific and engineering computing
OpenMP runtime support for clusters of multiprocessors
WOMPAT'03 Proceedings of the OpenMP applications and tools 2003 international conference on OpenMP shared memory parallel programming
Hi-index | 0.00 |
This paper presents a prototype runtime system that integrates MPI, used on distributed memory systems, and Nanothreads Programming Model (NPM), a programming model for shared memory multiprocessors. This integration does not alter the independence of the two models, since the runtime system is based on a multilevel design that supports each of them individually but offers the capability to combine their advantages. Existing MPI codes can be executed without any changes, codes for shared memory machines can be used directly, while the concurrent use of both models is easy. Major feature of the runtime system is portability, as it is based exclusively on calls to MPI and Nthlib, a user-level threads library that has been ported to several operating systems. The runtime system supports the hybrid-programming model (MPI+OpenMP), providing also a solution for better load balancing in MPI applications. Moreover, it extends the API and the multiprogramming functionality of the NPM on clusters of multiprocessors and can support an extension of the OpenMP standard on distributed memory multiprocessors.