Materials
The examples demonstrated throughout the course are available in a GitHub repository. For quick refresh, the course slides and handouts are available below. Please consult the handout references for further information.
Schedule
The detailed schedule is built gradually as we move through the semester.
Week | Content |
---|---|
1 | Motivation - Performance Evaluation Goals - Slides - Handouts. |
2 | Measurement - Time (Local) - Slides - Handouts. |
3 |
Measurement
- Time (Network).
Measurement - Concepts (Overhead, Perturbation) - Slides - Handouts. Measurement - Hardware Counters (Demo, Architecture) - Slides - Handouts. |
4 | Measurement - Hardware Counters (Programming, Utilities, Analysis). |
5 | Measurement - Java Management Extensions - Simple Network Management Protocol - Java Virtual Machine Tool Interface - Slides - Handouts. |
6 | Metrics - System Investigation Metrics (Examples) - Slides - Handouts. |
7 | Metrics - System Overview Metrics (Properties, Examples) - Slides - Handouts - Benchmarks - Slides - Handouts - Miscellanea - Slides - Handouts. |
8 | Profiling (Principles, Overhead, Accuracy) - Slides - Handouts - Suggested Reading. |
9-11 | Instrumentation - Source Code Instrumentation (Coccinelle) - Bytecode Instrumentation (ASM, AspectJ, DiSL) - Machine Code Instrumentation (Kernel Tracing, KProbes, UProbes, SDT, eBPF, Pin, Valgrind) - Slides - Handouts. |
12-13 | Visualization - Result Exploration - Presentation Guidelines. Evaluation - Distributions - CLT - Point Estimates - Interval Estimates - Bootstrap - Hypothesis Testing - Slides - Handouts. Conclusion. |