基于国产化多NUMA节点CPU结温均衡策略的任务调度方法与流程

文档序号:25616048发布日期:2021-06-25 16:05阅读:233来源:国知局
基于国产化多NUMA节点CPU结温均衡策略的任务调度方法与流程
基于国产化多numa节点cpu结温均衡策略的任务调度方法
技术领域
1.本发明属于操作系统任务调度技术领域,具体涉及一种基于国产化多numa节点cpu结温均衡策略的任务调度方法。


背景技术:

2.随着信息产业的蓬勃发展,数据的产生以近乎几何级数的速度高速增长,对计算能力提出了巨大需求。但受限于半导体摩尔定律,单cpu核心的主频和计算能力不会有跨越式提升。近年来,在服务器等计算密集型领域,cpu经历了单核、多核到多numa节点的发展历程。目前,高性能计算服务器具有数十个numa节点,数百个计算核心。
3.在航空航天、国防军工等领域,计算设备的稳定运行和数据安全关系着重大国家利益、社会稳定。因此,在这些关系着国计民生的领域中,计算设备中cpu等核心硬件有明确的国产化自主可控需求。近年来,国产化cpu研发技术有了迅猛发展,计算性能比肩世界先进水平。但另一方面,国产化cpu,受限于制程工艺等原因,功耗高,发热量大。目前应用的一块集成8个numa节点64核心的国产化cpu,芯片面积达到3600mm2以上,功耗150w以上。在进行高负载任务测试时,发现cpu不同核心结温差异较大,不同numa节点的最高结温与最低结温差别在20度以上。
4.由于numa节点对临近内存访问效率高,操作系统默认对numa节点的任务调度表现出亲和性的特点。若某个任务task在t周期在0号numa节点上运行,那么在t+1,t+2,t+3周期,操作系统都优先将task在0号numa节点上运行。在国产化cpu平台上,这种默认的任务调度方式,会导致0号numa节点结温远超过其他节点,当长时间超过cpu最大工作结温时,cpu运行可靠性大大降低。


技术实现要素:

5.(一)要解决的技术问题
6.本发明要解决的技术问题是:国产化多numa节点cpu发热量大,不同numa节点间结温差异大,无法长时间运行高负载任务的问题。
7.(二)技术方案
8.为了解决上述技术问题,本发明提供了一种基于国产化多numa节点cpu结温均衡策略的任务调度方法,包括以下步骤:
9.步骤1、确定numa节点体质系数;
10.步骤2、根据cpu芯片手册中规定的最高工作结温,确定任务调度方法启动结温阈值t
s
,确定检测时间间隔time
i

11.步骤3、轮询检测n个numa节点结温,当结温超过结温阈值,启动任务调度;
12.步骤4、计算numa结温差值数;
13.步骤5、基于步骤4计算numa节点迁移值;
14.步骤6、若n

1个迁移值均小于0,将负载任务挂起指定时间;
15.步骤7、将负载任务调度至迁移值最大的numa继续运行。
16.优选地,步骤1中,首先确定hpl测试矩阵规模,使用mpi工具控制hpl多进程并行运行,用numactl工具将hpl分别绑定hpl在n个numa节点运行,记录下每个numa节点的测试结温,第i个numa节点测试结温表示为m
i
,全部numa节点中的最低结温记为m
min
,第i个numa节点的体质系数记为i=1,2

n。
17.优选地,检测时间间隔time
i
的默认值为10秒。
18.优选地,步骤4中,第i个numa节点的结温值记为t
i
,第i个numa节点与第j个numa节点的结温差值数记为i=1,2

n,j=1,2

n。
19.优选地,步骤5中,第i个numa节点负载应用向第j个numa节点的迁移系数记为v
ij
=d
ij
·
c
j
,i=1,2

n,j=1,2

n;进而计算出第i个numa节点的最大迁移值max
j=1,2

n
(v
ij
)。
20.优选地,步骤6中,当全部numa节点结温均超过上限阈值时,任务调度方法已无法通过均衡方式保障cpu稳定运行,将全部负载任务挂起指定时间time
d

