PDRS: A Performance Data Representation System - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

PDRS: A Performance Data Representation System

Description:

Evaluation relies on understanding of performance data. The huge amount of data further ... Empirical memory model infer CPU stall time due to memory hierarchy ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 29
Provided by: xing7
Category:

less

Transcript and Presenter's Notes

Title: PDRS: A Performance Data Representation System


1
PDRS A Performance Data Representation System
  • Xian-He Sun
  • Illinois Institute of Technology
  • Sun_at_cs.iit.edu

Xingfu Wu (Northwestern)
2
Outline
  • Introduction
  • Design Framework
  • Performance Database Module
  • Relational Queries Module
  • Summary

3
The SCALA (SCALability Analyzer) System
  • Design Goals
  • Predict performance
  • Support program optimization
  • Estimate the influence of hardware variations
  • Uniqueness
  • Designed to be integrated into advanced compiler
    systems
  • Based on scalability analysis

4
The Structure of SCALA
5
What Is the Problem
  • Evaluation relies on understanding of performance
    data
  • The huge amount of data further complicates the
    issue
  • Data manipulation functions depend on performance
    data organization and representation.
  • Lack of appropriate models, representations and
    associated evaluation methods to understand data
    and locate bottlenecks

6
What Is PDRS
  • A post-execution relational data system with
    novel performance data representation
  • Perform knowledge diagnose
  • Adopts the relational database, SQL, Java JDBC,
    visualization (Java3D) and auralization
    (JavaSound) technologies,
  • Assumes the availability of modern compiler
    technology

7
Goal of PDRS
  • Helps users identify the cause of the performance
    problem
  • Assists programmers in optimizing the strategy or
    algorithm in their parallel programs

8
What Is New
  • Relational data representation and management for
    advanced scalability, statistics, and symbolic
    analysis techniques
  • Use a combination of performance visualization
    and auralization and object-oriented Java
    techniques

9
Design Framework of PDRS
10
Trace Data
  • Collect performance data and store them with SDDF
  • Use the SCALA instrumentation system (based on
    Vienna Fortran compilation system) to get the
    SDDF tracefile

11
Data Management Module
  • Perform data filtering
  • Preparation to store event history in a
    relational database form in PDRS
  • Input is a SDDF tracefile
  • Implemented in Oracle DBMS

12
Data management as a middle agent
13
Performance Database Module
  • Classify performance data into five groups
  • processor information
  • memory information
  • program information
  • communication information
  • I/O information
  • Each class is an entity relation in the database
  • An individual event is a tuple with a give
    identifier

14
Processor Information

15
Memory Information
16
Program Information
17
Communication Information
18
I/O Information
19
Relational Queries Module
  • Retrieval via Relational Database Queries
  • Symbolic Analysis
  • Statistical Analysis
  • Scalability Analysis
  • Performance Model Generator

20
  • The JDBC provides a bridge between Java
    applications (for this module) and performance
    database.


21
Symbolic Analysis
  • Use symbolic evaluation to determine variable
    values, assumptions about and constraints between
    variable values, and conditions under which
    control flow reaches a program statement.
  • Computations are represented as symbolic
    expressions defined over the program's problem
    and machine size.
  • Each program variable is associated with a
    symbolic expression describing its value at a
    specific program point.

22
Statistical Analysis
  • Determine code and machine effects, finds the
    correlation between program phases, identifies
    the scaling behavior of difficult-segments, and
    provides statistical performance data.
  • Adaptive
  • Bottleneck hypotheses
  • Detailed analysis

23
Scalability Analysis
  • Scalability combined with initial execution time
    can provide good performance prediction, in terms
    of execution times
  • Crossing-point analysis finds fast/slow
    performance crossing points of parallel programs
    and machines
  • Range comparison compares performance over a wide
    range of ensemble and problem size

24
Performance Model Generator
  • Analysis/prediction based on different models.
  • Crossing-point analysis model predicts execution
    time
  • Empirical memory model infer CPU stall time due
    to memory hierarchy
  • Probability model for non-deterministic variables
  • Performance models given by the user

25
Performance Diagnostic Agent
  • Provide performance advice identifying
    bottlenecks and comparison between measured and
    predicted performance
  • Based on our approaches for symbolic,
    statistical, scalability analysis and performance
    models with certain diagnostic rules
  • The function operation algorithm for this
    diagnostic module is as follows

26
  • Performance analysis requests
  • switch (analysis type)
  • Statistical Retrieve the performance
    information required
  • Get or compute the predicted performance
    range
  • Compute the real result of requested
    performance parameter
  • Compare the result with the performance range
  • If (the result is not in the performance
    range)
  • Give an explanation (using graphics and
    sound)
  • break
  • Scalability Retrieve the performance
    information required
  • Get or compute the predicted scalability
    results
  • Compute the real scalability results
  • Compare the real result with the predicted
    results
  • Explain the compared results (using graphics
    and sound)
  • break
  • Models Retrieve the performance information
    required
  • Get the predicted performance range
  • Compute the real result of requested
    performance parameter
  • Compare the result with the performance range

27
Performance Visualization and Auralization
  • Provide graphical display of performance
    information
  • The basic goal is to use graphics and sound (Java
    2D, Java 3D and JavaSound) to display some advice
    and performance views about application programs.
    When performance bottlenecks occur, sound is used
    to inform users about some performance problem in
    their application programs

28
Summary
  • Performance data representation using relational
    database
  • Object-oriented programming
  • Performance knowledge diagnosis
  • Performance visualization and auralization
  • A framework and on-going work
  • Efficient filtering, mapping, database operation
  • Implication rules
Write a Comment
User Comments (0)
About PowerShow.com