140 likes | 230 Views
CS 584 Lecture 21. Project Proposal Due Friday! In my box in the CS office No class on Friday Paper presentation on Wednesday Tom Abbott. Performance Analysis Remember: In measuring, we change what we are measuring. 3 Basic Steps Data Collection Data Transformation Data Visualization
E N D
CS 584 Lecture 21 • Project Proposal • Due Friday! • In my box in the CS office • No class on Friday • Paper presentation on Wednesday • Tom Abbott
Performance AnalysisRemember: In measuring, we change what we are measuring. • 3 Basic Steps • Data Collection • Data Transformation • Data Visualization • Many tools are available, but consider • Accuracy, Simplicity, Flexibility • Intrusiveness, and Abstraction
Data Collection • The process by which data about the performance of a program are gathered. • 3 Techniques • Profiles • Counters • Event Traces
Profiles • Shows time spent in portions of the code. • Advantages • Profiles can be obtained automatically • Should be the first technique used to gather and analyze performance data • Disadvantages • Don't generally consider temporal aspects of a parallel program.
Counters • Storage location that counts events • Number of sends/receives • Number of procedure calls, etc. • Can be compiler generated as in a profile • Also includes interval timers • Time spent in a piece of code • Idle time, function time, etc.
Traces • Low level approach to data collection • A log file is generated which records the event and a time stamp, etc. Trace Record Description 11 0 1553 2 0 1078 Timer Data 6 0 2237 2 1 1 8 Receive 11 0 2237 2 0 1078 Timer Data 11 0 2500 2 0 1341 Timer Data 4 0 3186 2 3 2 12 Send 11 0 3186 2 0 1341 Timer Data
Traces • Advantages • Support a broad study of program behavior • Can be post-processed to obtained profiles, etc. • Contains other data (message size, etc.) • Disadvantages • Huge log files (eg. 20 bytes per event) • Perturbs performance • Sophisticated analysis is required
Data Transformation & Visualization • Profiles, counts, and trace data are difficult to directly interpret. • Goal: Present the data to the programmer in such a way that interpretation is simple. • Histogram • Gantt chart • Space-time diagram
Tools • XPVM • Instrumented PVM code • Space-time chart based • Upshot • Instrumented MPI code • Gantt chart based I couldn’t get this to work on our machines