.
Providing a New Generation of Economically Viable
High Productivity Computing Systems
.

HPCS Application Analysis and Assessment

Dr. Jeremy Kepner
MIT Lincoln Laboratory
kepner@ll.mit.edu
Dr. David Koester
The MITRE Corporation
dkoester@mitre.org

Abstract

The value of a HPC system to a user includes many factors, such as: execution time on a particular problem, software development time, and both direct and indirect costs. The DARPA High Productivity Computing Systems is focused on providing a new generation of economically viable high productivity computing systems for the national security and industrial user community in the 2007-2010 timeframe. The goal is to provide systems that double in productivity (or value) every 18 months. This program has initiated a fundamental reassessment of how we define and measure performance, programmability, portability, robustness and ultimately productivity in the HPC domain. This talk will describe the HPCS efforts to develop a productivity assessment framework (see Figure 1), characterize HPC user workflows, and define the scope of the target applications.

Introduction
The HPCS program seeks to create trans-Petaflop systems of significant value to the Government HPC community. Such value will be determined by assessing many additional factors beyond just theoretical peak flops (i.e. “Machoflops”). Ultimately, the goal is to decrease the time-to-solution, which means decreasing both the execution time and development time of an application on a particular system. Evaluating the capabilities of a system with respect to these goals requires a different assessment process. The goal of the HPCS assessment activity is to prototype and baseline a process that can be transitioned to the acquisition community for 2010 procurements.

Development Time
The most novel part of the assessment activity will be the effort to measure/predict the ease or difficulty of developing HPC applications. Currently, there is no quantitative methodology for comparing the development time impact of various HPC programming technologies. To achieve this goal, we will use a variety of tools including

  • Application of code metrics on existing HPC codes
  • Several prototype analytic models of development time
  • Interface characterization (e.g. language, parallel model, memory model, …)
  • Scalable benchmarks designed for testing both performance and programmability
  • Classroom software engineering experiments
  • Human validated demonstrations

These tools will provide the baseline data necessary for modeling development time and allow the new technologies developed under HPCS to be assessed quantitatively.

Execution Time
The execution time part of the assessment activity will leverage the strong heritage in the HPC performance modeling community. This will include analytic, source code, and executable based tools for analyzing the projected performance of various applications on current, next generation and HPCS designs. The execution time and development time activities will be strongly coupled so as to provide a clear picture to the community of the tradeoffs that exist between execution time and development time.

Figure 1: HPCS Assessment Framework. The goal of the framework is to provide a mechanism for integrating system specific capabilities with user specific needs to assess the value of a particular machine for a particular mission.

 

 

 

 © 2004 All Rights Reserved