一种加速任务处理方法、装置、设备及可读存储介质与流程

文档序号:25420210发布日期:2021-06-11 21:31阅读:46来源:国知局
一种加速任务处理方法、装置、设备及可读存储介质与流程

本发明涉及加速卡领域,特别是涉及一种加速任务处理方法,本发明还涉及一种加速任务处理装置、设备及计算机可读存储介质。



背景技术:

随着大数据、ai(artificialintelligence,人工智能)以及5g等新兴产业的迅速发展,各式应用场景层出不群,存储计算系统当中的cpu的处理压力持续增大,因此出现了各种各样的硬件加速卡,这些加速卡可以通过pcie(peripheralcomponentinterconnectexpress,高速串行计算机扩展总线标准)等通用高速数据接口连接于主板的cpu,用以承载原来由cpu负责执行的部分计算任务。

在对加速卡进行性能调优或者问题溯源时,需要分析加速卡执行加速任务时各个阶段所用的时长,现有技术中通常由工作人员到现场利用专用外部工具测试加速任务的各个阶段所用时长,且由于实时性较差,针对某些小概率发生的问题更是需要反复尝试进行捕捉,工作效率较差且人力成本较高。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种加速任务处理方法,提高了工作效率且降低了人力成本;本发明的另一目的是提供一种加速任务处理装置、设备及计算机可读存储介质,提高了工作效率且降低了人力成本。

为解决上述技术问题,本发明提供了一种加速任务处理方法,应用于加速卡,包括:

获取cpu下发的加速任务请求;

根据所述加速任务请求执行加速任务并记录所述加速任务中各个预设阶段的执行时长;

将所述加速任务的执行结果以及所述执行时长反馈至所述cpu。

优选地,所述获取cpu下发的加速任务请求具体为:

接收加速引擎管理单元aem发送的其从cpu获取的加速任务请求以及所述aem获取所述加速任务请求所用的获取时长;

则所述将所述加速任务的执行结果以及所述执行时长反馈至所述cpu具体为:

将所述加速任务的执行结果、所述获取时长以及所述执行时长,通过所述aem反馈至所述cpu。

优选地,所述将所述加速任务的执行结果、所述获取时长以及所述执行时长,通过所述aem反馈至所述cpu具体为:

将所述加速任务的执行结果、所述获取时长以及所述执行时长分别添加至响应包中的指定位置;

通过所述aem将所述响应包反馈至所述cpu。

优选地,应用于所述加速卡中的各个加速引擎;

其中,所述aem以及各个所述加速引擎中均具备用于时间计量的本地计时器,各个所述本地计时器共用同一时钟源以及清零信号。

优选地,所述获取cpu下发的加速任务请求之后,所述根据所述加速任务请求执行加速任务并记录所述加速任务中各个预设阶段的执行时长之前,该加速任务处理方法还包括:

判断时延测试功能是否开启;

若是,则执行所述根据所述加速任务请求执行加速任务并记录所述加速任务中各个预设阶段的执行时长的步骤;

否则仅根据所述加速任务请求执行加速任务并将所述加速任务的执行结果反馈至所述cpu;

该加速任务处理方法还包括:

响应于时延测试功能开启指令,开启自身的时延测试功能;

响应于时延测试功能关闭指令,关闭自身的时延测试功能。

优选地,该加速任务处理方法还包括:

在时延测试功能开启的状态下,响应于颗粒度配置指令,从分别具有不同数量所述预设阶段的若干个预设方案中,应用所述颗粒度配置指令指定的所述预设方案。

优选地,所述颗粒度配置指令、所述时延测试功能开启指令以及所述时延测试功能关闭指令均为:

通过与所述cpu连接的人机交互装置发送的指令。

为解决上述技术问题,本发明还提供了一种加速任务处理装置,应用于加速卡,包括:

获取模块,用于获取cpu下发的加速任务请求;

执行模块,用于根据所述加速任务请求执行加速任务并记录所述加速任务中各个预设阶段的执行时长;

反馈模块,用于将所述加速任务的执行结果以及所述执行时长反馈至所述cpu。

为解决上述技术问题,本发明还提供了一种加速任务处理设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述加速任务处理方法的步骤。

为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述加速任务处理方法的步骤。

本发明提供了一种加速任务处理方法,本申请中的加速卡在执行加速任务时,便可以同步记录加速任务中各个预设阶段的执行时长,最后可以将加速任务的执行结果以及记录的执行时长均反馈至cpu,如此一来cpu便可以得到所下发的加速任务中各阶段的执行时长,一方面无需工作人员到现场进行测试,另一方面若加速任务的执行出现问题,也可以直接得到出现问题的此次执行过程中各阶段的执行时长进行分析,无需进行问题的复现,提高了工作效率且降低了人力成本。

本发明还提供了一种加速任务处理装置、设备及计算机可读存储介质,具有如上加速任务处理方法相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种加速任务处理方法的流程示意图;

图2为本发明提供的一种加速任务处理装置的结构示意图;

图3为本发明提供的一种加速任务处理设备的结构示意图。

具体实施方式

