Title: Performance Analysis and Visualization of Parallel Systems Using SimOS and Rivet: A Case Study
1Performance Analysis and Visualization of
Parallel Systems Using SimOS and RivetA Case
Study
- Robert Bosch, Chris Stolte, Gordon Stoll, Mendel
Rosenblum, and Pat Hanrahan - Stanford University
2Motivation
- Achieving good performance on parallel systems is
a hard problem - Complete machine simulation (e.g. SimOS) is a
powerful tool for studying these systems - However, its full potential is not yet being
realized since current data analysis tools are
limited
3Simulation Data Analysis Challenge
- How do we typically handle the huge data sets
that can be produced using simulation? - Reduce data through statistics and aggregation
- Focus on restricted data subsets
- Better approach visualization
- Display large amounts of data at once
- Enable interactive exploration of the data
- Use human perception to find interesting data
4Visualization of Simulator Data
- Use Rivet visualization environment
- Developed for visualization of computer systems
- Design motivated by features of SimOS
- Key features in Rivet for visualization of
simulator data - Flexibility
- Exploration
- Data Aggregation
5Key Viz Features Flexibility
- SimOS is a very configurable data source
- Visualizations must be easily adaptable to
accommodate data collection changes - Support for flexibility in Rivet
- Data visual elements written in C/OpenGL
- Visualizations assembled using Tcl scripts
- Provides flexibility while preserving performance
6Key Viz Features Flexibility
Extract scheduling events from log file parser
AddString Schedule THREAD \
schedule 0-9 (0-9)-NURBS (0-9)
(.) Create data object for each scheduling
event rbind parser ltSchedulegt
argus_threadData(1) BeginEntry 3 2 Use
Gantt Charts to display scheduling events rwindow
.threads foreach pid array names
argus_threadData rglob Gantt .threads.pid
.threads.pid SetData argus_threadData(pid)
7Key Viz Features Exploration
- Static data displays are limited
- Cannot see all data in a single display
- Cannot find data patterns and relationships
- Support for exploration in Rivet
- Multiple linked views of data
- Dynamic queries
- Direct manipulation of data layout
8Key Viz Features Exploration
9Key Viz Features Aggregation
- Drawing resources (space time) are limited
- Too much data at once can be overwhelming
- Aggregation adapts to these limitations
- Support for aggregation in Rivet
- Aggregation of data multiples
- Aggregation of events over time
10Key Viz Features Aggregation
105
106
107
108
time
11Case Study Argus
- Parallel, multithreaded graphics library
- Rendering application using fork shared memory
region - Performance limitations on SGI Origin
- Linear speedup up to 26 processors
- Rapid performance falloff beyond 26 CPUs
- Developers unable to find bottleneck using
standard SGI performance analysis tools - Imported into SimOS environment
- Same performance characteristics observed
- Expectation memory system is the problem
12Memory Visualization MView
1. Stall histograms by physical node/address
virtual address
13Memory Visualization MView
2. Stall time incurred by each line of source code
14Memory Visualization MView
3. Local/remote stall time and idle time for each
process
15Memory Visualization MView
Very little memory stall time in process view
16Process Visualization PView
17PView Scheduling Lock Data
18PView Scheduling Lock Data
19PView With Processes Pinned
20Results Using sproc
- Minimal kernel time
- No idle time at all
- Nearly twice as fast as original version
- 95 of linear speedup with 34 processes
21Argus Case Study Summary
- Simulation Visualization ? Iterative analysis
- Key Visualization Features
- Flexibility wide variety of data and
visualizations - Exploration drill down from overview to single
event - Aggregation effective display of large data sets
22Limitations of SimOS/Rivet
- Simulation speed
- Slowdowns limit execution length
- Can use faster modes to position workload
- Simulation fidelity
- Problems observed in simulator generally occur in
real system, but not always vice versa - Lack of existing visualization scripts
23Future Work
- Develop a configurable library of SimOS
annotations and Rivet visualizations - Use Rivet to visualize data from other sources,
such as the FLASH multiprocessor - Ultimate goal establish visualization as an
essential tool for computer systems analysis
24Shameless Plugs
- SimOS home page
- http//simos.stanford.edu/
- Rivet home page
- http//graphics.stanford.edu/projects/rivet/
- Full-color version of paper (coming soon)
- http//graphics.stanford.edu/papers/rivet_argus/