When one considers the robustness and availability goals for any performance technology it should necessarily be done with respect to the performance observation and analysis requirements of the performance problems being addressed. In general, one can view these requirements with respect to three performance axes:
Fundamental to this where/ when/ how perspective is the concept of performance events and their associated performance semantics. Performance events can be common (low-level) events with simple performance semantics, such as routine entry and exit events, message communication events, or threading events, or most abstract (higher-level) events that have more complex semantics, requiring more sophisticated performance observation techniques. Associated with performance events are application-level metrics, such as routine execution time, message size, and synchronization counts, as well as system-specific performance data that might be obtained from hardware performance monitors or OS services. Given the diversity of performance problems, evaluation methods, and types of events and metrics, the instrumentation and measurement mechanisms needed to support performance observation should be flexible, to give maximum opportunity for configuring performance experiments to meet where/when/how objectives, and portable, to allow consistent cross-platform performance problem solving.
Our claim is that TAU provides both a robust and a widely applicable performance technology framework for complex parallel and distributed systems. This section presents selected performance scenarios that demonstrate that TAU can offer effective technology across complex systems types. Underlying our discussion are the general issues raised above.
The main point to highlight is TAU's ability to support different high-level performance problem solving requirements via system specific instrumentation, measurement, and analysis.