CORBACoG Architecture & Implementation
Gregor von Laszewski
MCS,Argonne National Laboratory
MCS,Argonne National Laboratory
The objective of this work is to develop a CORBA CoG kit to provide application developers with access to Grid services using CORBA.
With the growth of Internet, there has been an emergence of various technologies in several domains to process and access information. One of
the technologies gaining popularity is commodity computing where distributed computing technologies such as JAVA, JNI, CORBA and DCOM etc are emerging. In
parallel the high performance computing community has developed advanced infrastructure called “Grids” which allow users to use the distributed high-end
resources in problem solving environment. These two technologies have different goals, emphases and solutions and as such there should be a bridge connecting
them, which is the focus of CoG project. The CoG project is developing appropriate interfaces between the Grid and commodity technologies. The initial
focus was on Java CoG Kit, that will allow application developers to access Grid services such as resource management, security, resource discovery.
We are focusing on developing a CORBA CoG kit, which will also provide the above Grid Services. CORBA has the following advantages, which makes it suitable for development of the CoG kit
The advantages of using CORBA CoG kit are that the client applications can be written in any language and can access the Grid Services by remote instantiation of objects. It can also be integrated with other kind of services such as Discover, NetSolve etc.
Programming Language independent interface: Interfaces between clients and servers are defined in OMG IDL, thus providing multi-language and multi-platform environment.
- Legacy Integration:Programmers can use existing applications and use them as objects in the ORB.
- Location Transparency.
- Network Transparency.
- Secure Communication: With the integration of SSL over the IIOP protocol, secure communication can be established between client and remote objects.
A schematic view of the overall architecture is shown in Figure 1. The ORB in the middle tier provides access to CORBA objects that implements Grid Services such
as MDS, GRAM GASS and GSI. MDS provides information about the structure and state of the grid resources and services using the LDAP Protocol. GRAM allows
allocation of computational and other resources. GASS provides data access.These service objects interact with the appropriate Globus Services in the
backend. This provides transparency to the client applications. The CORBA Naming Service which, maps object reference to names is used to enable clients
to access the grid service broker objects. Sample grid service broker object definitions are described below:
Figure 1 – CORBA CoG Architecture.
MDS By executing the various methods in MDS IDL of a remote object the application developer can access the Metacomputing Directory Service. This
remote server object is connected to the MDS server using JNDI libraries.The functions provided by the CORBA server object are
a)Connection to the MDS server – The client application needs to
specify the DNS name of the MDS server, the port no for the connection and the
distinguished name (DN) that specifies the root for the search in the directory
b)Querying the contents of the MDS server – The search is
performed by specifying the root of the directory tree in which the search
should take place, LDAP query and the scope i.e. how many levels in the tree
the search should be performed.
c)Disconnection from MDS server.
GRAM The client application will communicate with a remote CORBA server object, which will interact with the Globus Gatekeeper
for managing remote computation. The client will also be allowed to submit jobs, bind to existing jobs and cancel jobs on remote computers. It will also
be able to monitor the different status of a job as in pending, active, done and suspended. The client will initially authenticate to the remote server using the CORBA Security
Services. Once the authentication is successful the client will be able to create a job with the RSL string describing the job and a remote contact
specifying the machine on which the execution should take place. The server object will use the CORBA Event Service to provide callbacks to the client
specifying the status of the executing job.
GASS The Global Access to Secondary Storage simplifies application that uses I/O by eliminating the need to ftp
files or to install a distributed file system. The CORBA server object will provide a subset of functionalities such as copying files between computers.
GSI The Grid Security Infrastructure for enabling secure communications and authentication over an open network.GSI is based on public key encryption and the Secure Sockets Layer(SSL).
CORBACog ToolKit has been developed using JacORB and JAVA.
Integration with other CORBA Services
Our overall goal is to provide a framework to enable existing Grid Computing Environments and Service Provides to interoperate. Our
current effort is concentrating on enabling applications to combine services provided by Globus, with the collaborative monitoring, interaction, and
steering capabilities provided by DISCOVER (www.discoverportal.org).For example
a scientific simulation application can use CORBA CoG Kit to discover the available resources on the network, use the GRAM Service provided by CoG to run
his simulation on the desired high end resource, and use DISCOVER web-portals to collaboratively monitor, interact with, and steering the application.
The source code
for accessing the CORBACoG kit is available for download. This code is in its beta version and will be updated regularly. For any questions or queries please send
an email to snigdha[at]caip[dot]rutgers[dot]edu/virajb[at]caip[dot]rutgers[dot]edu
The online documentation
is also available for the CORBACoG Kit
A Power Point presentation
presented to the TASSL lab members about the work that I am doing and the current status.
- S. Verma, M. Parashar, J. Gawor, and G.von. Laszewski, "A CORBA Community Grid Kit," accepted for
publication in the 2nd International Workshop on Grid Computing to be held on November 12, 2001, in Denver, Colorado. (PDF)
- G. von Laszewski, M. Parashar, S. Verma, J. Gawor, K. Keahey, and N. Rehn, "Design and Implementation
of a CORBA Commodity Grid Kit", submitted for publication to Concurrency and Computation: Practice and
Experience, July 2001.(PDF)
- M. Parashar, "CORBA Commodity Grid Toolkit", presented at the 1st Global Grid Forum, Amsterdam,
Netherlands, March 2001.(PDF)