The use of grid computing is gaining momentum through its use by a number
of leading application vendors including CSG Systems, IBM, and Oracle, among
others. In this article we will review grid technology, available grid
toolkits, and finally what development environments exist to build
grid-enabled applications. This article will represent the first in a series
of two on the grid. The next article will explain how the grid works and how
companies are exploiting the use of this technology.
Grid Technology Review
Grid
Computing has evolved from distributed or clustered computing and
virtualizes heterogeneous shared resources to form a large virtual computer.
The biggest difference between true grid computing and distributed or
clustered computing is the exploitation of heterogeneous shared resources –
neither distributed nor clustered systems can work with disparate hardware
or operating systems. Grid computing improves system performance,
availability, scalability, reliability, and security through standardizing
the integration of these heterogeneous shared resources. This integration is
made possible by a number of standards driven by the Global Grid
Forum/Foundation (GGF)
including Open Grid Services Architecture (OGSA),
Open Grid Services Infrastructure (OGSI),
and finally Web Services Description Language (WSDL).
The GGF consists of scientists, educators, and other professionals from
around the globe who are committed to bringing this technology into prime
time. While all this may seem like alphabet soup to you right now, some
amazing progress has been made to the point where we are now seeing
production applications rolling out that are OGSA/I compliant which means
the standards are not only maturing but they actually work in production.
IBM’s On Demand strategy largely emphasizes the use of grid technology as do
a number of other leading companies who have realized the benefits of
building their applications to exploit the grid.
One
of the most significant contributions to grid computing has been the
evolution of the Grid Toolkit that is currently in its third rendition (this
toolkit is also referred to as GT3). GT3 [1] has allowed companies curious
about building grid applications to download a complete royalty free
platform on which they can build OGSA/I complaint applications. Unlike
previous versions of the grid toolkit, GT3 was based on standard Web
Services technologies such as Simple Object Access Protocol (SOAP)
and Web Services Description Language (WSDL) that has catapulted its use in
web service applications. The next generation of the grid toolkit (GT4) is
due out near the end of 2004 or the beginning of 2005 that should further
drive adoption of grid services.
OGSA (Open Grid Services Architecture) standardizes all the services in
grid applications (job management services, resource management services,
security services, etc.) by specifying a set of standard interfaces for
these services. OGSI (Open Grid Services Infrastructure) gives a formal and
technical specification for Grid Services. Globus Toolkit (current version
3) is a complete implementation (software toolkit) of OGSI. Consider the
following simple analogy. OGSA (the definition) is the blueprint for
architects to show what a building (grid) looks like. OGSI (the
specification) is the structure design for engineers to support architects'
vision for the building (grid). GT3 is the bricks, cement, and beams for the
building (grid).
The three most widely used grid toolkits are GGF’s GT3, IBM’s Grid
Toolbox V3 for Multiplatforms, and Sun Microsystem’s Grid Engine 5.3. These
toolkits are compared in Table 1.0. Lets describe what is included in each
one.
Global Grid Forum/Foundation (GGF) Grid Toolkit 3 (GT3)
The major GT3 components are resource management, information services,
data management, and security:
- Grid Resource Allocation Management (GRAM):
resource allocation, job submission and management.
Monitoring and Discovery Service (MDS):
collects information in the Grid for querying, based on Lightweight
Directory Access Protocol (LDAP).
Grid File Transfer Protocol (GridFTP): supports data transfer among
Grid nodes.
Grid Security Infrastructure (GSI):
certificate-based grid security infrastructure.
GT3 is a very complicated toolkit – at least currently. While feature
rich, it can be very time consuming to configure, install, and operate.
Actual install time on Sun/Solaris is around 7 hours. It is also unstable on
some platforms that only provide basic support (Sun/Solaris). If you are
going to use GT3, your best bet is to use it on SuSE or RedHat Linux.
IBM Grid Toolbox V3 for Multiplatforms V1.1
IBM Grid Toolbox V3 for Multiplatforms V1.1 [2] implements the OGSI
standards and provides the tools to build, develop, deploy, and manage grid
services. It is a collection of components including the Globus Toolkit
Version 3 and others:
- A single installation process: IBM Grid Toolbox ships both
wizard-based and silent installation methods. Users are relieved
from the pain to install prerequisite packages for open source GT3.
The IBM Grid Toolbox installation on Pentium-based PC or xSeries
takes around 40 minutes.
- A grid services runtime based on the OGSI specification: An
embedded version of the IBM WebSphere Application Server - Express
V5.0.2 is provided as the grid services container. It replaces the
“standalone” container provided by GT3 for commercial-grade support.
The Web and EJB containers support J2EE enterprise applications,
which open source GT3 cannot handle.
- Development tools: Enhancements and tools are provided which
assist with building, packaging and deploying grid services and
applications. This feature greatly reduces the complexity of Grid
Services development and deployment. Open source GT3 cannot do that.
- A management interface: A web browser-based interface called the
IBM Grid Services Manager provides easy grid-wide management for
administrators.
- Configuration and administration commands: Command-line based
scripts for common actions are provided for administrators.
- Additional enhanced grid services: IBM provides additional
functionality including discovery via service group, policy
management, and Common Management Models (CMM) Services.
The limitations of IBM Grid Toolbox is its supported environments (no
Solaris!):
- IBM xSeries servers running Red Hat Enterprise Linux AS 2.1 or
SuSE Linux Enterprise Server 8.
- IBM pSeries servers running SuSE Linux Enterprise Server 8.
- IBM pSeries servers running AIX 5L for POWER V5.2.0.10.
- IBM iSeries servers running SuSE Linux Enterprise Server 8.
- IBM zSeries servers running SuSE Linux Enterprise Server 8 SP2
(31-bit version only).
IBM Grid Toolbox on all these platforms is stable and follows the OGSI
standards. IBM Grid Toolbox works fine with Linux RH Advanced Server 2.1, RH
8.0/9.0, and SuSE on Pentium processors, not only IBM xSeries servers. So,
our future clients don't have to use IBM servers. Like GT3, IBM Grid Toolbox
is free.
SUN Grid Engine 5.3
SUN’s Grid Solution does not implement OGSI standards [4]. Sun Grid
Engine 5.3 system contains four types of hosts: Master, Execution,
Administration, and Submit. The Master runs master and scheduler daemons,
which control all Sun Grid Engine components, such as queues and jobs.
Execution hosts have permission to execute Sun Grid Engine jobs.
Administration hosts carry out administrative activity for the Grid system.
Submit hosts allow for submitting and controlling batch jobs only. For
example, user who logs into a Submit host can submit jobs via "qsub",
control job status via "qstat". Besides the command-line interface, Sun Grid
Engine system also provides graphical user interface, called "QMON".
Sun Grid Engine has such advantages:
Sun Grid Engine allows users to submit jobs to queues. Master and
scheduler daemons determine which Execution host to run the tasks.
In case some Execution hosts crash, Sun Grid Engine can use other
Execution hosts to failover transparently. The open source GT3 and
IBM Grid Toolbox require clients (user commands or programs) to
specify remote hosts to run tasks. In order to achieve reliability
and scalability for a Grid, a Sun Grid Engine could be used as a
Grid scheduler.
However, Sun Grid Engine has the following limitations:
Sun Grid Engine is a system for cluster management, rather than real
"Grid Toolbox". It does not implement OGSI standards, nor support
Grid Services. Unlike IBM Grid Toolbox, Sun Grid Engine could not
allow Grid/Web Services deployment, but only support script-based
job management.
The Master host design in Sun Grid Engine might be the weakness of
Sun Grid system. In case of Master node crashes, the whole system
will break down.
Sun Grid Engine System could perform clustering management. Sun Grid
Engine can integrate with Globus Toolkit to achieve user transparency of
task submission and failover [5]. Other open source projects, like Condor
[6] and OpenPBS, can be other options for clustering management too. Table 1
shows a side-by-side comparison of the different Grid toolkits.
|
GT3 |
IBM Grid Toolbox |
Sun Grid Engine |
|
Open Source |
Yes |
No |
Yes |
|
Price |
Free |
Free |
$40,000 (1-50 CPU) |
|
OGSI Standards |
Support |
Support |
No |
|
Grid/Web Services |
Support |
Support |
No |
|
Bugs |
Too many! |
Good |
Not tested |
|
Platforms |
Linux, all Unix |
Linux, AIX |
Linux, Solaris |
|
Install/Configure |
Not easy |
Easy |
Easy |
|
Web Container |
No |
WebSphere Express Server built-in |
No |
|
Clustering/Failover |
No |
No |
Yes, but just cluster scheduler, not “Grid”! |
|
Development Tools |
Some scripts |
Enhanced tooling |
No |
Table 1: Grid Container Comparison
Grid/Web Service Development Tools
Borland's JBuilder [8] and IBM's WSAD [7] (WebSphere Studio Application
Development) are the top-two among integrated development environments
(IDEs) for J2EE and Web Services development. Both are powerful development
tools for Java, J2EE, EJB, JSP, Servlet, XML, UML, and Web Services. Here
are some important factors to consider when buying an IDE for grid services
development:
Application server compatibility. WSAD can be integrated with
WebSphere, WebLogic, and Tomcat application servers; JBuilder
supports WebLogic, JBoss, WebSphere, Sun One, Borland, Oracle9i,
Sybase, and Tomcat servers.
Web Services. WSAD has more wizards for Web Service
generation, with built-in WebSphere application server that speeds
up debugging and testing Web Services. For example, generate Web
Services from EJB, JavaBean, DADX (Document Access Definition
Extension). JBuilder has limited function for Web Services.
GT3-based development. IBM contributes to Globus Toolkit
development, so WSAD supports GT3-based projects. In other words,
developers can start/stop GT3 container, work on Grid Services
inside the GT3 WSAD projects. JBuilder cannot do that.
OS platform support. WSAD supports Linux and Windows. JBuilder
supports Linux, Windows and Solaris.
Price. IBM WSAD $4335, Borland JBuilder $3500.
IBM WSAD might be a better choice, if the IBM Grid Toolbox is used. It
has some lock-in features with IBM WebSphere application server, IBM DB2
database, though. JBuilder seems more open to different platforms
(especially Solaris) and application servers. Technical supports are crucial
factors too. Table 2 displays a side-by-side comparison of the two IDEs.
IBM Grid Toolbox (free now) comes with IBM WebSphere Application Server –
Express (web server). There might be a way to configure this web
server/container (in following figure) to balance workload across Grid
servers and failover Grid server crash.
|
IBM WSAD |
Borland JBuilder |
Web Services Tools |
More wizards |
Less wizards |
GT3 Development |
Yes, IBM is Globus alliance |
No |
Operating System |
Win, Linux |
Win, Linux, Solaris |
Price |
$4335 |
$3500 |
Application Server Support |
WebSphere, Tomcat, WebLogic |
WebLogic, JBoss, WebSphere, Sun One, Borland, Oracle9i, Sybase,
and Tomcat |
Dependency |
Some IBM lock-in features |
Pure Java |
Table 2: Top-two Java IDE Comparison
IBM WSAD or Borland JBuilder? Both are powerful. It depends on the
technical support you could get from IBM or Borland as well as your future
customers’ requirement for application server, web server, and so on. The
fact that you can now purchase enterprise quality development environments
that allow you to build grid enabled web services is a good sign that we are
beyond the scientific theory stage in the evolution of grid services.
References:
[1] Globus Toolkit Home Page
http://www.globus.org
[2] IBM Grid Toolbox V3 for Multiplatforms V1.1 Introduction.
http://www-1.ibm.com/grid/pdf/grid_toolbox.pdf
[3] IBM Redbook: Grid Computing with the IBM Grid Toolbox. 04/2004.
[4] Sun Grid Engine 5.3 Administration and User’s Guide. 10/2002.
[5] EPIC - Sun Grid Engine Integration with Globus Toolkit 3
http://www.lesc.ic.ac.uk/projects/epic-gt3-sge.html
[6] Condor Installation.
http://grid.phys.uvic.ca/docs/uberdoc/node16.html
[7] IBM WebSphere Studio Application Server.
http://www-306.ibm.com/software/awdtools/studioappdev/
[8] Borland JBuilder X. http://info.borland.com/techpubs/jbuilder/
Special thanks to Henry Zeng for his help with this article.
Can Birds-Eye.Net help you or your Company?
Receive your Birds-Eye.Net articles and white
papers hot off
the presses by adding our RSS feed to your reader.