本发明的核心是提供一种加速任务处理方法,提高了工作效率且降低了人力成本;本发明的另一核心是提供一种加速任务处理装置、设备及计算机可读存储介质,提高了工作效率且降低了人力成本。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明提供的一种加速任务处理方法的流程示意图,该加速任务处理方法包括:

步骤s1:获取cpu下发的加速任务请求;

具体的,想要进行加速任务的处理,那么就需要首先获取加速任务请求,cpu通常会先将加速任务请求(req)存入ddr(doubledatarate,双倍速率同步动态随机存储器)中,然后通知加速卡来获取req,加速卡上的aem(accelerationenginemanager,加速引擎管理模块)在收到通知后,通过配置pciedma(directmemoryaccess,直接存储器访问)从主机cpu的drr上将req取回,并依据加速任务请求的类型、配置以及各个加速引擎的忙/闲状态将加速任务请求下发到某个引擎任务队列中。

其中,加速任务请求中主要包含待处理数据块的大小/地址信息、处理算法配置信息以及与该请求对应的响应写回地址等,以便加速卡根据其进行加速任务的执行,本发明实施例在此不做限定。

步骤s2:根据加速任务请求执行加速任务并记录加速任务中各个预设阶段的执行时长;

具体的,考虑到如上背景技术中的技术问题,本发明实施例中的加速卡在执行加速任务的过程中,便会同步地记录此次加速任务过程中各个阶段的执行时长,并将其作为后续步骤的数据基础,以便对此次加速任务的具体过程进行时间长度上的分析。

其中,各个预设阶段可以为多种类型,例如加速任务请求的解析阶段以及加速任务的执行阶段等,本发明实施例在此不做限定。

具体的,在记录执行时长时,可以有多种记录方式,例如可以分别记录每个阶段的开始时刻以及结束时刻,也可以直接将每个阶段的开始时刻以及结束时刻得到每个阶段的执行时长,本发明实施例在此不做限定。

步骤s3:将加速任务的执行结果以及执行时长反馈至cpu。

具体的,由于加速卡已经记录了加速任务执行过程中各阶段的执行时长,因此在其将执行结果反馈给cpu的时候,可以一并将执行时长反馈至cpu,从而在加速任务的处理过程中同步完成了各阶段执行时长的检测,并且该过程无需人工参与,实时性较强,可以在加速任务遇到问题时直接通过该加速任务的执行时长进行问题溯源,无需进行问题复现,提高了工作效率并降低了人力成本。

具体的,在反馈执行结果以及执行时长时,也可以通过pcie总线进行反馈,本发明实施例在此不做限定。

本发明提供了一种加速任务处理方法,本申请中的加速卡在执行加速任务时,便可以同步记录加速任务中各个预设阶段的执行时长,最后可以将加速任务的执行结果以及记录的执行时长均反馈至cpu,如此一来cpu便可以得到所下发的加速任务中各阶段的执行时长,一方面无需工作人员到现场进行测试,另一方面若加速任务的执行出现问题,也可以直接得到出现问题的此次执行过程中各阶段的执行时长进行分析,无需进行问题的复现,提高了工作效率且降低了人力成本。

在上述实施例的基础上:

作为一种优选的实施例,获取cpu下发的加速任务请求具体为:

接收加速引擎管理单元aem发送的其从cpu获取的加速任务请求以及aem获取加速任务请求所用的获取时长;

则将加速任务的执行结果以及执行时长反馈至cpu具体为:

将加速任务的执行结果、获取时长以及执行时长,通过aem反馈至cpu。

具体的,由于加速引擎有多个,aem可以负责进行加速任务请求的分派,以便提高加速任务的执行效率并选择合适的加速引擎进行相应加速任务的执行。

其中,考虑到aem也属于加速卡的一部分,因此在进行加速任务在加速卡上的各阶段时长的分析时,将aem获取加速任务的获取时长记录下来反馈至cpu,可以提高分析的全面性。

具体的,aem记录获取时长可以有多种具体方式,例如可以为分别记录开始获取以及获取结束两个时刻的绝对时间,也可以直接根据两个绝对时间计算出获取时长并进行记录等,本发明实施例在此不做限定。

具体的,值得一提的是,cpu在获取到获取时长以及执行时长后便可以根据两者得到加速任务在加速卡内绝对的时间坐标信息,从而进行性能调优或者问题溯源,并且cpu还可以将获取时长以及执行时长直接发送给网络终端以便远程的工作人员进行数据获取,当然也可以直接将加速任务的时间坐标信息以及分析结果直接发送给网络终端,本发明实施例在此不做限定。

作为一种优选的实施例,将加速任务的执行结果、获取时长以及执行时长,通过aem反馈至cpu具体为:

将加速任务的执行结果、获取时长以及执行时长分别添加至响应包中的指定位置;

通过aem将响应包反馈至cpu。

具体的,考虑到在进行执行结果反馈的时候,加速引擎通常要将执行结果添加到响应包中,因此为了提高工作效率,本发明实施例中的加速引擎也可以直接将获取时长以及执行时长分别添加至响应包中的指定位置,并通过aem将响应包反馈至cpu。

