基础设施 4.0 · 优秀 2026-09-02 · 论文

SchedBlame: Who Ran While You Waited? Culprit-Attributed CPU Contention for Containers on Stock...

容器共享 CPU 时的争用归因问题PSIper-cgroup waitRQ-latency 都是 victim-side,只能说'这个容器在等'不说'它在等谁'SchedBlame 是 eBPF tracer,在不动内核的前提下倒过来记账:测 victim 可运行期间同 CPU 上每个其他 cgroup 实际跑了的 CPU 时间机制是 per-CPU bitmap + 4 个 scheduler hook,16 字节切片同时把 competitorvictim blame matrix 写完生产 96 核 84 容器验证:Redis 吞吐开销 1%单核开销 6%

打开原文回到归档

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.