Home

AboutPeoplePapersNews

Schroedinger III, a 1,14 TFlop/s  (Linpack benchmark) cluster at University of Vienna.

This cluster consists of 240 compute nodes, each having an Intel P4 3.2GHz 64-bit processor and 2GB RAM.

.
Performance Prophet
.

Figure 1. Simplified Performance Prophet Architecture.

Objective: prediction of the performance behavior of parallel and distributed applications on cluster and grid architectures.

Support: early application development stages.

Design aim: comparative accuracy.

Hybrid approach: simplify a detailed model and combine simulation and analytical techniques to reduce the time needed to evaluate the model.

Modeling: The development of parallel and distributed applications is a time-consuming, error-prone, and tedious process that involves many cycles of code editing, compiling, executing, and performance analysis. A visual modeling language could substantially alleviate the development of parallel and distributed applications and improve the understanding of the resulting performance behavior on a given target machine.

We employ the Unified Modeling Language (UML) to model parallel and distributed applications. UML offers an extensive set of diagrams for modeling. However, the semantics of specific diagrams aren't always clear so as to decide how to model specific aspects of parallel and distributed programs. In order to overcome this deficiency we utilize the UML extension mechanisms to customize UML for the domain of distributed and parallel computing. A set of UML building blocks is identified that model some of the most important constructs of message passing and shared memory parallel paradigms which can be used to develop models for large and complex parallel and distributed applications.

In order to provide an adequate tool support we have developed Teuta which is a graphical editor for UML based modeling of distributed and parallel applications.

Simulation: The objective is to develop a parametrized simulation tool for cluster and grid architectures. The Performance Prophet architecture is depicted in Figure 1. Based on a UML model of an application and a simulator for a target architecture, one can predict the execution behavior of the application model. The user develops the model for an application by composing existing templates (building blocks). Thereafter, the annotated model is transformed to an intermediate form based on which the simulator examines the behavior for this application on a given target machine model that is selected by the user.

Presentations slides that briefly describe our work are available here (PDF). Our approach is described in more detail in our publications.

Implementation: We have implemented Performance Prophet in Java and C++. The current implementation includes about 22000 lines of code, from which about 2500 are comment lines.

.
 

| AURORA | Modeling and Simulation |

Teuta