掌桥专利:专业的专利平台
掌桥专利
首页

一种浮点计算性能监测装置及其监测方法

文献发布时间:2023-06-19 18:37:28


一种浮点计算性能监测装置及其监测方法

技术领域

本发明涉及一种浮点计算性能监测装置及其监测方法,属于浮点计算性能监测技术领域。

背景技术

随着深度学习模型深度越来越深,巨量的参数使得模型的尺寸越来越大,计算量也随之上升,实际工程应用中,大部分深度学习模型并不需要64位的浮点数精度,甚至32位。为了提升计算速度,减少模型占用空间,BF16(BFloat16)格式的浮点数应运而生,并且已经逐步成为深度学习的一种标准。

由于受计算机存储空间和字长的限制,绝大部分计算机都在电气和电子工程师协会(ieee)754浮点算术标准下执行科学计算(如数值核反应堆模拟程序等),舍入误差在浮点计算中是不可避免的,且舍入误差的积累效应可能会对计算结果带来严重影响,甚至造成灾难性后果,为此要对计算机的浮点数性能进行监测。

现有的对于浮点数的监测方法一般是:首先实时的获取浮点性能数据,其次利用监测装置确定浮点性能数据是否出现异常,随后判断出现异常的浮点性能数据的节点位置,以便后续对数据进行修复处理,在对浮点性能数据进行监控时,通常的做法是首先设置一个阈值,然后每次获取一个要监测的浮点性能数据,就比较该浮点性能数据值与设定阈值之间的大小关系,比如规定大于阈值的浮点性能数据属于正常数据;否则,属于异常数据,对异常数据就要进行告警。当出现多个连续异常数据时,那么每出现一个异常数据都要进行告警。但每发现一个异常数据就进行告警,会导致告警过于频繁和过度浪费告警资源的问题;而且对于浮点性能数据进行采集时,由于服务器断开连接等原因,会导致无法采集到该服务器中存储的数据,致使部分浮点计算数据信息丢失,导致监测数据不完善,监测结果精确度较低。因此,有必要提供一种浮点计算性能监测装置及其监测方法。

发明内容

本发明要解决的技术问题是:提供一种浮点计算性能监测装置及其监测方法,可以有效解决背景技术对于浮点数的监测方法存在的告警过于频繁和过度浪费告警资源的问题以及对于浮点性能数据进行采集存在无法采集到该服务器中存储的数据、致使部分浮点计算数据信息丢失、导致监测数据不完善、监测结果精确度较低的问题。

本发明采取的技术方案为:一种浮点计算性能监测装置,包括:

数据采集模块:接收由客户端发送的指令,实时采集CPU运行时生成的浮点计算数据信息;

特征提取模块:包括提取单元,根据数据采集模块生成的浮点计算数据信息提取浮点计算数据信息特征,预设浮点寄存器,在浮点寄存器中设定数据队列,在数据队列中设置多个主信元,浮点计算数据信息特征分类存储在对应的数据队列的主信元中;

数据调度模块:包括队列调度器与队列管理器,队列调度器与队列管理器以及浮点寄存器相互连接,队列调度器向队列管理器发送调度请求,队列管理器生成调度信息传输至浮点寄存器,对相应的浮点计算数据信息特征数据进行调取;

数据监测模块:包括用于对浮点计算数据信息特征进行监测的监测单元,监测单元对浮点计算数据信息特征进行监测,监测单元中设定有阈值,通过对比浮点计算数据信息特征与阈值,判断浮点计算数据信息是否出现异常,并将异常浮点计算数据信息传输至服务器数据库中进行存储;

数据恢复模块:包括用于获取目标浮点计算数据信息数据集的第一统计单元以及用于获取被调取浮点计算数据信息数据集的第二统计单元,第一统计单元与浮点寄存器相连接,第二统计单元与队列管理器相连接,通过第一统计单元中的目标浮点计算数据信息数据集与第二统计单元中的被调取浮点计算数据信息数据集进行对比,获得遗漏信息数据,设置传输单元,将遗漏信息数据插入其对应所在的队列的主信元中。

