本发明涉及高性能计算,具体涉及一种可提高多类计算资源利用率的资源管理调度方法、系统、设备及介质。
背景技术:
1、高性能计算(high performance computing,hpc),又称超级计算机、超算等,是指将多个计算节点通过网络连接,进行协同工作,组成一台性能更强大的计算机,具有极强的运算速度、存储容量、通信带宽。hpc广泛应用于基础科研、生物制药、气象、工业仿真等多个场景,是推动科学发展的关键工具。高性能计算的能力已成为衡量一个国家科技核心竞争力和综合国力的重要标志。
2、一方面,不同的hpc计算任务对cpu、内存、gpu和节点间网络带宽的需求有很大的差异。例如,计算机仿真模拟、优化问题求解等计算任务,需要占用更多的cpu核心,以进行大规模的数值模拟、最优化求解和其他复杂的计算任务。基因组学数据分析任务,需要大容量内存,以缓存和快速访问数据,以及存储计算的中间结果。大规模数据处理,涉及数据在计算和存储节点间的移动,对节点间的带宽有较高要求。深度学习计算任务,涉及深度神经网络的训练,通常依赖于gpu的大规模矩阵运算和张量计算单元来加速,从而显著缩短模型训练时间。总体而言,不同的计算任务通常需要不同的硬件配置。
3、另一反面,hpc系统也在不断的进行硬件升级和扩容,导致同一hpc系统中包含不同硬件配置的计算节点。例如,有的计算节点具备更多数量的cpu核心,有的计算节点具备更多的gpu卡,有的计算节点具备更多的内存等。
4、传统的调度器,例如kubernetes和slurm,并不会同时考虑众多类型资源的分配均衡,随着计算任务的逐渐增多,可能会导致计算节点资源有空闲但却无法分配的情况发生。例如,某个计算节点的cpu可能都已分配,但内存却有大量的闲置,但此时因为没有空闲cpu,因此,这些闲置的内存无法用于其他计算任务。同时,随着hpc系统规模的逐渐增大,计算节点数量逐渐增多,实时跟踪所有计算节点的资源利用情况,并逐个计算节点进行过滤操作从而判断该计算节点是否适合承接某个计算任务,会为调度器带来大量的计算开销。
5、现有技术如专利申请cn108334409a公开了一种细粒度的高性能云资源管理调度方法,通过按cpu核与内存同比例进行调度、限制每个gpu使用的cpu核的方式,使资源调度更加高效,但在该方案中,将cpu核与内存同比例调度,调度方法不够灵活,仍然有可能导致单一资源的浪费。
技术实现思路
1、本发明的目的是提出一种可提高多类计算资源利用率的资源管理调度方法,既兼顾多种资源的平衡分配,又大幅减少调度器本身的计算开销。
2、本发明是通过以下技术方案实现的:
3、一方面,本发明提供了一种可提高多类计算资源利用率的资源管理调度方法,包括以下步骤:
4、根据计算节点的硬件配置,对计算节点打第一标签,并按第一标签创建分区,将第一标签相同的计算节点加入对应的分区;
5、定义计算节点资源利用效率的打分函数,用于对计算节点的资源碎片情况进行评估;
6、当调度器接收到计算任务后,对计算任务打第二标签,调度器匹配计算任务的第二标签和分区对应的第一标签,在与计算任务的第二标签相同的第一标签所对应的分区内为该计算任务分配资源;如果该分区内有多个计算节点,则根据打分函数结果的高低进行计算节点的分配。
7、为优化上述技术方案,采取的具体措施/限定还包括:
8、进一步地,计算节点具有多个第一标签时,计算节点同时处于多个对应的分区中。
9、进一步地,所述的计算节点资源利用效率的打分函数,同时考虑cpu、gpu和内存的资源情况。
10、计算节点资源利用效率的打分函数score如下所示:
11、
12、其中,rcpu表示已经申请的cpu核数,rmem表示已经申请的内存数量,rgpu表示已经申请的gpu卡数量,acpu表示当前空闲的cpu核数,amem表示当前空闲的内存数量,agpu表示当前空闲的gpu卡数量。
13、进一步地,随着计算节点上资源不断的分配,根据计算节点剩余资源的数量,调整计算节点的第一标签以及所在的分区。
14、作为优选地,为计算节点上资的资源量设置阈值,当资源变化量超过阈值时,调度器调整计算节点所在的分区。
15、进一步地,调度器优先选择评分最低且空闲资源满足计算任务需要的资源的计算节点来承接计算任务。
16、第二方面,本发明提供了一种可提高多类计算资源利用率的资源管理调度的系统,包括:
17、计算节点分区模块,用于根据计算节点的硬件配置,对计算节点打第一标签,并按第一标签创建分区,将第一标签相同的计算节点加入对应的分区;
18、资源碎片评估模块,用于定义计算节点资源利用效率的打分函数,用于对计算节点的资源碎片情况进行评估;
19、计算节点分配模块,用于当调度器接收到计算任务后,对计算任务打第二标签,调度器匹配计算任务的第二标签和分区对应的第一标签,在与计算任务的第二标签相同的第一标签所对应的分区内为该计算任务分配资源;如果该分区内有多个计算节点,则根据打分函数结果的高低,由低至高依次进行计算节点的分配。
20、第三方面,本发明提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现如上所述的可提高多类计算资源利用率的资源管理调度方法。
21、第四方面,本发明提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序使计算机执行如上所述的可提高多类计算资源利用率的资源管理调度方法。
22、与现有技术相比,本发明的有益效果是:
23、本发明通过将计算节点分成多个分区及采用资源利用效率评分的打分函数,兼顾多种资源的平衡分配,可扩张支持更多的资源类型,当hpc系统规模较大时,调度器不需要遍历所有计算节点来选择合适的节点分配资源,降低了调度器本身的计算开销。
24、为了减少节点所处分区的频繁变化,本发明为cpu核数和内存数量分别设置阈值,只有变化量超过阈值,调度器才会调整节点所在的分区。
25、本发明既能兼顾多种资源的平衡分配,减少资源分片,并大幅减少调度器本身的计算开销。
1.一种可提高多类计算资源利用率的资源管理调度方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的可提高多类计算资源利用率的资源管理调度方法,其特征在于:计算节点具有多个第一标签时,计算节点同时处于多个对应的分区中。
3.根据权利要求1所述的可提高多类计算资源利用率的资源管理调度方法,其特征在于:所述的计算节点资源利用效率的打分函数,同时考虑cpu、gpu和内存的资源情况。
4.根据权利要求1所述的可提高多类计算资源利用率的资源管理调度方法,其特征在于:计算节点资源利用效率的打分函数score如下所示:
5.根据权利要求1所述的可提高多类计算资源利用率的资源管理调度方法,其特征在于:随着计算节点上资源不断的分配,根据计算节点剩余资源的数量,调整计算节点的第一标签以及所在的分区。
6.根据权利要求5所述的可提高多类计算资源利用率的资源管理调度方法,其特征在于:为计算节点上资的资源量设置阈值,当资源变化量超过阈值时,调度器调整计算节点所在的分区。
7.根据权利要求1所述的可提高多类计算资源利用率的资源管理调度方法,其特征在于:调度器优先选择评分最低且空闲资源满足计算任务需要的资源的计算节点来承接计算任务。
8.一种可提高多类计算资源利用率的资源管理调度的系统,其特征在于,包括:
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现如权利要求1-7任一项所述的可提高多类计算资源利用率的资源管理调度方法。
10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序使计算机执行如权利要求1-7任一项所述的可提高多类计算资源利用率的资源管理调度方法。