220 likes | 393 Views
Performance Cockpit : An Extensible GUI Platform for Performance Tools. Tianchao Li ( lit@in.tum.de ) Michael Gerndt ( gerndg@in.tum.de ). Content. Performance Tools and the GUIs The General Extensible Architecture Standardized Intermediate Representation
E N D
Performance Cockpit :An Extensible GUI Platform for Performance Tools Tianchao Li (lit@in.tum.de) Michael Gerndt (gerndg@in.tum.de)
Content • Performance Tools and the GUIs • The General Extensible Architecture • Standardized Intermediate Representation • Towards a Universal Platform for Performance Tools
Performance Tools • Commonly used in high performance computing • Monitor program execution and produce performance data that can be analyzed to locate and understand performance problems • Existing tools (commercial/research) varies in • Programming Languages & Programming Paradigms • Source instrumentation vs. binary instrumentation • Full monitoring vs. selective monitoring • Post-mortem analysis vs. run-time analysis • …
GUIs for Performance Tools • Typically, each performance tool provides a customized UI • show application structure • specify measurement targets • control measurement execution • display measurement result • Diversity of UI brings Many drawbacks • inconsistent user interface • difficult to learn • bad user experience • hard to integrate and interoperate • Duplicate work on common features • We need a common GUI platform
EP-Cache Project • Efficient Parallel Programming of Cache Architectures • A three-year research project funded by German Federal Ministry for Education and Research • Develop new performance analysis tools and performance tuning techniques with which programs can be improved to efficiently utilize the underlying cache architectures, especially on SMPs • Performance measurement tools developed, including • Counter-based Profiling and Tracing Environment (CPTE) • EP-Cache Monitor (EPCM) • ...
CPTE • Based on hardware performance counters • Measurement granularity: program regions • Profiling, tracing and sampling • Post-mortem analysis • Result visualization with KCachegrind
EPCM • Based on simulator for shared memory multi-processor • Following a novel hardware monitor design • Runtime instrumentation of application binary, on-the-fly simulation of cache access behavior and performance monitoring • Measurement granularity: code region & data structure • Profiling and Tracing • Runtime analysis of performance data • Result visualization with VAMPIR
The Performance Cockpit • A common GUI platform for the integration of EP-Cache performance measurement tools • Based on Eclipse, CDT, (PTP) • The starting point of a Universal Integration Platform for Performance Tools • programming language neutral • programming paradigm neutral • performance tool neutral
CPTE Plug-in EPCM Plug-in Instrumentation Plug-ins Instrumentation Plug-ins Example Plug-ins Performance Platform Eclipse + CDT + Fortran Plug-in The General Extensible Architecture
The Standardized Intermediate Representation • Standardized representation should be defined for all relevant information • program code region structure • program instrumentation targets and/or monitoring requests • measured performance data • Standardized Intermediate Representation (SIR) • standardized abstract representation of program structure • Fortran 95, Java, C and C++ • defined in the APART working group
Future Developments • Integration with PTP (Parallel Tools Platform) • Project lead by from LANL • Also based on Eclipse • Support a rich set of parallel programming languages and paradigms • Provides a core infrastructure for the integration of a wide variety of parallel tools
Summarize • Performance Cockpit provides a basis for future development of a universal integration platform for performance tools. • Beneficial to users and developers of all performance tools • Consistent user experience • Gentler learning curve • Enables interoperability among performance tools • Reduces redundant development work