CN110908797B - 调用请求数据处理方法、装置、设备、存储介质及系统 - Google Patents
调用请求数据处理方法、装置、设备、存储介质及系统 Download PDFInfo
- Publication number
- CN110908797B CN110908797B CN201911082331.3A CN201911082331A CN110908797B CN 110908797 B CN110908797 B CN 110908797B CN 201911082331 A CN201911082331 A CN 201911082331A CN 110908797 B CN110908797 B CN 110908797B
- Authority
- CN
- China
- Prior art keywords
- kernel
- fpga
- request data
- call request
- requests
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种调用请求数据处理方法、装置、设备、计算机可读存储介质及系统。其中,方法应用于预先构建的FPGA归一化调度模块,包括接收主机端发送的FPGA调用请求数据,该调用请求数据为多个内核请求;根据各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序;将分类排序后的内核请求放入至FPGA归一化调度模块的缓存池中,以使FPGA板卡从缓存池中并行调用各类别内核请求进行数据处理,从而提高了FPGA处理多kernel数据的速度,提升FPGA板卡性能,减少主机端对关联数据的等待时间,提高异构计算平台的数据处理效率。
Description
技术领域
本申请例涉及异构计算平台数据处理技术领域,特别是涉及一种调用请求数据处理方法、装置、设备、计算机可读存储介质及系统。
背景技术
FPGA(Field-Programmable Gate Array,现场可编程门阵列)为在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,是一种新型的异构计算平台加速器件,由可编程的逻辑块和互联网络组成,可在不同逻辑下执行多个线程,实现流水线并行处理,具有较强的并行处理能力。FPGA在大数据处理领域具有诸多优势,如采用流水线方式实现并行计算、低功耗、动态可重构等。
异构计算为指使用不同类型指令集和体系架构的计算单元组成系统平台的计算方式,能够根据每一个计算子系统的结构特点为其分配不同的计算任务,常见的计算单元有中央处理器CPU、图形处理器GPU、数字信号处理DSP、专用集成电路ASIC、FPGA等。比如CPU和FPGA之间的“协同计算、彼此加速”,从而突破CPU发展的瓶颈,由CPU和FPGA构成的异构计算平台可提高服务器的计算性能、能效比和计算实时性。
在CPU和FPGA组成的异构计算平台中,通常一个FPGA中有多个不同功能的内核kernel。主机端(即CPU端)向FPGA发送调用FPGA调用请求后,一般都是按照调用请求的先后顺序,调用FPGA进行处理。
但是,由于FPGA中有些kernel模块被请求调用频繁,另一些kernel被请求调用次数相对较少,这些请求数据通常会混杂在一起,如果按照调用请求的先后顺序调用FPGA,FPGA将不能并行执行多kernel的请求数据,导致FPGA的总体执行性能下降。
发明内容
本公开提供了一种调用请求数据处理方法、装置、设备、计算机可读存储介质及系统,极大提高了FPGA处理多kernel数据的速度,提升FPGA板卡性能,减少主机端对关联数据的等待时间,提高异构计算平台的数据处理效率。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种调用请求数据处理方法,应用于预先构建的FPGA归一化调度模块,包括:
接收主机端发送的FPGA调用请求数据,所述FPGA调用请求数据为多个内核请求;
根据各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序;
将分类排序后的内核请求发送至所述FPGA归一化调度模块的缓存池中,以使所述FPGA板卡从所述缓存池中并行调用各类别内核请求进行数据处理。
可选的,所述根据各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序包括:
将各内核请求按照所属内核类进行分类;
对同一内核类的内核请求按照请求数据间的依赖关系进行排序;
对不同内核类的内核请求按照内核逻辑间的先后顺序进行排序。
可选的,所述接收主机端发送的FPGA调用请求数据包括:
接收主机端发送的FPGA调用请求数据,同时进行计时;
每接收到的一个FPGA调用请求数据,则将当前FPGA调用请求数据的各内核请求发送至预先构建的请求队列中;
当检测到计时时长为预设时长,则触发根据所述请求队列中各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序的操作。
可选的,所述将分类排序后的内核请求发送至所述FPGA归一化调度模块的缓存池中之后,还包括:
判断是否接收到所述FPGA板卡返回数据请求已处理的反馈结果;
若是,则为所述缓存池中相应的内核请求设置已处理标识信息;
若否,则主动向所述FPGA板卡发送相应内核请求加急处理的请求信息,并在所述缓存池中为相应内核请求设置最高优先级,以被所述FPGA板卡按照优先级顺序优先调用。
可选的,所述为所述缓存池中相应的内核请求设置已处理标识信息之后,还包括:
按照预设频率定期删除所述缓存池中设置已处理标识信息的内核请求。
本发明实施例另一方面提供了一种调用请求数据处理方法装置,设置在预先构建的FPGA归一化调度模块,包括:
请求接收子模块,用于接收主机端发送的FPGA调用请求数据,所述FPGA调用请求数据为多个内核请求;
分类排序子模块,用于根据各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序;
入池子模块,用于将分类排序后的内核请求发送至所述FPGA归一化调度模块的缓存池中,以使所述FPGA板卡从所述缓存池中并行调用各类别请求数据进行处理。
本发明实施例还提供了一种调用请求数据处理设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述调用请求数据处理方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有调用请求数据处理程序,所述调用请求数据处理程序被处理器执行时实现如前任一项所述调用请求数据处理方法的步骤。
本发明实施例最后还提供了一种调用请求数据处理系统,包括主机、FPGA板卡及FPGA归一化调度模块;所述主机和所述FPGA板卡构成异构计算平台;
所述主机将FPGA调用请求数据发送至所述FPGA归一化调度模块;所述FPGA归一化调度模块用于执行存储器中存储的计算机程序时实现如上任一项所述调用请求数据处理方法的步骤;所述FPGA板卡从所述FPGA归一化调度模块的缓存池中并行调用各类别的内核请求进行数据处理。
可选的,所述FPGA归一化调度模块设置在所述FPGA板卡中或设置在所述主机端。
本申请提供的技术方案的优点在于,主机端申请的FPGA调用请求被FPGA归一化调度模块接收,而并非直接将被FPGA板卡接收,然后FPGA归一化调度模块对请求数据进行分类排序后放入自身的缓存池中,FPGA板卡可从缓存池中可并行处理分类排序后的不同类别的内核数据,也就是说,FPGA板卡充分利用自身并行计算的优势同时处理主机端的多个内核请求,解决了相关技术中FPGA板卡按照请求先后顺序执行主机端的调用请求导致数据处理较慢且FPGA板卡性能受限的弊端,能极大提高FPGA处理多内核数据的速度,减少主机端对关联数据的等待时间,增强FPGA板卡性能,提高异构计算平台的数据处理效率。
此外,本发明实施例还针对调用请求数据处理方法提供了相应的实现装置、设备及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、设备及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种调用请求数据处理方法的流程示意图;
图2为本发明实施例提供的另一种调用请求数据处理方法的流程示意图;
图3为本发明实施例提供的一种内核请求分类排序流程示意图;
图4为本发明实施例提供的一种调用请求数据处理方法的交互流程示意图;
图5为本发明实施例提供的调用请求数据处理装置的一种具体实施方式结构图;
图6为本发明实施例提供的调用请求数据处理系统的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种调用请求数据处理方法的流程示意图,应用于预先构建的FPGA归一化调度模块,本发明实施例可包括以下内容:
S101:接收主机端发送的FPGA调用请求数据。
在本申请中,FPGA归一化调度模块统一接收主机端原本发送给FPGA的FPGA调用请求数据,也就是说,主机端申请的FPGA调用请求数据并不直接发送给FPGA板卡,而是发送至FPGA归一化调度模块中,如图2所示,FPGA调用请求数据为由3个kernel1 request和2个kernel2 request组成,FPGA调用请求数据发送FPGA归一化调度模块,然后FPGA板卡从FPGA归一化调度模块中获取数据进行处理。FPGA调用请求数据可为多个内核请求,也可为单个内核请求,内核请求也即为kernel request。
S102:根据各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序。
可以理解的是,不同的内核请求所属类不同,可以将各内核请求按照所属内核类进行分类。举例来说,单个kernel,例如只有kernel1请求,只分为一个类,也即不需要进行分类,对多个kernel,例如有kernel1请求和kernel2请求,可将kernel1请求和kernel2请求按照所属kernel进行分类。对同一内核类的内核请求可按照请求数据间的依赖关系进行排序;对不同内核类的内核请求可按照内核逻辑间的先后顺序进行排序。举例来说,kernel21请求、kernel22请求及kernel23请求为属于同一类别的kernel请求,kernel22的执行结果为kernel23的输入,而kernel21的执行同时需要kernel22请求和kernel23请求的执行结果,所以可将kernel21请求、kernel22请求及kernel23排序为kernel22请求、kernel23请求、kernel21请求。kernel21请求、kernel32为属于不同类别的kernel请求,而要想执行kernel32,需要先执行kernel21,所以可将kernel21请求、kernel32请求排序为kernel21、kernel32。
S103:将分类排序后的内核请求发送至FPGA归一化调度模块的缓存池中,以使FPGA板卡从缓存池中并行调用各类别内核请求进行数据处理。
为了便于本领域技术人员更好的理解本申请技术方案,本申请还以具体实例进行阐述说明,如图3所示。FPGA调用请求数据为由kernel1-0 request、kernel2-0 request、kernel1-1 request、kernel2-1request、kernel1-2 request构成,根据各内核请求所属类将各内核请求分为第一类kernel1和第二类kernel2,第一类kernel1包括kernel1-0request、kernel1-1 request和kernel1-2 request;第二类kernel2包括kernel2-0request和kernel2-1 request,然后对第一类和第二类进行排序,排序后放到缓存池中,FPGA板卡可以从缓存池中并行执行kernel1和kernel2。
需要说明的是,FPGA归一化调度模块可承载在主机端,也可设置在FPGA板卡中,还可承载在任何一台可与主机和FPGA板卡进行通信的终端设备中,该终端设备中设置有存储器,存储器中存储实现调用请求数据处理方法的计算机程序,FPGA归一化调度模块通过执行计算机程序来实现调用请求数据处理。
在本发明实施例提供的技术方案中,主机端申请的FPGA调用请求被FPGA归一化调度模块接收,而并不直接将调用请求发送至FPGA板卡,然后FPGA归一化调度模块对请求数据进行分类排序后放入自身的缓存池中,FPGA板卡可从缓存池中可并行处理分类排序后的不同类别的内核数据,也就是说,FPGA板卡充分利用自身并行计算的优势同时处理主机端的多个内核请求,解决了相关技术中FPGA板卡按照请求先后顺序执行主机端的调用请求导致数据处理较慢且FPGA板卡性能受限的弊端,能极大提高FPGA处理多内核数据的速度,减少主机端对关联数据的等待时间,增强FPGA板卡性能,提高异构计算平台的数据处理效率。
作为一种可选的实施方式,为了简化FPGA归一化调度模块的数据处理程序,可同时对主机端发送的多个FPGA调用请求数据进行分类排序操作,但是兼顾到FPGA板卡处理数据效率,避免主机端等待数据结果时间较长,可根据实际应用场景确定对FPGA调用请求数据进行分类排序的频率,例如每2s可进行一次分类排序,也就是说,在2S内,每接收到主机端发送的一个FPGA调用请求数据,可将其先缓存在FPGA归一化调度模块本地,在到达2s时,同时对这2s收到的FPGA调用请求数据进行统一的分类排序操作,也就是说,S101的一种具体实施方式可为:
接收主机端发送的FPGA调用请求数据,同时进行计时;例如可通过设置定时器的方式来实现计时功能。
每接收到的一个FPGA调用请求数据,则将当前FPGA调用请求数据的各内核请求发送至预先构建的请求队列中。
当检测到计时时长为预设时长,例如可用过倒计时的方法,在当前计算器时间为0时,可触发根据请求队列中各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序的操作。
作为另外一种可选的实施方式,为了保证FPGA板卡可处理主机端发送的所有的调用请求,避免遗漏,可设置FPGA板卡实时返回数据处理结果,基于上述实施,还可包括:
判断是否接收到FPGA板卡返回数据请求已处理的反馈结果,例如在将内核请求1放入数据池后,可在3s内判断是否收到FPGA板卡返回内核请求1已处理的反馈结果。
若是,则为缓存池中相应的内核请求设置已处理标识信息;若在3s内,收到FPGA板卡返回内核请求1已处理的反馈结果,则为内核请求1设置已处理标识信息,内核请求在放入缓存池时设置标志位0,当收到FPGA板卡返回内核请求已处理的反馈结果,自动将标志位变为1,这样根据缓存池中每个内核请求的标志位来检测是否已被FPGA板卡执行。
若否,则主动向FPGA板卡发送相应内核请求加急处理的请求信息,并在缓存池中为相应内核请求设置最高优先级,以被FPGA板卡按照优先级顺序优先调用。FPGA板卡在调用缓存池中的内核请求时,可先判断缓存池中是否存在最高优先级的内核请求,若是,则优先调用这些内核请求。
此外,为了提高FPGA归一化调度模块的空间利用率,降低无用信息占用大量空间容量,还按照预设频率定期删除缓存池中设置已处理标识信息的内核请求,例如每个24h定期删除缓存池中设置已处理标识信息的内核请求。
基于上述实施,请参见图4,图4为本发明实施例提供的一种调用请求数据处理方法的交互流程示意图,本发明实施例例如可应用于FPGA板卡的服务器,具体的可包括以下内容:
S401:主机端发送的FPGA调用请求数据。
S402:FPGA归一化调度模块接收主机端发送的FPGA调用请求数据。
S403:FPGA归一化调度模块根据各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序;将分类排序后的内核请求发送至缓存池中。
S404:FPGA板卡从FPGA归一化调度模块的缓存池中并行调用各类别的内核请求进行数据处理。
S405:FPGA板卡向主机端返回数据处理结果。
此处,FPGA板卡向主机端返回的数据处理结果,可为主机端调用FPGA板卡的请求数据的执行结果,也即是FPGA计算FPGA调用请求数据的结果,例如FPGA调用请求数据为图像分割,则数据处理结果即为原始图像分割为的多个子图像。
S406:FPGA板卡向FPGA归一化调度模块返回数据处理结果。
此处,FPGA板卡向FPGA归一化调度模块返回数据处理结果,既可为主机端调用FPGA板卡的请求数据的执行结果,也可为仅仅为FPGA板卡返回数据请求已处理的反馈结果,也就是说,FPGA板卡在成功从缓存池中读出内核请求后,便可直接返回数据请求已处理的反馈结果,也可在将内核请求利用自身算法计算完成后将计算得到的结果返回或者是返回数据请求已处理,这均不影响本申请的实现。
本发明实施例与上述实施例相同步骤或方法可参阅上述实施例的描述,此处,便不再赘述。
由上可知,本发明实施例极大提高了FPGA处理多kernel数据的速度,提升FPGA板卡性能,减少主机端对关联数据的等待时间,提高异构计算平台的数据处理效率。
本发明实施例还针对调用请求数据处理方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的调用请求数据处理装置进行介绍,下文描述的调用请求数据处理装置与上文描述的调用请求数据处理方法可相互对应参照。
参见图5,图5为本发明实施例提供的调用请求数据处理装置在一种具体实施方式下的结构图,应用于预先构建的FPGA归一化调度模块,该装置可包括:
请求接收子模块501,用于接收主机端发送的FPGA调用请求数据,FPGA调用请求数据为多个内核请求。
分类排序子模块502,用于根据各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序。
入池子模块503,用于将分类排序后的内核请求发送至FPGA归一化调度模块的缓存池中,以使FPGA板卡从缓存池中并行调用各类别请求数据进行处理。
可选的,在本实施例的一些实施方式中,所述分类排序子模块502例如还可以包括:
分类单元,用于将各内核请求按照所属内核类进行分类;
第一排序单元,用于对同一内核类的内核请求按照请求数据间的依赖关系进行排序;
第二排序单元,用于对不同内核类的内核请求按照内核逻辑间的先后顺序进行排序。
在本实施例的另一些实施方式中,所述请求接收子模块501例如还可以包括:
计时单元,用于当接收主机端发送的FPGA调用请求数据时,进行计时;
请求入队单元,用于每接收到的一个FPGA调用请求数据,则将当前FPGA调用请求数据的各内核请求发送至预先构建的请求队列中;
触发单元,用于当检测到计时时长为预设时长,则触发根据所述请求队列中各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序的操作。
作为一种可选的实施方式,所述装置还可包括入池后处理子模块,所述入池后处理子模块包括:
判断单元,用于判断是否接收到FPGA板卡返回数据请求已处理的反馈结果;
标识设置单元,用于若接收到FPGA板卡返回数据请求已处理的反馈结果,则为缓存池中相应的内核请求设置已处理标识信息;若没有接收到FPGA板卡返回数据请求已处理的反馈结果,则主动向FPGA板卡发送相应内核请求加急处理的请求信息;
优先级设置单元,用于若没有接收到FPGA板卡返回数据请求已处理的反馈结果,则在缓存池中为相应内核请求设置最高优先级。
此外,所述入池后处理子模块还可包括定期清理单元,用于按照预设频率定期删除缓存池中设置已处理标识信息的内核请求。
本发明实施例所述调用请求数据处理装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例极大提高了FPGA处理多kernel数据的速度,提升FPGA板卡性能,减少主机端对关联数据的等待时间,提高异构计算平台的数据处理效率。
本发明实施例还提供了一种调用请求数据处理设备,具体可包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如上任意一实施例所述调用请求数据处理方法的步骤。
本发明实施例所述调用请求数据处理设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例极大提高了FPGA处理多kernel数据的速度,提升FPGA板卡性能,减少主机端对关联数据的等待时间,提高异构计算平台的数据处理效率。
本发明实施例还提供了一种计算机可读存储介质,存储有调用请求数据处理程序,所述调用请求数据处理程序被处理器执行时如上任意一实施例所述调用请求数据处理方法的步骤。该存储介质可以为U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例极大提高了FPGA处理多kernel数据的速度,提升FPGA板卡性能,减少主机端对关联数据的等待时间,提高异构计算平台的数据处理效率。
本发明实施例还提供了一种调用请求数据处理系统,参见图6,可包括:
调用请求数据处理系统可包括主机61、FPGA板卡62及FPGA归一化调度模块63,主机61和FPGA板卡62构成异构计算平台。
主机61将FPGA调用请求数据发送至FPGA归一化调度模块63;FPGA归一化调度模块63用于执行存储器中存储的计算机程序时实现如上任一项调用请求数据处理方法的步骤;FPGA板卡62从FPGA归一化调度模块63的缓存池中并行调用各类别的内核请求进行数据处理。
本发明实施例所述FPGA归一化调度模块的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
作为一种优选的实施方式,FPGA归一化调度模块63既可设置在FPGA板卡62中,也可设置在主机61中,还可以设置在任何一个终端设备上,例如服务器、云数据平台、台式电脑或可移动智能终端设备手机、平板,本申请对此并不做任何限定,FPGA归一化调度模块63与主机61、FPGA62既可以进行有线通信,也可以进行无线通信,如wifi,这均不影响本申请的实现。
上述系统内的各单元之间的信息交互、执行过程等内容,由于与方法实施例基于同一构思,具体内容可参见方法实施例中的叙述,此处,便不再赘述。
由上可知,本发明实施例极大提高了FPGA处理多kernel数据的速度,提升FPGA板卡性能,减少主机端对关联数据的等待时间,提高异构计算平台的数据处理效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种调用请求数据处理方法、装置、设备、计算机可读存储介质及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本公开进行若干改进和修饰,这些改进和修饰也落入本公开权利要求的保护范围内。
Claims (8)
1.一种调用请求数据处理方法,其特征在于,应用于预先构建的FPGA归一化调度模块,包括:
接收主机端发送的FPGA调用请求数据,所述FPGA调用请求数据为多个内核请求;
根据各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序;
将分类排序后的内核请求发送至所述FPGA归一化调度模块的缓存池中,以使FPGA板卡从所述缓存池中并行调用各类别内核请求进行数据处理;
其中,所述根据各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序包括:
将各内核请求按照所属内核类进行分类;
对同一内核类的内核请求按照请求数据间的依赖关系进行排序;
对不同内核类的内核请求按照内核逻辑间的先后顺序进行排序;
其中,所述接收主机端发送的FPGA调用请求数据包括:
接收主机端发送的FPGA调用请求数据,同时进行计时;
每接收到的一个FPGA调用请求数据,则将当前FPGA调用请求数据的各内核请求发送至预先构建的请求队列中;
当检测到计时时长为预设时长,则触发根据所述请求队列中各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序的操作。
2.根据权利要求1所述的调用请求数据处理方法,其特征在于,所述将分类排序后的内核请求发送至所述FPGA归一化调度模块的缓存池中之后,还包括:
判断是否接收到所述FPGA板卡返回数据请求已处理的反馈结果;
若是,则为所述缓存池中相应的内核请求设置已处理标识信息;
若否,则主动向所述FPGA板卡发送相应内核请求加急处理的请求信息,并在所述缓存池中为相应内核请求设置最高优先级,以被所述FPGA板卡按照优先级顺序优先调用。
3.根据权利要求2所述的调用请求数据处理方法,其特征在于,所述为所述缓存池中相应的内核请求设置已处理标识信息之后,还包括:
按照预设频率定期删除所述缓存池中设置已处理标识信息的内核请求。
4.一种调用请求数据处理装置,其特征在于,设置在预先构建的FPGA归一化调度模块,包括:
请求接收子模块,用于接收主机端发送的FPGA调用请求数据,所述FPGA调用请求数据为多个内核请求;
分类排序子模块,用于根据各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序;
入池子模块,用于将分类排序后的内核请求发送至所述FPGA归一化调度模块的缓存池中,以使所述FPGA板卡从所述缓存池中并行调用各类别请求数据进行处理;
其中,所述分类排序子模块进一步用于:将各内核请求按照所属内核类进行分类;对同一内核类的内核请求按照请求数据间的依赖关系进行排序;对不同内核类的内核请求按照内核逻辑间的先后顺序进行排序;
所述请求接收子模块进一步用于:接收主机端发送的FPGA调用请求数据,同时进行计时;每接收到的一个FPGA调用请求数据,则将当前FPGA调用请求数据的各内核请求发送至预先构建的请求队列中;当检测到计时时长为预设时长,则触发根据所述请求队列中各内核请求所属内核类、内核逻辑间的先后顺序及请求数据间的依赖关系对各内核请求进行分类排序的操作。
5.一种调用请求数据处理设备,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至3任一项所述调用请求数据处理方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有调用请求数据处理程序,所述调用请求数据处理程序被处理器执行时实现如权利要求1至3任一项所述调用请求数据处理方法的步骤。
7.一种调用请求数据处理系统,其特征在于,包括主机、FPGA板卡及FPGA归一化调度模块;所述主机和所述FPGA板卡构成异构计算平台;
所述主机将FPGA调用请求数据发送至所述FPGA归一化调度模块;所述FPGA归一化调度模块用于执行存储器中存储的计算机程序时实现如权利要求1至3任一项所述调用请求数据处理方法的步骤;所述FPGA板卡从所述FPGA归一化调度模块的缓存池中并行调用各类别的内核请求进行数据处理。
8.根据权利要求7所述的调用请求数据处理系统,其特征在于,所述FPGA归一化调度模块设置在所述FPGA板卡中或设置在所述主机端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911082331.3A CN110908797B (zh) | 2019-11-07 | 2019-11-07 | 调用请求数据处理方法、装置、设备、存储介质及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911082331.3A CN110908797B (zh) | 2019-11-07 | 2019-11-07 | 调用请求数据处理方法、装置、设备、存储介质及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110908797A CN110908797A (zh) | 2020-03-24 |
CN110908797B true CN110908797B (zh) | 2023-09-15 |
Family
ID=69816636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911082331.3A Active CN110908797B (zh) | 2019-11-07 | 2019-11-07 | 调用请求数据处理方法、装置、设备、存储介质及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110908797B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858038A (zh) | 2020-06-30 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | Fpga板卡内存数据的读取方法、装置及介质 |
CN114201154B (zh) * | 2021-12-10 | 2023-01-31 | 北京百度网讯科技有限公司 | 算子生成方法和装置 |
CN116719006B (zh) * | 2023-08-11 | 2023-10-20 | 西安电子科技大学 | 基于多核异构架构的星载无源定位方法及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154169A (zh) * | 2006-09-27 | 2008-04-02 | 株式会社东芝 | 多处理器系统 |
CN103377032A (zh) * | 2012-04-11 | 2013-10-30 | 浙江大学 | 一种基于异构多核芯片的细粒度科学计算并行处理装置 |
CN103927225A (zh) * | 2014-04-22 | 2014-07-16 | 浪潮电子信息产业股份有限公司 | 一种多核心架构的互联网信息处理优化方法 |
CN105260237A (zh) * | 2015-09-29 | 2016-01-20 | 中南大学 | 异构多核平台的任务调度系统及其调度方法 |
CN105511954A (zh) * | 2014-09-23 | 2016-04-20 | 华为技术有限公司 | 一种报文处理方法及装置 |
CN108984428A (zh) * | 2017-06-01 | 2018-12-11 | 迈络思科技有限公司 | 多核片上系统中的缓存策略 |
CN110262887A (zh) * | 2019-06-26 | 2019-09-20 | 北京邮电大学 | 基于特征识别的cpu-fpga任务调度方法及装置 |
EP3555760A1 (en) * | 2016-12-19 | 2019-10-23 | Centre National De La Recherche Scientifique | Parallel processing on demand using partially dynamically reconfigurable fpga |
-
2019
- 2019-11-07 CN CN201911082331.3A patent/CN110908797B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154169A (zh) * | 2006-09-27 | 2008-04-02 | 株式会社东芝 | 多处理器系统 |
CN103377032A (zh) * | 2012-04-11 | 2013-10-30 | 浙江大学 | 一种基于异构多核芯片的细粒度科学计算并行处理装置 |
CN103927225A (zh) * | 2014-04-22 | 2014-07-16 | 浪潮电子信息产业股份有限公司 | 一种多核心架构的互联网信息处理优化方法 |
CN105511954A (zh) * | 2014-09-23 | 2016-04-20 | 华为技术有限公司 | 一种报文处理方法及装置 |
CN105260237A (zh) * | 2015-09-29 | 2016-01-20 | 中南大学 | 异构多核平台的任务调度系统及其调度方法 |
EP3555760A1 (en) * | 2016-12-19 | 2019-10-23 | Centre National De La Recherche Scientifique | Parallel processing on demand using partially dynamically reconfigurable fpga |
CN108984428A (zh) * | 2017-06-01 | 2018-12-11 | 迈络思科技有限公司 | 多核片上系统中的缓存策略 |
CN110262887A (zh) * | 2019-06-26 | 2019-09-20 | 北京邮电大学 | 基于特征识别的cpu-fpga任务调度方法及装置 |
Non-Patent Citations (2)
Title |
---|
Multi-stage parallel processing of design element access tasks in FPGA-based logic emulation systems;Somnath Banerjee;《2011 3rd Asia Symposium on Quality Electronic Design (ASQED)》;20111227;第301-309页 * |
NCS算法的并行化设计实现;黄炎;《计算机工程与设计》;20131216;第34卷(第11期);第3867-3872页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110908797A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908797B (zh) | 调用请求数据处理方法、装置、设备、存储介质及系统 | |
CN110096336B (zh) | 数据监控方法、装置、设备和介质 | |
CN110955535B (zh) | 一种多业务请求进程调用fpga设备的方法及相关装置 | |
CN111459659A (zh) | 数据处理方法、装置、调度服务器及介质 | |
CN110413822B (zh) | 离线图像结构化分析方法、装置、系统和存储介质 | |
CN111343288B (zh) | 作业调度方法、系统及计算设备 | |
CN110287038A (zh) | 提升Spark Streaming框架的数据处理效率的方法及系统 | |
CN111104210A (zh) | 一种任务处理方法、装置及计算机系统 | |
CN114579285B (zh) | 一种任务运行系统、方法及计算设备 | |
CN111400052A (zh) | 解压缩方法、装置、电子设备及存储介质 | |
CN114625533A (zh) | 分布式任务调度方法、装置、电子设备及存储介质 | |
CN109213745B (zh) | 一种分布式文件存储方法、装置、处理器及存储介质 | |
CN113656180A (zh) | 单元化架构下批量处理文件的系统、方法及相关产品 | |
CN110837419B (zh) | 基于弹性批处理的推理引擎系统、方法及电子设备 | |
CN112817428A (zh) | 任务运行方法、装置、移动终端和存储介质 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN115617532B (zh) | 一种目标追踪处理方法、系统及相关装置 | |
CN116069500A (zh) | 一种模型训练任务处理方法、装置、电子设备及可读介质 | |
CN114911538A (zh) | 一种运行系统的启动方法及计算设备 | |
CN114780463A (zh) | 中断控制方法、设备、分布式系统及存储介质 | |
CN114390104A (zh) | 过程取证系统、方法、装置、计算机设备及介质 | |
CN112070144A (zh) | 图像聚类方法、装置、电子设备以及存储介质 | |
CN110795218B (zh) | 基于单元化的任务调度系统及方法 | |
CN113535388B (zh) | 面向任务的服务功能聚合方法 | |
CN115543613A (zh) | 数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |