数据中心上异构资源的细粒度分配算法研究
发布时间:2021-07-06 04:31
数据中心的出现,使得大数据分析任务被分散到不同的计算节点。随着GPU计算的广泛应用,如何为不同的计算框架合理分配异构计算资源是目前的研究热点。研究了传统大数据计算框架和GPU计算的特点,针对现有的集群资源管理和GPU管理模式,提出了一种集中式异构资源管理模型,计算节点负责本地资源管理和任务的执行和管理,资源管理中心统一管理各个计算框架。对于不同的计算框架,根据其使用CPU以及GPU资源的不同,设计并实现了一种混合主资源共享分配算法,通过计算不同框架对主资源的使用,优先从可用资源中为主资源使用率最小的框架分配资源,实现主资源在各个框架的公平共享,防止CPU任务过多而导致GPU资源"饥饿",或者反过来导致CPU资源"饥饿"的现象发生。通过实验验证,该分配算法在异构资源使用效率以及任务完成数量方面能提高15%左右。
【文章来源】:西北工业大学学报. 2020,38(03)北大核心EICSCD
【文章页数】:7 页
【部分图文】:
异构集群资源管理模型
图2a)是JOB1中的任务随着时间变化而分配得到的CPU和内存资源曲线,图2b)是JOB2中的任务随着时间变化而分配得到的CPU、内存和GPU显存资源曲线,图2c)是JOB1和JOB2随着时间变化而分配得到的主资源曲线。在前1 min,JOB1的主资源是CPU,JOB2的主资源为GPU内存,在后续的时间里面,每个作业都能够使用60%左右自己的主资源,高于平均分配资源给不同的作业的方式。所以,从测试的数据看,使用混合主资源分配方法,可以很好地利用CPU资源和GPU资源。3.2 任务执行数量的评价
针对实验中的任务,计算框架分别按照粗粒度和细粒度方式分配GPU计算资源,实验中1个计算框架完成后,继续提交相同类型的任务,实验持续时间75 min。实验中的计算框架与任务与3.2中的相同,实验结束后,图3给出了粗细粒度资源调度下GPU资源使用率曲线。从图3可以看出,当任务独占GPU时,GPU利用率大约只有30%左右;当根据GPU显存大小来进行细粒度GPU分配时,由于同一个GPU上存在多个任务对GPU的共享,数据从主机内存拷贝到显存以及从显存拷贝到主机内存是并行运行,间接提高了GPU中kernel函数的执行效率,GPU使用率平均达到45%左右。因此,使用GPU资源的细粒度共享,可以提高GPU资源利用率。
本文编号:3267529
【文章来源】:西北工业大学学报. 2020,38(03)北大核心EICSCD
【文章页数】:7 页
【部分图文】:
异构集群资源管理模型
图2a)是JOB1中的任务随着时间变化而分配得到的CPU和内存资源曲线,图2b)是JOB2中的任务随着时间变化而分配得到的CPU、内存和GPU显存资源曲线,图2c)是JOB1和JOB2随着时间变化而分配得到的主资源曲线。在前1 min,JOB1的主资源是CPU,JOB2的主资源为GPU内存,在后续的时间里面,每个作业都能够使用60%左右自己的主资源,高于平均分配资源给不同的作业的方式。所以,从测试的数据看,使用混合主资源分配方法,可以很好地利用CPU资源和GPU资源。3.2 任务执行数量的评价
针对实验中的任务,计算框架分别按照粗粒度和细粒度方式分配GPU计算资源,实验中1个计算框架完成后,继续提交相同类型的任务,实验持续时间75 min。实验中的计算框架与任务与3.2中的相同,实验结束后,图3给出了粗细粒度资源调度下GPU资源使用率曲线。从图3可以看出,当任务独占GPU时,GPU利用率大约只有30%左右;当根据GPU显存大小来进行细粒度GPU分配时,由于同一个GPU上存在多个任务对GPU的共享,数据从主机内存拷贝到显存以及从显存拷贝到主机内存是并行运行,间接提高了GPU中kernel函数的执行效率,GPU使用率平均达到45%左右。因此,使用GPU资源的细粒度共享,可以提高GPU资源利用率。
本文编号:3267529
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3267529.html