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.