Middleware Infrastructure for Parallel and Distributed Programming Models in Heterogeneous Systems

Jameela Al-Jaroodi, Nader Mohamed, Hong Jiang, David Swanson

Research output: Contribution to journalArticle

46 Citations (Scopus)

Abstract

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.

Original languageEnglish (US)
Pages (from-to)1100-1111
Number of pages12
JournalIEEE Transactions on Parallel and Distributed Systems
Volume14
Issue number11
DOIs
StatePublished - Nov 1 2003

Fingerprint

Distributed Programming
Heterogeneous Systems
Parallel Programming
Middleware
Computer programming
Programming Model
Java
Computer systems
Infrastructure
Parallel programming
High Performance
Start-up
Scheduling
Distributed Applications
Monitoring
Distributed Systems
Communication
Prototype
Resources
Software

Keywords

  • Cluster
  • Distributed agents
  • Distributed systems middleware
  • Heterogeneous systems
  • Parallel and distributed Java
  • Parallel programming models

ASJC Scopus subject areas

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics

Cite this

Middleware Infrastructure for Parallel and Distributed Programming Models in Heterogeneous Systems. / Al-Jaroodi, Jameela; Mohamed, Nader; Jiang, Hong; Swanson, David.

In: IEEE Transactions on Parallel and Distributed Systems, Vol. 14, No. 11, 01.11.2003, p. 1100-1111.

Research output: Contribution to journalArticle

@article{187c3c6d63c04fb384881848f63dde3a,
title = "Middleware Infrastructure for Parallel and Distributed Programming Models in Heterogeneous Systems",
abstract = "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.",
keywords = "Cluster, Distributed agents, Distributed systems middleware, Heterogeneous systems, Parallel and distributed Java, Parallel programming models",
author = "Jameela Al-Jaroodi and Nader Mohamed and Hong Jiang and David Swanson",
year = "2003",
month = "11",
day = "1",
doi = "10.1109/TPDS.2003.1247671",
language = "English (US)",
volume = "14",
pages = "1100--1111",
journal = "IEEE Transactions on Parallel and Distributed Systems",
issn = "1045-9219",
publisher = "IEEE Computer Society",
number = "11",

}

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

PY - 2003/11/1

Y1 - 2003/11/1

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

VL - 14

SP - 1100

EP - 1111

JO - IEEE Transactions on Parallel and Distributed Systems

JF - IEEE Transactions on Parallel and Distributed Systems

SN - 1045-9219

IS - 11

ER -