LDB: An Efficient Latency Profiling Tool for Multithreaded Applications
Talkat 21st USENIX Symposium on Networked Systems Design and Implementation (NSDI '24) · 2024-04-16..04-18·
summary
LDB is a software-only profiler that samples call stacks using a background thread and records request and synchronization tags to attribute tail latency to specific functions; it instruments code via a custom compiler to store a generation number and latest RBP per thread and uses stack sampling to measure per-call latencies. Evaluation on three datacenter apps finds actionable bugs, reports up to 22% end-to-end overhead versus idle and decodes a 1s trace in 2.7s, making interactive debugging feasible.
AI-written summary · about
chapters (8)
- 0:00LDB introduction
- 3:46Traditional profilers' tail latency limits
- 4:27Live demo: LDB profiling key-value store
- 8:00x86 stack frames for latency profiling
- 10:09LDB efficiency techniques
- 15:27LDB overhead evaluation
- 17:54LDB decoding and portability
- 18:57Conclusion and open-source
related talks
14mWhen Sampling Lies: Trustworthy Performance Profiling for Flat Workloads with Blink
26mProfiling Mastery: Decode Your Data and Elevate Observability
30mProfiling CPU and Memory on Linux, with Opensource Graphical Tools
46mUsing LLDB, Instruments, and Xcode to understand a codebase
01h 00mBuilding X-Ray for enterprise-scale software
33mProfiling Code
59m“GDB - A Lot More Than You Knew"
19mMaking Sense of Multi-Threaded Application Performance at Scale with NonSequitur
