10th Euromicro Workshop on Parallel, Distributed and Network-based Processing (EUROMICRO-PDP 2002) (2002)
Canary Islands, Spain
Jan. 9, 2002 to Jan. 11, 2002
Panagiotis E. Hadjidoukas , University of Patras
Eleftherios D. Polychronopoulos , University of Patras
Theodore S. Papatheodorou , University of Patras
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.
MPI, OpenMP, Runtime Systems, Multithreading, Clusters
P. E. Hadjidoukas, E. D. Polychronopoulos and T. S. Papatheodorou, "Integrating MPI and Nanothreads Programming Model," 10th Euromicro Workshop on Parallel, Distributed and Network-based Processing (EUROMICRO-PDP 2002)(PDP), Canary Islands, Spain, 2002, pp. 0309.