Tutorial on Modeling Exascale Applications with SST/macro and Eiger
Locations
Sunday, September 22 2013, 1-4:30pm. IISWC 2013 conference. Portland, Oregon.
Sunday, April 21 2013, 1:30-5:30pm. ISPASS 2013 conference. Austin, Texas.
Abstract
In high performance computing (HPC), the importance of fast, large scale models of high fidelity are only increasing as we move towards the next frontier of exascale. Hardware/software codesign is viewed as a key methodology to reaching this end. The SST/macro toolkit[1] provides HPC engineers the ability to explore current and future hardware/software design constraints. Instead of costly (in time and user effort) cycle-accurate simulation, macro-scale simulation can provide valuable insight into the performance of large applications. The value of these tools lies in high quality application models for increasingly complex hardware designs.
The Eiger Performance Modeling Framework[2] generates models by applying statistical techniques from the field of machine learning on empirical performance data. While macro-scale simulation can provide a reasonable overview of system wide phenomena, Eiger can leverage data acquired from micro-scale sources to inform large scale simulations in SST/macro. Eiger provides an API and data store for aggregating data from micro-scale sources such as simulators, emulators, and runtime instrumentation.
This tutorial will present attendees with the techniques and methodologies to leverage SST/macro and Eiger for modelling large scale applications on upcoming supercomputer hardware. This presentation is geared towards domain experts and HPC hardware designers, as well as students and researchers whose work requires exploration of programming models, interaction between computation and communication, and data-driven modelling techniques for large scale systems. These tools are geared toward ease of use and rapid iteration, allowing area experts to generate verbose performance models without requiring intricate knowledge of every facet of the computing environment. This tutorial will require only a basic level of programming skill.
Organizers
Eric Anger, Sudhakar Yalamanchili (Georgia Tech)
Gilbert Hendry, Ben Allan (Sandia National Labs)
Presenters
Eric Anger (Georgia Tech)
Gilbert Hendry (Sandia National Labs)
Download Materials
Download here.
Information about Eiger can be found here.
Information about SST/macro can be found here.
Schedule
- Introduction [30 minutes]
- Principals of codesign and motivating macro-scale
- Application skeletons as the vehicle for modeling
- Eiger statistical model generation
- SST/macro [1 hour]
- Goals, functionality, and use of SST/macro
- Structure and operation of skeleton applications
- Building and running skeletons
- Examples
- Short Break [30 minutes]
- Eiger [30 minutes]
- Instrumentation, analysis, and modeling with Eiger
- Creating transformation passes
- Integration with other tools
- Validation
- Examples
- Putting SST/macro and Eiger together [45 minutes]
- Adding instrumentation to applications
- Polling Eiger models in SST/macro
- Visualization tools
- Examples
Total Time: 3 hours 15 minutes
References
[1] Curtis L. Janssen, Helgi Adalsteinsson, Scott Cranford, Joseph P. Kenny, Ali Pinar, David A. Evensky, and Jackson Mayo. A simulator for large-scale parallel computer architectures. IJDST, 1(2):57–73, 2010.
[2] Andrew Kerr, Eric Anger, Gilber Hendry, and Sudhakar Yalamanchili. Eiger: A framework for the automated synthesis of statistical performance models. In High Performance Computing, 2012. paper