优选地,上述一种浮点计算性能监测装置还包括数据分析模块,数据分析模块用于对浮点计算数据信息进行分析处理,并将经过处理后的数据通过接口传输至特征提取模块。

优选地,上述浮点计算数据信息特征包括浮点计算数据信息的符号位、指数位、尾数位以及浮点计算时长,数据队列有多组,多组数据队列根据浮点计算数据的符号位对其指数位进行分组存储,使其放入对应的主信元中,且每组数据队列中均设定有两个子数据队列,每个子数据队列中均设有多个顺序排列的子信元,对浮点计算数据信息的尾数位以及浮点计算时间进行分类存储,每个子信元与其对应的主信元间均建立关联。

优选地,上述监测单元中设有标记部分以及比较部分,标记部分用于对每个数据队列进行标记,并建立与浮点计算数据信息特征相对应的四个子索引号,且四个子索引号中相邻两个之间均设有相关性,比较部分用于判断浮点计算时长是否大于阈值。

优选地,上述提取模块,针对多个数据队列建立与其对应的二级索引号,每个浮点计算数据信息特征的四个子索引号均与其所在数据队列的二级索引号相关联,数据恢复模块中设有位图,位图中包括多个位图单元,且每个位图单元具有唯一的一级索引号,每个一级索引号与二级索引号相关联,遗漏信息数据存储在对应的位图单元中。

优选地,上述数据恢复模块还包括对比单元以及计算单元,对比单元用于将第一统计单元中的目标浮点计算数据信息数据集与第二统计单元中的被调取浮点计算数据信息数据集进行对比,计算单元根据对比信息计算得出遗漏信息数据,并计算遗漏信息数据与位图中的位图单元的相关性。

优选地,上述一种浮点计算性能监测装置还包括信息查询模块,信息查询模块包括配置单元、范围确定单元、转换单元以及导出单元,配置单元用于对服务器数据库中源数据与目标查询数据的匹配关系以及数据校验规则进行配置,生成配置文件,范围确定单元用于读取配置文件,并相应数据选择指令,在服务器数据库中确定目标数据范围,转换单元用于执行转换指令,将目标数据的格式与目标查询数据匹配,导出单元用于执行导出指令,将与目标查询数据匹配的目标数据导出。

一种浮点计算性能监测装置的监测方法,包括以下步骤:

S1、使用时,用户通过客户端发送指令,数据采集模块接收指令并实时采集CPU运行时生成的浮点计算数据信息,通过数据分析模块对浮点计算数据信息进行处理,并将经过处理后的数据通过接口传输至特征提取模块;

S2、通过特征提取模块中的提取单元对浮点计算数据信息特征进行提取,并根据浮点计算数据的符号位将浮点计算数据信息的指数位、尾数位以及浮点计算时长分类存储在对应的数据队列、主信元以及子信元中;

S3、通过数据调度模块中的队列调度器向队列管理器发送调度请求,队列管理器根据调度请求生成调度信息,并将调度信息传输至浮点寄存器,对浮点寄存器中的每个数据队列中的数据进行调取;

S4、通过数据监测模块中的监测单元对浮点计算数据信息进行监测,通过标记部分对每个数据队列进行标记,并建立与浮点计算数据信息特征相对应的四个子索引号,通过比较部分判断每个数据队列中的最高浮点计算时长是否大于设定阈值,若最高浮点计算时长大于设定阈值,则该数据队列中浮点计算数据信息出现异常,将该数据队列中最高浮点计算时长所对应的浮点计算数据信息传输至服务器数据库中存储为一类日志文件,若最高浮点计算时长小于设定阈值,则该数据队列中浮点计算数据信息正常,将其传输至服务器数据库中存储为二类日志文件;

S5、对异常浮点计算数据信息进行查询时,通过信息查询模块中的配置单元对服务器数据库中源数据与目标查询数据的匹配关系以及数据校验规则进行配置,生成配置文件,范围确定单元读取配置文件,并相应数据选择指令,在服务器数据库一类文件中确定目标数据范围,转换单元执行转换指令,将目标数据的格式与目标查询数据匹配,导出单元执行导出指令,将与目标查询数据匹配的目标数据导出;

