CN104598310A - 基于fpga部分动态可重构技术模块划分的低功耗调度方法 - Google Patents

基于fpga部分动态可重构技术模块划分的低功耗调度方法 Download PDF

Info

Publication number
CN104598310A
CN104598310A CN201510034054.4A CN201510034054A CN104598310A CN 104598310 A CN104598310 A CN 104598310A CN 201510034054 A CN201510034054 A CN 201510034054A CN 104598310 A CN104598310 A CN 104598310A
Authority
CN
China
Prior art keywords
power consumption
task
fpga
node
reconstruct
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
CN201510034054.4A
Other languages
English (en)
Other versions
CN104598310B (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.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201510034054.4A priority Critical patent/CN104598310B/zh
Publication of CN104598310A publication Critical patent/CN104598310A/zh
Application granted granted Critical
Publication of CN104598310B publication Critical patent/CN104598310B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及一种基于FPGA部分动态可重构技术模块划分的低功耗调度方法,该方法包括:1)构造基于FPGA部分动态可重构技术模块划分的任务调度关系图;2)建立基于FPGA部分动态可重构技术模块划分的功耗测量和评估模型,测量出各个功能模块的片上功耗和重构功耗,根据所述功耗测量和评估模型评估出不同调度策略下的总功耗;3)根据基于FPGA部分动态可重构技术模块划分的低功耗调度算法,在降低任务调度总时延的情况下,降低功能模块的平均片上功率,从而同时减小总时延和总功率,实现降低总功耗。本发明方法能够有效降低FPGA芯片上的总功耗,对指导FPGA部分动态可重构技术任务低功耗实时调度有着重要的意义。

Description

