Basically, MPICH-GX is based on MPICH-G2. Thus, it has similar architecture of MPICH-G2 as shown in Figure 1. It consists of the GX device, a proxy daemon named
nproxy, a local job manager called
local-job-manager, a package of Java library called
CM (Coallocator for MPICH-GX) and client tools based on Java. The GX device modifies ¡®globus2 device¡¯ of MPICH to add required functions. The nproxy relays the messages of MPI processes when the process is located in private IP clusters. The local-job-manager invokes a process and monitors the status of the process. The CM is a package of Java library for supporting the middlewares which are executing MPICH-GX applications. Lastly, we bring client tools based on Java. Client tools compose of gxrun as a tool for job submission and gxlrm as a deamon for local resource manager. The gxrun could submit a job through the gxlrm running in each distributed resource.
As shown in Figure 1, application developer can make MPICH-GX applications by using standard MPI API. It can be mapped to the globus2 device passing through ADI layer. We modify the globus2 device, so that some functions in MPICH-GX are different from MPICH-G2.