Page 326 - 《软件学报》2020年第12期
P. 326
3992 Journal of Software 软件学报 Vol.31, No.12, December 2020
Yarn 平台 Node Manager 增加了周期性解析 Proc 文件夹信息的处理逻辑,以采集运行时服务器以及负载的
运行时信息.Node Manager 会根据采集信息计算服务器资源推测符合度和空闲资源量等信息,计算得到的信息
会连同原始运行时信息一起汇报给 Resource Manager.Application Master 在向 Resource Manager 注册时,需要提
供应用程序代码及参数的 MD5 值和输入数据量等信息,以帮助信息推测服务标识各 Application Master;
Application Master 在向 Resource Manager 申请资源时,需要使用自身标识和任务类型等信息来标识任务,用以
帮助调度器和信息推测服务确定推测信息.
虽然本文只在 Yarn 平台中实现了细粒度资源调度器,但是细粒度资源调度方法并不局限于某一个特定的
云计算资源管理平台中.该方法也可以借鉴或实现到其他平台中,用以提高平台的资源利用率及性能.
4 实验与结果
4.1 测试环境及负载
本文使用中国国家高性能计算中心(西安)的集群进行测实验证,集群共包含 24 台服务器,服务器具体匹配
见表 1.测试中,使用 1 台服务器配置 Yarn 平台相关管理服务,其余服务器配置为平台计算节点.平台上配置
MapReduce 和 Spark 等计算框架,测试负载由多种计算框架应用组成,且各应用输入数据大小服从文献[4]描述
的 Facebook 公司负载的数据大小分布.测试输入数据包括 Wikipedia 数据和随机生成数据.
Table 1 Hardware information of server
表 1 服务器硬件资源配置
硬件资源 配置
CPU 2×Intel Xeon E5-2670(2.6GHz,8 Cores,16 Threads)
Memory 8×4GB REG ECC DDR3 1600MHz
Storage 2×300GB 10kr/m SAS
Network 2×1000 Mb/s,InfiniBand QDR HCA 40Gb/s
[3]
[4]
测试中,对比算法包括 FIFO,Capacity ,Fair 和 DRF [21] ,测试环境分为独享环境和云环境,测试使用的负载
分为离线负载和在线负载.独享环境中,集群只运行 Yarn 平台及其应用负载;云环境中,集群除了运行 Yarn 平台
及其应用负载之外,还存在一些真实的科学计算应用共享计算资源.离线负载指测试负载中所有作业在开始时
集中提交,总数据量为 400GB;在线负载指负载提交时间服从泊松分布,总数据量从 50GB 逐步递增到 400GB,
每次递增 50GB.
测试中,采样资源分配信息计算 Jain’s fairness index [40] 衡量资源分配的公平性.完成时间指从负载提交到负
载完成所用时间.响应时间指从调度器收到调度请求到第一次匹配资源成功所用时间,其包括排队等待时间和
资源匹配时间.
4.2 离线负载独享环境测试
离线负载独享环境下各算法的公平性采样结果如图 7 所示.采样结果显示:DRF 的平均公平性最优,而 FIFO
的平均公平性最差,FGM 的平均公平性略低于 DRF 而高于其他调度算法.FGM 在调度过程中,按照公平性策略
排序待调度集合,因此调度分配的公平性得以保证.相比测试中其他调度方法,细粒度资源匹配算法的粒度更
细,匹配的成功率有所下将,因此公平性也略受影响,平均公平性相比 DRF 下降 0.31%左右.图 7 中的公平性测试
结果说明,FGM 可以在离线负载独享环境中提供良好的资源公平性.
独享环境下离线负载集中提交,平均调度响应时间相比其他环境更高.因此,我们在独享环境下使用离线负
载测试 FGM 的调度请求响应时间.图 8 所示为独享环境中各调度算法对离线负载的调度请求平均响应时间.
从图中测试结果可以发现,FIFO 的调度响应时间远远高于其他算法,这与其算法调度策略造成的后提交作业等
待有关.Capacity 算法的调度响应时间大于除 FIFO 之外的其他方法,这与其配置的排队策略有关.FGM 的平均
调度响应时间相比 FIFO 和 Capacity 有很大降低,而相比 Fair 和 DRF 增加 75ms 左右.FGM 中,资源信息处理和
推测等机制均独立于资源调度异步执行,因此增加的调度响应时间主要是因为细化了 CPU、内存资源量和时间