Performance Analysis Tools Working Session
Performance Analysis Tools Working Session Panel Questions:
- What are our application performance goals for exascale? What questions can performance analysis tools realistically answer (i.e., what roles will performance analysis play)?
- What context/semantics are needed to improve our ability to attribute behavior to root causes?
- What data are we most interested in, what interfaces (HW or SW) are needed to gather that data, and at what levels?
- How do we best incorporate our analysis tools into applications to gather this data?
- Given our analysis goals, what are the best methods to address scalability, how might hierarchical analysis play a role, and what assistance is needed from other HW/SW layers?
- Beyond the usual software engineering concerns, what components are common across multiple performance analysis tools, or shared with other system infrastructure?
- Is there a role for machine learning in postmortem tools and for the analysis of data collected by an application when it runs on “performance collection mode"?
Additional Questions:
- Is auto-tuning a tool or as a component of a compiler/runtime system? Is it part of a performance tool? Conversely do tools have a place inside applications?
- Do we need management tools (e.g., power management, fault management, etc.)? Or are the management functions part of a software stack component (e.g. runtime system)? Same question regarding optimization: does it belong in tools, or does it belong in compilers, runtime systems, etc?
- At Exascale with continually evolving HW (due to fault tolerance), does auto-tuning ever stop or is it always going on alongside the application?
- What has and has not worked in design, deployment, and training for previous tools to promote their widespread adoption, use, and impact?
- What elements of popular/enduring tools can be extended to or reproduced at Exascale? What lessons are there from tools that survived the tera-to-petascale transition?
- How to measure and reward developing “industrial strength” tools? What should be the role of open source in this process?