基于FPGA部分动态可重构技术模块划分的低功耗调度方法
技术领域
本发明涉及FPGA部分动态可重构技术的功耗评估,具体地指一种基于FPGA部分动态可重构技术模块划分的低功耗调度方法。
背景技术
近年来,FPGA以其现场可编程特性、开发周期短、高集成度、低成本等优势,以及可重构的特性使得它被广泛应用于数字***的设计与实现上,然而,随着FPGA集成度和速度的提高所引起的日益严重的功耗问题,成为制约它发展的一个重要瓶颈,功耗问题一直都是决定产品尺寸、重量、性能等多方面的一个重要因素。所以这些年许多研究人员逐渐把关注点主要放在降低FPGA功耗方面,也提出了一些clock gating、clock scaling等降低FPGA动态功耗的技术。
但随着集成电路工艺特征尺寸的减小,芯片制造工艺达到90nm以下,静态功耗成为FPGA功耗的主要问题,由于动态可重构技术可以减少资源利用率,更加灵活的配置功能模块,所以有人提出希望通过可重构技术来降低FPGA的静态功耗。现有一些文献通过实验验证了可重构技术可以降低静态功耗,其一系列实验通过比较部分可重构技术和clock gating技术,从而验证了在关闭闲置逻辑块的情况下,部分可重构技术相较于clockgating技术可以更进一步的节省功耗,在关闭clock的情况下(没有动态功耗)重构低功耗模块来替换原有的高功耗模块可以更进一步降低FPGA功耗。不过,对于运行时FPGA动态可重构***,如何利用动态可重构技术降低FPGA的静态功耗方面的研究还很少,这方面的研究有助于提高可重构技术在降低静态功耗方面的实用性。
考虑到缺乏动态可重构的功耗计算模型,有些人提出了一种功耗模型以及可行的实验方法来测量和计算可重构功耗。但是,他们的功耗策略,仅仅是简单的将低功耗的模块替换为不在使用的功耗,但是他们并没有考虑不同的模块任务调度对功耗的影响。
也有一些研究提出了调度算法,有学者提出了一种leakage aware的调度算法来减少SRAM功耗从而减少重构功耗,但他没有考虑不同的调度会对运行时的功耗产生影响,而运行时的功耗是造成总的片上功耗的主要因素。
还有一些其他技术来提高可重构性能和降低可重构功耗,有的研究人员通过权衡相同任务串行或并行计算过程中的功耗,找出一种降低功耗的策略,但是,该模型受限于硬件模块任务相同,而且任务之间没有数据依赖关系,所以对于任务大小不同,依赖关系复杂,那么该模型不能很好的处理动态可重构的功耗。
发明内容
本发明目的在于利用动态可重构够技术来进一步降低FPGA的片上功耗。
实现本发明目的采用的技术方案是一种基于FPGA部分动态可重构技术模块划分的低功耗调度方法,该方法包括:
1)构造基于FPGA部分动态可重构技术模块划分的任务调度关系图;
2)建立基于FPGA部分动态可重构技术模块划分的功耗测量和评估模型,测量出各个功能模块的片上功耗和重构功耗,根据所述功耗测量和评估模型评估出不同调度策略下的总功耗;
3)根据基于FPGA部分动态可重构技术模块划分的低功耗调度算法,在降低任务调度总时延的情况下,降低功能模块的平均片上功率,从而同时减小总时延和总功率,实现降低总功耗。
在上述技术方案中,所述任务调度关系图通过将重构时延和重构之间的竞争关系在任务数据流图中构造重构结点和双向选择边来描述,构造的任务调度依赖图的关键路径长度表示所有任务调度完成的总时延。
在上述技术方案中,所述重构结点包括:
结点Vi和Vj表示在同一个可重构区域中的任务,并且Vi在Vj之前执行,结点RVj作为重构结点被加在Vi和Vj之间,RVj是Vj重构做消耗的时延,更新连接任务结点Vi和Vj的边为连接任务结点和重构结点之间边(Vi,RVj),(RVj,Vj)。
在上述技术方案中,所述双向选择边为RE=<RVi|RVj>,该双向选择边由一对相反指向的边构成,RVi->RVj或者RVj->RVi,不同的指向表示对重构结点不同的调度顺序,并且这一对相反的边是异或关系。
在上述技术方案中,根据所述功耗测量和评估模型估算出FPGA总功率包括:
在一块已经划分好可重构区域、分配好模块的FPGA芯片上,建立功耗模型,总的功耗为:
Etotal=Ecfgs+Etasks
式中,Etotal是指运行时芯片上消耗的总能量,Ecfgs是指运行时由于重构硬件资源消耗的总能量,Etasks指的是执行硬件任务时所消耗的总能量;
由于Ecfgs与总的重构时延Tcfg成线性关系,所以通过下式得到Ecfgs
Ecfgs=Pcfg*Tcfgs=Pcfg*∑tcfgi
Etasks=∑Pi*ti
式中,Pcfg是重构功率,tcfgi分别表示每次重构的时间,Pi为每个硬件任务在芯片上所占用的功率,ti表示第i个任务在芯片上所占用的时间;所以:
Etotal=Pcfg*∑tcfgi+∑Pi*ti=Pavg*ttotal
Pavg、ttotal分别是芯片工作时的平均功率和总时间。
在上述技术方案中,减小任务调度总时延的同时降低FPGA片上平均功率包括:
创建双向边列表,用于存放所有的双向边,然后每次只取出一个双向边,每次比较双向边的两种选择,选择出在当前任务调度图中更好的情况,即总时延最小的情况,保留该方向的边,剪掉另一方向的边;如此循环下去,直到最后列表中没有双向边为止;每次在对双向边选取、剪枝之前,需要重新计算当前任务调度图中的相关重构结点的开始时间st和重构时延et,从而减小任务调度的总时延;
在最短关键路径算法的基础上,保持关键路径长度,通过比较非关键路径上结点与前后结点之间的功率,使得功率较大的任务的片上时间减小,从而减少片上平均功率。
本发明方法能够有效降低FPGA芯片上的总功耗,对指导FPGA部分动态可重构技术任务低功耗实时调度有着重要的意义。
附图说明
图1为本发明基于FPGA部分动态可重构技术模块划分的低功耗调度方法的流程图。
图2为本发明所用任务调度图。
图3为本实施例所用任务调度图,相同形状的结点表示是同一可重构区域中的结点,黑色结点表示重构时延。
图4为剪枝后的任务调度图。
图5为动态可重构***下任务调度图(a)和任务功耗图(b)。
图6(a)为最短关键路径调度结果,图6(b)为低功耗调度结果。
图7为两种调度算法任务功耗图,(a)为最短关键路径调度功耗图,(b)为低功耗调度功耗图。
具体实施方式
下面结合附图和具体实验例对本发明作进一步的详细说明。
本实施例通过实际的FPGA平台来验证本发明基于FPGA部分动态可重构技术模块划分的低功耗调度方法的可行性和有效性,通过对比实验结果,能够得出低功耗调度算法对功耗和时延有明显优化。
本实施例所用实验平台是xc5vlx110t开发板,开发工具是xilinx Tools12.4(ISE+PlanAhead+EDK),实验是在xc5vlx110t开发板上实现动态可重构,主要有两个关键点,第一:动态,第二:可重构;针对动态,计划采用microblaze软核作为processor来控制各部件,从而达到动态的目的;针对可重构,xilinx提出了自己的一套解决方案-planahead工具,这款工具可以很方便的实现在可重构区域中加入欲重构的可重构模块,并能生成每个模块的部分可重构配置文件,让实验难度降低。实验平台细节如下:
1、硬件搭建,这一步使用的是EDK中的XPS,实验中需要观察到各种操作,因此使用了串口通信UART;需要加载可重构bit,使用了ICAP;由于实验计划通过CF存储所需的文件,因此使用了systemACE进行控制;另外用户模块用户逻辑作为可重构区域,这一块将通过模板IP core做出自己的用户逻辑ip core。同时,总线是采用的plb v46。在这一步中用户逻辑是个黑盒子,用来作为可重构区域,因此在这一步中还不能生成bit。下一步,将通过planahead工具划分可重构,从而生成bit,完整实现硬件的搭建。
2、可重构划分,这一步使用的是planahead工具。这一步主要的任务是在每一个可重构区域中加入欲在此区域重构的模块bit,每个模块bit都是在ISE中生成的,且保证每个模块的名称和引脚名一样。最后每一个配置完成run和generate bit操作来生成每个配置的整个bit文件和可重构模块的bit文件,这一步的时间有点长。完成了硬件部分后,下一步即是在EDK中的SDK中通过程序调配每个bit的加载和其他外设的工作。
3、实现动态,这一步使用的是EDK中的SDK。加载前面生成的硬件的相应信息,可以在SDK中查到每个模块的API(用户逻辑ip除外),通过提供的API可以很方便完成动态和其他外设的工作,也可以在SDK中加入自己的算法实现相应的调配。
4、前面几步生成的相关文件转换成CF卡相应的文件格式,需要用到Xilinx Bash shell工具,相应的脚本命令可以查询cygwin工具命令。这一步生成了system.ace以及其他的各个模块的bit。
5、改变xc5vlx110t开发板启动模式,调整为从CF卡启动。
6、将4中生成的文件放在CF卡中,启动power,开发板即可按照自己的想法工作。到此,整个流程完成。
另外,通过vivado HLS,不仅可以得到C语言转换的VHDL,还可以通过综合出的Schedule Graph帮助分析各个模块之间的数据依赖关系和时延。功耗的测量可以使用多个电压表配合放大电路测量。图7显示的是从高层次综合到最后的片上实现的实验流程。
如图1所示,本发明基于FPGA部分动态可重构技术模块划分的低功耗调度方法包括:
S100、构造基于FPGA部分动态可重构技术模块划分的任务调度关系图。
S200、建立基于FPGA部分动态可重构技术模块划分的功耗测量和评估模型,测量出各个功能模块的片上功耗和重构功耗,根据所述功耗测量和评估模型评估出不同调度策略下的总功耗。
S300、根据基于FPGA部分动态可重构技术模块划分的低功耗调度算法,在降低任务调度总时延的情况下,降低功能模块的平均片上功率,从而同时减小总时延和总功率,实现降低总功耗的目的。
本发明将硬件任务调度问题抽象成基于模块的任务调度图,以一个六模块的例子进行说明,如图2所示,图2(a)中结点是硬件任务结点,对应于调度时序图,图2(b)中的任务执行时间段,在不考虑重构时延的情况下,片上应用程序执行的时间取决于任务调度图关键路径中的总时长。
任务调度图G=(V,E,HW,R)表示各个任务的执行序列和时间段,执行序列受数据依赖关系和不同可重构区域之间的重构冲突约束。V=(est,lst,et,p)是结点集合,每一个结点表示硬件任务执行时间段或重构时间段,其中est表示最早开始时间,lst表示最迟开始时间,et表示执行时间,p表示耗散的功率。E={(Vi,Vj)|Vi和Vj是两个结点}是图中边的集合,其中每条边表示数据依赖关系或者重构冲突。HW表示硬件任务结点的集合,R表示重构结点的集合,HW和R都属于V。
本实施例中,假设结点Vi和Vj表示在同一个可重构区域中的任务,并且Vi在Vj之前执行,结点RVj作为重构结点应该被加在Vi和Vj.之间,RVj是Vj重构做消耗的时延,更新连接任务结点Vi和Vj的边为连接任务结点和重构结点之间边(Vi,RVj),(RVj,Vj)。假设模块A和模块B在可重构区域PRR1中,模块C和模块D在可重构区域PRR2中,为了表示各可重构区域中的重构时延,引入RB1和RD1到任务依赖关系图中,原先的有向边A1->B1变成A1->RB1->B1,原先的C->D1变成C->RD1->D1
但是,由于同一时刻只有一个可重构区域可以被重构,也就是重构结点之间存在着竞争关系,所以需要引入特别的关系边来表示这种重构约束。
双向选择边RE=<RVi|RVj>,该双向选择边由一对相反指向的边构成,RVi->RVj或者RVj->RVi,不同的指向表示对重构结点不同的调度顺序,并且这一对相反的边是异或关系,即在任务调度图中只能在双向变中选择一个指向的边,因为任意两重构结点之间只可能存在着一种调度顺序。
建立任务调度图后,测量出每个功能模块的片上功率,并按照模型可以估算出FPGA总功率,具体步骤如下:
在一块已经划分好可重构区域、分配好模块的FPGA芯片上,建立功耗模型。由于总的功耗是由执行任务的功耗和重构功耗两部分构成,所以有如下等式:
Etotal=Ecfgs+Etasks
Etotal是指运行时芯片上消耗的总能量,Ecfgs是指运行时由于重构硬件资源消耗的总能量,Etasks指的是执行硬件任务时所消耗的总能量。由于Ecfgs与总的重构时延Tcfg成线性关系,所以可以通过下列等式得到Ecfgs
Ecfgs=Pcfg*Tcfgs=Pcfg*∑tcfgi
由于缺乏针对动态可重构***中的对每个硬件任务的功耗估计模型,所以通过如下图所示的电路测量出Pcfg,Pcfg是重构功率,tcfgi分别表示每次重构的时间。
通过测量出重构功率Pcfg以及每个硬件任务在芯片上所占用的功率Pi。假定当芯片上没有加载任务,并且没有重构时的功率为零,所以Etasks可以由如下等式得到。
Etasks=∑Pi*ti
其中ti表示第i个任务在芯片上所占用的时间。综合上述等式总的能量消耗模型可以表示为:
Etotal=Pcfg*∑tcfgi+∑Pi*ti=Pavg*ttotal
其中分别Pavg,ttotal是芯片工作时的平均功率和总时间。的目标就是通过减小Pavg和ttotal,从而减小总功耗。
因此,本发明方就是使得在减少总的片上时间的同时也减少平均片上功率,那么就可以减少总功耗。
首先,创建双向边列表,用于存放所有的双向边,然后每次只取出一个双向边,每次比较双向边的两种选择,选择出在当前任务调度图中更好的情况,即总时延最小的情况,保留该方向的边,剪掉另一方向的边。如此循环下去,直到最后列表中没有双向边为止。每次在对双向边选取、剪枝之前,需要重新计算当前任务调度图中的相关重构结点的开始时间st和重构时延et。这样就可以减小任务调度的总时延。
为了能减少片上平均功率,基本思路是尽可能减少任务在片上的时间,让功率较大任务片上时间尽可能缩短。因为关键路径长度表示着总长度,为了不延长总时间和功耗,不对关键路径上的结点进行调整,而对非关键路径上的结点进行调整则不会延长总时间。因此,低功耗调度算法的主要思想就是,在最短关键路径算法的基础上,保持关键路径长度,通过比较非关键路径上结点与前后结点之间的功率,使得功率较大的任务的片上时间减小。
本实施例采用最短关键路径算法,来减少总的片上时间,如图3所示,模块A、模块B和模块C共用可重构区域PRR1,模块C、模块D和模块E共用可重构区域PRR2。为了表示重构时延,本文引入RA3、RB、RC1、RD、RE2和RF1到任务调度图中,这时有向边A2->B变成A2->RB->B,重构结点RB和RE2之间构建双向边<RB|RE2>,双向边提供了不同选择RB->RE2或RE2->RB。
关键路径上的权重之和表示可重构***中总的片上时间,最短关键路径算法可以找出一种关键路径尽量短的调度序列,从而减少总的片上时间。对双向边剪枝后,得到的调度序列如图4所示。
然后,在减少片上时延的情况下,同时减少片上平均功率。在实验过程中,通过测量各个模块的功耗,可以发现每个硬件任务的能量消耗是从重构该任务开始到重构下一个任务之前结束,其中包括运行时的功耗和重构功率,重构功率几乎是个常量,重构阶段的能量消耗是由重构功耗和运行时的功耗之和。
图5显示了最短关键路径算法的调度结果,和相对应的任务功耗图,阴影部分表示任务运行或重构时的功率,颜色越深,说明功率越大,从这张图中可以看出每个任务能量消耗的时间段。
为了能减少片上平均功率,本实施例尽可能减少任务在片上的时间,让功率较大任务片上时间尽可能缩短。因为关键路径长度表示着总长度,为了不延长总时间和功耗,不对关键路径上的结点进行调整,而对非关键路径上的结点进行调整则不会延长总时间。因此,低功耗调度算法的主要思想就是,在最短关键路径算法的基础上,保持关键路径长度,通过比较非关键路径上结点与前后结点之间的功率,使得功率较大的任务的片上时间减小。
具体算法是:因为考虑的是任务运行时的功耗,所以假设FPGA上没有重构任何任务时的功耗为零,以此为起点,通过上一节的功耗模型进行计算。1)比较非关键路径上的任务结点与它前一个任务结点和后一个任务结点之间的功率大小,找出最小功率的任务结点;2)重复步骤1,直到非关键路径上一段连续相邻的结点都比较结束,找出这一段非关键路径上最小功率的任务结点;3)在这一段非关键路径上,在最小功率任务结点(包括该结点)之前的结点尽可能早的重构运行,该节点之后的结点尽可能迟的重构运行。4)在最小功率任务结点之后可能会空出一段时间没有任务执行(此时由于可重构区域中还存在有任务,所以该任务依然会有功耗),如果这段时间大于重构空任务(将可重构区域置空)所需的时间,则比较在这段时间内没有运行的任务功耗和重构空任务所需的功耗,如果重构空任务所需的功耗较小,那么可以通过重构空任务再次减少功耗。5)另外,在非关键路径上有两种任务结点情况比较特别,一个是最开始配置到可重构区域的任务,由于在非关键路径上,在不延长关键路径的情况下,尽可能迟的重构到可重构区域中。另一种就是最后重构到可重构区域的任务,即便不需要了但由于还滞留在片上,依然会消耗功耗,所以可以按照类似步骤四的方法进行处理。
如图6所示,A1,C2,RE2,E2,,RF1和F1都是非关键路径上的结点,A1是头结点,并且在非关键路径上,所以尽可能迟的调度A1,即按照A1最迟开始时间来调度.{D,RE2,E2,RF1,F1,F2}是非关键路径上一些列连续的结点,其中发现E2是最小功率的任务结点,所以将RF1,F1在最迟开始时间调度,由于在E2和RF1之间存在一段没有任务运行的时间段,但是由于该时间段小于重构时延,为了不延长总时延,所以不重构空任务。C2是最后重构的任务,并且最非关键路径上,所以竟可能早的调度C2。这样就空出一段足够长的时间段来重构空任务,按照最初的设定,空任务的功率为零,并且重构任务C2所需的功耗比任务C2在这段空闲时间段内的片上功耗要小,因此可以通过将可重构区域置空来减少功耗。
图7表示是低功耗调度结果,可以容易发现低功耗调度算法通过减少高功耗任务在片上的和减少不必要的功耗,达到减少功耗的目的,该算法通过调度不仅有效的减少片上时间,而且有效减少片上功耗。

