CN112732634A - 面向边缘计算的arm-fpga协同硬件资源局部动态重构处理方法 - Google Patents

面向边缘计算的arm-fpga协同硬件资源局部动态重构处理方法 Download PDF

Info

Publication number
CN112732634A
CN112732634A CN202110018461.1A CN202110018461A CN112732634A CN 112732634 A CN112732634 A CN 112732634A CN 202110018461 A CN202110018461 A CN 202110018461A CN 112732634 A CN112732634 A CN 112732634A
Authority
CN
China
Prior art keywords
fpga
black box
task
hardware
function
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.)
Granted
Application number
CN202110018461.1A
Other languages
English (en)
Other versions
CN112732634B (zh
Inventor
罗志勇
何禹辰
王耀
马国喜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202110018461.1A priority Critical patent/CN112732634B/zh
Publication of CN112732634A publication Critical patent/CN112732634A/zh
Application granted granted Critical
Publication of CN112732634B publication Critical patent/CN112732634B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7885Runtime interface, e.g. data exchange, runtime control
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Advance Control (AREA)

Abstract

本发明请求保护一种面向边缘计算的ARM‑FPGA协同硬件资源局部动态重构处理方法,针对面向边缘计算的异构体系中,任务间频繁的任务切换,而不考虑硬件平台处理特性的问题,将硬件处理器(FPGA)独立用作可重构的加速运算单元,把大量计算任务迁移至可重构的硬件资源上,以保证高性能计算任务的独立性,实现局部资源动态重构中协处理器FPGA硬件任务调度优化、任务处理间的更大的并行性和各任务时间的可预测性,提高了面向边缘计算异构平台的整体运行效率。

Description

面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理 方法
技术领域
本发明属于嵌入式异构平台和软硬件协同处理的边缘计算技术领域,特别是基于ARM-FPGA面向边缘计算的协同硬件资源局部动态重构方式。
背景技术
随着复杂场景数据驱动下的高带宽、低时延,复杂计算带来了越来越大的挑战,受到了研究学者的广泛关注。复杂场景所需计算能力已经远远超过了数据增长的速度,如自动驾驶、虚拟现实、在线游戏和网络直播等应用场景,其计算量大、延迟性敏感、数据安全和隐私要求越来越高,传统的集中式云计算模型处理方式已无法满足需求,带来了新的突出挑战。尤其2020年新型冠状疫情全球大爆发,各行各业无法正常开展线下的营运模式,如公司需要网上会议、学校需要网上上课等,如何保障各行各业无法现场作业同时可以不影响正常工作,也是目前亟需解决的重大问题。
诸如这一系列挑战,边缘计算模式应运而生。2020年,工信部发布的加快新基建建设,包含5G网络、人工智能、物联网、大数据等方向。而边缘计算作为其中的关键技术,不仅是当前面临的新冠疫情,更从长远来看,都有着举足轻重的作用。摩尔定律的推论,仅以不断集成晶体管形成单核强大处理器的处理方式已无法满足以上需求。因此,不同处理器所构成的异构体系联合处理海量原始数据成为研究热点。而边缘计算将大量需要上载至云端的计算数据全部或部分迁移至边缘侧,以降低数据传输带来的高带宽和计算负载的消耗,同时,降低了数据处理时延和数据安全和隐私的保护。目前,面向边缘计算的异构体系主要以两种计算资源组成,其主流方式:CPU+GPU、CPU+ASIC、CPU+FPGA,这三种异构体系相比,FPGA架构中具有更低延迟、低功耗、可重构行和并行性等突出优点,能很好满足边缘计算中对海量数据的处理时效性要求,同时,可以实现诸如数据加密和解密的能力,以维护数据的安全性。因此,在边缘计算的场景中广泛应用。
然而,FPGA最突出的优点是它的动态可重构的能力,它可以完成在任务运行时动态分配它所闲置的资源,使得在不影响正在实施的任务同时划分出空闲资源,让其设备或任务可以并行实施。但是,动态局部重构也会带来一些弊端,如它的重配置时间远超于单个任务间切换的时间等问题,对于任务调度过程中频繁的局部资源重构必将带来巨大的代价,必须通过其他的的方式有效降低这一代价,否则它将严重影响系统效率。为了解决这一问题,一些研究学者通过设计外围接口来增大数据吞吐量、将异构体系CPU处理器和FPGA处理器抽象为软硬件任务的新模型和FPGA中硬件线程的方式等,极大减少了局部重构所需的时间。因此,学者们认为局部重构的时间消耗在今后仍可以继续缩减,这种方式在资源受限边缘侧应用尤其有价值,它的动态可重构的能能力仍是我们不能忽略的重点,仍是我们研究的热点之一。
发明内容
本发明旨在解决以上现有技术的问题。提出了一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法。本发明的技术方案如下:
一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法,其包括以下步骤:
步骤一:确定函数集H。针对特定的任务场景有着不同的功能任务,例如,JPEG图编码,它主要分为四个阶段:颜色的空间转换、二维离散的余弦变换、量化和Huffman熵编码。前面的主要三个阶段有固定的输入输出参数量,更适合在FPGA上运行,而最后的Huffman熵编码更适合在ARM处理器上执行。因此,可根据数据特性等层面筛选出适合FPGA硬件加速执行的任务,以函数集H;
步骤二:黑盒功能对应比特流存储,整个系统根据FPGA硬件资源和每个黑盒函数集合H总资源以确定FPGA需要执行黑盒集合A,其中,包含黑盒的大小、位置及函数集H,最终生成对应的IP核库,存储每个黑盒对应的比特流;
步骤三:系统C头文件建立:依据步骤二的比特流结果编写系统的C头文件,使驱动程序能进行重新配置和使用黑盒对应功能于系统中;
步骤四:获取相应黑盒接口加速任务处理速度:根据步骤三的C头文件获取相应的黑盒的功能和接口,调用相关加法器或减法器函数接口使用FPGA加速,直到整个FPGA硬件线程结束,该任务才终止;
步骤五:判定操作:当收到加法器或减法器的请求时,系统会确定执行任务和执行时间的关系,检查是否有合适的黑盒用作执行组件;如果有,则执行步骤六,否则,执行步骤七;
步骤六:FPGA任务加速执行:当判定符合FPGA执行的任务时,其硬件任务通过驱动程序模块发送至FPGA,直到整个任务执行完成;
步骤七:局部重构计算资源黑盒:根据步骤五判定没有符合该任务处理的黑盒加速器时,则会重新调用资源管理的模块重构新的黑盒,以满足任务需求。至此,重新返回步骤五进行判定。
进一步的,所述步骤二整个系统根据FPGA硬件资源和每个黑盒函数集合H总资源以确定FPGA需要执行黑盒集合A,具体包括:
黑盒子用集合A表示,黑盒子的总数用a表示,单个黑匣子用ai表示,i=0,1,...,a,FPGA所提供的函数集,每个黑匣子表示的函数集合为Hi,所有函数集合的并集由H来表示,整个系统执行过程中,黑盒用位置和函数的形式表示,其中,位置信息用存储单元对应的物理地址来表示,整个系统通过使用物理地址来重新分配局部重构过程和驱动程序过程。
进一步的,当整个FPGA硬件资源被分为a=4个黑盒时,所有黑盒位置被标记,包含每个黑盒所代表的功能,如:黑盒1表示{AES编码,AES解码},黑盒2表示(AES编码,AES解码,FFT)。此外,驱动模块包含了操作黑盒的驱动程序,驱动程序为重构黑盒、线程与黑盒通信的程序,整个处理过程都是在内核模式下处理它们的响应。
进一步的,所述当所面临的任务无对应的FPGA黑盒相匹配时,则驱动模块将进行黑盒重构,其驱动模块中包含必要的黑盒通信与线程调配过程。硬件FPGA处理的线程全部都是硬件线程,其它的任务均为软件线程。显而易见,硬件线程中上下文包含更多信息,如电路状态等,如果通过挂起硬件线程方式,不但会非常耗时,而且需要很大的额外空间,因此,将硬件线程设为抢占式模式,软件线程设为非抢占式模式,整个任务的调度执行都不会影响正在FPGA硬件上执行的任务。
进一步的,所述步骤三:系统C头文件“core.h”建立:依据步骤二的比特流结果编写系统的C头文件,使驱动程序能进行重新配置和使用黑盒对应功能于系统中;以创建加法器为例:第一步:输入参数和测试类型;第二步:for(j=1;j<5;j++);第三步:创造加法器,结束。紧接着线程执行,第一步:for(i=0;i<5;i++);第二步:等待线程执行;第三步:结束线程。
进一步的,所述步骤四:获取相应黑盒接口加速任务处理速度:根据步骤三的C头文件“core.h”获取相应的黑盒的功能和接口,调用相关与之对应加法器函数接口使用FPGA加速,直到整个FPGA硬件线程结束,该任务才终止。
进一步的,所述步骤五:判定操作。根据步骤四,例如,当收到加法器的请求时,系统会确定执行任务和执行时间的关系,检查是否有合适的黑盒用作执行组件。
进一步的,所述步骤六,当判定符合FPGA执行的任务时,其硬件任务通过驱动程序模块发送至FPGA,直到整个任务执行完成。所述步骤七,没有符合FPGA执行的任务时,则会重新调用资源管理的模块重构新的黑盒,以满足任务需求。至此,重新返回步骤五进行判定。
本发明的优点及有益效果如下:
本发明针对背景技术中所提到的问题,大部分研究都是基于静态的局部可重构的方式,并未对局部重构实际处理场景进一步探索,本发明目的主要在于,提供基于面向边缘计算的ARM-FPGA协处理器异构平台资源动态可重构处理方法,面对异构体系中任务间频繁的任务切换,而不考虑硬件平台处理特性的问题,将硬件处理器(FPGA)独立用作可重构的加速运算单元,把大量计算任务迁移至可重构的硬件资源上,可以保证高性能计算任务的独立性,实现局部资源动态重构中协处理器FPGA硬件任务调度优化、任务处理中更大的并行性和各任务时间的可预测性,以提高整个异构平台的执行效率。主要包含以下发明内容的技术实现:
1、面向边缘计算实现基于ARM和FPGA两种计算资源的异构体系组成,设计本发明中的ARM和FPGA的松耦合连接方式。
2、基于硬件协处理器FPGA任务的周期准确度及非抢占式优先特点,通过优化任务调度方式和软件栈处理模式,实现空闲硬件资源局部动态重构、减少异构体系中不同任务间频繁切换的时间和空间开销,最大限度的利用处理器的计算资源,提高整体任务间的调度效率。
3、基于ARM-FPGA的异构体系中,实现整个软件线程是抢占式模式,而硬件线程为非抢占式模式,即整个在FPGA上执行的任务不会被其它任务的到来而暂停,一个任务一旦在FPGA硬件上实施,直到任务执行结束而终止。
4、基于ARM-FPGA的异构系统中,实现整个系统调度处理算法的搭建,使用C库的头文件,包含一系列函数接口和API接口,在整个调用线程中,硬件资源上如没有符合执行任务所对应的黑盒时,则操作系统将决定何时重新重构局部硬件资源。
附图说明
图1表示本发明中ARM和FPGA耦合具体方式;
图2表示本发明资源管理实施例;
图3表示本发明提供优选硬件部分动态重构实施例。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
本发明是一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法。基于边缘侧的分布式异构场景体系中,以ARM作为控制调度核心处理器单元,FPGA处理器作为计算加速核心单元,它们之间会受到大量数据通信时延影响,但是更高效硬件加速计算相对于通信时延更具有优势,即通过增加数据传输的吞吐量,可有效缓解这一问题。其结构耦合方式如图1,这种结构可以使得各个任务具有更大并行性,利用硬件资源局部的动态重构性,充分的使用FPGA硬件计算资源,不适合在FPGA处理器上处理的任务将放置在ARM处理器上。例如,JPEG图编码,它主要分为四个阶段:颜色的空间转换、二维离散的余弦变换、量化和Huffman熵编码。前面的主要三个阶段有固定的输入输出参数量,更适合在FPGA上运行,而最后的Huffman熵编码更适合在ARM处理器上执行。包含如下具体步骤:
1、两种计算资源处理器ARM和FPGA总线通过AXI4.0接口协议连接至数据缓存单元。
2、FPGA硬件电路资源将作为计算加速器,形成一系列黑盒子,这些黑盒子的功能可局部动态重构,以适应各个任务的需求,但任务处理期间它们的大小及位置信息无法被改变,每个重新配置的硬件资源通过IP核的形式下载至硬件平台,重新编译新重构的特定硬件电路,为新来的任务做好准备。在这里黑盒子用集合A表示,黑盒子的总数我们a表示,单个黑匣子用ai(i=0,1,...,a)表示。FPGA所提供的函数集,每个黑匣子表示的函数集合为Hi(i=0,1,...,a),所有函数集合的并集由H来表示。整个系统执行过程中,黑盒用位置和函数的形式表示。其中,位置信息用存储单元对应的物理地址来表示,整个系统通过使用物理地址来重新分配局部重构过程和驱动程序过程。如图2所示。整个FPGA硬件资源被分为a=4个黑盒,所有黑盒位置被标记,包含每个黑盒所代表的功能。例如,黑盒1表示{AES编码,AES解码},黑盒2表示(AES编码,AES解码,FFT)等。另外,驱动模块包含了操作黑盒的驱动程序(重构黑盒,线程与黑盒通信),整个处理过程都是在内核模式下处理它们的响应。
3、整个软硬件协同系统的实施,必然会存在各个任务的调度问题,在这里关于硬件FPGA处理的线程全部都是硬件线程,其它的任务均为软件线程,显而易见,硬件线程中上下文包含更多信息,如电路状态等,如果通过挂起硬件线程方式,不但会非常耗时,而且需要很大的额外空间,因此,将硬件线程设为抢占式模式,软件线程设为非抢占式模式,整个任务的调度执行都不会影响正在FPGA硬件上执行的任务。
4、系统算法框架如图3所示。整个系统算法使用C库的头文件,包含一系列函数接口和api接口,在整个调用线程中,硬件资源上没有符合任务所对应计算黑盒资源,则操作系统将决定何时重新重构局部硬件资源。系统模型算法具体步骤如下:
步骤一:确定函数集H。针对特定的任务场景分析,筛选出适合FPGA硬件加速执行的任务。
步骤二:黑盒功能对应比特流存储。整个系统根据FPGA硬件资源和每个黑盒函数集合H总资源以确定FPGA需要执行黑盒集合A,其中,包含黑盒的大小、位置及函数集H。最终生成对应的IP核库,存储每个黑盒对应的比特流。
步骤三:系统C头文件建立。依据步骤二的结果编写系统的C头文件,使驱动程序能进行重新配置和使用黑盒对应功能于系统中。
步骤四:获取相应黑盒接口加速任务处理速度。根据步骤三的C头文件可以获取相应的黑盒的功能和接口,例如,调用相关加法器或减法器函数接口使用FPGA加速,直到整个FPGA硬件线程结束,该任务才终止。
步骤五:判定操作。根据步骤四,例如,当收到加法器或减法器的请求时,系统会确定执行任务和执行时间的关系,检查是否有合适的黑盒用作执行组件。如果有,则执行步骤六,否则,执行步骤七。
步骤六:FPGA任务加速执行。当判定符合FPGA执行的任务时,其硬件任务通过驱动程序模块发送至FPGA,直到整个任务执行完成。
步骤七:局部重构计算资源黑盒。根据步骤五判定没有符合该任务处理的黑盒加速器时,则会重新调用资源管理的模块重构新的黑盒,以满足任务需求。至此,重新返回步骤五进行判定。
本系统使用C库来确定整个硬件系统FPGA可以执行的功能,任务调度和FPGA运行时的重新配置,对程序员来说大大降低了开发难度。通过优化操作系统中的任务调度并充分利用FPGA任务的周期精度和非抢占特性,确定重新配置的次数,以进一步降低性能损失,从而确保该系统易于使用,高效且可扩展。
以上实施方式以实例结合附图,详细的解释了一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法的具体过程,以提高整个异构平台的执行效率。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

Claims (8)

1.一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法,其特征在于,包括以下步骤:
步骤一:确定函数集H,针对特定的任务场景有着不同的功能任务,当在JPEG图编码时,它主要分为四个阶段:颜色的空间转换、二维离散的余弦变换、量化和Huffman熵编码,前面的主要三个阶段有固定的输入输出参数量,更适合在FPGA上运行,而最后的Huffman熵编码更适合在ARM处理器上执行,因此,可根据数据特性等层面筛选出适合FPGA硬件加速执行的任务,以函数集H;
步骤二:不同黑盒功能对应比特流存储,整个系统根据FPGA硬件资源和每个黑盒函数集合H总资源以确定FPGA需要执行黑盒集合A,其中,包含黑盒的大小、位置及函数集H,最终生成对应的IP核库,存储每个黑盒对应的比特流;
步骤三:系统C头文件建立,依据步骤二的比特流结果编写系统的C头文件“core.h”接口,使驱动程序能进行重新配置和使用黑盒对应功能于系统中;
步骤四:获取相应黑盒接口加速任务处理速度,根据步骤三的C头文件“core.h”获取相应的黑盒的功能和接口,调用相关加法器函数接口使用FPGA加速,直到整个FPGA硬件线程结束,该任务才终止;
步骤五:判定操作,当收到加法器或减法器的请求时,系统会确定执行任务和执行时间的关系,检查是否有合适的黑盒用作执行组件;如果有,则执行步骤六,否则,执行步骤七;
步骤六:FPGA任务加速执行,当判定符合FPGA执行的任务时,其硬件任务通过驱动程序模块发送至FPGA,直到整个任务执行完成;
步骤七:局部重构计算资源黑盒,根据步骤五判定没有符合该任务处理的黑盒加速器时,则会重新调用资源管理的模块重构新的黑盒,以满足任务需求,至此,重新返回步骤五进行判定。
2.根据权利要求1所述的一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法,其特征在于,所述步骤二整个系统根据FPGA硬件资源和每个黑盒函数集合H总资源以确定FPGA需要执行黑盒集合A,具体包括:
黑盒子用集合A表示,黑盒子的总数用a表示,单个黑匣子用ai表示,i=0,1,...,a,FPGA所提供的函数集,每个黑匣子表示的函数集合为Hi,所有函数集合的并集由H来表示,整个系统执行过程中,黑盒用位置和函数的形式表示,其中,位置信息用存储单元对应的物理地址来表示,整个系统通过使用物理地址来重新分配局部重构过程和驱动程序过程。
3.根据权利要求2所述的一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法,其特征在于,当整个FPGA硬件资源被分为a=4个黑盒时,所有黑盒位置被标记,包含每个黑盒所代表的功能,如:黑盒1表示{AES编码,AES解码},黑盒2表示(AES编码,AES解码,FFT)。此外,驱动模块包含了操作黑盒的驱动程序,驱动程序为重构黑盒、线程与黑盒通信的程序,整个处理过程都是在内核模式下处理它们的响应。
4.根据权利要求3所述的一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法,其特征在于,硬件FPGA处理的线程全部都是硬件线程,其它的任务均为软件线程。显而易见,硬件线程中上下文包含更多信息,如电路状态等,如果通过挂起硬件线程方式,不但会非常耗时,而且需要很大的额外空间,因此,将硬件线程设为抢占式模式,软件线程设为非抢占式模式,整个任务的调度执行都不会影响正在FPGA硬件上执行的任务。
5.根据权利要求1-4之一所述的一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法,其特征在于,所述步骤三:系统C头文件“core.h”建立:依据步骤二的比特流结果编写系统的C头文件“core.h”,使驱动程序能进行重新配置和使用黑盒对应功能于系统中;以创建加法器为例:第一步:输入参数和测试类型;第二步:for(j=0;j<5;j++);第三步:创造加法器;第四步:结束。紧接着线程执行,第一步:for(j=0;j<6;j++);第二步:等待线程执行;第三步:结束线程。
6.根据权利要求5所述的一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法,其特征在于,所述步骤四:获取相应黑盒接口加速任务处理速度:根据步骤三的C头文件“core.h”获取相应的黑盒的功能和接口,调用相关与之对应加法器函数接口使用FPGA加速,直到整个FPGA硬件线程结束,该任务才终止。
7.根据权利要求6所述的一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法,其特征在于,所述步骤五:判定操作。根据步骤四,例如,当收到加法器的请求时,系统会确定执行任务和执行时间的关系,检查是否有合适的黑盒用作执行组件。
8.根据权利要求7所述的一种面向边缘计算的ARM-FPGA协同硬件资源局部动态重构处理方法,其特征在于,所述步骤六,当判定符合FPGA执行的任务时,其硬件任务通过驱动程序模块发送至FPGA,直到整个任务执行完成。所述步骤七,没有符合FPGA执行的任务时,则会重新调用资源管理的模块重构新的黑盒,以满足任务需求。至此,重新返回步骤五进行判定。
CN202110018461.1A 2021-01-07 2021-01-07 面向边缘计算的arm-fpga协同局部动态重构处理方法 Active CN112732634B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110018461.1A CN112732634B (zh) 2021-01-07 2021-01-07 面向边缘计算的arm-fpga协同局部动态重构处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110018461.1A CN112732634B (zh) 2021-01-07 2021-01-07 面向边缘计算的arm-fpga协同局部动态重构处理方法

Publications (2)

Publication Number Publication Date
CN112732634A true CN112732634A (zh) 2021-04-30
CN112732634B CN112732634B (zh) 2022-12-27

Family

ID=75591024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110018461.1A Active CN112732634B (zh) 2021-01-07 2021-01-07 面向边缘计算的arm-fpga协同局部动态重构处理方法

Country Status (1)

Country Link
CN (1) CN112732634B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932226A (zh) * 2023-09-14 2023-10-24 中诚华隆计算机技术有限公司 一种基于Chiplet的硬件加速方法和硬件加速器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1372084A2 (en) * 2002-05-31 2003-12-17 Interuniversitair Microelektronica Centrum Vzw Method for hardware-software multitasking on a reconfigurable computing platform
CN101799770A (zh) * 2010-01-19 2010-08-11 湖南大学 基于单位面积加速比的可重构资源管理方法
CN102279838A (zh) * 2011-08-31 2011-12-14 公安部第三研究所 基于统一硬件任务接口的系统架构的重构方法
CN108111821A (zh) * 2018-01-10 2018-06-01 深圳羚羊极速科技有限公司 一种集成互联网视频接入网关及边缘计算的设备
CN110018887A (zh) * 2018-01-10 2019-07-16 苏州智配信息科技有限公司 一种可重构平台上的任务调度和资源管理算法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1372084A2 (en) * 2002-05-31 2003-12-17 Interuniversitair Microelektronica Centrum Vzw Method for hardware-software multitasking on a reconfigurable computing platform
CN101799770A (zh) * 2010-01-19 2010-08-11 湖南大学 基于单位面积加速比的可重构资源管理方法
CN102279838A (zh) * 2011-08-31 2011-12-14 公安部第三研究所 基于统一硬件任务接口的系统架构的重构方法
CN108111821A (zh) * 2018-01-10 2018-06-01 深圳羚羊极速科技有限公司 一种集成互联网视频接入网关及边缘计算的设备
CN110018887A (zh) * 2018-01-10 2019-07-16 苏州智配信息科技有限公司 一种可重构平台上的任务调度和资源管理算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
卢冶等: "面向边缘计算的嵌入式FPGA卷积神经网络构建方法", 《计算机研究与发展》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932226A (zh) * 2023-09-14 2023-10-24 中诚华隆计算机技术有限公司 一种基于Chiplet的硬件加速方法和硬件加速器
CN116932226B (zh) * 2023-09-14 2023-12-19 中诚华隆计算机技术有限公司 一种基于Chiplet的硬件加速方法和硬件加速器

Also Published As

Publication number Publication date
CN112732634B (zh) 2022-12-27

Similar Documents

Publication Publication Date Title
RU2597556C2 (ru) Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера
CN110308984B (zh) 一种用于处理地理分布式数据的跨集群计算系统
WO2020163315A1 (en) Systems and methods for artificial intelligence with a flexible hardware processing framework
CN111367630A (zh) 一种基于云计算的多用户多优先级的分布式协同处理方法
Du et al. Model parallelism optimization for distributed inference via decoupled CNN structure
US10970805B2 (en) Graphics processing unit operation
CN112527514B (zh) 基于逻辑扩展的多核心安全芯片处理器及其处理方法
Malakar et al. A CUDA-enabled Hadoop cluster for fast distributed image processing
CN106572500A (zh) 一种c‑ran中硬件加速器的调度方法
CN112732634B (zh) 面向边缘计算的arm-fpga协同局部动态重构处理方法
CN116820764A (zh) 一种计算资源的提供方法、系统、电子设备及存储介质
CN114840339A (zh) Gpu服务器、数据计算方法及电子设备
Chu et al. Dynamic kernel fusion for bulk non-contiguous data transfer on GPU clusters
CN114692079A (zh) 一种gpu批量矩阵乘法加速器及其处理方法
WO2016008317A1 (zh) 数据处理方法和中心节点
Zhang et al. A locally distributed mobile computing framework for DNN based android applications
CN116455612B (zh) 一种隐私计算中间数据流零拷贝装置及方法
Chu et al. High-performance adaptive MPI derived datatype communication for modern Multi-GPU systems
Tan et al. Parallel implementation and optimization of high definition video real-time dehazing
Liu et al. Coexe: An efficient co-execution architecture for real-time neural network services
CN114595813A (zh) 异构加速处理器及数据计算方法
Zhang et al. Repeatable multi-dimensional virtual network embedding in cloud service platform
Bagga et al. SPMD based time sharing intelligent approach for image denoising
Wang et al. Optimally removing synchronization overhead for CNNs in three-dimensional neuromorphic architecture
Yu et al. A novel GPU resources management and scheduling system based on virtual machines

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