一种超算节点使用状态自动识别方法与流程



1.本发明涉及大数据处理领域,特别是涉及一种超算节点使用状态自动识别方法。


背景技术:



2.超级计算机具有强大的计算能力,可以提供大量高性能计算节点,支持用户使用超算资源提交计算任务。随着超算用户的增多,超算上提交的任务量也越来越多,为使有限的节点计算资源,满足日益增长的计算任务需求,对超算资源进行高效管理和使用变得愈发重要。由于计算软件缺陷或者计算任务不当设置问题,有时一些计算任务会出现计算进程卡住,但计算任务不会自动结束的情况,当出现这种情况时,如果不自主查阅计算进程文件,用户是很难察觉任务已经卡住,因为这种节点计算进程卡住故障,与传统数据机房运维出现的节点故障不同,它不能通过常用的监控手段发现。例如通过监控节点是否能够正常i/o吞吐、是否能够正常挂载、是否能够正常分配任务等,可以发现普通故障节点,然而,这些手段无法检测出这种节点进程卡住故障。因此这种节点进程卡住故障一旦发生,往往导致部分计算节点资源一直被无效占用,造成超算资源的浪费。


技术实现要素:



3.针对上述技术问题,本发明采用的技术方案为:本发明实施例提供一种超算节点使用状态自动识别方法,所述方法包括如下步骤:s100,获取任一待计算的计算任务i,并从获取的计算任务i中提取时间控制要素和计算使用资源;i的取值为1到m,m为待计算的计算任务的数量;s200,获取计算任务i对应的波动时间

ti,以及将提取的时间控制要素和计算使用资源输入到设定的计算耗时预测模型中,获得对应的预测计算耗时t
ic
;s300,获取计算任务i的目标计算耗时tm
ic
=

ti+t
ic
;s400,对计算任务i的计算耗时进行监测,如果当前计算耗时t
ir-tm
ic
>t1,则对计算任务i进行标记,形成标记计算任务集(a1,a2,

,aj,

,a
m1
),aj为标记任务集中的第j个标记计算任务,j的取值为1到m1,m1为标记计算任务集中的标记计算任务数量,t1为第一设定阈值;s500,对于aj,每隔设定时间,抓取一次aj的计算进程文件;s600,将当前抓取的aj的计算进程文件的最后进程信息与上一次抓取的aj的计算进程文件的最后进程信息进行比较,如果完全相同,则进行预警。
4.本发明至少具有以下有益效果:本发明实施例提供的超算节点使用状态自动识别方法,能够锁定计算进程卡住,但计算任务不会自动结束的无效占用节点的计算任务,并将任务状态情况推送给任务提交用户,提醒用户修改、重修提交计算任务,从而能够解决超算节点资源被无效占用的问题。
附图说明
5.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
6.图1为本发明实施例提供的超算节点使用状态自动识别方法的流程图。
具体实施方式
7.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
8.图1为本发明实施例提供的超算节点使用状态自动识别方法的流程图。
9.如图1所示,本发明实施例提供一种超算节点使用状态自动识别方法,所述方法包括如下步骤:s100,获取任一待计算的计算任务i,并从获取的计算任务i中提取时间控制要素和计算使用资源;i的取值为1到m,m为待计算的计算任务的数量。
10.当超算中心接收到用户提交的新的计算任务时,会从该计算任务中提取时间控制要素和计算使用资源。
11.在本发明实施例中,时间控制要素可包括模型求解器类型、模型网格数量、网格类型、非线性求解设置、计算精度设置等,这些时间影响因素都可以根据对应的软件的控制文件的特点在计算任务的控制文件中直接提取得到。计算使用资源为使用的超算资源,可包括节点数和核数,计算使用资源和计算耗时可以在超算中心后台获取得到。
12.s200,获取计算任务i对应的波动时间

ti,以及将提取的时间控制要素和计算使用资源输入到设定的计算耗时预测模型中,获得对应的预测计算耗时t
ic

13.在本发明实施例中,

ti可基于如下步骤获取:s21,获取计算任务i的之前的已完成的w个计算任务的预测计算耗时t
c1
,t
c2


,t
cx


,t
cw
和计算任务完成计算时所对应的实际计算耗时t
r1
,t
r2


