基于申威众核处理器的从核阵列自主抢占式负载均衡方法与流程

allin2025-07-08  46


本发明属于电子信息的,具体涉及基于申威众核处理器的从核阵列自主抢占式负载均衡方法。


背景技术:

1、高性能计算在推动科技创新和经济发展中发挥了重要的作用,我国在高性能计算领域,特别是超级计算机的自主研发与应用上,取得了显著的成果。新一代神威超级计算机是国产超级计算机的代表作,首次实现了从处理器、网络芯片组、存储和管理系统等核心器件的完全国产化,展现了我国在超级计算机领域的创新实力。

2、申威众核处理器sw26010pro是我国自主研发的新一代高性能异构众核处理器。申威众核处理器sw26010pro的架构如图1所示,申威众核处理器sw26010pro有6个核组。每个核组包含一个管理处理单元和64个计算处理单元。管理处理单元又被称为主核,计算处理单元又被称为从核,64个从核组成一个8*8的从核阵列。每个从核拥有一块高速的本地局部数据存储空间ldm,大小为256kb。ldm空间可以分为两个部分,私有空间和连续共享空间。私有空间是本从核的本地私有空间,连续共享空间是从核阵列间的分布式共享空间,由阵列内每个从核提供相同容量的ldm进行连续编址。

3、目前,针对新一代神威超级计算机和申威众核处理器的并行优化,通常有两种方法。一种进程级并行优化,另一种是线程级并行优化。线程级并行优化的常用方法可以分为两种,主从加速并行和主从协同并行。主从加速并行是指,将计算中的热点部分加载到从核阵列中进行计算,主核只负责进程间的通信操作和串行部分的计算。主从协同并行,是指将计算任务按照主从核之间的计算能力进行划分,主核与从核对等的完成一个计算任务。

4、在常用的两种线程级并行优化方法中,都需要在计算开始之前,将任务加载到每个从核中或者在主从核之间进行任务分配。在这个过程中,无法预知每个独立的子任务的执行时间,因此一般采取将计算任务平均划分到每个计算核心中的均匀分配方式。当每个子任务的执行时间差异较大时,均匀分配计算任务的方法会导致不同计算核心的开销各不相同。较快完成计算任务的核心需要等待其他核心完成计算,造成计算资源的浪费。平均分配任务方法的执行效果如图2所示。

5、综上,程序在单核组优化过程中,由于每个待优化任务执行时间不一致且差距较大。将任务平均分配给各个从核会导致每个从核开销不同,造成负载不均衡。


技术实现思路

1、为了解决现有技术中存在的不足,本发明针对新一代申威众核处理器,设计了一种基于申威众核处理器的从核阵列自主抢占式负载均衡方法。与常用线程级并行优化中平均分配任务的静态分配方式不同。每个从核会在当前任务执行完成之后,自发抢占下一个计算任务。并在成功申请到下一个计算任务时,将此任务标记为“已执行”状态,其他从核不再执行被标记为“已执行”状态的任务。在处理大规模任务时,采用分治法的思想,将大规模问题进一步分解成数个小规模子任务。在小规模子任务中进行负载均衡,进而实现总体的负载均衡,提高程序的执行效率。在所有计算任务结束之后,从核自动退出计算任务阶段,交由主核对从核的计算结果进行后处理。

2、本发明的技术方案为:

3、基于申威众核处理器的从核阵列自主抢占式负载均衡方法,包括:

4、1)针对大规模任务,采用分治法进行分解,包括:将大规模任务分解成数个具有相同性质的小规模任务;大规模任务是指计算问题数量大于一万个的任务,是拥有大量计算问题的集合;小规模任务是计算问题小于一万个的任务,是大规模任务的子集合;针对小规模任务,直接进入步骤2);

5、2)对于得到的小规模任务,进行动静态混合的任务划分;包括:先将小规模任务整体划分为静态任务区和动态任务区;

6、每个从核使用dma的方式,将静态任务区的任务,在主存中成块的读取到本地ldm中;

7、在静态任务区中,采用均匀分配方式,在动态任务区中,采用动态分配方式;均匀分配方式是将静态任务区中的任务在程序开始执行之前均匀地分配给处理单元;动态分配是指在任务执行过程中,各处理单元根据实际情况通过优化方法,自主抢占计算任务;

8、3)将动态任务区的每个任务执行信息映射到一个标识缓冲区中;任务执行信息包括本任务的执行状态,包括已执行和未执行两种状态;标识缓冲区中的信息与每个任务相对应,存储任务的执行信息;将存有任务执行信息的标识缓冲区存储到ldm共享空间中;每个从核都在标识缓冲区中获取下一个任务的任务执行信息;同时采用双缓冲的策略,通过配置两个标识缓冲区,实现在执行本轮任务的同时将下一轮使用的缓冲区重置;在从核成功获取到要执行的任务执行信息后,使用dma的方式,将在动态任务区中读取到的任务在本从核的ldm私有空间中进行计算。

