Actions

Performance Tools: Difference between revisions

From Modelado Foundation

imported>JohnMC
No edit summary
imported>JohnMC
No edit summary
Line 13: Line 13:
! style="width: 200;" | PIPER
! style="width: 200;" | PIPER
|- style="vertical-align:top;"
|- style="vertical-align:top;"
| What performance information would an application developer need to know about software developed in your X-Stack project?
| What performance information would application developers need to know to tune codes that use your X-Stack project's software?
|
|
|
|
Line 25: Line 25:
|
|
|- style="vertical-align:top;"
|- style="vertical-align:top;"
| What performance information would a code developer in your project need to know about your software?
| What would a systems software developer need to know to tune the performance of your software stack?
|
|
|
|
Line 37: Line 37:
|
|
|- style="vertical-align:top;"
|- style="vertical-align:top;"
| What information should a performance tool gather from each level in your software stack? What performance information should each level of your software stack maintain for inspection by performance tools? How would a tool get this information: register a signal handler, call an async-signal safe function from a signal handler, register a callback, call a function from a registered callback, or something else?
| What information should a performance tool gather from each level in your software stack? What performance information should each level of your software stack maintain for inspection by performance tools? What abstractions does your runtime stack use for parallelism?  What information would your software stack need to maintain in order to measure per-thread or per-task, performance? Can this information be accessed safely from a signal handler?  Could a performance tool register its own tasks to monitor the performance of the runtime?
|
|
|
|
Line 73: Line 73:
|
|
|- style="vertical-align:top;"
|- style="vertical-align:top;"
| What kinds of performance problems do you foresee analyzing using on-the-fly analysis? What interfaces will be needed to gather the necessary information? What control interfaces will be necessary to enable runtime adaptation based on performance measurements?
| What kinds of performance problems do you foresee analyzing using runtime analysis? What interfaces will be needed to gather the necessary information?  
|
|
|
|
|
|
|
|
|
|- style="vertical-align:top;"
| What control interfaces will be necessary to enable runtime adaptation based on performance measurements?
|
|
|
|

Revision as of 18:11, May 1, 2014

QUESTIONS XPRESS TG X-Stack DEGAS D-TEC DynAX X-TUNE GVR CORVETTE SLEEC PIPER
What performance information would application developers need to know to tune codes that use your X-Stack project's software?
What would a systems software developer need to know to tune the performance of your software stack?
What information should a performance tool gather from each level in your software stack? What performance information should each level of your software stack maintain for inspection by performance tools? What abstractions does your runtime stack use for parallelism? What information would your software stack need to maintain in order to measure per-thread or per-task, performance? Can this information be accessed safely from a signal handler? Could a performance tool register its own tasks to monitor the performance of the runtime?
What types of performance problems do you want tools to measure and diagnose? CPU resource consumption? CPU utilization? Network bandwidth? Network latency? Contention for shared resources? Waste? Inefficiency? Insufficient parallelism? Serialization? Load-imbalance? Task dependences? Idleness? Data movement costs? Power or energy consumption? Failures and failure handling costs? The overhead of resilience mechanisms? I/O bandwidth consumed? I/O latency? I/O characterization
What kinds of performance problems do you foresee analyzing using post-mortem analysis?
What kinds of performance problems do you foresee analyzing using runtime analysis? What interfaces will be needed to gather the necessary information?
What control interfaces will be necessary to enable runtime adaptation based on performance measurements?
There is a gap between the application-level and implementation-level views of programming languages and DSLs. What information should your software layers (compiler and runtime system) provide to attribute implementation-level performance measurement data to an application-level view?
What kind of visualization and presentation support do you want from performance tools? Do you envision any IDE integration for performance tools?
List the performance challenges that you think next generation programming languages and models will face.