当然,除了该种方式外,还可以将获取时长以及执行时长通过独立于响应包的方式进行反馈,本发明实施例在此不做限定。

作为一种优选的实施例,应用于加速卡中的各个加速引擎;

其中,aem以及各个加速引擎中均具备用于时间计量的本地计时器,各个本地计时器共用同一时钟源以及清零信号。

具体的,为了使得aem以及各个加速引擎能够具有统一的时钟,且为了拓扑结构的简洁性,本发明实施例中的aem以及各个加速引擎中均具备用于时间计量的本地计时器,各个本地计时器共用同一时钟源以及清零信号,如此一来在加速卡的初始化过程中各个本地计时器均能够从统一零点按照相同的时钟源进行时间计量。

其中,本地计时器可以为多种类型,例如可以为ust(universalstamptimer,全局时间戳定时器)等,本发明实施例在此不做限定。

当然,除了该种计时器布局外,计时器布局外还可以为:仅设置一个ust,aem以及所有的加速引擎均通过采样该唯一ust的方式来进行时间的计量,本发明实施例在此不做限定。

其中,计时器的位宽可以为多种类型,例如可以为64位等,本发明实施例在此不做限定。

作为一种优选的实施例,获取cpu下发的加速任务请求之后,根据加速任务请求执行加速任务并记录加速任务中各个预设阶段的执行时长之前,该加速任务处理方法还包括:

判断时延测试功能是否开启;

若是,则执行根据加速任务请求执行加速任务并记录加速任务中各个预设阶段的执行时长的步骤;

否则仅根据加速任务请求执行加速任务并将加速任务的执行结果反馈至cpu;

该加速任务处理方法还包括:

响应于时延测试功能开启指令,开启自身的时延测试功能;

响应于时延测试功能关闭指令,关闭自身的时延测试功能。

具体的,考虑到执行时长的获取必然会在一定程度上增加数据传输压力以及加速引擎的数据处理压力,因此在某些不需要的情况下,可以将“对于执行时长以及获取时长的获取功能”关闭,因此本发明实施例中的加速卡可以响应于时延测试功能开启指令,开启自身的时延测试功能,还可以响应于时延测试功能关闭指令,关闭自身的时延测试功能,增加了时延测试功能开关的灵活性。

作为一种优选的实施例,该加速任务处理方法还包括:

在时延测试功能开启的状态下,响应于颗粒度配置指令,从分别具有不同数量预设阶段的若干个预设方案中,应用颗粒度配置指令指定的预设方案。

具体的,考虑到不同情况下对于加速任务中各阶段执行时长的获取需求有所差别,例如某些情况下仅仅要求获取从加速引擎接收到处理任务请求到加速引擎执行完毕加速任务之间的总阶段时长,也有些情况下需要获取其中细分的各个阶段的执行时长,因此为了满足不同的需求以尽可能地提高资源利用率,本发明实施例中可以响应于颗粒度配置指令,从分别具有不同数量预设阶段的若干个预设方案中,应用颗粒度配置指令指定的预设方案。

其中,预设方案可以进行预先自主设定,其可以为多种类型,本发明实施例在此不做限定。

作为一种优选的实施例,颗粒度配置指令、时延测试功能开启指令以及时延测试功能关闭指令均为:

通过与cpu连接的人机交互装置发送的指令。

具体的,用户通过人机交互装置可以将颗粒度配置指令、时延测试功能开启指令以及时延测试功能关闭指令发送至cpu,cpu进而便会将指令转发至指定的加速卡,且通常cpu端本身连接有人机交互装置,因此本发明实施例中的指令发送方式无需添置额外的硬件,节约了成本。

当然,除了该种方式生成的指令外,上述指令的生成方式还可以为其他多种类型,本发明实施例在此不做限定。

为了更好地对本发明实施例进行说明,请参考图2,图2为本发明提供的一种加速任务处理装置的结构示意图,该加速任务处理装置应用于加速卡,包括:

获取模块1,用于获取cpu下发的加速任务请求;

执行模块2,用于根据加速任务请求执行加速任务并记录加速任务中各个预设阶段的执行时长;

反馈模块3,用于将加速任务的执行结果以及执行时长反馈至cpu。

对于本发明实施例提供的加速任务处理装置的介绍请参照前述的加速任务处理方法的实施例,本发明实施例在此不再赘述。

为了更好地对本发明实施例进行说明,请参考图3,图3为本发明提供的一种加速任务处理设备的结构示意图,该加速任务处理设备应用于加速卡,包括:

存储器4,用于存储计算机程序;

处理器5,用于执行计算机程序时实现如前述实施例中加速任务处理方法的步骤。

对于本发明实施例提供的加速任务处理设备的介绍请参照前述的加速任务处理方法的实施例,本发明实施例在此不再赘述。

为解决上述技术问题,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述实施例中加速任务处理方法的步骤。

对于本发明实施例提供的计算机可读存储介质的介绍请参照前述的加速任务处理方法的实施例,本发明实施例在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1