Page 126 - 《软件学报》2020年第10期
P. 126

3102                                  Journal of Software  软件学报 Vol.31, No.10, October 2020

             (2)  资源使用呈现动态变化.在线作业的资源使用量与用户并发请求量呈正相关,会伴随用户并发请求量
                 发生动态变化.图 1 所示为国内某互联网公司的在线作业计算节点一个月内的 CPU 使用量变化曲线,
                 随着时间的推进,该作业的 CPU 使用量呈现了明显的以天为周期的动态变化特征.此外,图 1 中还出现
                 了多次 CPU 利用率突变的现象,这是因为,某些社会事件,如突发热点新闻、电商网站的促销活动等会
                 导致用户并发请求突增        [19] .
             (3)  对性能变化敏感.在线作业的性能通常决定了企业对外服务质量,而服务质量则直接影响企业的经济
                 利益和用户体验.例如,Amazon 的统计数据显示,Amazon 的网页响应速度慢 0.1s 便会导致 1%的用户
                 放弃交易   [20] ;也有研究表明,交互式应用的响应时间只有在 100ms 以内时才能给用户流畅的使用体
                 验 [21] .因此,在线作业又被称为延时敏感型作业(LC(latency critical)  Job 或 LS(latency sensitive)
                 Job) [13,15] .












              Fig.1    Static software defect prediction research framework using defect-proneness as prediction target
                         图 1   某在线作业所在服务器 CPU 使用率波动曲线,采样时间为 1 个月
             离线作业.离线作业是指数据中心中优先级较低的、对性能要求不高的批处理作业,如 MapReduce 作业和
         机器学习训练作业等,离线作业具有如下特点.
             (1)  运行时长较短.对 Google 和阿里巴巴数据中心中的离线作业运行时长统计后发现                       [22−25] ,离线作业运行
                 时长大多位于数分钟到数小时这一区间.因此,与运行持续数周甚至数月的在线作业相比,离线作业的
                 运行时长较短.
             (2)  计算密集.离线作业通常需要进行大量的计算操作,数据统计显示,阿里 MapReduce 作业的 CPU:Mem
                 约为 1:4,即每使用 4G 内存便会消耗 1 个 CPU 的全部计算能力;深度学习模型训练作业也是典型的离
                 线作业,此类作业通常需要进行大量的梯度计算,并且通过多次迭代直至模型收敛.
             (3)  对性能变化不敏感.离线作业通常为批处理作业,对于性能没有严格的要求,可以容忍较大的运行延迟
                 并支持任务的失败重启.

                                   Table 1    Comparisons of LC jobs and BE jobs
                                        表 1   在线作业和离线作业对比
                                                    在线作业         离线作业
                                      运行时长         数周甚至数月     数分钟至数小时
                                 对性能变化的敏感程度            高           低
                                   集群资源利用率             低           高

             由于在线作业运行时的低延迟要求,为保证在线作业的性能,一般采用了在线作业独占集群的方式,避免与
         其他作业共享计算资源,并且为在线作业分配过量的计算资源以应对在线作业动态的资源需求.图 1 所示在线
         作业的峰值 CPU 需求可达 80%,为满足其在峰值负载时的计算资源需求,采用了一个在线作业实例独占一台服
         务器的部署方式.这种部署方式导致在线作业集群平均资源利用率较低(服务器月平均 CPU 利用率仅为 20%).
                                                                                             [8]
         与此同时,离线作业的规模日益扩大,对离线集群计算资源的需求呈现快速增长,导致离线集群资源不足 .因
         此,混部成为提升数据中心资源利用率的理想方法                  [26] ,即在保障在线作业性能的前提下,将在线集群的空闲资源
   121   122   123   124   125   126   127   128   129   130   131