现象
slot 数量和作业完成时间不是线性关系
原因
- task packing
- JVM warming up
前提
- 完全并行, 使用computer slot
- 满载
定义
- Job Completion Time (JCT)
- Progress Rate = $Shortest\ JCT \over JCT\ with\ the\ allocated\ slots$
优化
$$ \max_{ x\overrightarrow = (x_1,x_2,…,x_n) } \sum_i{p_i(x_i)} $$ $$ subject\ to\ p_i(x_i) \ge a*p_i(f_i), i=1,…,n $$ 其中 $a$ 是一个叫做牺牲度的参数
实现
输入progress rate 曲线, 贪心一下
先进行一个公平调度, 然后两边匀一下
结果
$ a=0.9$ progress rate 从 0.78 到 0.99 (15%), $a=0.99$ 时仍有13%的提高