Identifying On-/Off-CPU Bottlenecks Together with Blocked Samples
Talkat 18th USENIX Symposium on Operating Systems Design and Implementation (OSDI '24) · 2024-07-10..07-12·
summary
Proposes blocked samples that simultaneously record on- and off-CPU events by capturing the last instruction pointer and call chain and an off-CPU subclass (blocking I/O, locks, runqueue, others) and weight counts; implements bperf as a Linux perf extension for symbol-level on/off profiles and BCOZ for causality analysis and virtual speedup. Evaluations show a 74% drop in blocking I/O with 1.8× throughput gain, a 97% cut in lock waits with 3.4× throughput, and predicted gains align with measured results.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 0:15Modern profiling challenges
- 1:16Bottleneck shifts
- 2:46Limitations of current tools
- 7:02Blocked samples approach
- 10:34RocksDB case study one
- 13:27RocksDB case study two
- 15:38Conclusion and future work
related talks
21mUsing eBPF Off-CPU Sampling to See What Your DBs are Waiting For
36mObservability and performance analysis with BPF
35mPerformance Insights into eBPF Step by Step
21mPerformance Wins with BPF: Getting Started
26mProfiling Mastery: Decode Your Data and Elevate Observability
37mAdvanced Performance Profiling Using Perf Tools
32mBPF: Introduction, Programming Tips and Tricks
29mProfiling Node Applications
