PIPER: Difference between revisions
From Modelado Foundation
imported>Schulzm No edit summary |
imported>Schulzm No edit summary |
||
Line 24: | Line 24: | ||
PIPER (Performance Insights for Programmers and Exascale Runtimes) is a multi-institutional collaboration funded under the Office of Science's X-Stack program that targets the development of new techniques for measuring, analyzing, attributing, and presenting performance data on exascale systems. | PIPER (Performance Insights for Programmers and Exascale Runtimes) is a multi-institutional collaboration funded under the Office of Science's X-Stack program that targets the development of new techniques for measuring, analyzing, attributing, and presenting performance data on exascale systems. | ||
== Approch == | |||
PIPER consists of four thrust areas, organized into three phases. | |||
The following figure gives an overall view of our approach: | |||
[[File:columns.png]] | |||
* Thrust 1: we are designing and implementing a series of new scalable measurement techniques | |||
to pinpoint and quantify the main roadblocks on the way to exascale, including | |||
lack of parallelism, energy consumption, and load imbalance. | |||
* Thrust 2: We will exploit the stack-wide correlated data and are developing a suite of new feature-based analysis | |||
and visualization techniques that allow us to gain true insight into a code's behavior and | |||
relay this information back to the user in an intuitive fashion. | |||
* Thrust 3: We are exploiting the stack-wide correlated data to develop a suite of new feature-based analysis | |||
and visualization techniques that allow us to gain true insight into a code's behavior and | |||
relay this information back to the user in an intuitive fashion | |||
* Thrust 4: We apply the analysis results to enable feedback into the system stack | |||
enabling autonomic optimization loops both for high- and low-level adaptations. | |||
We are implementing our research in a set of modular components that can be deployed | |||
across various execution and programming models. Wherever possible, we will leverage the extensive | |||
tool infrastructures available through prior work in our project team and integrate | |||
the results of our research back into these existing production-level tool sets. | |||
== Interaction with the Software Stack == | == Architecture and Interaction with the Software Stack == | ||
We will implement our research in a set of modular components that can be deployed | We will implement our research in a set of modular components that can be deployed | ||
Line 42: | Line 59: | ||
that will provide the PIPER functionality: | that will provide the PIPER functionality: | ||
[[File: | [[File:architecture.jpg]] | ||
We will target measurements from the entire hardware/software stack. That is, | We will target measurements from the entire hardware/software stack. That is, |
Revision as of 07:32, September 28, 2013
Description goes here
Team Members
- Lawrence Livermore National Laboratory (team pages)
- Pacific Northwest National Laboratory (team pages)
- Rice University (team pages)
- University of Maryland (team pages)
- University of Utah (team pages)
- University of Wisconsin (team pages)
Objectives
Exascale architectures and applications will be much more complex than today's systems, and to achieve high performance, radical changes will be required in high performance computing (HPC) applications and in the system software stack. In such a variable environment, performance tools are essential to enable users to optimize application and system code. Tools must provide online performance feedback to runtime systems to guide online adaptation, and they must output intuitive summaries and visualizations to help developers identify performance problems.
PIPER (Performance Insights for Programmers and Exascale Runtimes) is a multi-institutional collaboration funded under the Office of Science's X-Stack program that targets the development of new techniques for measuring, analyzing, attributing, and presenting performance data on exascale systems.
Approch
PIPER consists of four thrust areas, organized into three phases. The following figure gives an overall view of our approach:
- Thrust 1: we are designing and implementing a series of new scalable measurement techniques
to pinpoint and quantify the main roadblocks on the way to exascale, including lack of parallelism, energy consumption, and load imbalance.
- Thrust 2: We will exploit the stack-wide correlated data and are developing a suite of new feature-based analysis
and visualization techniques that allow us to gain true insight into a code's behavior and relay this information back to the user in an intuitive fashion.
- Thrust 3: We are exploiting the stack-wide correlated data to develop a suite of new feature-based analysis
and visualization techniques that allow us to gain true insight into a code's behavior and relay this information back to the user in an intuitive fashion
- Thrust 4: We apply the analysis results to enable feedback into the system stack
enabling autonomic optimization loops both for high- and low-level adaptations.
We are implementing our research in a set of modular components that can be deployed across various execution and programming models. Wherever possible, we will leverage the extensive tool infrastructures available through prior work in our project team and integrate the results of our research back into these existing production-level tool sets.
Architecture and Interaction with the Software Stack
We will implement our research in a set of modular components that can be deployed across various execution and programming models, covering both legacy (MPI+X) models and new models developed in other X-Stack2 projects. Wherever possible, we will leverage the extensive tool infrastructures available through prior work in our project team and integrate the results of our research back into these existing production-level tool sets. Furthermore, we will make the results of our research available to a broad audience and work with the larger tools community to achieve a wider adaption. The figure below provides an initial high-level sketch of our envisioned architecture that will provide the PIPER functionality:
We will target measurements from the entire hardware/software stack. That is, we expect to use measurements from both the underlying system hardware as well as custom measurements derived from the application. The measurements themselves will leverage a series of adaptive instrumentation techniques. As part of the measurement operation, we will associate the measurements with a local call stack. The correlated local stack/performance measurement data will feed an analysis pipeline consisting of both node-local analysis methods, and distributed, wider-context analysis methods. The resulting data store will support a high-level query interface used by visualization and data analysis reporting tools informing the user. Such a system also enables dynamic tuning, and feedback-directed optimization.