NCSA Home
Contact Us | Intranet | Search

NCSA NEWS

News Home
Calendar
Images
Subscribe to Our Newsletter
 

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.

   UP