Claims (6)

1.一种基于FPGA部分动态可重构技术模块划分的低功耗调度方法,其特征在于,包括:
1)构造基于FPGA部分动态可重构技术模块划分的任务调度关系图;
2)建立基于FPGA部分动态可重构技术模块划分的功耗测量和评估模型,测量出各个功能模块的片上功耗和重构功耗,根据所述功耗测量和评估模型评估出不同调度策略下的总功耗;
3)根据基于FPGA部分动态可重构技术模块划分的低功耗调度算法,在降低任务调度总时延的情况下,降低功能模块的平均片上功率,从而同时减小总时延和总功率,实现降低总功耗。
2.根据权利要求1所述基于FPGA部分动态可重构技术模块划分的低功耗调度方法,其特征在于:所述任务调度关系图通过将重构时延和重构之间的竞争关系在任务数据流图中构造重构结点和双向选择边来描述,构造的任务调度依赖图的关键路径长度表示所有任务调度完成的总时延。
3.根据权利要求2所述基于FPGA部分动态可重构技术模块划分的低功耗调度方法,其特征在于所述重构结点包括:
结点Vi和Vj表示在同一个可重构区域中的任务,并且Vi在Vj之前执行,结点RVj作为重构结点被加在Vi和Vj之间,RVj是Vj重构做消耗的时延,更新连接任务结点Vi和Vj的边为连接任务结点和重构结点之间边(Vi,RVj),(RVj,Vj)。
4.根据权利要求3所述基于FPGA部分动态可重构技术模块划分的低功耗调度方法,其特征在于所述双向选择边为RE=<RVi|RVj>,该双向选择边由一对相反指向的边构成,RVi->RVj或者RVj->RVi,不同的指向表示对重构结点不同的调度顺序,并且这一对相反的边是异或关系。
5.根据权利要求4所述基于FPGA部分动态可重构技术模块划分的低功耗调度方法,其特征在于根据所述功耗测量和评估模型估算出FPGA总功率包括:
在一块已经划分好可重构区域、分配好模块的FPGA芯片上,建立功耗模型,总的功耗为:
Etotal=Ecfgs+Etasks
式中,Etotal是指运行时芯片上消耗的总能量,Ecfgs是指运行时由于重构硬件资源消耗的总能量,Etasks指的是执行硬件任务时所消耗的总能量;
由于Ecfgs与总的重构时延Tcfg成线性关系,所以通过下式得到Ecfgs
Ecfgs=Pcfg*Tcfgs=Pcfg*∑tcfgi
Etasks=∑Pi*ti
式中,Pcfg是重构功率,tcfgi分别表示每次重构的时间,Pi为每个硬件任务在芯片上所占用的功率,ti表示第i个任务在芯片上所占用的时间;所以:
Etotal=Pcfg*∑tcfgi+∑Pi*ti=Pavg*ttotal
Pavg、ttotal分别是芯片工作时的平均功率和总时间。
6.根据权利要求5所述基于FPGA部分动态可重构技术模块划分的低功耗调度算法,其特征在于减小任务调度总时延的同时降低FPGA片上平均功率包括:
创建双向边列表,用于存放所有的双向边,然后每次只取出一个双向边,每次比较双向边的两种选择,选择出在当前任务调度图中更好的情况,即总时延最小的情况,保留该方向的边,剪掉另一方向的边;如此循环下去,直到最后列表中没有双向边为止;每次在对双向边选取、剪枝之前,需要重新计算当前任务调度图中的相关重构结点的开始时间st和重构时延et,从而减小任务调度的总时延;
在最短关键路径算法的基础上,保持关键路径长度,通过比较非关键路径上结点与前后结点之间的功率,使得功率较大的任务的片上时间减小,从而减少片上平均功率。
CN201510034054.4A 2015-01-23 2015-01-23 基于fpga部分动态可重构技术模块划分的低功耗调度方法 Expired - Fee Related CN104598310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510034054.4A CN104598310B (zh) 2015-01-23 2015-01-23 基于fpga部分动态可重构技术模块划分的低功耗调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510034054.4A CN104598310B (zh) 2015-01-23 2015-01-23 基于fpga部分动态可重构技术模块划分的低功耗调度方法

