一种超级计算机性能波动判定方法技术

技术编号:36909569 阅读:19 留言:0更新日期:2023-03-18 09:28
本发明专利技术涉及一种超级计算机性能波动判定方法,包括:获取计时指令开销,所述计时指令开销为计时指令自身耗时开销;获取被测时间,所述被测时间为执行被测程序所测得的时间,包括物理周期间隔、墙钟时间间隔;通过所述被测时间与所述计时指令开销,获取实际时钟消耗,所述实际时钟开销包括实际物理周期间隔、实际墙钟时间间隔;获取最短测试间隔;输出性能波动判定条件,其中,通过威尔克森秩和检验方法进行显著性差异检验,并以被接受的差异为参数,输出所述性能波动判定条件;可以在超级计算机中,判断计数器的读数波动是否为性能波动。判断计数器的读数波动是否为性能波动。判断计数器的读数波动是否为性能波动。

【技术实现步骤摘要】
一种超级计算机性能波动判定方法


[0001]本专利技术涉及性能检测领域,具体地说,是一种超级计算机性能波动判定方法。

技术介绍

[0002]超级计算机的性能波动是在重复运行固定的计算过程时忽快忽慢。有许多因素可以引发性能波动,这些因素广泛地存在于计算机系统的各个层次中,包括硬件的缺陷、CPU频率的变化、操作系统噪音以及网络的不稳定等。正因如此,性能波动十分难以发现和定位。
[0003]性能波动会严重影响超级计算机的整体性能。有研究者发现在超级计算机上运行HPL测试时,由于英特尔CPU缓存一致性组件的缺陷引起的性能波动使得HPL的性能比预期下降了28%。因此,准确定位引发性能波动的原因对于提升大规模并行应用在计算集群上的性能是十分有必要的。
[0004]对性能波动的现象进行判定,是高精度性能波动检测的关键技术。具体来说,在超级计算机中,检测性能波动时需要插入计时指令,然而,计时指令的频率越高,性能波动检测就越容易受到计时指令自身的干扰。这种干扰主要体现在两个方面:1)在插入计时指令后,被测程序的指令执行特征发生变化;2)计时指令受到被测程序指令的影响,其自身的执行时间出现波动。当前,为了应对计时过程中存在的干扰,人们普遍采取增加被测程序循环次数的方法,来降低计时指令的频率。但是,这种方法降低了性能波动测试的精度,使得微小的性能波动难以被发现。因此,亟需一种能在高精度检测中判断检测结果的异常是否为性能波动算法。
[0005]基于以上背景,本专利技术提供了基于威尔克森秩和检验的超级计算机性能波动判定方法,用于在超级计算机中,判断计数器的读数波动是否为性能波动。

技术实现思路

