HPC++ Interoperability with Other Distributed Systems

As the goal of the HPC++ system is to support large distributed systems that run in a heterogeneous wide area environment, it naturally has to interoperate with other distributed environments and systems such as Corba, DCOM and Java RMI. This is important for the fact that different environments may be suitable for different scenarios thus requiring users to use those environments while building components of their systems, and also for the fact that the HPC++ based application may have to communicate with systems that have already been built using the above technologies. For example, a parallel application built using HPC++ may need to communicate with a GUI written in Java, while at the same time accessing data from a database which has a Corba interface.

HPC++ currently provides a communication bridge to Java contexts through Java RMI. This is achieved by implementing Java RMI on top of Globus, called GlobusRMI (there is also a version of RMI on top of Nexus, called NexusRMI), and keeping the on-the-wire protocol of HPC++ messages and that of GlobusRMI compatible. Thus a Java context can use GlobusRMI to invoke method on an HPC++ object just the way it would invoke methods on a remote Java object. Conversely, a HPC++ context may transparently invoke methods on a remote Java object. In the future HPC++ will also provide either bridges or full-blown run-time system implementaions for Corba and DCOM. These will also be configurable at rn-time, so that an HPC++ context may communicate with another HPC++ context through Globus, while at the same accessing another remote object through Corba or DCOM.

  • HPC++ and Java Interoperability

  • hpc++@extreme.indiana.edu

    Last modified: Fri Feb 5 16:01:00 EST 1999