|
A new tool that will help programmers exploit the power of
distributed computing is the HPC++ Library. Developed over the past three years by Dennis Gannon and his
colleagues Indiana University -- in conjunction with other university, industry,
and government labs -- it is a versatile means for running all or part of a
problem on multiple machines.
HPC++ is a high-performance extension to the C++ computing language. With
it, programmers can create modular building blocks called objects on
networked computers and communicate with these objects as if they are
running on his or her own machine. It also allows programmers to make use
of a system called threads, which on UNIX machines is similar to the Java
thread system. Threads enable multiple tasks to run at the same time on
one machine. HPC++ objects and Java objects can talk to one another as
well, no matter where they are located. These objects can then take
advantage of the computing resources available to them on a remote machine
rather than overloading a single local machine.
Using HPC++, the programmer also can create objects that are capable of
solving part of a larger problem, then scatter these objects across
multiple machines, giving each machine separate data to work on. Parsing a
problem in this way dramatically reduces the time it takes to solve the
problem, which can be very valuable to programmers who work with extremely
large, computationally intensive problems.
The HPC++ library is now available in alpha form from Indiana University,
and is the result of work from many people, including Dennis Gannon and
Benjamin Temko at Indiana University, Pete Beckman at Los Alamos National
Laboratory, Yutaka Ishiakwa at RWCP Japan, and Carl Kesselman at the
University of Southern California.
|