Ajents: towards an environment for parallel, distributed and mobile Java applications

The rapid proliferation of the World-Wide Web has been due to the seamless access it provides to information that is distributed both within organizations and around the world. In this paper, we describe the design and implementation of a system, called Ajents, which provides the software infrastructure necessary to support a similar level of seamless access to organization-wide or world-wide heterogeneous computing resources. Ajents introduces class libraries which are written entirely in Java and that run on any standard compliant Java virtual machine. These class libraries implement and combine several important features that are essential to supporting distributed and parallel computing using Java. These features include: the ability to easily create objects on remote hosts, to interact with those objects through either synchronous or asynchronous remote method invocations, and to freely migrate objects to heterogeneous hosts. While some of these features have been implemented in other systems, Ajents provides support for the combination of all of these features using techniques that permit them to operate together in a fashion that is more transparent and/or and less restrictive than existing systems. Our experimental results show that in our test environment: we are able to achieve good speedup on a sample parallel application; the overheads introduced by our implementation do not adversely a ect remote method invocation times; and (somewhat surprisingly) the cost of migration does not greatly impact the execution time of an example application.

[1]  Frank Yellin,et al.  The java virtual machine , 1996 .

[2]  Joel H. Saltz,et al.  Network-aware mobile programs , 1997 .

[3]  Michael Philippsen,et al.  JavaParty – transparent remote objects in Java , 1997 .

[4]  Chris J. Scheiman,et al.  SuperWeb: towards a global Web-based parallel computing infrastructure , 1997, Proceedings 11th International Parallel Processing Symposium.

[5]  Zvi M. Kedem,et al.  Charlotte: Metacomputing on the Web , 1999, Future Gener. Comput. Syst..

[6]  M. Philippsen,et al.  A More E cient RMI for Java , 1999 .

[7]  Peter R. Cappello,et al.  Javelin: Internet‐based parallel computing using Java , 1997 .

[8]  Satoshi Hirano,et al.  Towards Bayanihan: building an extensible framework for volunteer computing using Java † , 1998 .

[9]  Alan L. Cox,et al.  Java/DSM: A Platform for Heterogeneous Computing , 1997, Concurr. Pract. Exp..

[10]  Geoffrey C. Fox,et al.  Towards Web/Java-based high performance distributed computing-an evolving virtual machine , 1996, Proceedings of 5th IEEE International Symposium on High Performance Distributed Computing.

[11]  Murat Karaorman,et al.  Nuts & Bolts Of Object-oriented Distributed Computing , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[12]  Rajeev R. Raje,et al.  Asynchronous Remote Method Invocation (ARMI) mechanism for Java , 1997 .

[13]  Jason Maassen,et al.  An efficient implementation of Java's remote method invocation , 1999, PPoPP '99.

[14]  George F. Riley,et al.  Efficient Implementation of Java Remote Method Invocation (RMI) , 1998, COOTS.

[15]  Holger Karl Bridging the gap between distributed shared memory and message passing , 1998, Concurr. Pract. Exp..

[16]  Rajeev R. Raje,et al.  Asynchronous Remote Method Invocation (ARMI) Mechanism for Java , 1997, Concurr. Pract. Exp..

[17]  Stefan Fünfrocken Transparent Migration of Java-Based Mobile Agents , 1998, Mobile Agents.

[18]  Jason Maassen,et al.  Wire-area parallel computing in Java , 1999, JAVA '99.

[19]  Danny B. Lange,et al.  Programming and Deploying Java¿ Mobile Agents with Aglets¿ , 1998 .

[20]  Tim Brecht,et al.  ParaWeb: towards world-wide supercomputing , 1996, EW 7.

[21]  Guang R. Gao,et al.  ABC++: Concurrency by Inheritance in C++ , 1995, IBM Syst. J..

[22]  Yin-Min Wang,et al.  Consistent Global checkpoints that Contain a Given Set of Local Chekpoints , 1997, IEEE Trans. Computers.

[23]  Jian Xu,et al.  Necessary and Sufficient Conditions for Consistent Global Snapshots , 1995, IEEE Trans. Parallel Distributed Syst..

[24]  Roger Riggs,et al.  A distributed object model for the java TM system , 1996 .

[25]  Peter R. Cappello,et al.  Javelin++: scalability issues in global computing , 1999, JAVA '99.