Information about Prophesy optiputer griphyn nsf tamu mcs alliance

      info      

publications

      help      

   contact   

    home    
profiling & instrumentation
manual data entry & deletion
database
model builder & predictor
Efficient execution of an application requires insights into how system features impact the performance of the application. A distributed system consists of heterogeneous components, such as networks, processors, run-time systems, operating systems, etc., that complicate the task of understanding the performance impact of system features. Prophesy is an infrastructure for analyzing and modeling the performance of parallel and distributed applications. The core component of Prophesy is a relational database that allows for the recording of performance data, system features and application details. As a result, a Prophesy system can be used to develop models based upon significant data, identify the most efficient implementation of a given function based upon the given system configuration, explore the various trends implicated by the significant data, and predict the performance on a different system.

The Prophesy framework consists of three major components: data collection, data analysis, and three central databases.


The data collection component focuses on the automatic instrumentation of codes at the level of basic blocks, procedures, or functions. The default mode consists of instrumenting the entire code at the level of basic loops and procedures. A user can specify that the code be instrumented at a finer granularity than that of loops or identify the particular events to be instrumented. The resultant performance data is automatically placed in the performance database and is used by the data analysis component to produce an analytical performance model with coefficients, at the granularity specified by the user. The models are developed based upon performance data from the performance database, model templates from the template database, and system characteristics from the systems database. The interface uses web technology to allow users to access Prophesy from anywhere. An application goes through three stages (instrumentation of the application, performance data collection of many runs, and model development using optimization techniques) to generate an analytical performance model.

Prophesy allows for the development of linear as well as nonlinear models. These models, when combined with data from the system database, can be used by the prediction engine to predict the performance on a different compute platform. These models can then be used to give insight into which machine may perform the best for the given implementation of the kernel and what happens when one changes different features of the system.

The Prophesy is a collaborative project with Rick Stevens, Ivan Judson and Mark Hereld in the MCS devision at Argonne National Laboratory

The Prophesy Project is sponsored in part by the following grants:
  • NSF NGS Program, grant number EIA-9974960
  • NASA Ames Research Center
  • NASA under award number NCC 2-1363
  • NSF PACI Program, with the National Computational Science Alliance, grant number ACI-9619019
  • NSF ITR Grant, New Approaches to Human Capital Project, grant number EIA-0085952
  • NSF ITR Grant, The GriPhyN Project, grant number ACI-0086044
  • NSF ITR Grant, The OptIPuter Project, grant number ANI-0225642
__________________________________________________________
profiling & instrumentation | manual data entry | database | model builder & predictor
home | info | publications | help | contact