S6、当服务器断开连接,致使部分浮点计算数据信息丢失时,通过数据恢复模块中的对比单元,将第一统计单元中的目标浮点计算数据信息数据集与第二统计单元中的被调取浮点计算数据信息数据集进行对比,计算单元根据对比信息计算得出遗漏信息数据,并计算遗漏信息数据与位图中的位图单元的相关性,使得遗漏信息数据存储在对应的位图单元中,通过传输单元,将遗漏信息传输至与其所在位图单元相关联的以及索引号相匹配的二级索引号中,将遗漏信息数据精准插入在对应的数据队列的主信元以及子信元中。

本发明的有益效果:与现有技术相比,本发明的效果如下:

1)本发明通过设置数据采集模块对客户端指令进行接收,并实时采集CPU运行时生成的浮点计算数据信息,通过数据分析模块对浮点计算数据信息进行处理后,通过设置特征提取模块对浮点计算数据信息的特征进行提取,根据浮点计算数据的符号位对其指数位、尾数位以及浮点计算时长特征分类存储在各个数据队列中的主信元以及子信元中,且每个数据队列的子信元中各个浮点计算数据信息的浮点计算时长特征按顺序排列,方便提取最高浮点计算时长,以便后续监测;

2)本发明中通过设置数据调度模块,通过队列调度器向队列管理器发送调度请求,队列管理器生成调度信息并将其传输至浮点寄存器,对相应的浮点计算数据信息特征数据进行调取,在对信息数据调取的过程中,其调度信息数量根据数据队列均匀分布,从而减小了队列调度器的调度负载;

3)本发明中通过设置数据监测模块,通过监测单元中的标记部分对每个数据队列进行标记,并建立与浮点计算数据信息特征相对应的四个子索引号,通过比较部分判断每个数据队列中的最高浮点计算时长是否大于设定阈值,若最高浮点计算时长大于设定阈值,则该数据队列中浮点计算数据信息出现异常,将该数据队列中最高浮点计算时长所对应的浮点计算数据信息传输至服务器数据库中存储为一类日志文件,浮点寄存器对应的数据队列中删除此最高浮点计算时长所对应的浮点计算数据信息,此时数据队列中最高浮点计算时长与设定阈值再次对比,若最高浮点计算时长小于设定阈值,则该数据队列中浮点计算数据信息正常,将其传输至服务器数据库中存储为二类日志文件,此时数据队列中所有浮点计算数据信息全部传输至服务器数据库中进行存储,且数据队列中删除原有浮点计算数据信息,通过对多个数据队列进行监测,提高了监测效率,不需要对每个浮点计算数据信息进行监测,避免造成资源浪费;

4)本发明中通过设置数据恢复模块,在对浮点寄存器中的数据队列信息进行调取时,通过设置的第一统计单元获取目标浮点计算数据信息数据集,通过第二统计单元获取被调取浮点计算数据信息数据集,并将两者通过对比单元进行对比,计算单元根据对比信息计算得出遗漏信息数据,并计算遗漏信息数据与位图中的位图单元的相关性,使得遗漏信息数据存储在对应的位图单元中,通过传输单元,将遗漏信息传输至与其所在位图单元相关联的以及索引号相匹配的二级索引号中,将遗漏信息数据精准插入在对应的数据队列的主信元以及子信元中,当服务器断开连接或其他原因,导致部分浮点计算数据信息丢失时,可对丢失的浮点计算数据信息进行恢复,完善了监测数据,提高了监测结果的精确度。

附图说明

图1为本发明的一种浮点计算性能监测装置的系统框图;

图2为本发明一种浮点计算性能监测装置的监测方法的流程图;

图中:1、数据采集模块;2、特征提取模块;3、数据调度模块;4、数据监测模块;5、数据恢复模块;6、数据分析模块;7、信息查询模块。

具体实施方式

下面结合附图及具体的实施例对本发明进行进一步介绍。

实施例1:如图1-2所示,一种浮点计算性能监测装置,包括:

数据采集模块1:接收由客户端发送的指令,实时采集CPU运行时生成的浮点计算数据信息;