21.优选地,步骤6中,time
d
取值采用二进制指数类型退避算法得到,即第k次触发时,time
d
=2
k
+1,k为正整数。
22.优选地,hpl是计算机性能测试工具,通过对线性代数方程组进行测试,评估计算机系统的性能。
23.优选地,numactl是在numa架构计算机系统中,用于控制任务在指定numa节点运行的工具。
24.优选地,mpi用于控制任务多核心并行运行。
25.(三)有益效果
26.本发明提出一种基于国产化多numa节点cpu结温均衡策略的任务调度方法,当numa接电脑结温超过阈值时,将高负载计算任务调度至结温较低的核心,保证cpu的稳定运行。该任务调度方法能有效降低cpu最高工作结温,且对计算负载任务性能损失小,避免cpu长时间超结温阈值工作,提升cpu工作的稳定性。
附图说明
27.图1为本发明的任务调度方法流程图。
具体实施方式
28.为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
29.本发明提出一种基于国产化多numa节点cpu结温均衡策略的任务调度方法,首先,确定n个numa节点体质系数、最高结温阈值、检测间隔时间等参数。第一步,按照检测间隔时间轮询n个numa节点结温,当结温超过最高结温阈值,启动任务调度。第二步,计算n

1个numa节点间结温差值数,计算迁移值。第三步,若n

1个迁移值均小于0,将负载任务挂起指定时间。第四步,将负载任务调度至迁移值最大的numa继续运行。最后,用发明方法,与默认操作系统默认任务调度方法对比,以结果数据证明本发明方法的有效性。
30.具体地,如图1所示,本发明的方法包括以下步骤:
31.步骤1、确定numa节点体质系数。由于芯片制程工艺的限制,cpu各numa节点的体质会有差异,运行同样负载计算量的最大结温不同。首先确定hpl测试矩阵规模,使用mpi工具控制hpl多进程并行运行,用numactl工具将hpl分别绑定hpl在n个numa节点运行,记录下每个numa节点的测试结温,第i个numa节点测试结温表示为m
i
,全部numa节点中的最低结温记为m
min
,第i个numa节点的体质系数记为i=1,2

n;
32.其中,hpl:是计算机性能测试工具,通过对线性代数方程组进行测试,评估计算机系统的性能,对cpu有很大负载压力,可调整计算矩阵规模,控制测试计算量;numactl是在numa架构计算机系统中,用于控制任务在指定numa节点运行的工具;mpi:用于控制任务多核心并行运行。
33.步骤2、根据cpu芯片手册中规定的最高工作结温,确定任务调度方法启动结温阈值t
s
,确定检测时间间隔time
i
,默认值为10秒;
34.步骤3、轮询检测n个numa节点结温,当结温超过结温阈值,启动任务调度;
35.步骤4、计算numa结温差值数。第i个numa节点的结温值记为t
i
,第i个numa节点与第j个numa节点的结温差值系数记为i=1,2

n,j=1,2

n;
36.步骤5、基于步骤4计算numa节点迁移值。第i个numa节点负载应用向第j个numa节点的迁移系数记为v
ij
=d
ij
·
c
j
,i=1,2

n,j=1,2

n;进而计算出第i个numa节点的最大迁移值max
j=1,2

n
(v
ij
);
37.步骤6、若n

1个迁移值均小于0,将负载任务挂起指定时间。由于国产化cpu不具备动态降低频率功能,因此当全部numa节点结温均超过上限阈值时,任务调度方法已无法通过均衡方式保障cpu稳定运行,将全部负载任务挂起指定时间time
d
,以保证cpu运行的稳定性。为避免频繁挂起负载任务,time
d
取值采用二进制指数类型退避算法,即第k次触发时,time
d
=2
k
+1,单位为秒,k为正整数;
38.步骤7、将负载任务调度至迁移值最大的numa继续运行。
39.下面给出本发明方法测试结果:
40.测试机器使用的国产化cpu共有8个numa节点,每个节点16个计算核心。cpu芯片手册中规定最高工作结温90度。hpl测试矩阵规模为80000,mpi工具控制hpl任务64进程运行,hpl任务共使用4个numa节点。
41.测试方式1:使用操作系统默认任务调度方法,测试过程中cpu最高结温108度,测试时间共7349秒,通过对cpu使用率的统计,hpl任务超过95%的时间运行在numa 0

3节点,测试分数179.5gflops。
42.测试方式2:启用本发明方法,检测间隔时间time
i
=10s,将负载任务在0

7号numa节点上调度。测试过程中cpu最高结温93度。总测试时间共7617秒,其中停用时间值累计time
d
133秒,通过对cpu使用率的统计,hpl任务约64%时间运行在numa0

3节点测试分数175.1gfops。
43.对测试结果数据进行分析,运行同样计算量负载任务,采用本发明方法对比操作系统默认任务调度方法,cpu最高工作结温下降15度,任务运行时间增加了3.6%,测试分数
下降了2.6%。
44.以上测试结果表明,负载任务调度方法能有效降低cpu最高工作结温,且对计算负载任务性能损失小,避免cpu长时间超结温阈值工作,提升cpu工作的稳定性。
45.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1