,t
rx


,t
rw
;t
cx
为w个计算任务中的第x个计算任务的预测计算耗时,t
rx
为w个计算任务中的第x个计算任务的实际计算耗时,x的取值为1到w。
14.在本发明实施例中,w个计算任务为正常计算完成的任务,即计算过程中没有出现由于异常情况导致的中止进程的计算任务。w个计算任务可基于实际需要进行设置。例如,可为当前时间处理节点内的已完成计算的w个计算任务,也可以为历史上已完成计算的w个计算任务。在本发明实施例中,任务处理节点的单位可为天。同理,每个计算任务的预测计算耗时可基于设定的计算耗时预测模型进行获取。
15.在本发明实施例,优选,w个计算任务中的每个计算任务为具有与计算任务i的时间控制要素和计算使用资源相同的计算任务,从而能够使得计算的波动时间更准确。
16.s22,获取

ti=[(t
r1-t
c1
)+(t
r2-t
c2
)+

+(t
rx-t
cx
)+

+(t
rw-t
cw
)]/w。
[0017]

ti的作用为体现超算平台的整体任务计算波动时间或者一段时间内的计算波
动时间。
[0018]
在本发明实施例中,设定的计算耗时预测模型基于已经计算成功的n个计算任务的时间控制要素、计算使用资源和计算耗时构建。
[0019]
在本发明实施例中,n个计算任务可包括不同工业软件不同版本的计算任务。在本发明实施例中,计算任务为完整的仿真任务。计算使用资源的单位为核小时。在本发明实施例中,核小时(core time)可为本领域通常定义,例如,为用来运行模拟或者渲染的处理器单元(核心)的数量乘以计算工作的持续时间(小时数)。例如,使用100台各具有8个核心的计算机跑上100小时,或200台各具有4个核心的计算机跑上100小时,都是80000核小时。
[0020]
在本发明实施例中,可通过汇总得到每个计算任务的时间控制要素、计算使用资源和任务最终的计算耗时。基于大数据分析技术,对汇总数据进行数据分析,建立时间控制要素、计算使用资源、计算耗时之间的联系,以实现当时间要素和计算使用资源确定的情况下,可以分析出计算任务的计算耗时。
[0021]
进一步地,可基于任一工业软件的任一版本的计算任务控制要素、计算使用资源和计算耗时构建对应的计算耗时预测模型。计算耗时预测模型可为经过训练的ai模型。
[0022]
具体地,可通过如下步骤构建每个工业软件的每个版本的计算耗时预测模型:s201,构建不同工业软件不用版本的仿真任务时长与其影响因素的数据库。具体地,对于任一工业软件k的任一版本p,可构建对应的数据库,数据库的第r行可包括(t
rkp
,c
rkp
,u
rkp
),t
rkp
,c
rkp
, u
rkp
分别为工业软件k的版本p对应的计算任务中的第r个计算任务的计算耗时、时间控制要素和计算使用资源;k的取值为1到n,n为工业软件的数量;p的取值为1到f(k),f(k)为工业软件k的版本数量;r的取值为1到n(k,p),n(k,p)为工业软件k的版本p对应的计算任务的数量。
[0023]
其中,c
rkp
=(c
r1kp
,c
r2kp


,c
rskp


,c
rt(r)kp
),c
rskp
为c
rkp
的第s个参数,s的取值为1到t(r),t(r)为c
rkp
中的参数数量;在一个示例中,t(r)可等于5,c
r1kp
,c
r2kp


,c
rskp


