|
|
When you compose a letter on a computer, hundreds of
software components are, in some way, involved in this simple task. There
are components that change the size of type, check grammar, format the
layout. Others recognize the printer you are using and attach the bits and
bytes that instruct your printer what to do. Still others -- the operating
system and print scheduler -- make sure these bits reach their
destination. If you diagrammed the relationship among these components,
you'd wind up with a pyramid that, in many respects, resembles a corporate
organizational structure. At the top, in the CEO's office, is the word
processing program as it appears on your screen. Underlying it are the
divisions, or group of programs, that encapsulate still more groups that
perform related but distinct functions. The further down you drill into
any of these groups, the more specific become the tasks each software
module executes.
The software schema for the Alliance's National Technology Grid is a
similar cascade of hierarchical layers. The base is the hardware -- computing
resources, networks, and vast distributed sets of data. But overlying it
are three interdependent layers of software in which specific functions
are being bundled to perform progressively more complicated tasks.
These divisions are, of course, artificial because unlike conventional
software architectures, the Grid's system is flexible. Researchers will
assemble functions in whatever way best fits their needs. The system must
also accommodate the dynamic nature of the Grid. Bandwidth will fluctuate,
computers will be upgraded or unavailable, software will be modified. The
software system, however assembled, must deliver reliable, high performance
without the user needing to be aware of these continual changes to the underlying
system.
- Applications answer the question: Why do we need a Grid? Most
of them now stem from science and engineering, but eventually they will
cross all areas of society. The Alliance is focusing on six data- and
compute-intensive areas: chemical engineering, cosmology, environmental hydrology,
molecular biology, nanotechnology, and scientific instrumentation. Other
applications such as collaboration, knowledge management (or data mining), and
visualization are also helping define the performance requirements of the Grid.
- Programming Tools make it easier to develop programs for the
Grid by masking some of the complexities of the underlying structure. Some
of these tools, such as application toolkits, provide flexible frameworks
for assembling applications from software modules, some of which may be
located on computing systems at other institutions. Newer parallel programming
languages, libraries, and compilers map applications onto distributed
resources in ways that compensate for what are often dramatic differences
in power, architecture, and data representation. Object-oriented
techniques and commodity technologies, too, can simplify programming for
the Grid.
- Services, or middleware, are similar to the operating system
on a conventional computer. They are the intermediaries to the hardware
and provide such basic services as security, authentication, resource scheduling,
and assurances as to the quality of service. The software encapsulating
these services will be designed in such a way that the programming tools
and applications dependent upon them can assess and dynamically respond
to changes in the Grid.
- Physical Resources are the computers, visualization environments,
mass storage devices, and networks associated with high-performance computing.
The specialized software associated with each resource can be made more
Grid compatible.
Not to be left out of this description of the Grid are people.
Scientists, engineers, computer programmers, teachers, business leaders,
people from all walks of life are working together in creating this
infrastructure. This interdisciplinary approach is essential because
eventually everyone will be able to take advantage of its capabilities.
Just as the Internet has touched the lives of kindergartners as well as
researchers, the Grid will lead to new ways of working, living, and
learning in the coming century.
For a detailed description of computational grids, read The
Grid: Blueprint for a New Computing Infrastructure, Ian Foster and Carl
Kesselman, eds. (San Francisco: Morgan Kaufmann, 1999).

Access Online | Posted 1-8-1999
|
|