TY - JOUR
T1 - Middleware Infrastructure for Parallel and Distributed Programming Models in Heterogeneous Systems
AU - Al-Jaroodi, Jameela
AU - Mohamed, Nader
AU - Jiang, Hong
AU - Swanson, David
N1 - Funding Information:
This project was partially supported by a US National Science Foundation grant (EPS-0091900), a Nebraska University Foundation grant (26-0511-0019), and a University of Nebraska Academic Priority grant. The authors would like to thank the members of the Secure Distributed Information (SDI) group and the Research Computing Facility (RCF) at the University of Nebraska-Lincoln for their help and support. They would also like to extend their gratitude to the reviewers of this special section for their invaluable comments and suggestions that helped improve the quality and organization of this paper. A preliminary version of portions of this paper was presented at IEEE Cluster 2002 [1].
PY - 2003/11
Y1 - 2003/11
N2 - In this paper, we introduce a middleware infrastructure that provides software services for developing and deploying high-performance parallel programming models and distributed applications on clusters and networked heterogeneous systems. This middleware infrastructure utilizes distributed agents residing on the participating machines and communicating with one another to perform the required functions. An intensive study of the parallel programming models in Java has helped identify the common requirements for a runtime support environment, which we used to define the middleware functionality. A Java-based prototype, based on this architecture, has been developed along with a Java Object-Passing Interface (JOPI) class library. Since this system is written completely in Java, it is portable and allows executing programs in parallel across multiple heterogeneous platforms. With the middleware infrastructure, users need not deal with the mechanisms of deploying and loading user classes on the heterogeneous system. Moreover, details of scheduling, controlling, monitoring, and executing user jobs are hidden, while the management of system resources is made transparent to the user. Such uniform services are essential for facilitating the development and deployment of scalable high-performance Java applications on clusters and heterogeneous systems. An initial deployment of a parallel Java programming model over a heterogeneous, distributed system shows good performance results. In addition, a framework for the agents' startup mechanism and organization is introduced to provide scalable deployment and communication among the agents.
AB - In this paper, we introduce a middleware infrastructure that provides software services for developing and deploying high-performance parallel programming models and distributed applications on clusters and networked heterogeneous systems. This middleware infrastructure utilizes distributed agents residing on the participating machines and communicating with one another to perform the required functions. An intensive study of the parallel programming models in Java has helped identify the common requirements for a runtime support environment, which we used to define the middleware functionality. A Java-based prototype, based on this architecture, has been developed along with a Java Object-Passing Interface (JOPI) class library. Since this system is written completely in Java, it is portable and allows executing programs in parallel across multiple heterogeneous platforms. With the middleware infrastructure, users need not deal with the mechanisms of deploying and loading user classes on the heterogeneous system. Moreover, details of scheduling, controlling, monitoring, and executing user jobs are hidden, while the management of system resources is made transparent to the user. Such uniform services are essential for facilitating the development and deployment of scalable high-performance Java applications on clusters and heterogeneous systems. An initial deployment of a parallel Java programming model over a heterogeneous, distributed system shows good performance results. In addition, a framework for the agents' startup mechanism and organization is introduced to provide scalable deployment and communication among the agents.
KW - Cluster
KW - Distributed agents
KW - Distributed systems middleware
KW - Heterogeneous systems
KW - Parallel and distributed Java
KW - Parallel programming models
UR - http://www.scopus.com/inward/record.url?scp=0346265985&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0346265985&partnerID=8YFLogxK
U2 - 10.1109/TPDS.2003.1247671
DO - 10.1109/TPDS.2003.1247671
M3 - Article
AN - SCOPUS:0346265985
SN - 1045-9219
VL - 14
SP - 1100
EP - 1111
JO - IEEE Transactions on Parallel and Distributed Systems
JF - IEEE Transactions on Parallel and Distributed Systems
IS - 11
ER -