N-MAP - an environment for the performance oriented development process of efficient distributed programs
The performance engineering activities in a performance oriented development process of distributed (and parallel) software have to cover a range of crucial issues: performance prediction in early development stages, (analytical or simulation) modeling in the detailed specification and coding phase, monitoring/measurements in the testing and correction phase, and - most importantly for distributed applications executing in heterogeneous distributed environments - automated performance management at run-time. In this paper we present a development environment, N-MAP (N-(virtual) processor map), to tackle these issues. Within N-MAP, the challenging aspect of performance prediction to support a performance oriented, incremental development of distributed programs is addressed, such that design choices can be investigated far ahead of the full coding of the application. Our approach considers the algorithmic idea as the first step towards an application for which the programmer should not be forced to provide detailed program code, but just to focus on the constituent and performance critical program parts. Due to time-varying workloads and changing system resource availability in heterogeneous multicomputer environments in which the distributed application is embedded, self-managing applications are demanded which allow for dynamic reconfiguration in response to a new system states, N-MAP aims at the development of applications able to induce and assess the impact of such re-configurations at run-time in a "pro-active" way. As opposed to "re-active" systems which bring reconfigurations in effect after the system state has changed, the timeliness of reconfiguration activities is attempted by a future state forecast mechanism and performance management decisions are based on anticipated future system states. (C) 2000 Published by Elsevier Science B.V. All rights reserved.
performance oriented development process distributed programs n-(virtual) processor map