Performance Prediction of Parallel Programs

The CAPSE (Computer Aided Parallel Software Engineering) environment is proposed to support a development process, launching the performance engineering activities that accompany the whole software development lifecycle. In this paper a first subset of tools is described, which illustrates the basic ideas for performance prediction in early stages of development. The toolset consists of an automatic performance model generator, a special purpose simulator to generate performance results and the well known visualization tool ParaGraph. The tool implementation, the concepts to integrate existing tools (e.g ParaGraph) and the tool restrictions are described. Timed Petri nets are used as the underlying performance model. The models for workload description, for the specification of the hardware and for the mapping of the workload to the topology are shown. In order to demonstrate the usage of the performance prediction toolset, a case study of a parallel LU-decomposition algorithm on a hypothetical parallel computer system with a hypercube communication network is elaborated by experimenting with a set of different matrix sizes, mappings and hardware parameters. Achievable speedup, efficiency, efficacy and the total execution times are compared.