9、进一步优选的,步骤2)中,将小规模任务整体划分为静态任务区和动态任务区;包括:

10、在计算开始前,将小规模任务整体划分成静态任务区和动态任务区,静态任务区占小规模任务整体的30%,动态任务区占小规模任务整体的70%。

11、进一步优选的,步骤3)中,采用主从加速并行的加速方式,由主核调用从核阵列进行加速计算;

12、通过从核自动申请动态任务区中的计算任务,实现自动化动态任务划分;

13、当主核调用从核启动函数之后,主核开始等待,从核阵列开始执行整个计算任务,直到从核计算完成之后再进行数据处理。

14、进一步优选的,从核自动申请动态任务区中的计算任务,实现自动化动态任务划分,并进行计算任务;包括:

15、每个从核在申请任务时,判断当前使用的标识缓冲区;在确定使用的标识缓冲区之后,判断当前子任务是否已经被其他从核抢先执行;若当前子任务已经被执行,则申请下一个子任务;若当前子任务没有被执行过,则从核抢占当前子任务,并将当前子任务的状态标识为“已执行”;

16、在当前子任务执行完毕之后,将另一个标识缓冲区的执行信息重置,为下一次使用做准备。以此类推,直到动态任务区中的所有任务执行完毕。

17、进一步优选的,步骤3)中,采用双缓冲的策略,通过配置两个标识缓冲区,实现在执行本轮任务的同时将下一轮使用的缓冲区重置;包括:

18、标识缓冲区与每个任务一一对应,两个标识缓冲区初始状态完全相同,其中对应的所有任务都被标记为未执行状态;在执行本轮任务时将本轮使用的标识缓冲区中的任务信息标记为已执行,同时将下一轮使用的标识缓冲区中的任务信息重置为未执行。

19、本发明的有益效果为:

20、相比串行程序和普通众核优化程序,本发明基于申威众核处理器的从核阵列自主抢占式负载均衡方法具有比较明显的加速效果。



技术特征:

1.基于申威众核处理器的从核阵列自主抢占式负载均衡方法,其特征在于,包括:

2.根据权利要求1所述的基于申威众核处理器的从核阵列自主抢占式负载均衡方法,其特征在于,大规模任务是指计算问题数量大于一万个的任务,是拥有大量计算问题的集合;小规模任务是计算问题小于一万个的任务,是大规模任务的子集合。

3.根据权利要求1所述的基于申威众核处理器的从核阵列自主抢占式负载均衡方法,其特征在于,均匀分配方式是将静态任务区中的任务在程序开始执行之前均匀地分配给处理单元;动态分配是指在任务执行过程中,各处理单元根据实际情况通过优化方法,自主抢占计算任务。

4.根据权利要求1所述的基于申威众核处理器的从核阵列自主抢占式负载均衡方法,其特征在于,步骤2)中,将小规模任务整体划分为静态任务区和动态任务区;包括:

5.根据权利要求1所述的基于申威众核处理器的从核阵列自主抢占式负载均衡方法,其特征在于,步骤3)中,采用主从加速并行的加速方式,由主核调用从核阵列进行加速计算;

6.根据权利要求1所述的基于申威众核处理器的从核阵列自主抢占式负载均衡方法,其特征在于,从核自动申请动态任务区中的计算任务,实现自动化动态任务划分,并进行计算任务;包括:

7.根据权利要求1-6任一所述的基于申威众核处理器的从核阵列自主抢占式负载均衡方法,其特征在于,步骤3)中,采用双缓冲的策略,通过配置两个标识缓冲区,实现在执行本轮任务的同时将下一轮使用的缓冲区重置;包括:


技术总结
本发明涉及基于申威众核处理器的从核阵列自主抢占式负载均衡方法,属于电子信息的技术领域,包括:1)针对大规模任务,采用分治法进行分解;2)对于得到的小规模任务,进行动静态混合的任务划分;在静态任务区中,采用均匀分配方式,在动态任务区中,采用动态分配方式;3)将动态任务区的每个任务执行信息映射到一个标识缓冲区中;同时采用双缓冲的策略,通过配置两个标识缓冲区,实现在执行本轮任务的同时将下一轮使用的缓冲区重置;在从核成功获取到要执行的任务执行信息后,使用DMA的方式,将在动态任务区中读取到的任务在本从核的LDM私有空间中进行计算。本发明具有比较明显的加速效果。

技术研发人员:刘弢,张忠亮,潘景山,高宝峰
受保护的技术使用者:山东省计算中心(国家超级计算济南中心)
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-22803.html

最新回复(0)