本申请涉及计算机架构,尤其涉及一种脉动阵列的并行处理优化方法、装置、设备、介质及产品。
背景技术:
1、脉动阵列(systolic array)又称脉冲阵列,是由多个相同的计算单元(processing element,简称pe)按照特定的互联规则组成的并行计算结构。这些处理单元可以是硬件电路中的基本运算单元,如加法器、乘法器等。
2、尽管脉动阵列在特定场景下表现出色,但其固有的固定性结构却成为了限制其广泛应用的关键因素。在计算任务需求频繁变化的实际应用中,固定的脉动阵列架构难以根据任务的动态需求进行资源的灵活调整。这导致了两个主要问题:一是资源利用不充分,即在某些任务下,部分计算资源可能处于闲置状态,未能得到有效利用;二是计算性能下降,当任务需求与脉动阵列的固定结构不匹配时,整体计算效率会受到影响,进而降低了系统的整体性能。因此,如何在保持脉动阵列高效性的同时,增强其灵活性和适应性,成为了当前亟待解决的技术难题。
3、上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本申请的主要目的在于提供一种脉动阵列的并行处理优化方法、装置、设备、介质及产品,旨在解决如何在保持脉动阵列高效性的同时,增强其灵活性和适应性的技术问题。
2、为实现上述目的,本申请提出一种脉动阵列的并行处理优化方法,所述的方法包括:
3、实时监控脉动阵列中各计算单元的负载情况;
4、根据各所述负载情况计算各所述计算单元各自的资源需求度;
5、根据各所述资源需求度将所述脉动阵列中的任务分配至各所述计算单元。
6、在一实施例中,所述负载情况包括:负载和负载变化量;所述实时监控脉动阵列中各计算单元的负载情况的步骤包括:
7、实时获取所述脉动阵列中各计算单元的单元利用率,并获取各所述计算单元中目标任务的任务数量和各所述目标任务的任务权重;
8、根据各所述单元利用率、各所述任务数量和各所述任务权重分别计算各所述计算单元的负载;
9、实时计算各所述计算单元在预设的监控周期内的负载变化量。
10、在一实施例中,在所述根据各所述负载情况计算各所述计算单元各自的资源需求度的步骤之后,方法还包括:
11、根据各所述计算单元各自的资源需求度确定各所述计算单元的资源分配优先级,其中,所述资源分配优先级与所述资源需求度呈正相关;
12、按照各所述优先级将所述脉动阵列的计算资源分配至各所述计算单元。
13、在一实施例中,在所述根据各所述资源需求度将所述脉动阵列中的任务分配至各所述计算单元的步骤之后,所述方法还包括:
14、在各所述资源需求度的总和大于预设的系统资源上限时,针对每个计算单元,根据所述计算单元中各目标任务预设的优先级和预设的权重计算各所述目标任务的时间片,其中,各所述时间片的和小于所述监控周期;
15、按照各所述时间片轮流执行各所述目标任务。
16、在一实施例中,在所述按照各所述时间片轮流执行各所述目标任务的步骤之后,所述方法还包括:
17、实时获取各所述计算单元各自的功耗;
18、遍历各所述计算单元,若所述计算单元的资源需求度小于预设的阈值,则降低所述计算单元的运行参数;
19、若所述计算单元的资源需求度大于或者等于所述阈值,则恢复所述计算单元的运行参数。
20、在一实施例中,所述方法还包括:
21、根据各所述负载、各所述任务权重和所述系统资源上限计算所述脉动阵列的整体性能,其中,所述整体性能用于表征所述脉动阵列总体效率。
22、此外,为实现上述目的,本申请还提出一种脉动阵列的并行处理优化装置,所述脉动阵列的并行处理优化装置包括:
23、负载监控模块,用于实时监控脉动阵列中各计算单元的负载情况;
24、硬件控制模块,用于根据各所述负载情况计算各所述计算单元各自的资源需求度;
25、任务调度与分配模块,用于根据各所述资源需求度将所述脉动阵列中的任务分配至各所述计算单元。
26、此外,为实现上述目的,本申请还提出一种脉动阵列的并行处理优化设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的脉动阵列的并行处理优化方法的步骤。
27、此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的脉动阵列的并行处理优化方法的步骤。
28、此外,为实现上述目的,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的脉动阵列的并行处理优化方法的步骤。
29、本申请提供了一种脉动阵列的并行处理优化方法,本申请实时监控脉动阵列中各个计算单元的负载情况,然后根据各个计算单元的负载情况计算各个计算单元的资源需求度,再根据资源需求度对任务进行分配。
30、综上可知,本申请基于实时监控的数据,动态地反映了每个计算单元的资源需求,为任务分配提供了合理的依据,然后根据资源需求度进行任务分配,能够确保资源得到最合理的利用,通过合理的任务分配,本申请能够实现脉动阵列中的负载均衡,减少因资源分配不均而导致的性能下降和能耗增加,从而能够在保持脉动阵列高效性的同时,增强其灵活性和适应性。
1.一种脉动阵列的并行处理优化方法,其特征在于,所述方法包括:
2.如权利要求1所述的脉动阵列的并行处理优化方法,其特征在于,所述负载情况包括:负载和负载变化量;所述实时监控脉动阵列中各计算单元的负载情况的步骤包括:
3.如权利要求1所述的脉动阵列的并行处理优化方法,其特征在于,在所述根据各所述负载情况计算各所述计算单元各自的资源需求度的步骤之后,方法还包括:
4.如权利要求2所述的脉动阵列的并行处理优化方法,其特征在于,在所述根据各所述资源需求度将所述脉动阵列中的任务分配至各所述计算单元的步骤之后,所述方法还包括:
5.如权利要求4所述的脉动阵列的并行处理优化方法,其特征在于,在所述按照各所述时间片轮流执行各所述目标任务的步骤之后,所述方法还包括:
6.如权利要求4所述的脉动阵列的并行处理优化方法,其特征在于,所述方法还包括:
7.一种脉动阵列的并行处理优化装置,其特征在于,所述装置包括:
8.一种脉动阵列的并行处理优化设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如权利要求1至6中任一项所述的脉动阵列的并行处理优化方法的步骤。
9.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的脉动阵列的并行处理优化方法的步骤。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的脉动阵列的并行处理优化方法的步骤。