,c
rt(r)kp
可分别为模型求解器类型、模型网格数量、网格类型、非线性求解设置、计算精度设置。u
rkp
=(u
r1kp
,u
r2kp
),参数u
r1kp
可为节点数,参数u
r2kp
可为核数。
[0024]
本领域技术人员知晓,构建数据库使用的数据为经过数据清洗筛选后的数据。本领域技术人员知晓,数据清洗筛选可采用现有方法。
[0025]
s202,对构建的数据库中的多维度数据进行降维。
[0026]
在本发明实施例中,可采用pca主成分分析对构建的数据库中的多维度数据进行降维,以降低后续拟合任务难度。
[0027]
具体地,对于时间控制要素和计算使用资源中的各个参数,可基于各个参数相对于计算耗时的权重进行降维处理,以舍弃对计算耗时影响很小的参数,降低后续拟合任务难度。各个参数相对于计算耗时的权重可基于大数据统计分析得到。
[0028]
本领域技术人员知晓,基于各个参数相对于计算耗时的权重进行降维处理可采用现有方法实现。
[0029]
s203,基于n(k,p)获取适配的神经网络深度,构建预测模型m(k,p)。
[0030]
本领域技术人员知晓,n(k,p)越大,所需要的神经网络深度即神经网络层就越多,具体选择方式可采用现有方法。在一个示意性实施例中,神经网络可为卷积神经网络。
[0031]
s204,将经过s202处理后的工业软件k的版本p的数据库中的数据作为训练集输入
到m(k,p)中进行训练,得到训练后的m(k,p)作为工业软件k的版本p的计算耗时预测模型。
[0032]
本领域技术人员知晓,将经过s202处理后的工业软件k的版本p的数据库中的数据作为训练集输入到m(k,p)中进行训练,得到训练后的m(k,p)作为工业软件k的版本p的计算耗时预测模型可通过现有方法实现。
[0033]
在提取时间控制要素和计算使用资源后,会基于计算任务对应的软件和版本名称,选择对应的计算耗时预测模型。然后,将提取的时间控制要素和计算使用资源输入到对应的计算耗时预测模型中,得到对应的预测计算耗时。
[0034]
s300,获取计算任务i的目标计算耗时tm
ic
=

ti+t
ic

[0035]
本发明实施例中,由于目标计算耗时考虑了超算平台的波动时间,能够使得后续的判断更加准确。
[0036]
s400,对计算任务i的计算耗时进行监测,如果当前计算耗时t
ir-tm
ic
>t1,则对计算任务i进行标记;t1为设定阈值;形成标记计算任务集(a1,a2,

,aj,

,a
m1
),aj为标记任务集中的第j个标记计算任务,j的取值为1到m1,m1为标记计算任务集中的标记计算任务数量。
[0037]
在超算中心后台,会通过后台数据,监测每个计算任务的实际耗时。如果t
ir-tm
ic
>t1,说明计算任务的耗时过久,则需要对计算任务i进行标记。可采用现有的任何标记方式进行标记,本发明不做特别限定。
[0038]
在一个实施例中,t1可等于基准时间t0。t0可为经验值。在一个具体示例中,t0基于q个计算任务的预测计算耗时和实际计算耗时获取,t0=(∣

t1∣+∣

t2∣+

+∣

ts∣+

+∣

tq∣)/q,其中,

