2021.11.15
Intro
设计了2个工具
- sanity checker: periodically check
- visualize traces of scheduling
2021.11.16
Sched
Single core
$$ vruntime=\frac{runtime}{weight} $$
Multicore
load balance is challenging
cpu交互太多效率低,交互太少空转。
读到这里:我的想法,空转就去问其他cpu,其他时候进可能不主动交互。
load balance algo
文章考虑到了我的想法:空转就去问其他cpu被称作“steal”。 steal发生频繁并不是好事情。 文章想解决数量优先级:19,9*1,9级常睡觉的现象。
提出load的感念,和weight正相关,和cpu利用率负相关,和线程数负相关。
平衡算法还要考虑cache局部性和numa。
bugs
group imbalance bug
hiearchical design导致各组分布不均。
看是否调度行为是否符合预期,就拿CFS做对比。
将比较组的平均负载,改为了最小负载。这样会出现新的问题吗?只是实验结果说没有。