[0006]本专利技术的目的是,提供一种基于威尔克森秩和检验的超级计算机性能波动判定方法,以输出判定标准,用于在超级计算机中,判断计数器的读数波动是否为性能波动。
[0007]为实现上述目的,本专利技术采取的技术方案是:
[0008]一种超级计算机性能波动判定方法,包括:获取计时指令开销,所述计时指令开销为计时指令自身耗时开销;获取被测时间,所述被测时间为执行被测程序所测得的时间,包括物理周期间隔、墙钟时间间隔;通过所述被测时间与所述计时指令开销,获取实际时钟消耗,所述实际时钟开销包括实际物理周期间隔、实际墙钟时间间隔;获取最短测试间隔;输出性能波动判定条件,其中,通过威尔克森秩和检验方法进行显著性差异检验,并以被接受的差异为参数,输出所述性能波动判定条件。
[0009]作为一种优选的技术方案,所述计时指令开销为纳秒级开销,包括墙钟时钟开销L
ts
、物理时钟开销L
cy
;其中:
[0010][0011]作为一种优选的技术方案,获取被测时间,所述被测时间包括物理周期间隔、墙钟时间间隔,其中,所述被测时间为执行一轮被测程序所需时间:
[0012][0013]cy
n,r,1
、cy
n,r,2
分别代表物理周期计数第一次计时与第二次计时;ts
n,r,1
、ts
n,r,2
分别代表墙钟时间计数第一次计时与第二次计时;lcy
n,r
为物理周期间隔,lts
r,n
为墙钟时间间隔,r表示计时测试已进行的轮数,n为每轮测试循环次数的计数器。
[0014]作为一种优选的技术方案,实际时钟消耗的计算为:
[0015][0016]作为一种优选的技术方案,获取所述最短测试间隔,计算:
[0017][0018]将U
r,n
和T
r,n
分别从小到大排序,各自按需取上下分位数值U
r,n,up
、U
r,n,dn
、T
r,n,up
、T
r,n,dn
;为U
0,γ
和T
0,r
个设置百分比作为正负偏差,所述偏差表示为:
[0019][0020]若下述条件同时满足,
[0021][0022]则对于节点p,此时r=R0,其两侧计数器采集之间的最小CPU物理时钟间隔和墙钟时间间隔为:
[0023][0024]当median(T
r,n
)大于设定检测阈,则判定该平台无法进行高精度性能波动检测,结束流程,否则r自增1。
[0025]根据权利要求1所述的超级计算机性能波动判定方法,其特征在于,输出性能波动判定条件,包括使用威尔克森秩和检验方法检验测试结果的分布是否具有显著差异:
[0026]取当前测试轮的U
r,n
和T
r,n
分别检验其与的分布是否具有显著差异;对于U:
[0027][0028]对于T:
[0029][0030]计算两轮检测的中位数差异:
[0031][0032]输出判定条件:
[0033]当占比为q的检测结果存在计时误差,那么得到性能波动判定条件:对于1组含有N个样本的CPU物理时钟周期分布检测结果U
n
,取0.5q和(1

0.5q)处的分位数U
d
和U
u
。则判断物理时钟周期波动是由性能波动导致的充分必要条件为:
[0034][0035]对于1组含有N个样本的CPU物理时钟周期分布检测结果T
n
,取0.5q和(1

0.5q)处的分位数T
d
和T
u
。则判定墙钟时间波动由性能波动导致的充分必要条件为:
[0036][0037]作为一种优选的技术方案,所述被测程序被执行若干轮,每一轮循环若干次。
[0038]作为一种优选的技术方案,所述被测程序包括缓存冲刷过程和被测代码运行过程。
[0039]作为一种优选的技术方案,被测代码是一组多次循环的寄存器加法汇编指令,每组指令由存在数据依赖的串行汇编指令组成;其指令个数在每轮检测中都会增加。
[0040]本专利技术优点在于:
[0041]本专利技术一种超级计算机性能波动判定方法其被测程序被执行若干轮,每一轮循环若干次;且所述被测程序包括缓存冲刷过程和被测代码运行过程;所述缓存冲刷过程将随机数据填满缓存,用于模拟真实应用执行中被测代码段需要从主存加载的情况;被测代码
是一组多次循环的寄存器加法汇编指令,每组指令由两条串行加法汇编指令组成,每轮检测中,被测代码中的加法指令组的个数都会增加,且随着计时检测的进行,本算法依次利用测试得到的数据,进行计时指令开销计算、最短计时间隔计算和波动分辨率计算三部分;其中,计时指令开销计算是为了获取计时指令自身耗时开销,以便得到真实的被测代码运行时间;最短计时间隔计算使得可以获取在确保计时准确的情况下,两条连续的计时指令之间的被测代码所需的最短时间;波动分辨率计算可以获取并检测在当前超级计算机的有效检测范围内,性能波动的判定标准。
附图说明
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种超级计算机性能波动判定方法,其特征在于,包括:获取计时指令开销,所述计时指令开销为计时指令自身耗时开销;获取被测时间,所述被测时间为执行被测程序所测得的时间,包括物理周期间隔、墙钟时间间隔;通过所述被测时间与所述计时指令开销,获取实际时钟消耗,所述实际时钟开销包括实际物理周期间隔、实际墙钟时间间隔;获取最短测试间隔;输出性能波动判定条件,其中,通过威尔克森秩和检验方法进行显著性差异检验,并以被接受的差异为参数,输出所述性能波动判定条件。2.根据权利要求1所述的超级计算机性能波动判定方法,其特征在于,所述计时指令开销为纳秒级开销,包括墙钟时钟开销L
ts
、物理时钟开销L
cy
;其中:3.根据权利要求1所述的超级计算机性能波动判定方法,其特征在于,获取被测时间,所述被测时间包括物理周期间隔、墙钟时间间隔,其中,所述被测时间为执行一轮被测程序所需时间:cy
n,r,1
、cy
n,r,2
分别代表物理周期计数第一次计时与第二次计时;ts
n,r,1
、ts
n,r,2
分别代表墙钟时间计数第一次计时与第二次计时;lcy
n,r
为物理周期间隔,lts
r,n
为墙钟时间间隔,r表示计时测试已进行的轮数,n为每轮测试循环次数的计数器。4.根据权利要求1所述的超级计算机性能波动判定方法,其特征在于,实际时钟消耗的计算为:5.根据权利要求1所述的超级计算机性能波动判定方法,其特征在于,获取所述最短测试间隔,计算:将U
r,n
和T
r,n
分别从小到大排序,各自按需取上下分位数值U
r,n,up
、U
r,n,dn
、T
r,n,up
、T
r,n,dn
;为U
0,r
和T
0,r<...

【专利技术属性】
技术研发人员:廖秋承林新华左思成高亦沁
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1