View
217
Download
0
Category
Tags:
Preview:
Citation preview
Program Visualization at the System Level
University of Notre DameDirk Van Bruggen and Jian Mu
The Problem
Simple programs can be complex
Commands offer a look into the system calls
Output is difficult to decipher
How does the program run?
What files/resources are used?
The Solution
Create a program to assist in visualizations Create a Data Pipeline
Create Modules for each stage
commands parser Data processor
visualizer
Implementation
• Written in a combination of Python and C++
• Data Processing Modules
• Pull out size of data read
• Calculate IO Rate per files
• Calculate Time spent on each file
• Sum up the total time taken for all system calls
Usage Example
All-pairs program:
Compare_bitdumb
Set A Set B
Matrix M
File size = 100M
Visualization App
Visualization App
Visualization App
Visualization App
Test Results
CPU utilization over time
Test Results (contd.)
Memory utilization over time
Test Results (contd.)
Load average in the last one minute
How Much Overhead?
User Study
• Small Study – 4 testers
• Results
• Raw strace – Information is too dense
• Time consuming to find total file sizes
• Viz App is easier to find total file sizes• Range of improvement answers.
Future Work
• Ideas from user study:
• Labeling Function
• Zoom Problems
• Display call details
• Display time spent opening and reading per file
• Easier expansion of directories
Questions?
Recommended