KRR: Efficient and Scalable Kernel Record Replay
summary
KRR implements a split-recorder with one recorder in the hypervisor and one inside the guest kernel, recording only inputs that enter the kernel and writing a shared event trace. It enforces kernel-only serialization so user‑space threads run in parallel while kernel entries serialize, reducing overhead. On I/O‑heavy, multi‑core workloads KRR records 8‑core VMs with ~1.52–2.79× slowdown versus whole‑VM RR’s ~8.97–29.94×, reproduces 16/17 real bugs (including six nondeterministic and five CVEs), and is open source.
AI-written summary · about
chapters (13)
- 0:00Kernel failure diagnosis
- 1:23Kernel bugs hard to diagnose
- 2:05Record replay for kernel debugging
- 3:10Limitations of whole machine replay
- 4:15KRR goal and key idea
- 6:43Challenges in kernel replay
- 7:26Split recorder for user space inputs
- 9:10Handling multi-core nondeterminism
- 11:45KRR architecture and replay correctness
- 12:07Recording scalability evaluation
- 13:11Kernel bypass workload efficiency
- 14:15Recording complex kernel bugs
- 15:20Key takeaways
related talks
21mKUtrace For RISC-V
13mRamdump for Trusted VMs: Efficient Crash Debugging Without Reboot Device
45mRV: where are we?
17mAll Bark and no Bite: vCPU Stall Detection for KVM Guests
45mDynamic vCPU priority boosting in KVM for latency sensitive workloads
28mrtla osnoise: what is missing?
43mpkernfs: Persisting guest memory and kernel/device state safely...
30mSo you want to torture RCU?
