CN109445863B - 一种基于fpga的数据处理方法、装置、设备及介质 - Google Patents
一种基于fpga的数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN109445863B CN109445863B CN201811295880.4A CN201811295880A CN109445863B CN 109445863 B CN109445863 B CN 109445863B CN 201811295880 A CN201811295880 A CN 201811295880A CN 109445863 B CN109445863 B CN 109445863B
- Authority
- CN
- China
- Prior art keywords
- target
- fpga
- dpr
- target type
- type data
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000008569 process Effects 0.000 claims abstract description 29
- 230000000875 corresponding effect Effects 0.000 claims description 77
- 238000004590 computer program Methods 0.000 claims description 10
- 230000002596 correlated effect Effects 0.000 claims description 3
- 239000002699 waste material Substances 0.000 abstract description 10
- 238000013139 quantization Methods 0.000 abstract description 5
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000007405 data analysis Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于FPGA的数据处理方法、装置、设备及介质。该方法的步骤包括:依照预设空间阈值将FPGA的电路运算资源划分为N个DPR空间;其中,N为大于1的正整数;当获取到目标类型数据时,选取相应数量的DPR空间并加载与目标类型对应的目标固件;运行目标固件以对目标类型数据进行处理。本方法通过将FPGA中的硬件资源进行量化处理,生成相应的DPR空间,实现了选择性占用相应规模的FPGA资源进行对数据的处理,因此相对提高了对FPGA的使用灵活性,并相对避免了对FPGA资源的浪费。此外,本发明还提供一种基于FPGA的数据处理装置、设备及介质,有益效果同上所述。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种基于FPGA的数据处理方法、装置、设备及介质。
背景技术
随着互联网技术的不断发展,利用网络资源实现的业务种类不断丰富,当前为实现云计算、大数据处理以及资产交易等纯数据逻辑运算业务而搭建的服务器也越来越多。
由于服务器并不擅长进行纯数据运算的业务,而通过增加业务服务器数量的方式提高运算能力,不但会产生较高的成本,而且对于运算能力的提高程度相对有限,性价比较低,因此当前通常采用将FPGA(Field-Programmable Gate Array,现场可编程门阵列)板卡接入服务器,以此增加服务器的数据运算资源,进而服务器利用FPGA进行纯数据运算,由于FPGA具有门电路的特性,因此能够相对较大幅度的提高服务器的数据运算能力。服务器在使用PFGA板卡时,会根据当前的数据运算需求,将相应的固件加载至FPGA中,进而固件的运算逻辑基于FPGA的运算资源执行,以此对数据进行运算处理。但是在当前情况下,FPGA通常被作为整体的资源加载固件,即在同一时刻下,FPGA完全被用于执行某一类型固件以对相应类型的数据进行运算处理,但是由于在实际应用中,待处理数据的类型以及数量往往是多样的,因此当前FPGA在同一时刻仅能完全用于处理单一类型的数据无疑会导致FPGA的使用灵活性较差,并且极易造成对于资源的浪费。
由此可见,提供一种基于FPGA的数据处理方法,以相对提高FPGA的使用灵活性,并相对避免对FPGA资源的浪费,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种基于FPGA的数据处理方法、装置、设备及介质,以相对提高FPGA的使用灵活性,并相对避免对FPGA资源的浪费。
为解决上述技术问题,本发明提供一种基于FPGA的数据处理方法,包括:
依照预设空间阈值将FPGA的电路运算资源划分为N个DPR空间;其中,N为大于1的正整数;
当获取到目标类型数据时,选取相应数量的DPR空间并加载与目标类型对应的目标固件;
运行目标固件以对目标类型数据进行处理。
优选的,在运行目标固件以对目标类型数据进行处理后,该方法进一步包括:
当获取到新目标类型数据时,选取并释放预设数量的目标DPR空间中的目标固件;
在目标DPR空间中加载与新目标类型数据对应的新目标固件,并运行新目标固件以对新目标类型数据进行处理。
优选的,当FPGA仅获取到目标类型数据时,选取相应数量的DPR空间并加载与目标类型对应的目标固件具体为:
选取N个DPR空间并加载目标固件。
优选的,当新目标类型数据的优先级高于目标类型数据时,预设数量的值大于N/2。
优选的,选取相应数量的DPR空间并加载与目标类型对应的目标固件具体为:
根据目标类型数据的总量选取相应数量的DPR空间并加载与目标类型对应的目标固件;其中,目标类型数据的总量与相应数量呈正相关。
优选的,目标固件预存于FPGA的FLASH存储器。
此外,本发明还提供一种基于FPGA的数据处理装置,包括:
空间划分模块,用于依照预设空间阈值将FPGA的电路运算资源划分为N个DPR空间;其中,N为大于1的正整数;
固件加载模块,用于当获取到目标类型数据时,选取相应数量的DPR空间并加载与目标类型对应的目标固件;
数据处理模块,用于运行目标固件以对目标类型数据进行处理。
优选的,该装置进一步包括:
空间释放模块,用于当获取到新目标类型数据时,选取并释放预设数量的目标DPR空间中的目标固件;
新数据处理模块,用于在目标DPR空间中加载与新目标类型数据对应的新目标固件,并运行新目标固件以对新目标类型数据进行处理。
此外,本发明还提供一种基于FPGA的数据处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的基于FPGA的数据处理方法的步骤。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的基于FPGA的数据处理方法的步骤。
本发明所提供的基于FPGA的数据处理方法,首先依照预设的空间阈值将FPGA的电路运算资源划分为1个以上的DPR空间,进而当获取到目标类型数据时,在FPGA中选取相应数量的DPR空间以加载用于处理目标设备所使用的目标固件,进而通过目标固件对目标类型数据进行处理。本方法通过将FPGA中的硬件资源进行量化处理,生成相应的DPR空间,进而通过根据所获取到的目标类型数据选取相应数量的DPR空间加载相应的目标固件以对目标类型数据进行处理,以此实现了选择性占用相应规模的FPGA资源进行对数据的处理,进而其余FPGA资源能够用于处理其它目标类型数据,因此相对提高了对FPGA的使用灵活性,并相对避免了对FPGA资源的浪费。此外,本发明还提供一种基于FPGA的数据处理装置、设备及介质,有益效果同上所述。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于FPGA的数据处理方法的流程图;
图2为本发明实施例提供的另一种基于FPGA的数据处理方法的流程图;
图3为本发明实施例提供的一种基于FPGA的数据处理装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种基于FPGA的数据处理方法,以相对提高FPGA的使用灵活性,并相对避免对FPGA资源的浪费。本发明的另一核心是提供一种基于FPGA的数据处理装置、设备及介质。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
实施利一
图1为本发明实施例提供的一种基于FPGA的数据处理方法的流程图。请参考图1,基于FPGA的数据处理方法的具体步骤包括:
步骤S10:依照预设空间阈值将FPGA的电路运算资源划分为N个DPR空间。
其中,N为大于1的正整数。
需要说明的是,本步骤中所指的DPR(动态局补重配置)是基于FPGA的模块化设计,目的是将FPGA的资源整体划分为若干个运算模块,即本步骤中的DPR空间,每一个DPR空间的本质均为逻辑电路单元,并且都能够独立的进行对数据的逻辑运算处理。另外,本步骤中的预设空间阈值是所划分的DPR空间的空间容量,并且本步骤是将FPGA作为完整的电路运算资源进行DPR空间的划分,在划分后,可以将FPGA视为N个能够进行数据运算的DPR空间。此外,对于N的取值应至少为大于1的整数,目的是为了将FPGA划分为多个量化的数据处理单元,在此基础上N的具体取值应根据实际应用中的具体需求而定,在此不做具体限定。
步骤S11:当获取到目标类型数据时,选取相应数量的DPR空间并加载与目标类型对应的目标固件。
在本步骤中,当获取到待处理的目标类型数据时,则根据目标类型数据选取相应数量的DPR空间,进而在所选取的DPR空间中均加载与目标类型相对应的目标固件,以此有针对性的通过目标固件对目标类型数据进行处理。此处所指的相应数量,是处理目标类型数据所适宜使用的DPR空间数量,具体应根据FPGA所处理的数据的类型丰富程度或目标类型数据量等因素决定,在此不做具体限定。
步骤S12:运行目标固件以对目标类型数据进行处理。
本步骤是通过在DPR空间中运行所加载的目标固件,进而通过目标固件基于DPR空间的运算资源对目标类型数据进行处理,具体的处理逻辑遵照目标固件运行时的工作内容,处理不同类型数据所采用的目标固件存在差异,进而目标固件的工作内容也各不相同,由于本方法的重点在于选择性的在一定数量的DPR空间中加载用于处理目标类型数据的目标固件,因此目标类型的划分以及目标固件的数据处理逻辑在此不做赘述。
本发明所提供的基于FPGA的数据处理方法,首先依照预设的空间阈值将FPGA的电路运算资源划分为1个以上的DPR空间,进而当获取到目标类型数据时,在FPGA中选取相应数量的DPR空间以加载用于处理目标设备所使用的目标固件,进而通过目标固件对目标类型数据进行处理。本方法通过将FPGA中的硬件资源进行量化处理,生成相应的DPR空间,进而通过根据所获取到的目标类型数据选取相应数量的DPR空间加载相应的目标固件以对目标类型数据进行处理,以此实现了选择性占用相应规模的FPGA资源进行对数据的处理,进而其余FPGA资源能够用于处理其它目标类型数据,因此相对提高了对FPGA的使用灵活性,并相对避免了对FPGA资源的浪费。
实施例二
在上述实施例的基础上,本发明还提供以下一系列优选的实施方式。
图2为本发明实施例提供的另一种基于FPGA的数据处理方法的流程图。图2中步骤S10-S12与图1相同,在此不再赘述。
如图2所示,作为一种优选的实施方式,在运行目标固件以对目标类型数据进行处理后,该方法进一步包括:
步骤S20:当获取到新目标类型数据时,选取并释放预设数量的目标DPR空间中的目标固件。
需要说明的是,本步骤是在目标类型数据处于处理的过程中,当获取到新目标类型数据时,为了确保FPGA中具有足够的逻辑电路资源,因此选取预设数量的目标DPR空间,并释放所选取的目标DPR空间中的目标固件,进而目标DPR空间能够被用于加载新目标固件并对新目标类型数据进行处理。另外,本步骤中的预设数量可以根据新目标类型数据的总量,或新目标类型与目标类型之间的处理的优先级顺序等因素设定,在此不做限定。
步骤S21:在目标DPR空间中加载与新目标类型数据对应的新目标固件,并运行新目标固件以对新目标类型数据进行处理。
在本步骤中,使用在之前步骤中释放目标固件的目标DPR空间加载用于处理新目标类型数据的新目标固件,进而通过运行新目标固件以将目标DPR空间作为新的数据处理资源以对新目标类型数据进行处理。本实施方式在新目标类型数据到来时,通过释放目标DPR空间中的目标固件,以确保DPR空间资源的相对充裕,进而保证对新目标类型数据进行处理时的整体效率。
在上述实施方式的基础上,作为一种优选的实施方式,当FPGA仅获取到目标类型数据时,选取相应数量的DPR空间并加载与目标类型对应的目标固件具体为:
选取N个DPR空间并加载目标固件。
需要说明的是,当处于FPGA仅获取并处理目标类型数据的场景,即FPGA中仅存在一种类型的待处理数据时,为了最大程度的确保对于目标类型数据的处理效率,本实施方式将预先对FPGA中的资源进行量化划分的N个DPR空间全部用于加载目标固件,以此实现将FPGA的运算资源全部用于对目标类型数据的运算处理,进而最大程度的提高对FPGA运算资源的利用率,提高FPGA的数据处理效率。
在上述实施方式的基础上,作为一种优选的实施方式,当新目标类型数据的优先级高于目标类型数据时,预设数量的值大于N/2。
需要说明的是,本实施方式是根据FPGA所获取的新目标类型与目标类型之间的处理的优先级顺序决定需要释放的目标DPR空间的预设数量,当新目标类型数据的优先级高于目标类型数据时,说明需要优先处理新目标类型数据,因此当预先占用了N个DPR空间对目标类型数据进行数据处理时,应释放半数以上的目标DPR空间,以用于对新目标类型数据进行处理,以此相对确保优先级高的新目标类型数据进行更加高效的运算处理,提高整体的数据处理效率。
此外,作为一种优选的实施方式,选取相应数量的DPR空间并加载与目标类型对应的目标固件具体为:
根据目标类型数据的总量选取相应数量的DPR空间并加载与目标类型对应的目标固件;其中,目标类型数据的总量与相应数量呈正相关。
考虑到目标类型数据的总数据量是决定处理目标类型数据所需时间的关键因素,因此本实施方式根据目标类型数据的总量选取相应数量的DPR空间并加载与目标类型对应的目标固件,更进一步的,目标类型数据的总量与所选取的DPR空间的相应数量成正比,以此保证了根据目标类型数据的总量选取相应数量的DPR空间后,对目标类型数据进行处理时的整体效率。
此外,在上述一系列实施例的基础上,作为一种优选的实施方式,目标固件预存于FPGA的FLASH存储器。
需要说明的是,与传统的EEPROM存储器相比,FLASH存储器在进行数据擦写时效率相对较高,并且结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,而且可以快速读取数据,因此在将固件预存至FPGA的FLASH存储器以及在FLASH存储器中读取并使用固件时的整体执行效率相对更高。
下面提供一种具体的应用场景实施例:
首先将FPGA的硬件资源,进行量化处理,生成相应数量的DPR空间,并且处理响应数据类型的固件可以按照具体的业务类型进行区分(例如图像业务,数据分析业务,加密数据业务等)。
如将1个FPGA的运算资源划分为100个DPR空间,当服务器上的执行的业务是图像业务时,可以在FPGA上选取20个DPR空间,并在20个DPR空间中分别加载图像业务相应的目标固件,通过执行目标固件以对图像业务的数据进行处理;于此同时,当服务器运行数据分析业务时,可以在FPGA上另外选取50个DPR空间,并在50个DPR空间中分别加载数据分析业务相应的新目标固件,通过执行新目标固件以对数据分析业务的数据进行处理;此时FPGA还剩30个DPR空间,用于等待后续的业务使用。
上述的模式属于静态分配的模式,但是如果FPGA当前执行的业务已经将FPGA的硬件资源耗尽,后续有新业务到来时,应根据优先级动态调度,即将服务器上的业务分成若干个优先级。例如,服务器中的第一业务需要FPGA进行辅助计算的时候,可以将预先对FPGA划分的100个DPR空间全部分配给第一业务使用,在此基础上,当服务器上有一个相对较高优先级的第二业务工作时,较低优先级的第一业务会释放出90个DPR空间,只保留基本的10个DPR空间,此时较高优先级的第二业务就会得到90个计算单元;如果此时服务器需要运行与第二业务同级别的第三业务,则第二个业务会将45个计算单元释放出来,交由第三业务使用,进而三个业务同时执行,并且分别占用10、45、45个DPR空间。如果服务器再有更高级的业务执行,需要使用DPR空间时,第二,第三业务都只保留10个DPR空间。第四个业务获得70个计算单元。分配的模式如下:10、10、10、70。当服务器低级别业务完成的时候,会将自己使用的DPR空间释放,释放出来的DPR空间会被分配到高级的业务中去,当有多个高级别的业务时候,平均分配到各个高级别的业务中。
实施例三
在上文中对于基于FPGA的数据处理方法的实施例进行了详细的描述,本发明还提供一种与该方法对应的基于FPGA的数据处理装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图3为本发明实施例提供的一种基于FPGA的数据处理装置的结构图。本发明实施例提供的基于FPGA的数据处理装置,包括:
空间划分模块10,用于依照预设空间阈值将FPGA的电路运算资源划分为N个DPR空间;其中,N为大于1的正整数。
固件加载模块11,用于当获取到目标类型数据时,选取相应数量的DPR空间并加载与目标类型对应的目标固件。
数据处理模块12,用于运行目标固件以对目标类型数据进行处理。
本发明所提供的基于FPGA的数据处理装置,首先依照预设的空间阈值将FPGA的电路运算资源划分为1个以上的DPR空间,进而当获取到目标类型数据时,在FPGA中选取相应数量的DPR空间以加载用于处理目标设备所使用的目标固件,进而通过目标固件对目标类型数据进行处理。本装置通过将FPGA中的硬件资源进行量化处理,生成相应的DPR空间,进而通过根据所获取到的目标类型数据选取相应数量的DPR空间加载相应的目标固件以对目标类型数据进行处理,以此实现了选择性占用相应规模的FPGA资源进行对数据的处理,进而其余FPGA资源能够用于处理其它目标类型数据,因此相对提高了对FPGA的使用灵活性,并相对避免了对FPGA资源的浪费。
在实施例三的基础上,该装置还包括:
空间释放模块,用于当获取到新目标类型数据时,选取并释放预设数量的目标DPR空间中的目标固件。
新数据处理模块,用于在目标DPR空间中加载与新目标类型数据对应的新目标固件,并运行新目标固件以对新目标类型数据进行处理。
实施例四
本发明还提供一种基于FPGA的数据处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的基于FPGA的数据处理方法的步骤。
本发明所提供的基于FPGA的数据处理设备,首先依照预设的空间阈值将FPGA的电路运算资源划分为1个以上的DPR空间,进而当获取到目标类型数据时,在FPGA中选取相应数量的DPR空间以加载用于处理目标设备所使用的目标固件,进而通过目标固件对目标类型数据进行处理。本设备通过将FPGA中的硬件资源进行量化处理,生成相应的DPR空间,进而通过根据所获取到的目标类型数据选取相应数量的DPR空间加载相应的目标固件以对目标类型数据进行处理,以此实现了选择性占用相应规模的FPGA资源进行对数据的处理,进而其余FPGA资源能够用于处理其它目标类型数据,因此相对提高了对FPGA的使用灵活性,并相对避免了对FPGA资源的浪费。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的基于FPGA的数据处理方法的步骤。
本发明所提供的计算机可读存储介质,首先依照预设的空间阈值将FPGA的电路运算资源划分为1个以上的DPR空间,进而当获取到目标类型数据时,在FPGA中选取相应数量的DPR空间以加载用于处理目标设备所使用的目标固件,进而通过目标固件对目标类型数据进行处理。本计算机可读存储介质通过将FPGA中的硬件资源进行量化处理,生成相应的DPR空间,进而通过根据所获取到的目标类型数据选取相应数量的DPR空间加载相应的目标固件以对目标类型数据进行处理,以此实现了选择性占用相应规模的FPGA资源进行对数据的处理,进而其余FPGA资源能够用于处理其它目标类型数据,因此相对提高了对FPGA的使用灵活性,并相对避免了对FPGA资源的浪费。
以上对本发明所提供的一种基于FPGA的数据处理方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种基于FPGA的数据处理方法,其特征在于,包括:
依照预设空间阈值将FPGA的电路运算资源划分为N个DPR空间;其中,N为大于1的正整数;
当获取到目标类型数据时,选取相应数量的所述DPR空间并加载与所述目标类型对应的目标固件;
运行所述目标固件以对所述目标类型数据进行处理;
在所述运行所述目标固件以对所述目标类型数据进行处理后,该方法进一步包括:
当获取到新目标类型数据时,选取并释放预设数量的目标DPR空间中的所述目标固件;
在所述目标DPR空间中加载与所述新目标类型数据对应的新目标固件,并运行所述新目标固件以对所述新目标类型数据进行处理。
2.根据权利要求1所述的方法,其特征在于,当所述FPGA仅获取到所述目标类型数据时,所述选取相应数量的所述DPR空间并加载与所述目标类型对应的目标固件具体为:
选取N个所述DPR空间并加载所述目标固件。
3.根据权利要求2所述的方法,其特征在于,当所述新目标类型数据的优先级高于所述目标类型数据时,所述预设数量的值大于N/2。
4.根据权利要求1所述的方法,其特征在于,所述选取相应数量的所述DPR空间并加载与所述目标类型对应的目标固件具体为:
根据所述目标类型数据的总量选取相应数量的所述DPR空间并加载与所述目标类型对应的所述目标固件;其中,所述目标类型数据的总量与所述相应数量呈正相关。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述目标固件预存于所述FPGA的FLASH存储器。
6.一种基于FPGA的数据处理装置,其特征在于,包括:
空间划分模块,用于依照预设空间阈值将FPGA的电路运算资源划分为N个DPR空间;其中,N为大于1的正整数;
固件加载模块,用于当获取到目标类型数据时,选取相应数量的所述DPR空间并加载与所述目标类型对应的目标固件;
数据处理模块,用于运行所述目标固件以对所述目标类型数据进行处理;
该装置进一步包括:
空间释放模块,用于当获取到新目标类型数据时,选取并释放预设数量的目标DPR空间中的所述目标固件;
新数据处理模块,用于在所述目标DPR空间中加载与所述新目标类型数据对应的新目标固件,并运行所述新目标固件以对所述新目标类型数据进行处理。
7.一种基于FPGA的数据处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的基于FPGA的数据处理方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的基于FPGA的数据处理方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811295880.4A CN109445863B (zh) | 2018-11-01 | 2018-11-01 | 一种基于fpga的数据处理方法、装置、设备及介质 |
US17/281,259 US20220004400A1 (en) | 2018-11-01 | 2019-08-30 | Fpga-based data processing method, apparatus, device and medium |
PCT/CN2019/103693 WO2020088078A1 (zh) | 2018-11-01 | 2019-08-30 | 一种基于fpga的数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811295880.4A CN109445863B (zh) | 2018-11-01 | 2018-11-01 | 一种基于fpga的数据处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109445863A CN109445863A (zh) | 2019-03-08 |
CN109445863B true CN109445863B (zh) | 2021-12-17 |
Family
ID=65549666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811295880.4A Active CN109445863B (zh) | 2018-11-01 | 2018-11-01 | 一种基于fpga的数据处理方法、装置、设备及介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220004400A1 (zh) |
CN (1) | CN109445863B (zh) |
WO (1) | WO2020088078A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445863B (zh) * | 2018-11-01 | 2021-12-17 | 郑州云海信息技术有限公司 | 一种基于fpga的数据处理方法、装置、设备及介质 |
CN111858038A (zh) | 2020-06-30 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | Fpga板卡内存数据的读取方法、装置及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509617B1 (en) * | 2005-09-12 | 2009-03-24 | Xilinx, Inc. | Design methodology to support relocatable bit streams for dynamic partial reconfiguration of FPGAs to reduce bit stream memory requirements |
CN101727423A (zh) * | 2008-10-17 | 2010-06-09 | 东北大学 | 可重配置fpga上可抢占硬件多任务系统及其实现方法 |
CN101833368A (zh) * | 2010-04-13 | 2010-09-15 | 杭州电子科技大学 | 一种软硬件协调处理的局部动态可重构系统能量管理方法 |
CN103677837A (zh) * | 2013-12-17 | 2014-03-26 | 清华大学 | Fpga动态部分可重构区域的配置方法 |
CN104008006A (zh) * | 2014-05-19 | 2014-08-27 | 江苏科技大学 | 基于虚拟分区的可重构系统的任务调度方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4909588B2 (ja) * | 2005-12-28 | 2012-04-04 | 日本電気株式会社 | 情報処理装置及び再構成デバイスの利用方法 |
US8176212B1 (en) * | 2009-08-18 | 2012-05-08 | Quickflex, Inc. | Method and system for hierarchical and joinable behavior containers for reconfigurable computing |
US8415974B1 (en) * | 2011-03-09 | 2013-04-09 | Xilinx, Inc. | Methods and circuits enabling dynamic reconfiguration |
US9111059B2 (en) * | 2012-11-01 | 2015-08-18 | Stc.Unm | System and methods for dynamic management of hardware resources |
CN103455714B (zh) * | 2013-08-20 | 2017-02-08 | 西安电子科技大学 | 基于FPGA的DPR SoC自重构系统的耗时计算方法及应用 |
KR20150084098A (ko) * | 2014-01-13 | 2015-07-22 | 한국전자통신연구원 | 스트림 데이터 분산 처리 시스템 및 그 방법 |
US9411613B1 (en) * | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Systems and methods for managing execution of specialized processors |
US9600356B2 (en) * | 2015-07-15 | 2017-03-21 | Bank Of America Corporation | Allocating field-programmable gate array (FPGA) resources |
US10180850B1 (en) * | 2015-11-03 | 2019-01-15 | Xilinx, Inc. | Emulating applications that use hardware acceleration |
CN107515799A (zh) * | 2016-06-16 | 2017-12-26 | 上海奕瑞光电子科技有限公司 | 一种平板探测器的固件加载方法 |
CN106066782B (zh) * | 2016-06-29 | 2019-11-26 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
US20180054359A1 (en) * | 2016-08-19 | 2018-02-22 | International Business Machines Corporation | Network attached reconfigurable computing device |
JP6823251B2 (ja) * | 2016-10-13 | 2021-02-03 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
CN109445863B (zh) * | 2018-11-01 | 2021-12-17 | 郑州云海信息技术有限公司 | 一种基于fpga的数据处理方法、装置、设备及介质 |
US10922068B1 (en) * | 2018-11-09 | 2021-02-16 | Xilinx, Inc. | Updating firmware for programmable integrated circuits in computing environments |
-
2018
- 2018-11-01 CN CN201811295880.4A patent/CN109445863B/zh active Active
-
2019
- 2019-08-30 US US17/281,259 patent/US20220004400A1/en active Pending
- 2019-08-30 WO PCT/CN2019/103693 patent/WO2020088078A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509617B1 (en) * | 2005-09-12 | 2009-03-24 | Xilinx, Inc. | Design methodology to support relocatable bit streams for dynamic partial reconfiguration of FPGAs to reduce bit stream memory requirements |
CN101727423A (zh) * | 2008-10-17 | 2010-06-09 | 东北大学 | 可重配置fpga上可抢占硬件多任务系统及其实现方法 |
CN101833368A (zh) * | 2010-04-13 | 2010-09-15 | 杭州电子科技大学 | 一种软硬件协调处理的局部动态可重构系统能量管理方法 |
CN103677837A (zh) * | 2013-12-17 | 2014-03-26 | 清华大学 | Fpga动态部分可重构区域的配置方法 |
CN104008006A (zh) * | 2014-05-19 | 2014-08-27 | 江苏科技大学 | 基于虚拟分区的可重构系统的任务调度方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220004400A1 (en) | 2022-01-06 |
CN109445863A (zh) | 2019-03-08 |
WO2020088078A1 (zh) | 2020-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111768006B (zh) | 一种人工智能模型的训练方法、装置、设备及存储介质 | |
CN111078363B (zh) | 一种虚拟机的numa节点调度方法、装置、设备及介质 | |
CN112667376A (zh) | 任务调度处理方法、装置、计算机设备及存储介质 | |
WO2017166643A1 (zh) | 一种任务资源的量化方法和装置 | |
US7418568B2 (en) | Memory management technique | |
US20160154676A1 (en) | Method of Resource Allocation in a Server System | |
CN109445863B (zh) | 一种基于fpga的数据处理方法、装置、设备及介质 | |
CN105824705B (zh) | 一种任务分配方法和电子设备 | |
CN104199739A (zh) | 一种基于负载均衡的推测式Hadoop调度方法 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN110750336A (zh) | 一种OpenStack虚拟机内存热扩容方法 | |
CN113672375B (zh) | 资源分配预测方法、装置、设备及存储介质 | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN110471769B (zh) | 一种虚拟机的资源管理方法及装置 | |
CN110750330A (zh) | 一种虚拟机创建方法、系统、电子设备及存储介质 | |
CN112073532B (zh) | 一种资源分配的方法及装置 | |
CN109491794A (zh) | 资源管理方法、装置及电子设备 | |
CN111359205B (zh) | 云端游戏的操作方法、装置、计算机设备及存储介质 | |
CN116881003A (zh) | 资源分配方法、装置、服务设备及存储介质 | |
US20080140979A1 (en) | Method of allocating stack in multi-threaded sensor operating system environment | |
CN115858130A (zh) | 一种任务分配方法、装置、设备及存储介质 | |
WO2018205890A1 (zh) | 一种分布式系统的任务分配方法及系统及其计算机可读存储介质和计算机设备 | |
CN114860449A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN113806050A (zh) | 一种计算资源的处理方法、装置、电子设备及存储介质 | |
CN109408242B (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 |