The following section describes former developments of our group in the field of parallel and distributed processing. It will lay some evidence on the fact that LRR-TUM has sufficient experience with tools to realize such an ambitious environment as the PVM tool-set.
In 1987 we started the TOPSYS project (TOols for Parallel SYStems) [BBB+90,BB91,Bod94]. This was a first integrated approach with the goal to develop a set of interactive online tools all of them being based upon a common programming model, a common monitoring technique, and a common compiler support mechanism. Three tools were implemented: DETOP (DEbugging TOol for Parallel systems) [BW94], PATOP (Performance Analysis TOol for Parallel systems) [BHL90], and VISTOP (VISualization TOol for Parallel systems) [BB92]. For collecting information about the system behavior and for interactively manipulating it we developed a special monitoring system [BLT90]. The monitor was implemented both in software and in hardware, both versions being functionally identical. Later, the hardware monitor was redesigned and many parts of it were integrated on a chip from which a small number was manufactured. The programming model offered three objects to the programmer: tasks for computation, mailboxes for communication between tasks, and semaphores for task synchronization [BL90]. Debugging, performance analysis, and visualization were supported on the abstraction level of these objects. For example, the tools allowed to stop tasks via breakpoints when a specified message was sent to a mailbox. The gap between the low level information gathered by the monitoring system and the abstract representation of the program behavior at the GUI was closed by special layers of the tool-set software. These layers used additional information collected during compilation of parallel programs and stored in the symbol table of the corresponding object code.
Several further tools were developed within the framework of TOPSYS but never got fully integrated. Firstly SAMTOP (Specification And Mapping TOol for Parallel systems) [BLR91] allowed to graphically specify parallel programs for the TOPSYS programming model and to map them onto the machine. DAMTOP (Deterministic tAsk Management TOol for Parallel systems) [Obe95] offered means to eliminate non-determinism of parallel programs by forcing them to follow a specified execution pattern. TOPSYS was implemented for Intel parallel computers with hypercube network structure, namely iPSC/2 and iPSC/860 supercomputers. Parts of TOPSYS were also available on Sun workstation clusters. The effort put into this project comprised several dozens of man-years.
A second project, also made available for the iPSC/2, concentrated on load balancing for parallel computers [Lud93]. A special method was developed to migrate running processes via the interconnection network to lightly loaded processing nodes. High efficiency was achieved by using the processors' paging capabilities for migration purposes. The project yielded insight into problems with finding good heuristics for controlling load balancing. A special research issue was the question of how to optimize these heuristics.
Besides adapting some of the tools to other machines and programming environments within the frameworks of funded projects (e.g. a performance analysis tool for High Performance Fortran within PREPARE and a performance analysis tool with emphasis on realtime applications and embedded systems within HAMLET), the group worked during the last two years on adapting the tools to Parsytec parallel computers, especially to the architecture with the PowerPC chip. Since end of 1994 the debugger and the performance analyzer are an integral part of the Parix programming environment and are shipped with Parsytec computers [HK95,OW95]. Both tools have their basis in the TOPSYS environment, however, they provide a considerably improved functionality to the programmer.
In addition to tool development, LRR-TUM worked together with Intel on the development of an emulator for the Paragon supercomputer. This emulator supports writing and testing of parallel programs on workstation clusters of various vendors. The programming model of the Paragon supercomputer is almost completely emulated by the environment called NXLib [SBLL94]. Programs can be run on the real supercomputer by simply recompiling the sources. In addition to NXLib we currently implement PFSLib [LL95], an emulator for the Paragon parallel file system. This software will become available in summer 1995. Both packages can be obtained freely from our ftp-server.
In the future we will concentrate our experience in the development of programming environments onto THE TOOL-SET for PVM. However, the resulting tool-set will not only cover an adaption of existing tool functionality to PVM but also the integration of necessary enhancements that we consider to be helpful for the programmer. Furthermore, we will try to tackle new research issues which arise as logical consequences from existing tools. The following chapters will outline the plans for THE DEBUGGER and THE PERFORMANCE ANALYZER.