ts为q个计算任务中的第s个计算任务的实际计算耗时和通过对应的计算耗时预测模型得到的预测计算耗时之间的差值。将t1设置为q个计算任务的预测计算耗时和实际计算耗时的差值的绝对值的平均值,能够尽可能准确地发现被无效占用的超算节点资源,使得标记尽可能准确。在另一个示意性实施例中,t0=max(∣

t1∣,∣

t2∣,

,∣

ts∣,

,∣

tq∣)。与前述实施例相比,本实施例将t1设置为q个计算任务的预测计算耗时和实际计算耗时的差值的绝对值中的最大值,观察时间更长,进而能够进一步提高发现被无效占用的超算节点资源的准确性,进一步提高标记的准确性。
[0039]
在另个一实实施例中,t1=t0* kj,kj为0~1的系数,基于aj对应的处理节点的前一处理节点处理的计算任务量确定,具体地,在一个示例中,kj与aj对应的处理节点的前一处理节点处理的计算任务量反相关,即aj对应的处理节点的前一处理节点处理的计算任务量越大,kj越小,反之亦然。kj的具体取值可为经验值。
[0040]
s500,每隔设定时间,抓取一次aj的计算进程文件。
[0041]
在本发明实施例中,对于已经标记的计算任务,会每隔设定时间,通过脚本抓取一次计算任务的计算进程文件。设定时间可为经验值,在一个示意性实施例中,可为20~30min。
[0042]
s600,将当前抓取的aj的计算进程文件的最后进程信息与上一次抓取的aj的计算进程文件的最后进程信息进行比较,如果完全相同,则进行预警。
[0043]
在本发明实施例中,最后进程信息可通过截图获取。其中,截图区域为设定像素区域,即每次截图的区域为固定的像素区域,具有相同大小的像素。
[0044]
通过对截图信息进行比对分析,如果截图信息存在差异,说明计算任务仍然在计
算,计算进程未卡住,如果截图信息完全相同,说明计算任务有可能已经出现计算进程卡住情况,计算节点被无效占用。
[0045]
在本发明实施例中,所述预警可包括向aj对应的客户端发送确认aj的计算任务状态是否为计算进程卡住状态的提示信息。
[0046]
例如,可通过超算中心后台以设定形式例如短信形式向aj对应的客户端例如移动终端发送提示信息,以提示用户确认aj的计算任务状态是否为计算进程卡住状态。
[0047]
进一步地,在本发明实施例中,s600还包括,如果当前抓取的aj的计算进程文件的最后进程信息与上一次抓取的aj的计算进程文件的最后进程信息存在不同,则执行s700:s700,如果t
ir-tm
ic
≥t2,则进行预警;如果t
ir-tm
ic
<t2,执行s500;t2为第二设定阈值,t2>t1。
[0048]
在本发明实施例中,如果t
ir-t
ic
≥t2,说明aj的计算耗时已经很久了,可能存在异常情况而未发现计算进程卡住的情况,此时,也需要进行预警。如果t
ir-tm
ic
,可继续观察一段时间,以降低误判概率。在一个示意性实施例中,t2=2*t1。
[0049]
进一步地,本发明实施例提供的方法还包括:s800,在确认aj的计算任务状态为计算进程卡住状态时,终止aj的计算进程。
[0050]
在本发明实施例中,当用户确定计算任务为计算进程卡住状态时,可以自己结束进程,释放无效占用的计算资源,也可以以短信形式通知超算中心,要求终止计算任务,释放无效占用的计算资源。
[0051]
本发明实施例提供的超算节点使用状态自动识别方法,至少具有以下优点:(1)基于大数据分析,对汇总数据进行数据分析,建立时间控制要素、计算使用资源、计算耗时三者之间的联系,以实现计算任务的预期耗时计算;(2)通过对超时计算任务的不同时间段的计算进程截图信息进行比对分析,及时发现可疑的计算进程卡住的任务,并向用户通知核对,及时释放超算节点资源,确保超算资源最大化利用。
[0052]
本发明的实施例还提供了一种非瞬时性计算机可读存储介质,该存储介质可设置于电子设备之中以保存用于实现方法实施例中一种方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述实施例提供的方法。
[0053]
本发明的实施例还提供了一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
[0054]
本发明的实施例还提供一种计算机程序产品,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使该电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤。
[0055]
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明公开的范围由所附权利要求来限定。

技术特征:


1.一种超算节点使用状态自动识别方法,其特征在于,所述方法包括如下步骤:s100,获取任一待计算的计算任务i,并从获取的计算任务i中提取时间控制要素和计算使用资源;i的取值为1到m,m为待计算的计算任务的数量;s200,获取计算任务i对应的波动时间

t
i
,以及将提取的时间控制要素和计算使用资源输入到设定的计算耗时预测模型中,获得对应的预测计算耗时t
ic
;s300,获取计算任务i的目标计算耗时tm
ic
=

t
i
+t
ic
;s400,对计算任务i的计算耗时进行监测,如果当前计算耗时t
ir-tm
ic
>t1,则对计算任务i进行标记,形成标记计算任务集(a1,a2,

,a
j


,a
m1
),a
j
为标记任务集中的第j个标记计算任务,j的取值为1到m1,m1为标记计算任务集中的标记计算任务数量,t1为第一设定阈值;s500,对于a
j
,每隔设定时间,抓取一次a
j
的计算进程文件;s600,将当前抓取的a
j
的计算进程文件的最后进程信息与上一次抓取的a
j
的计算进程文件的最后进程信息进行比较,如果完全相同,则进行预警。2.根据权利要求1所述的方法,其特征在于,

t
i
基于如下步骤获取:s21,获取计算任务i的之前的已完成的w个计算任务的预测计算耗时t
c1
,t
c2


