Oracle 10g: Infrastructure For Grid Computing: An Oracle White Paper September 2003
Oracle 10g: Infrastructure For Grid Computing: An Oracle White Paper September 2003
Grid Computing
An Oracle White Paper
September 2003
Oracle 10g: Infrastructure
for Grid Computing
EXECUTIVE OVERVIEW
Scientific Grids
SETI@home, the Search for Extraterrestrial Intelligence, is one of the earliest
examples of a scientific grid. Signals from telescopes, radio receivers, and other
sources monitoring deep space are distributed to the PCs of individual science
buffs via the internet. This loose network of small computers crunches
numbers, looking for patterns that could suggest signs of intelligent life.
Dynamic Provisioning
Provisioning simply means distributing supplies where they are needed. In the
context of the grid, supplies may mean server requests that need to be
handled, data that needs to be accessed and used, or computations that need to
be performed. Provisioning in the grid environment means a grid service broker
that knows the resource requirements of one element of the grid and the
resource availability of another element links the two together automatically and
dynamically to make efficient use of resources. Then it adjusts the associations
Resource Pooling
Consolidation and pooling of resources is required for grids to achieve better
utilization of resources, a key contributor to lower costs. By pooling individual
disks into storage arrays and individual servers into blade farms, the grid
runtime processes that dynamically couple service consumers to service
providers have more flexibility to optimize the associations. Resource sharing
also happens purely in software. Web services provide the model for
applications to expose re-usable functionality for discovery and invocation by
unrelated applications.
Self-Adaptive Software
With labor being the most significant portion of IT costs, savings due to better
hardware utilization or more responsive systems become irrelevant if the
everyday tasks of administrators are not automated and simplified. A grid
infrastructure would be unworkable if every node required constant manual
tuning and intervention. A critical grid infrastructure requirement is systems that
automate the bulk of maintenance and tuning tasks traditionally performed by IT
staff. More of the tasks that used to be performed by administrators must now
be handled by the systems themselves.
Unified Management
Even with self-managing systems, human beings will always be involved in
managing an enterprise grid, but the management tasks required by humans
should be simplified with a single tool that can provision, monitor, and
administer every element in the grid. Such a tool should evaluate availability and
performance from the perspective of the user, such that any bottleneck in the
system or any unavailable component raises alerts. Most importantly, with a
grid infrastructure, IT professionals must be able to treat groups of systems as
a single logical entity so that tasks can be performed once and executed on
multiple machines.
Implement One from Many. Together, the attributes of virtualization,
dynamic provisioning, and resource pooling form the requirements for
software that implements a single logical entity using many services running
on multiple servers and crossing multiple disksan entity which delivers
high quality of service from low-cost components.
Manage Many as One. Together, the attributes of self-adaptive software
and a unified management model form the requirements for dramatically
The following sections describe how grid computing attributes are embodied in
Oracles three grid infrastructure products:
Oracle Database 10g
Oracle Application Server 10g
Oracle Enterprise Manager 10g Grid Control
Oracle Real Application Clusters enables a single database to run across multiple
clustered nodes in a grid, pooling the processing resources of several standard
machines. Oracle is uniquely flexible in its ability to provision workload across
machines because it is the only database technology that does not require data
to be partitioned and distributed along with the work.
In Oracle 10g, the database can immediately begin balancing workload across a
new node with new processing capacity as it gets re-provisioned from one
database to another, and can relinquish a machine when it is no longer needed
this is capacity on demand. Other databases cannot grow and shrink while
running and, therefore, cannot utilize hardware as efficiently.
New integrated clusterware in Oracle 10g makes clustering easy by eliminating
the need to purchase, install, configure, and support third-party clusterware.
Servers can be easily added and dropped to an Oracle cluster with no
downtime. Oracle has the only database technology to include clusterware for
all operating systems, which dramatically reduces the opportunities for failure in
a clustered environment.
Information Provisioning
Self-Managing Database
Oracle Application Server 10g run-time services can be pooled and virtualized
via application server clusters. Every service within the Oracle Application
Server HTTP, J2EE, Web cache, Web Services, LDAP, portal and others
can be distributed across multiple machines in a grid. New features in Oracle
10g enable performance thresholds to be defined beyond which new application
server instances can automatically be added and started (or relinquished) to
process additional work on new nodes of a grid, delivering capacity on demand.
With Oracle 10g, an administrator can define a set of policies or business rules
that affect how individual work is provisioned across multiple machines.
Specifically, workload allocation can be influenced by resource consumption
metrics, such as CPU or memory usage, or application-specific metrics, such
as transaction throughput or JDBC connections, or workload can be
provisioned based on schedules, such as peak times of day or end of quarter.
Oracle Application Server 10g provides out-of-the-box instrumentation that
captures these various metrics and creates advisories based on historical and
real-time information to help administrators make the best policy choices.
Oracle Application Server 10g also provides several availability enhancements.
Because Oracle 10g includes clustering of every service within the application
server, there is no single point of failure. Both planned and unplanned downtime
of an individual instance will simply cause requests to be routed to another
node. Because Application Server 10g includes efficient session replication, any
type of failure (even that of a J2EE application holding state) will remain
transparent to the user. Application Server 10g further improves application
reliability through its interaction with Oracle Real Application Clusters. If an
instance in the back-end database goes down, Application Server 10g is notified
to reconnect. Without notification from a failed instance, an application server
would wait for an IP time out, which takes several minutes, but the multi-tier
failover notification feature reduces recovery time in such cases to mere
seconds, and both failure and recovery remain transparent to the user.
Identity Management
Tightly integrated with Oracle Application Server 10g are the development tools
that enable companies to quickly develop custom internet applications, and then
easily deploy those applications to Oracle Application Server.
Applications for scientific grids, such as SETI@home, must be designed
explicitly to run on loosely connected grids. In contrast, enterprise applications
do not need to be re-designed to exploit the availability, scalability, and
performance benefits of enterprise grids. When applications are deployed to an
application server in a grid, those applications benefit immediately from the
transparent workload distribution, load balancing, and scheduling necessary to
efficiently coordinate work across multiple servers.
To gain additional benefits from grid computing, however, enterprise
applications can expose their behavior to other applications and to management
tools through standardized interfaces in a service-oriented architecture. Oracle
Developer Suite 10g, which includes JDeveloper 10g, enables developers to
create dynamic Web sites, J2EE applications, and Web services and to make
these services accessible through enterprise portals and wireless devices.
Applications designed to a service-oriented architecture can leverage a set of
standards-based internet protocols to communicate with other applications and
heterogeneous resources across a grid. Designing to a service-oriented
architecture enables companies to reduce development time and integration
costs.
Oracle Grid Control views the availability and performance of the grid
infrastructure as a unified whole, as a user would experience it, rather than as
isolated storage units, processing boxes, databases, and application servers. An
administrator can trace a performance or availability problem as experienced by
a user from end to end from the user visible Web page, through external and
internal networks, to application code, application server, and database access.
Grid Control then allows an administrator to trace the root cause of the problem
down to the individual Java class, for example, or the individual system
configuration parameter.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
www.oracle.com