next up previous
Next: The Performance Prediction Process Up: No Title Previous: G: Technical Rationale and

Overview

 

Our goal is to develop methodologies that will make it possible to provide approximate predictions of the performance that could be achieved by sophisticated new applications on new high performance architectures. While many of the techniques we develop will apply to any type of application, we will focus on two broad classes of applications. Loosely synchronous adaptive applications include adaptive structured or unstructured multigrid codes, particle methods and multipole codes. Data exploration and data fusion applications are codes that carry out processing, analysis and exploration of one or several very large data sets. This class includes codes that carry out analysis, exploration and fusion of sensor data from sensors located on different platforms (e.g. satellites, aircraft and ships), and codes that carry out sensor data analysis and fusion of data from conventional high power microscopy, confocal microscopy, electron microscopy, computerized tomography, and magnetic resonance imaging.

   figure100
Figure 1: The Performance Prediction Process

The groups involved in this proposal will leverage their extensive experience with high-end applications through the process depicted in Figure 1. We list the following salient features of this process:

  1. Construction of application emulators motivated by loosely synchronous adaptive applications and by data exploration and data fusion applications. An application emulator is a suite of programs that, when run, exhibits computational and data access patterns that resemble the patterns observed in a particular type of application.
  2. Development of a hierarchical High Level Application Modeling framework (HLAM), as shown in Figure 2. The HLAM will include mechanisms to allow users to provide: a) a hierarchical description of an application, b) a high level specification of a target machine, c) procedures to define how the hierarchical application description is mapped to the machine model and d) a cost model to be used in performance estimation.
  3. Development of a simulation framework (PetaSIM) that is able to generate performance predictions using information provided by the hierarchical high level application modeling framework
  4. Performance optimization of HLAM and PetaSIM. PetaSIM will itself likely be a highly irregular parallel application and it may be necessary to develop an efficient parallel implementation of PetaSIM.
  5. Validation of the HLAM/PetaSIM modeling process. We will use the application emulators to produce application and machine specifications at varying levels of granularity, and then use PetaSIM to estimate performance obtained on selected current and future architectures. We will use detailed simulation tools developed at Maryland and at other sites to characterize the performance of the application emulators on selected current architectures (e.g. IBM SP-2) and on a limited set of future architectures.
  6. We will use various techniques, including detailed simulation tools, instrumented static and runtime compilation and analytic models, to produce PetaSIM cost models.

   figure111
Figure 2: HLAM - the Hierarchical Application Model

In the next section we describe this performance prediction process in more detail while Section 3 explains the application emulation approach and our approach to choosing applications which will test and motivate our project. In Section 4, we describe how we will integrate the various components of our activity.


next up previous
Next: The Performance Prediction Process Up: No Title Previous: G: Technical Rationale and

Wes Stevens
Fri Jul 11 15:07:44 EDT 1997