An Agent-Based Infrastructure for Parallel Java on Heterogeneous Clusters
Jameela Al-Jaroodi, Nader Mohamed, Hong Jiang, David Swanson

In this paper we introduce an agent-based infrastructure that provides a set of generic software services and functions for developing and deploying different high performance programming models and applications on clusters using Java. A prototype system, based on this architecture, has been developed. Since this system is written completely in Java, it is portable and allows running programs in parallel across multiple heterogeneous platforms. With the agent-based infrastructure, users need not deal with the mechanisms of deploying and loading user classes on the heterogeneous cluster, while details of scheduling, controlling, monitoring, and running user jobs are hidden. In addition, the management of the system resources is made transparent to the user. Such uniform services, when rendered available in a ubiquitous manner, are essential for facilitating the development and deployment of scalable high performance Java on clusters. An initial deployment over a heterogeneous, distributed cluster results in significantly enhanced relative performance; absolute performance compared to C (MPI) improves with increased granularity of the algorithm.