Publications (2)

Publication Number Publication Date
CN104598310A true CN104598310A (zh) 2015-05-06
CN104598310B CN104598310B (zh) 2017-08-08

Family

ID=53124125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510034054.4A Expired - Fee Related CN104598310B (zh) 2015-01-23 2015-01-23 基于fpga部分动态可重构技术模块划分的低功耗调度方法

Country Status (1)

Country Link
CN (1) CN104598310B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648883A (zh) * 2016-09-14 2017-05-10 上海鲲云信息科技有限公司 基于 fpga 的动态可重构硬件加速方法及***
CN107018201A (zh) * 2017-04-20 2017-08-04 北京中科睿芯科技有限公司 数据流架构中利用关键路径信息进行指令动态迁移的方法
CN108139929A (zh) * 2015-10-12 2018-06-08 华为技术有限公司 用于调度多个任务的任务调度程序和方法
CN108388498A (zh) * 2018-02-12 2018-08-10 北京大学 内存中计算的功率建模方法及功率管理方法
CN109828799A (zh) * 2019-01-17 2019-05-31 京微齐力(北京)科技有限公司 一种fpga的高层次综合方法和装置
CN110704364A (zh) * 2019-06-18 2020-01-17 中国科学院电子学研究所 基于现场可编程门阵列的自动化动态重构方法及***
CN111736966A (zh) * 2020-05-11 2020-10-02 深圳先进技术研究院 基于多板fpga异构***的任务部署方法及设备
CN111858463A (zh) * 2020-07-17 2020-10-30 上海科技大学 一种基于dvfs的优化重配置算法
CN113778458A (zh) * 2021-08-19 2021-12-10 北京爱芯科技有限公司 数据处理器功能开发***、方法及计算设备
CN113886196A (zh) * 2021-12-07 2022-01-04 上海燧原科技有限公司 片上功耗管理方法、电子设备及存储介质
CN114527862A (zh) * 2022-02-14 2022-05-24 贵州电网有限责任公司 一种调整电力专用芯片功耗的方法、设备及介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984480B (zh) 2020-08-07 2022-07-22 苏州浪潮智能科技有限公司 Fpga加速卡的功耗加压测试方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441674A (zh) * 2008-12-15 2009-05-27 浙江大学 基于fpga的动态可重构***的分片配置方法
CN102298344A (zh) * 2011-05-05 2011-12-28 杭州电子科技大学 一种基于fpga动态部分可重构技术的局部热点缓和***
CN103677837A (zh) * 2013-12-17 2014-03-26 清华大学 Fpga动态部分可重构区域的配置方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441674A (zh) * 2008-12-15 2009-05-27 浙江大学 基于fpga的动态可重构***的分片配置方法
CN102298344A (zh) * 2011-05-05 2011-12-28 杭州电子科技大学 一种基于fpga动态部分可重构技术的局部热点缓和***
CN103677837A (zh) * 2013-12-17 2014-03-26 清华大学 Fpga动态部分可重构区域的配置方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BECKER,J.: "Power estimation and power measurement of Xilinx Virtex FPGAs: trade-offs and limitations", 《IEEE》 *
J ZHANG等: "Data dependency aware prefetch scheduling for Dynamic Partial reconfigurable designs", 《ASIC (ASICON), 2013 IEEE 10TH INTERNATIONAL CONFERENCE》 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108139929B (zh) * 2015-10-12 2021-08-20 华为技术有限公司 用于调度多个任务的任务调度装置和方法
CN108139929A (zh) * 2015-10-12 2018-06-08 华为技术有限公司 用于调度多个任务的任务调度程序和方法
CN106648883B (zh) * 2016-09-14 2020-02-04 深圳鲲云信息科技有限公司 基于fpga的动态可重构硬件加速方法及***
CN106648883A (zh) * 2016-09-14 2017-05-10 上海鲲云信息科技有限公司 基于 fpga 的动态可重构硬件加速方法及***
CN107018201A (zh) * 2017-04-20 2017-08-04 北京中科睿芯科技有限公司 数据流架构中利用关键路径信息进行指令动态迁移的方法
CN107018201B (zh) * 2017-04-20 2019-12-31 北京中科睿芯科技有限公司 数据流架构中利用关键路径信息进行指令动态迁移的方法
CN108388498A (zh) * 2018-02-12 2018-08-10 北京大学 内存中计算的功率建模方法及功率管理方法
CN108388498B (zh) * 2018-02-12 2020-09-08 北京大学 内存中计算的功率建模方法及功率管理方法
CN109828799A (zh) * 2019-01-17 2019-05-31 京微齐力(北京)科技有限公司 一种fpga的高层次综合方法和装置
CN109828799B (zh) * 2019-01-17 2022-05-17 京微齐力(北京)科技有限公司 一种fpga的高层次综合方法和装置
CN110704364A (zh) * 2019-06-18 2020-01-17 中国科学院电子学研究所 基于现场可编程门阵列的自动化动态重构方法及***
CN111736966B (zh) * 2020-05-11 2022-04-19 深圳先进技术研究院 基于多板fpga异构***的任务部署方法及设备
WO2021227418A1 (zh) * 2020-05-11 2021-11-18 深圳先进技术研究院 基于多板fpga异构***的任务部署方法及设备
CN111736966A (zh) * 2020-05-11 2020-10-02 深圳先进技术研究院 基于多板fpga异构***的任务部署方法及设备
CN111858463A (zh) * 2020-07-17 2020-10-30 上海科技大学 一种基于dvfs的优化重配置算法
CN111858463B (zh) * 2020-07-17 2024-04-02 上海科技大学 一种基于dvfs的优化重配置方法
CN113778458A (zh) * 2021-08-19 2021-12-10 北京爱芯科技有限公司 数据处理器功能开发***、方法及计算设备
CN113778458B (zh) * 2021-08-19 2024-04-05 北京爱芯科技有限公司 数据处理器功能开发***、方法及计算设备
CN113886196A (zh) * 2021-12-07 2022-01-04 上海燧原科技有限公司 片上功耗管理方法、电子设备及存储介质
CN114527862A (zh) * 2022-02-14 2022-05-24 贵州电网有限责任公司 一种调整电力专用芯片功耗的方法、设备及介质
CN114527862B (zh) * 2022-02-14 2023-10-31 贵州电网有限责任公司 一种调整电力专用芯片功耗的方法、设备及介质

