Libraries for dynamic parallel computation with PVM
-
Student: Ping Zhang 11/1997, now at Lexmark
-
Purpose: manage a work heap for distributed computation with
load balancing and reliability.
-
Method:
The PVM library is used to initialize many workers on different machines and to
communicate among those workers. A master maintains the
heap of work, sending new work to workers as they finish previous work.
The algorithms are packaged as a set of libraries for clients written in C,
C++, Fortran, and Java.
-
What the student learned:
-
Using the PVM package.
-
Object-oriented programming in C++ and Java.
-
Designing and implementing the API for problem heaps (this part required
significant cleverness).
-
Coding and debugging a large, multi-machine project.
-
Application of the library to a research application in Mechanical
Engineering.
-
Writing up the project (including a published journal paper) and packaging
the
resulting tools.