Advances in networking technologies will soon make it possible to use
the global information infrastructure in a qualitatively different way
- as a computational resource as well as an information resource. This
idea for an integrated computation and information resource called the
Computational Power Grid has been described by the recent book entitled
The Grid: Blueprint for a New Computing Infrastructure [18]. The Grid
will connect the nation's computers, databases, instruments, and people
in a seamless web, supporting emerging computation-rich application concepts
such as remote computing, distributed supercomputing, tele-immersion,
smart instruments, and data mining.
To realize this vision, significant scientific and technical obstacles
must be overcome. Principal among these is usability. Because the Grid
will be inherently more complex than existing computer systems, programs
that execute on the Grid will reflect some of this complexity. Hence,
making Grid resources useful and accessible to scientists and engineers
will require new software tools that embody major advances in both the
theory and practice of building Grid applications.
The goal of the Grid Application Development Software (GrADS) Project
is to simplify distributed heterogeneous computing in the same way that
the World Wide Web simplified information sharing over the Internet. The
GrADS project is exploring the scientific and technical problems that
must be solved to make Grid application development and performance tuning
for real applications an everyday practice. This requires research in
four key areas, each validated in a prototype infrastructure that will
make programming on grids a routine task:
Grid software architectures that facilitate information flow and resource
negotiation among applications, libraries, compilers, linkers, and runtime
systems;
base software technologies, such as scheduling, resource discovery,
and communication, to support development and execution of performance-efficient
Grid applications;
languages, compilers, environments, and tools to support creation
of applications for the Grid and solution of problems on the Grid; and
mathematical and data structure libraries for Grid applications, including
numerical methods for control of accuracy and latency tolerance.
In addition, the GrADS project is developing MicroGrid testbeds to systematically
explore, demonstrate and characterize the effectiveness of the technologies
developed, while using the evolving national Grid testbeds for full-scale
experimentation and demonstration.
The GrADS Project will carry out technology transfer via two principal
mechanisms. First, the principal investigators will work directly with
application developers to understand the mechanisms that would be useful
for bringing up their applications on the Grid. Second, the project will
collab rate with industrial partners to encourage the adoption and standardization
of system software technologies that arise from the research.
To be successful, GrADS will need to foster research and technology transfer
programs that will contribute to revolutionary new ways of utilizing the
global information infrastructure as a platform for computation, changing
the way scientists and engineers solve their everyday problems.