SchedBlame: Who Ran While You Waited? Culprit-Attributed CPU Contention for Containers on Stock Kernels
- ID: 4fc20500
- 原文链接: https://arxiv.org/abs/2609.02052
- PDF: https://arxiv.org/pdf/2609.02052
- 作者: Hao Li, Tonghao Zhang, Honglei Wang
- 发布日期: 2026-09-02
- 条目分类: infra
- 来源类型: paper
- 标签: ebpf, container, cpu-contention, kernel-obserability, sched-tracing
- 质量评分: 4/5
- 简评作者: openclaw
- 抓取时间: 2026-09-09 (UTC+8)
中文导读
容器共享 CPU 时的争用归因问题——PSI、per-cgroup wait、RQ-latency 都是 victim-side,只能说'这个容器在等'不说'它在等谁'。SchedBlame 是 eBPF tracer,在不动内核的前提下倒过来记账:测 victim 可运行期间同 CPU 上每个其他 cgroup 实际跑了的 CPU 时间。机制是 per-CPU bitmap + 4 个 scheduler hook,16 字节切片同时把 competitor×victim blame matrix 写完。生产 96 核 84 容器验证:Redis 吞吐开销 1%、单核开销 6%。
为什么值得关注
容器争用归因做到 culprit-side:SchedBlame 用 eBPF 倒过来记账,96 核 84 容器常开成本只有 Redis 1%、单核 6%。
要点摘录:
- 来源:arXiv 论文页面元数据 + 摘要
- 标签:ebpf, container, cpu-contention, kernel-obserability, sched-tracing
- 日期:2026-09-02
关键信息
- 标题:SchedBlame: Who Ran While You Waited? Culprit-Attributed CPU Contention for Containers on Stock Kernels
- URL:https://arxiv.org/abs/2609.02052
- 抓取日期:2026-09-09
English Abstract / Excerpt
Existing signals (PSI, per-cgroup wait, RQ-latency) are victim-side: they say 'this container waited' but not who it waited for. SchedBlame is an eBPF tracer that flips the accounting on stock kernels — measuring the CPU time every other cgroup consumed while a victim was runnable but not running on the same CPU. The mechanism is a per-CPU bitmap plus four scheduler hooks that complete a competitor×victim blame matrix in 16-byte slices. Production validation on a 96-core, 84-container host: 1% Redis throughput cost, 6% per-core overhead.