[论文阅读]Improving backfilling by u
2015年 SC顶会 ppm-15
论文地址
时间:2019-12-17~2019-12-19
(1)这篇文章属于什么领域或方向?
(2)解决了什么问题?为什么这个问题这么重要?
(3)使用了什么方法和模型?为什么这个方法可以解决这个问题?
(4)核心结论是什么?下一步还可以怎么做
答:
(1)文章属于高性能计算,数据挖掘领域。
(2) 解决了什么问题:分布式系统环境中,调度器通常使用用户预估的结果来调度,而用户以为种种原因不能给出合理的预估时间。
为什么重要:
可以提升资源使用效率
(3)用了什么方法解决:
利用作业的历史数据,使用机器学习的方法,黑盒的对工作日志抽取特征后进行建模,预测作业时间,调度算法使用预测值进行调度,有着很大的提升。
评价标准:
定义了一个bsld
以全部的bsld的平均值作为评价参数;
机器学习算法:
线性回归模型,
定义了一个特别的损失函数。分别对欠预测和过预测的情况有着不同的函数。
抽取特征:
抽取的数据都是和用户相关的,建立在相同用户在相近时间段内提交的作业相似的前提下,抽取的参数具有参考价值
数据集:
6个不同的工作集合中的数据,每个作业任务在2w-50w不等;
为什么这个方法可以解决这个问题:
因为它提出了使用一些特征参数来预测作业时间,因此来提升调度的效果。
提出了一种新的损失函数,提升了学习效果(存疑)
调度算法:
conservative backfilling [14]:当新任务来或者任务结束时,重新计算所有的作业分配
EASY[9]:一种实时的方案,避免了耗能巨大的重新计算
EASY++[24]:在调度作业的时候,对任务按照最短时间排序
(4)核心结论是什么?下一步还可以怎么做
核心结论:对作业的预测可以提升调度性能
下一步怎么做:
4.1 增加学习特征
4.2 直接学习等待队列的优先级
①文章处理什么问题?
②之前的方法如何做这个问题?
③之前的方法有什么缺点?
④本文用了什么思想来解决之前方法的缺陷?
⑤本文具体怎么做?
⑥本文方法的哪些模块可能有效?
⑦有什么借鉴的意义?
- 文章处理什么问题?
通过对作业时间的预测,提升调度效果
- 之前的方法如何做?
文中没有介绍之前的工作,通过预测作业时间来改进调度方案是新提出的。
相关工作中:
预测的方法有:
- [8]利用事先定义好的模板,将作业分类。
基于决策树的线性回归的鼻祖
- [21]中使用一种基于遗传算法的更加自动化的方法
- [20] 分析功能性结构来预测
- [13] 应用静态分析
- [5]混合贝叶斯网络
- [15]随机模型用于预测作业运行时间分布
创新点在于,不仅仅使用了作业本身的特征,还有作业历史运行数据
基于预测的调度
- [15]隐马尔科夫模型来预测作业时间分布
- [24]用最近可获得的作业的平均值作为预测值
③之前的方法有什么缺点?
之前的方法不管是预测还是调度,都很朴素,有改进的空间,本文中增加了预测的特征,基于预测的调度使用了[24]中的方法。
相当于对[24]的改进,改进了作业的预估方法,增加了机器学习的方法来预测作业时间,同时设计了一个新的损失函数
④本文用了什么思想来解决之前方法的缺陷?
同上
⑤本文具体怎么做?
- 设计了几种作业参数(来源未知,可能是[15]中参考来的)
- 用线性回归的方法,对模型进行训练,设计一种特殊的损失函数
3.使用[24]中的调度方法,发现效果很好
⑥本文方法的哪些模块可能有效?
预测作业时对作业参数的选择,可以用在自己的实验上
⑦有什么借鉴的意义?
参考文献都很糟糕,就是根据一篇2007的文章改的,然后强行加上了一些参考文献。很粗糙。
借鉴意义就是,多读文章,看看能不能挖到宝藏了。
其他:
搜了一下作者信息,第一位是个老师,在法国非常好的大学;
第二位是以为博士生,研究的是高性能HPC中的优化,博士毕业论文和小论文等都值得一看,非常相关,感觉没什么可以做的了。[绝望]