This section will give a detailed overview over the concepts of THE TOOL-SET. Many of them are already fixed and are waiting just to be implemented, others are still research topics and require more conceptual work. As the complete tool-set has a high internal complexity, not all features will be available at the same time with full functionality. The end of this paper will present a preliminary time schedule and some first deadlines.
The tools can be divided into classes according to the following criteria. First, we will offer interactive tools and automatic tools. Interactive tools (like THE DEBUGGER) will support implementation and maintenance phases whereas automatic tools (THE LOAD BALANCER) mainly concentrate on the production phase of the software. Tools will use different sources of information. A monitoring system will give direct access to the running program on the workstation cluster thus supporting online debugging and performance measurement. All measured characteristics can be recorded in traces which describe one individual behavior of a program run. Traces can be used e.g. for statistical program analysis. In addition, checkpoints will be generated which represent the state of a program at a given point of time. Checkpoint data is mainly used for load balancing purposes. Traces and checkpoints can be entered in a database system for comparison, version management etc. All tools are based upon these few information types, however, none of them uses the complete set. Interactive tools will be integrated considering their graphical user interface. Implementation of the GUIs will be based on OSF/Motif and therefore give the users a standardized look and feel.
Finally everything is grouped around PVM version 3.3.x. We expect THE TOOL-SET to be easily adaptable to future versions of PVM as only the monitoring system is closely interconnected with internal PVM mechanisms. However, any change of programming model (e.g. new communication types) would also require an adaption of those interactive tools which should be able to handle the new constructs.
Figure 1: Module structure of the complete tool environment
Figure 1 shows the module structure of THE TOOL-SET. Due to the limited space of this paper we can not describe in detail all tools. Therefore, we will list some selected highlights and give a short description of two of them: of THE DEBUGGER and of THE PERFORMANCE ANALYZER. We expect these two tools to be of common interest to the user community of PVM.
Before we will give a more detailed description of THE DEBUGGER and THE PERFORMANCE ANALYZER let us first have a look at systems that have been developed in our group in the past.