Also Published As

Publication number Publication date
CN104598310B (zh) 2017-08-08

Similar Documents

Publication Publication Date Title
CN104598310A (zh) 基于fpga部分动态可重构技术模块划分的低功耗调度方法
Marcon et al. Time and energy efficient mapping of embedded applications onto NoCs
Ogras et al. Voltage-frequency island partitioning for GALS-based networks-on-chip
CN102171627A (zh) 对在异构计算***中执行的应用的调度
Zhong et al. Interconnect-aware high-level synthesis for low power
CN103218032B (zh) 利用相对能量损益平衡时间的功率管理
Jafri et al. Energy-aware coarse-grained reconfigurable architectures using dynamically reconfigurable isolation cells
CN104239135A (zh) 有向无环图的可重构***的混合任务调度方法
Kumar et al. Performance assessment of adaptive core mapping for NoC-based architectures
Huang et al. Application-specific network-on-chip synthesis with topology-aware floorplanning
Yang et al. Multi-application multi-step mapping method for many-core network-on-chips
Shang et al. Slopes: hardware–software cosynthesis of low-power real-time distributed embedded systems with dynamically reconfigurable fpgas
Reddy et al. Machine Learning Techniques for the Prediction of NoC Core Mapping Performance
Paik et al. Implementation of pulsed-latch and pulsed-register circuits to minimize clocking power
Li et al. Battery-aware task scheduling in distributed mobile systems with lifetime constraint
Reddy et al. Energy Efficient and High Performance Modified Mesh based 2-D NoC Architecture
Doppa et al. Adaptive manycore architectures for big data computing
Qi et al. An energy-efficient near/sub-threshold FPGA interconnect architecture using dynamic voltage scaling and power-gating
Demiriz et al. Voltage island based heterogeneous NoC design through constraint programming
Kapadia et al. A framework for low power synthesis of interconnection networks-on-chip with multiple voltage islands
Teodoro et al. A comparative study of energy-aware scheduling algorithms for computational grids
Ar et al. TopGen: A new algorithm for automatic topology generation for Network on Chip architectures to reduce power consumption
CN104408017A (zh) 应用于网格架构片上网络***的任务映射算法及开发方法
Guha et al. Resource management and task partitioning and scheduling on a run-time reconfigurable embedded system
Majzoub et al. PVT variation impact on voltage island formation in MPSoC design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170808

Termination date: 20220123

CF01 Termination of patent right due to non-payment of annual fee