MET - PavaRotti

Performance analysis and validation: RISC-oriented timer tools

Performance analysis methods are needed during microarchitecture exploration to define and refine a system design point. A "system" can be just the processor microarchitecture, or it can include a group of processors (and memories) interconnected in some manner. Even within a uniprocessor system, one ideally needs to include the cache/memory subsystem, buses, and other components in a detailed analysis model.

The complexity of processors and systems makes increasingly difficult to ensure that the performance analysis is sufficiently accurate and robust, while being adequately fast. Terefore, testing and validation methods are of increasing importance even in exploratory stages of a design.

PavaRotti is a collection of tools for performance analysis and validation governed by an overall methodology. The toolset covers a range of analysis and validation methods applicable at various stages of design. The focus so far has been on model validation. The approach can be summarized as follows:

  • Generation of fundamental micro-architecture performance parameter specifications:
    • Axiomatic formulation from specifications.
    • Automatic generation from existing reference model (if applicable or available).
    • Latency, bandwidth and other configuration parameters.
  • Generation of bounds-based performance specifications:
    • Basic block and loop test specifications.
    • Cycle-count, cycles-per-instruction (cpi), cycles-per-flop (cpf), ...
    • Other complex "performance signatures".
    • Automatic and "expert, manual" generation.
    • Bounds mode, cycle-by-cycle timer mode.
  • Validation against specifications:
    • Automatic test case generation, model validation.
    • Microvalidation of specifications using "timer-mode" output from tools.
  • Cross-validation of alternate models:
    • Evolving timer model against (parts of) a reference model (if available), and vice versa.
    • Regression test suites; tools to compare timelines.
  • Rules-based checking of model output timelines

See the Publications and Presentations for further information regarding PavaRotti and its related tools.

Tools in MET

The MET includes:

  • Aria, an execution-simulation library
  • Turandot, a parameterized processor model
  • Rondo, a branch prediction exploration tool
  • LeProf, a profiling and cache analysis tool
  • eOak, a system-level PowerPC 403GCX simulator
  • PavaRotti, a collection of tools for performance analysis and validation.
  • Trace tools for various trace formats.

PowerPC 7xx Chips