特征提取模块2:包括提取单元,根据数据采集模块1生成的浮点计算数据信息提取浮点计算数据信息特征,预设浮点寄存器,在浮点寄存器中设定数据队列,在数据队列中设置多个主信元,浮点计算数据信息特征分类存储在对应的数据队列的主信元中;

其中,针对多个数据队列建立与其对应的二级索引号,每个浮点计算数据信息特征的四个子索引号均与其所在数据队列的二级索引号相关联(浮点寄存器向数据队列发送无线信号,生成多个单独的第一信令,每个子索引号与二级索引号之间通过相应的第一信令关联);

其中,浮点计算数据信息特征包括浮点计算数据信息的符号位、指数位、尾数位以及浮点计算时长,数据队列有多组,多组数据队列根据浮点计算数据的符号位对其指数位进行分组存储,使其放入对应的主信元中,且每组数据队列中均设定有两个子数据队列,每个子数据队列中均设有多个顺序排列的子信元,对浮点计算数据信息的尾数位以及浮点计算时间进行分类存储,每个子信元与其对应的主信元间均建立关联;

数据调度模块3:包括队列调度器与队列管理器,队列调度器与队列管理器以及浮点寄存器相互连接,队列调度器向队列管理器发送调度请求,队列管理器生成调度信息传输至浮点寄存器,对相应的浮点计算数据信息特征数据进行调取;

数据监测模块4:包括用于对浮点计算数据信息特征进行监测的监测单元,监测单元对浮点计算数据信息特征进行监测,监测单元中设定有阈值,通过对比浮点计算数据信息特征与阈值,判断浮点计算数据信息是否出现异常,并将异常浮点计算数据信息传输至服务器数据库中进行存储;

其中,监测单元中设有标记部分以及比较部分,标记部分用于对每个数据队列进行标记,并建立与浮点计算数据信息特征相对应的四个子索引号,且四个子索引号中相邻两个之间均设有相关性,比较部分用于判断浮点计算时长是否大于阈值;

数据恢复模块5:包括用于获取目标浮点计算数据信息数据集的第一统计单元以及用于获取被调取浮点计算数据信息数据集的第二统计单元,第一统计单元与浮点寄存器相连接,第二统计单元与队列管理器相连接,通过第一统计单元中的目标浮点计算数据信息数据集与第二统计单元中的被调取浮点计算数据信息数据集进行对比,获得遗漏信息数据,设置传输单元,将遗漏信息数据插入其对应所在的队列的主信元中。

其中,数据恢复模块5中设有位图,位图中包括多个位图单元,且每个位图单元具有唯一的一级索引号,每个一级索引号与二级索引号相关联(位图向每个位图单元发送信号指令,建立多个单独的第二信令,每个一级索引号与二级索引号之间通过第二信令关联),遗漏信息数据存储在对应的位图单元中;

其中,数据恢复模块5还包括对比单元以及计算单元,对比单元用于将第一统计单元中的目标浮点计算数据信息数据集与第二统计单元中的被调取浮点计算数据信息数据集进行对比(对比单元提取目标浮点计算数据信息数据集以及被调取浮点计算数据信息数据集中的数据,生成第一数对以及第二数对,且第一数对与第二数对中的数据按顺序排列,通过第一数对与第二数对进行对比,对比时生成的不同数据即为遗漏信息数据),计算单元根据对比信息计算得出遗漏信息数据,并计算遗漏信息数据与位图中的位图单元的相关性(数据恢复模块中的计算单元接收计算机终端发送的信号并生成指令,调取遗漏信息数据,生成对应的第一字符串,并从位图单元中抽样调取位图单元,生成对应的第二字符串,通过计算单元中预设的训练模型对第一字符串与第二字符串进行分析,判断出两者的相关性特征);

其中,还包括数据分析模块6,数据分析模块6用于对浮点计算数据信息进行分析处理(通过数据分析模块中的解析单元对数据进行解析,生成与浮点计算数据信息特征相匹配的数据表格,特征提取模块中的提取单元对对于的数据进行提取),并将经过处理后的数据通过接口传输至特征提取模块2。