,t
cx


,t
cw
和计算任务完成计算时所对应的实际计算耗时t
r1
,t
r2


,t
rx


,t
rw
;t
cx
为w个计算任务中的第x个计算任务的预测计算耗时,t
rx
为w个计算任务中的第x个计算任务的实际计算耗时,x的取值为1到w;s22,获取

t
i
=[(t
r1-t
c1
)+(t
r2-t
c2
)+

+(t
rx-t
cx
)+

+(t
rw-t
cw
)]/w。3.根据权利要求1所述的方法,其特征在于,所述设定的计算耗时预测模型基于已经计算成功的n个计算任务的时间控制要素、计算使用资源和计算耗时构建。4.根据权利要求3所述的方法,其特征在于,n个计算任务包括不同工业软件不同版本的计算任务,其中,每个工业软件的每个版本的计算耗时预测模型可通过如下步骤获取:s201,构建任一工业软件k的任一版本p的数据库,其中,工业软件k的任一版本p的数据库的第r行可包括(t
rkp
,c
rkp
, u
rkp
),t
rkp
,c
rkp
, u
rkp
分别为工业软件k的版本p对应的计算任务中的第r个计算任务的计算耗时、时间控制要素和计算使用资源;k的取值为1到n,n为工业软件的数量;p的取值为1到f(k),f(k)为工业软件k的版本数量;r的取值为1到n(k,p),n(k,p)为工业软件k的版本p对应的计算任务的数量;s202,对构建的数据库中的多维度数据进行降维处理;s203,基于n(k,p)获取适配的神经网络深度,构建预测模型m(k,p);s204,将经过s202处理后的工业软件k的版本p的数据库中的数据作为训练集输入到m(k,p)中进行训练,得到训练后的m(k,p)作为工业软件k的版本p的计算耗时预测模型。5.根据权利要求1所述的方法,其特征在于,s600还包括:如果当前抓取的a
j
的计算进程文件的最后进程信息与上一次抓取的a
j
的计算进程文件的最后进程信息存在不同,则执行s700:s700,如果t
ir-tm
ic
≥t2,则对a
j
进行预警;如果t
ir-tm
ic
<t2,执行s500; t2为第二设定阈值,t2>t1。6.根据权利要求5所述的方法,其特征在于,t1=t0*k
j
,t0为基准时间,k
j
为0~1的系数,基于a
j
对应的处理节点的前一处理节点处理的计算任务量确定。
7.根据权利要求1所述的方法,其特征在于,在s500中,通过脚本抓取计算进程文件。8.根据权利要求1所述的方法,其特征在于,在s600中,最后进程信息通过截图获取,其中,截图区域为设定像素区域。9.根据权利要求1或6所述的方法,其特征在于,所述预警包括向a
j
对应的客户端发送确认a
j
的计算任务状态是否为计算进程卡住状态的提示信息。10.根据权利要求1或6所述的方法,其特征在于,所述方法还包括:s700,在确认a
j
的计算任务状态为计算进程卡住状态时,终止a
j
的计算进程。

技术总结


本发明提供了一种超算节点使用状态自动识别方法,涉及大数据处理领域。所述方法包括:构建计算耗时预测模型;获取任一待计算的计算任务,并从获取的计算任务中提取时间控制要素和计算使用资源;将提取的时间控制要素和计算使用资源输入到计算耗时预测模型中,获得对应的预测计算耗时;获取待计算任务的目标计算耗时;如果待计算任务的当前计算耗时和目标计算耗时之间的差值大于设定阈值,则对计算任务进行标记;对于任一标记任务,每隔设定时间,抓取一次计算进程文件;将当前抓取的计算进程文件的最后进程信息与上一次抓取的计算进程文件的最后进程信息进行比较,如果完全相同,则进行预警。本发明能够解决超算节点资源被无效占用问题。用问题。用问题。


技术研发人员:

李健增 孟祥飞 张振伟 张士岩 刘金明 冯源 孙娜 唐斌

受保护的技术使用者:

天河超级计算淮海分中心

技术研发日:

2022.11.18

技术公布日:

2022/12/19

本文发布于:2024-09-24 11:28:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/41411.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进程   节点   本发明   时间
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议