The PVM programming library has become an increasingly popular de-facto standard for writing explicitly parallel programs based on the message passing paradigm. A main reason for this popularity is the fact that PVM is available for a large variety of different hardware platforms ranging from networks of workstations to parallel supercomputers. PVM even allows to use heterogeneous networks as a computing platform. In contrast to the forthcoming MPI standard, PVM not only provides communication functions for these computing environments, but also supports task management, configuring the virtual machine, and starting distributed programs.
For these reasons, a large variety of parallel applications, e.g. multigrid solvers [Mic94], image processing [ZH94] or gene sequence analysis [DRP91] has been implemented on top of PVM. PVM is also being used as a platform for developing tools for parallel programming. Although some of them are rather sophisticated, currently only few tools are available and usable for the application programmers' community. One reason for this fact is that many tools are pure research prototypes providing only rudimentary, clumsy interfaces difficult to use for non-experts. A second reason is that existing tools are not integrated and cover only a single aspect of parallel program development. Here the term ``integrated'' does not primarily mean an integrated implementation of these tools, but the more important aspect of integrated usage, that is whether or not the tools can be used in combination and also provide support for each other. At the present time, different tools can usually not be used for the same program, since they require the program to be compiled in different ways or to be linked with instrumented libraries not compatible to other ones. An active support for the features offered by other tools is even less common.
A new project of the Lehrstuhl für Rechnertechnik und Rechnerorganisation, Technische Universität München (LRR-TUM) will change this situation by providing an integrated tool-set for PVM including both run-time support and programming tools. The project is based on the previous work of our group that is performing research in the field of parallel processing tools for more than eight years. It will integrate and adapt our existing tools and experience to form a PVM tool environment supporting parallel I/O [LL95], load balancing [Lud93], resource management and checkpointing [Ste95], performance analysis [Han94], debugging [OW95], deterministic execution [Obe95], and visualization [BB92] (the citations refer to already existing work). Since we can rely on considerable preparatory work that always aimed towards industrial quality, easy-to-use interfaces, and integration of programming tools, we expect a first version of THE TOOL-SET to be available for the user community in spring 1996.