其中,还包括信息查询模块7,信息查询模块7包括配置单元、范围确定单元、转换单元以及导出单元,配置单元用于对服务器数据库中源数据与目标查询数据的匹配关系以及数据校验规则进行配置,生成配置文件,范围确定单元用于读取配置文件,并相应数据选择指令,在服务器数据库中确定目标数据范围,转换单元用于执行转换指令,将目标数据的格式与目标查询数据匹配,导出单元用于执行导出指令,将与目标查询数据匹配的目标数据导出。

实施例2:如图2所示,一种浮点计算性能监测装置的监测方法,包括以下步骤:

S1、使用时,用户通过客户端发送指令,数据采集模块1接受指令并实时采集CPU运行时生成的浮点计算数据信息,通过数据分析模块6对浮点计算数据信息进行处理,并将经过处理后的数据通过接口传输至特征提取模块2;

S2、通过特征提取模块2中的提取单元对浮点计算数据信息特征进行提取,并根据浮点计算数据的符号位将浮点计算数据信息的指数位、尾数位以及浮点计算时长分类存储在对应的数据队列、主信元以及子信元中;

S3、通过数据调度模块3中的队列调度器向队列管理器发送调度请求,队列管理器根据调度请求生成调度信息,并将调度信息传输至浮点寄存器,对浮点寄存器中的每个数据队列中的数据进行调取;

S4、通过数据监测模块4中的监测单元对浮点计算数据信息进行监测,通过标记部分对每个数据队列进行标记,并建立与浮点计算数据信息特征相对应的四个子索引号,通过比较部分判断每个数据队列中的最高浮点计算时长是否大于设定阈值(对比单元提取目标浮点计算数据信息数据集以及被调取浮点计算数据信息数据集中的数据,生成第一数对以及第二数对,且第一数对与第二数对中的数据按顺序排列,通过第一数对与第二数对进行对比,对比时生成的不同数据即为遗漏信息数据),当最高浮点计算时长大于设定阈值,则该数据队列中浮点计算数据信息出现异常,将该数据队列中最高浮点计算时长所对应的浮点计算数据信息传输至服务器数据库中存储为一类日志文件,若最高浮点计算时长小于设定阈值,则该数据队列中浮点计算数据信息正常,将其传输至服务器数据库中存储为二类日志文件;其中二类日志文件存储为历史数据,便于后续查找;

a、当最高浮点计算时长大于设定阈值,将该数据队列中最高浮点计算时长所对应的浮点计算数据信息传输至服务器数据库中存储为一类日志文件时,浮点寄存器对应的数据队列中删除此最高浮点计算时长所对应的浮点计算数据信息,此时数据队列中最高浮点计算时长与设定阈值再次对比,按照上述步骤对数据队列中的各个浮点计算数据信息进行对比;

b、当最高浮点计算时长小于设定阈值时,则该数据队列中浮点计算数据信息正常,将其传输至服务器数据库中存储为二类日志文件,此时数据队列中所有浮点计算数据信息全部传输至服务器数据库中进行存储,且数据队列中删除原有浮点计算数据信息;

通过a、b两个步骤判断浮点计算数据信息是否出现异常;

S5、对异常浮点计算数据信息进行查询时,通过信息查询模块7中的配置单元对服务器数据库中源数据与目标查询数据的匹配关系以及数据校验规则进行配置,生成配置文件,范围确定单元读取配置文件,并相应数据选择指令,在服务器数据库一类文件中确定目标数据范围,转换单元执行转换指令,将目标数据的格式与目标查询数据匹配,导出单元执行导出指令,将与目标查询数据匹配的目标数据导出;

S6、当服务器断开连接,致使部分浮点计算数据信息丢失时,通过数据恢复模块中的对比单元,将第一统计单元中的目标浮点计算数据信息数据集与第二统计单元中的被调取浮点计算数据信息数据集进行对比,计算单元根据对比信息计算得出遗漏信息数据,并计算遗漏信息数据与位图中的位图单元的相关性,使得遗漏信息数据存储在对应的位图单元中,通过传输单元,将遗漏信息传输至与其所在位图单元相关联的以及索引号相匹配的二级索引号中,将遗漏信息数据精准插入在对应的数据队列的主信元以及子信元中。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内,因此,本发明的保护范围应以所述权利要求的保护范围为准。

技术分类

06120115632159