CN111858463B - 一种基于dvfs的优化重配置方法 - Google Patents

一种基于dvfs的优化重配置方法 Download PDF

Info

Publication number
CN111858463B
CN111858463B CN202010690442.9A CN202010690442A CN111858463B CN 111858463 B CN111858463 B CN 111858463B CN 202010690442 A CN202010690442 A CN 202010690442A CN 111858463 B CN111858463 B CN 111858463B
Authority
CN
China
Prior art keywords
task
user
tasks
reconfiguration
circuit reconfiguration
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
Application number
CN202010690442.9A
Other languages
English (en)
Other versions
CN111858463A (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.)
ShanghaiTech University
Original Assignee
ShanghaiTech University
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 ShanghaiTech University filed Critical ShanghaiTech University
Priority to CN202010690442.9A priority Critical patent/CN111858463B/zh
Publication of CN111858463A publication Critical patent/CN111858463A/zh
Priority to US17/595,194 priority patent/US11537774B2/en
Priority to PCT/CN2021/099124 priority patent/WO2022012232A1/zh
Application granted granted Critical
Publication of CN111858463B publication Critical patent/CN111858463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/337Design optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • 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)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供了一种基于DVFS的优化重配置算法,本发明提供的方法的主要贡献如下:一种基于DVFS的重配置方法,可以根据用户任务的并行程度调度用户任务,以便允许重配置更多并行用户任务,从而实现更高的可靠性。一种基于K‑Means的启发式近似算法,可以最大程度地减少基于DVFS的重配置调度算法的延迟。一种基于K‑Means的方法,该方法能够减少运用基于DVFS的重配置调度带来的内存开销。本发明提供的方法即提高了FPGA系统的可靠性,又最大化的减少了硬件电路面积的开销。

Description

一种基于DVFS的优化重配置方法
技术领域
本发明涉及一种基于DVFS的电路重配置任务调度方法。
背景技术
基于静态RAM(SRAM)的现场可编程门阵列(FPGA)是卫星及智能车等应用领域的优选高能效计算平台。它具有强大的计算能力和超高性能,并具有可重新配置电路的灵活性。同时,相对于专用芯片ASIC,FPGA具有低成本和上市快的显著优点。但是基于SRAM的FPGA最初并不是为了高可靠性场景而设计研发。当FPGA处于空间等高强度辐射环境中时,它们会遭受单粒子翻转(SEU)的困扰,在此情况下,由于带电粒子撞击芯片,芯片的配置存储器(Configuration Memory)和片上存储器(BRAM,Flip-flop)的状态可以被翻转(R.Santos,S.Venkataraman,A.Das,and A.Kumar,“Criticality-aware scrubbing mechanism forsram-based fpgas,”in 2014 24th International Conference on Field ProgrammableLogic and Applications(FPL),Sep.2014,pp.1–8.,以下简称参考文献【1】)。这可能会更改硬件的功能并导致错误的运行结果。因此就可靠性而言,存储在SRAM中的数据在高辐射环境下容易被外界影响,从而引发数据翻转使得FPGA系统变得不稳定。
在过去的几十年中,相关专家已经提出了许多减轻FPGA中SEU错误的方法。通常,有两个阶段来确保FPGA系统的可靠性。在第一个阶段,使用模块化冗余(三重模块化冗余(TMR),将三个相同的模块用于一项任务)技术或信息冗余(自检电路,内存ECC)技术来检测内存中的错误。在第二阶段,通过重新配置FPGA的配置存储器(Configuration Memory)进行配置存储器的刷新,以消除检测到的SEU错误。近几年,许多结合这两个阶段的方法被提出来,例如基于模块的错误恢复(TMR-MER)(D.Agiakatsikas,N.T.H.Nguyen,Z.Zhao,T.Wu,E.Cetin,O.Diessel,and L.Gong,“Reconfiguration control networks for tmrsystems with module-based recovery,”in2016 IEEE 24th Annual InternationalSym-posium on Field-Programmable Custom Computing Machines(FCCM),May 2016,pp.88–91.,以下简称参考文献【2】;N.T.H.Nguyen,D.Agiakatsikas,E.Cetin,andO.Diessel,“Dynamic scheduling of voter checks in fpga-based tmr systems,”in2016Interna-tional Conference on Field-Programmable Technology(FPT),Dec2016,pp.169–172.,下简称参考文献【3】)。但是,这些方法都面临这较大的FPGA电路区域开销或特定故障的平均修复时间较长的问题。
为了解决这些问题,最近一些学者提出了一些不使用TMR的新颖电路重配置(scrubbing)技术(参考文献【1】;R.Santos,S.Venkataraman,and A.Kumar,“Dynamicallyadaptive scrubbing mechanism for improved reliability in reconfigurableembedded systems,”in2015 52nd ACM/EDAC/IEEE Design Automation Conference(DAC),June 2015,pp.1–6.,以下简称参考文献【4】)。这些方法试图在执行每个用户任务之前重新配置每个任务的配置存储器,以确保在执行每个用户任务之前硬件的正确性。而且这种方法可以省略模块化的冗余阶段以减少面积开销。但是在存在并行任务的情况下,突发重配置的请求可能会频繁发生。由于FPGA的重配置模块(ICAP)的限制(一次只能重配置一个任务),许多重配置请求可能会延迟或被忽略,从而导致系统可靠性降低(参考文献【1】;参考文献【4】)。
发明内容
本发明的目的是:解决基于SRAM的FPGA高辐射环境下不可靠的问题。
为了达到上述目的,本发明的技术方案是提供了一种基于DVFS的优化重配置算法,其特征在于,包括以下步骤:
步骤1、提取映射到FPGA系统中所有用户任务的用户任务信息;
步骤2、对于每个用户任务,根据FPGA系统的ICAP模块使用情况和当前用户任务的重要性,运用整数线性规划的方法调整对应电路重配置任务的运行周期,根据计算所得的运行周期,调度每一个生成的电路重配置任务在相应的用户任务前面,根据电路重配置任务的冲突关系,将电路重配置任务和对应的用户任务收集至冲突集合CΛ;
步骤3、对于步骤2得到的冲突集合CΛ,对应不同的场景,采用以下两种方法之一来解决电路重配置任务间的冲突:
在对FPGA可靠性要求非常高,并且对程序运行时间不敏感的场景下,通过解决非线性整数优化问题,不断地调用MINLP优化求解器,运用DVFS来重新调度用户任务的运行频率和电路重配置任务的开始时间使FPGA系统稳定性达到最大;
在对FPGA可靠性要求相对低一些,但是对程序运行时间敏感的场景下,基于近似的DVFS调度方式,通过设计对原优化问题的近似算法,运用DVFS重新调度用户和电路重配置任务,在显著减少算法运行时间的情况下,最大化FPGA系统的稳性;
步骤4、用EDL算法对步骤3生成的调度进行微调,最终生成电路重配置任务的最终调度;
步骤5、读取每个用户任务通过步骤4生成的调度信息,不断地重配置每个用户任务的电路,最终达到提升FPGA系统稳定性的效果。
优选地,步骤1中,所述用户任务信息包括用户任务的运行周期、用户任务的最大运行频率。
优选地,步骤2中,对于第i个用户任务,根据FPGA系统的ICAP模块使用情况和用户任务的重要性,通过下式(1)运用整数线性规划ILP的方法调整第i个用户任务对应的第i个电路重配置任务的运行周期STi
目标:最小化
式(1)中,第i个电路重配置任务对应的刷新时间为SWi,第i个用户任务的运行周期为Ti,电路重配置任务的数量为|SΛ|,第i个用户任务的重要性为ξi,FPGA系统的ICAP模块的使用时间不能超过ubound;
通过计算每个电路重配置任务的运行周期的最小公倍数LCM,只调度LCM时间段内的用户任务和电路重配置任务,对于每个LCM间隔,都会重复执行调度好的用户作业和电路重配置作业;
计算好了电路重配置任务的运行周期后,根据计算所得的运行周期,调度每一个生成的电路重配置任务在相应的用户任务前面,根据电路重配置任务的冲突关系,将电路重配置任务和对应的用户任务收集至冲突集合CΛ中。
优选地,步骤3中,不断地调用所述MINLP优化求解器,通过最优化下式(2)中的目标函数来减少电路重配置任务和用户任务之间的时间间隔:
目标:最小化
式(2)中,gapi表示第i个电路重配置任务和第i个用户任务之间的时间间隔;ssi为第i个电路重配置任务的开始时间;uei为第i个用户任务的运行功耗,它与用户任务的运行频率fii有关;σi为冲突集合CΛ中的第i个用户任务;κ1和κ1为超参数,分别表示系统的可靠性因子和能耗因子。
优选地,将γ定义为可靠性与能耗的比率,通过操纵γ来调整超参数κ1和κ1在式(2)所示的目标函数中所占的比重。
优选地,步骤3中,所述基于近似的DVFS调度方式分为两个部分,第一个部分为通过profile模块实现的存储空间减少算法,profile模块对每个冲突集合CΛ输出一个被每个用户任务重要性加权的特征向量,该特征向量记录了每个电路重配置任务和其它电路重配置任务的冲突数量,即该向量的第一个元素是第一个电路重配置任务与其他电路重配置任务冲突的冲突数量并被第一个用户任务归一化后的重要性加权,随后用K-means算法将特征相近的冲突集合CΛ聚合为一个更大的冲突集NCΛ,重新安排NCΛ中的用户任务和电路重配置任务,具有相同任务ID的所有用户任务都以相同的频率进行调度;
第二部分为运行时间减少算法,通过重新调度K-means算法生成的冲突集合NCΛ来减少电路重配置任务之间的冲突,运行时间减少算法将用户任务的频率和电压提高以节省用户任务的执行时间,并利用节省的时间间隙来调度其对应的电路重配置任务,用户任务的频率增加到一定程度,以便有一个等于其电路重配置时间的时序间隙为其进行重配置,随后在用户任务执行之前安排相应的电路重配置作业。
本发明提供的方法的主要贡献如下:
(1)一种基于DVFS的重配置方法,可以根据用户任务的并行程度调度用户任务,以便允许重配置更多并行用户任务,从而实现更高的可靠性。
(2)一种基于K-Means的启发式近似算法,可以最大程度地减少基于DVFS的重配置调度算法的延迟。
(3)一种基于K-Means的方法,该方法能够减少运用基于DVFS的重配置调度带来的内存开销。
与现有技术现本,本发明具有如下优点:
利用DVFS,本发明可以调整用户任务的执行时间,因此,可以重新安排用户任务,减少用户任务的并行性。以此方式,减少对FPGA重新配置模块的突发配置请求的潜在冲突。对比以前的方法,本发明提供的方法即提高了FPGA系统的可靠性,又最大化的减少了硬件电路面积的开销。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
如图1所示,本发明提供的一种基于DVFS的优化重配置算法包括以下步骤:
步骤1:首先提取映射到FPGA系统中所有用户任务的用户任务信息,其中,第i个用户任务的用户任务信息包括用户任务的运行周期Ti、用户任务的最大运行频率fi
对于第i个用户任务,根据FPGA系统的ICAP模块使用情况和用户任务的重要性,通过下式(1)运用整数线性规划(ILP)的方法调整第i个用户任务对应的第i个电路重配置任务的运行周期STi
目标:最小化
式(1)中,第i个电路重配置任务对应的刷新时间为SWi,第i个用户任务的运行周期为Ti,电路重配置任务的数量为|SΛ|,第i个用户任务的重要性为ξi,FPGA系统的ICAP模块的使用时间不能超过ubound。
由于本发明同时考虑了用户任务的重要性,因此更重要的任务的可靠性也更加高。
由于电路重配置任务为周期性任务,因此通过计算每个电路重配置任务的运行周期的最小公倍数LCM,我们可以只调度LCM时间段内的用户和电路重配置任务,对于每个LCM间隔,都会重复执行调度好的用户作业和电路重配置作业。
计算好了电路重配置任务的运行周期后,我们将根据计算所得的运行周期,调度每一个生成的电路重配置任务在相应的用户任务前面,这个时候的调度是非法的,因为大部分的任务是互相冲突的,我们将根据电路重配置任务的冲突关系,将电路重配置任务和对应的用户任务收集至冲突集合CΛ中,馈送至下面的模块来减少任务之间的冲突,以生成最终合法的高可靠性调度。
步骤2:步骤1计算所得的任务冲突集合CΛ中很多电路重配置任务是互相冲突的,通过提取到的用户任务的最大频率fi,本发明提出了两种基于DVFS的方法,通过调整用户任务的运行频率来解决电路重配置任务间的冲突,并且每种方法对应不同的场景。
在对FPGA可靠性要求非常高,并且对程序运行时间不敏感的场景下,本发明提出了一种基于优化的DVFS调度方式,通过解决非线性整数优化(MINLP)问题,本发明不断地调用MINLP优化求解器,通过最优化下式(2)中的目标函数来减少电路重配置任务和用户任务之间的时间间隔,运用DVFS来重新调度用户任务的运行频率和电路重配置任务的开始时间使FPGA系统稳定性达到最大。
目标:最小化
式(2)中,gapi表示第i个电路重配置任务和第i个用户任务之间的时间间隔;ssi为第i个电路重配置任务的开始时间;uei为第i个用户任务的运行功耗,它与用户任务的运行频率fii有关;σi为冲突集合CΛ中的第i个用户任务。目标函数中有两个超参数κ1和κ1,分别表示系统的可靠性因子和能耗因子。将γ定义为可靠性与能耗的比率。我们可以操纵γ来调整这两个因素在我们要优化的目标函数中所占的比重。例如,通过增加γ的值,与能耗因子相比,可靠性因子会被赋予更多权重以优化系统可靠性。
在对FPGA可靠性要求相对低一些,但是对程序运行时间敏感的场景下,本发明提出了一种基于近似的DVFS调度方式,通过设计对原优化问题的近似算法,运用DVFS重新调度用户和电路重配置任务,在显著减少算法运行时间的情况下,最大化FPGA系统的稳性。
基于近似的DVFS调度方式主要分为两个部分,第一个部分为存储空间减少算法,我们通过profile模块实现算法的第一步,profile模块对每个冲突集合CΛ输出一个被每个用户任务重要性加权的特征向量。该特征向量记录了每个电路重配置任务和其它电路重配置任务的冲突数量,即该向量的第一个元素是第一个电路重配置任务与其他电路重配置任务冲突的冲突数量并被第一个用户任务归一化后的重要性加权,随后我们用K-means算法将特征相近的冲突集聚合为一个更大的冲突集NCΛ。我们可以同时重新安排NCΛ中的用户任务和电路重配置任务。具有相同任务ID的所有用户任务都以相同的频率进行调度,通过这种方式我们减少了近似算法对用户任务频率/电压对的存储,使得该算法更容易部署到FPGA系统之中。
基于近似的DVFS调度方式的第二部分为运行时间减少算法,通过重新调度K-means算法生成的冲突集合NCΛ,来减少电路重配置任务之间的冲突。运行时间减少算法会将用户任务的频率和电压提高以节省用户任务的执行时间,并利用了节省的时间间隙来调度其对应的电路重配置任务,用户任务的频率会增加到一定程度,以便有一个等于其电路重配置时间的时序间隙为其进行重配置,随后提出的算法会在用户任务执行之前安排相应的电路重配置作业。
步骤3:由于通过步骤2生成的调度可能还会有一些任务间的冲突,因此本发明用EDL(参考文献【5】Chetto H,Chetto M.Some results of the earliest deadlinescheduling algorithm[J].IEEE Transactions on Software Engineering,1989,15(10):1261–1269.DOI:10.1109/TSE.1989.559777)算法对步骤2生成的调度进行微调,通过EDL,我们确保最终生成的电路重配置任务没有冲突,并且每一个电路重配置任务都尽可能的安排在用户任务的执行前运行。最终我们的方法会生成电路重配置任务的高可靠性调度。运行时通过读取每个用户任务的调度信息,不断地重配置每个用户任务的电路,最终达到提升FPGA系统稳定性的效果。

Claims (6)

1.一种基于DVFS的优化重配置方法,其特征在于,包括以下步骤:
步骤1、提取映射到FPGA系统中所有用户任务的用户任务信息;
步骤2、对于每个用户任务,根据FPGA系统的ICAP模块使用情况和当前用户任务的重要性,运用整数线性规划的方法调整对应电路重配置任务的运行周期,根据计算所得的运行周期,调度每一个生成的电路重配置任务在相应的用户任务前面,根据电路重配置任务的冲突关系,将电路重配置任务和对应的用户任务收集至冲突集合CΛ;
步骤3、对于步骤2得到的冲突集合CΛ,对应不同的场景,采用以下两种方法之一来解决电路重配置任务间的冲突:
在对FPGA可靠性要求非常高,并且对程序运行时间不敏感的场景下,通过解决非线性整数优化问题,不断地调用MINLP优化求解器,运用DVFS来重新调度用户任务的运行频率和电路重配置任务的开始时间使FPGA系统稳定性达到最大;
在对FPGA可靠性要求相对低一些,但是对程序运行时间敏感的场景下,基于近似的DVFS调度方式,通过设计对原优化问题的近似算法,运用DVFS重新调度用户和电路重配置任务,在显著减少算法运行时间的情况下,最大化FPGA系统的稳定性;
步骤4、用EDL算法对步骤3生成的调度进行微调,最终生成电路重配置任务的最终调度;
步骤5、读取每个用户任务通过步骤4生成的调度信息,不断地重配置每个用户任务的电路,最终达到提升FPGA系统稳定性的效果。
2.如权利要求1所述的一种基于DVFS的优化重配置方法,其特征在于,步骤1中,所述用户任务信息包括用户任务的运行周期、用户任务的最大运行频率。
3.如权利要求2所述的一种基于DVFS的优化重配置方法,其特征在于,步骤2中,对于第i个用户任务,根据FPGA系统的ICAP模块使用情况和用户任务的重要性,通过下式(1)运用整数线性规划ILP的方法调整第i个用户任务对应的第i个电路重配置任务的运行周期STi
式(1)中,第i个电路重配置任务对应的刷新时间为SWi,第i个用户任务的运行周期为Ti,电路重配置任务的数量为|SΛ|,第i个用户任务的重要性为ξi,FPGA系统的ICAP模块的使用时间不能超过ubound;
通过计算每个电路重配置任务的运行周期的最小公倍数LCM,只调度LCM时间段内的用户任务和电路重配置任务,对于每个LCM间隔,都会重复执行调度好的用户作业和电路重配置作业;
计算好了电路重配置任务的运行周期后,根据计算所得的运行周期,调度每一个生成的电路重配置任务在相应的用户任务前面,根据电路重配置任务的冲突关系,将电路重配置任务和对应的用户任务收集至冲突集合CΛ中。
4.如权利要求2所述的一种基于DVFS的优化重配置方法,其特征在于,步骤3中,不断地调用所述MINLP优化求解器,通过最优化下式(2)中的目标函数来减少电路重配置任务和用户任务之间的时间间隔:
式(2)中,gapi表示第i个电路重配置任务和第i个用户任务之间的时间间隔;ssi为第i个电路重配置任务的开始时间;uei为第i个用户任务的运行功耗,它与用户任务的运行频率fi有关;σi为冲突集合CΛ中的第i个用户任务;κ1和κ2为超参数,分别表示系统的可靠性因子和能耗因子。
5.如权利要求4所述的一种基于DVFS的优化重配置方法,其特征在于,将γ定义为可靠性与能耗的比率,通过操纵γ来调整超参数κ1和κ2在式(2)所示的目标函数中所占的比重。
6.如权利要求1所述的一种基于DVFS的优化重配置方法,其特征在于,步骤3中,所述基于近似的DVFS调度方式分为两个部分,第一个部分为通过profile模块实现的存储空间减少算法,profile模块对每个冲突集合CΛ输出一个被每个用户任务重要性加权的特征向量,该特征向量记录了每个电路重配置任务和其它电路重配置任务的冲突数量,即该向量的第一个元素是第一个电路重配置任务与其他电路重配置任务冲突的冲突数量并被第一个用户任务归一化后的重要性加权,随后用K-means算法将特征相近的冲突集合CΛ聚合为一个更大的冲突集NCΛ,重新安排NCΛ中的用户任务和电路重配置任务,具有相同任务ID的所有用户任务都以相同的频率进行调度;
第二部分为运行时间减少算法,通过重新调度K-means算法生成的冲突集合NCΛ来减少电路重配置任务之间的冲突,运行时间减少算法将用户任务的频率和电压提高以节省用户任务的执行时间,并利用节省的时间间隙来调度其对应的电路重配置任务,用户任务的频率增加到一定程度,以便有一个等于其电路重配置时间的时序间隙为其进行重配置,随后在用户任务执行之前安排相应的电路重配置作业。
CN202010690442.9A 2020-07-17 2020-07-17 一种基于dvfs的优化重配置方法 Active CN111858463B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010690442.9A CN111858463B (zh) 2020-07-17 2020-07-17 一种基于dvfs的优化重配置方法
US17/595,194 US11537774B2 (en) 2020-07-17 2021-06-09 Optimized reconfiguration algorithm based on dynamic voltage and frequency scaling
PCT/CN2021/099124 WO2022012232A1 (zh) 2020-07-17 2021-06-09 一种基于dvfs的优化重配置算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010690442.9A CN111858463B (zh) 2020-07-17 2020-07-17 一种基于dvfs的优化重配置方法

Publications (2)

Publication Number Publication Date
CN111858463A CN111858463A (zh) 2020-10-30
CN111858463B true CN111858463B (zh) 2024-04-02

Family

ID=72983696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010690442.9A Active CN111858463B (zh) 2020-07-17 2020-07-17 一种基于dvfs的优化重配置方法

Country Status (3)

Country Link
US (1) US11537774B2 (zh)
CN (1) CN111858463B (zh)
WO (1) WO2022012232A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858463B (zh) 2020-07-17 2024-04-02 上海科技大学 一种基于dvfs的优化重配置方法
CN115964977A (zh) * 2023-02-16 2023-04-14 上海科技大学 基于窗口的动态擦除调度方法
CN116938724B (zh) * 2023-09-19 2024-01-30 广东保伦电子股份有限公司 音视频会议中服务器的扩容与缩容方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103235640A (zh) * 2013-01-08 2013-08-07 北京邮电大学 一种基于dvfs技术的大规模并行任务节能调度方法
CN104598310A (zh) * 2015-01-23 2015-05-06 武汉理工大学 基于fpga部分动态可重构技术模块划分的低功耗调度方法
CN110231986A (zh) * 2019-06-18 2019-09-13 北京邮电大学 基于多fpga的动态可重配置的多任务调度和放置方法
CN110719206A (zh) * 2019-10-21 2020-01-21 中国科学院空间应用工程与技术中心 天基fpga虚拟化计算服务系统、方法和可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101341473B (zh) * 2005-12-20 2010-11-17 Nxp股份有限公司 具有共享存储体的多处理器电路
KR102222752B1 (ko) * 2014-08-01 2021-03-04 삼성전자주식회사 프로세서의 동적 전압 주파수 스케일링 방법
US9940187B2 (en) * 2015-04-17 2018-04-10 Microsoft Technology Licensing, Llc Nexus determination in a computing device
CN107895225B (zh) * 2017-11-01 2021-10-01 北京邮电大学 一种多Agent无冲突的合作型任务分配方法
CN110795238B (zh) * 2019-10-11 2023-09-01 Oppo广东移动通信有限公司 负载计算方法、装置、存储介质及电子设备
CN111858463B (zh) * 2020-07-17 2024-04-02 上海科技大学 一种基于dvfs的优化重配置方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103235640A (zh) * 2013-01-08 2013-08-07 北京邮电大学 一种基于dvfs技术的大规模并行任务节能调度方法
CN104598310A (zh) * 2015-01-23 2015-05-06 武汉理工大学 基于fpga部分动态可重构技术模块划分的低功耗调度方法
CN110231986A (zh) * 2019-06-18 2019-09-13 北京邮电大学 基于多fpga的动态可重配置的多任务调度和放置方法
CN110719206A (zh) * 2019-10-21 2020-01-21 中国科学院空间应用工程与技术中心 天基fpga虚拟化计算服务系统、方法和可读存储介质

Also Published As

Publication number Publication date
US20220309217A1 (en) 2022-09-29
WO2022012232A1 (zh) 2022-01-20
CN111858463A (zh) 2020-10-30
US11537774B2 (en) 2022-12-27

Similar Documents

Publication Publication Date Title
CN111858463B (zh) 一种基于dvfs的优化重配置方法
US8086982B2 (en) Methods and systems for reducing clock skew in a gated clock tree
US8578315B2 (en) Scheduling for parallel processing of regionally-constrained placement problem
US8789031B2 (en) Software constructed strands for execution on a multi-core architecture
US5502645A (en) Behavioral synthesis for reconfigurable datapath structures
CN109491599A (zh) 一种分布式存储系统及其异构加速方法
CN110609807B (zh) 用于删除快照数据的方法、设备和计算机可读存储介质
CN113095015B (zh) Sfq时序电路综合计算方法、系统以及终端
JP4908363B2 (ja) 情報処理装置、並列処理最適化方法およびプログラム
Li et al. DVFS-based scrubbing scheduling for reliability maximization on parallel tasks in SRAM-based FPGAs
US6810515B2 (en) Process of restructuring logics in ICs for setup and hold time optimization
Chen et al. Provably good algorithm for low power consumption with dual supply voltages
US20230333627A1 (en) Method and system for controlling a memory device
US20110061032A1 (en) High-level synthesis apparatus, high-level synthesis method, and computer readable medium comprising high-level synthesis program
CN111191106B (zh) Dsl的构建方法、系统、电子设备和介质
CN114138444A (zh) 一种任务调度方法、装置、设备、存储介质及程序产品
Sharma et al. Run-time adaptation method for mitigation of hardware faults and power budget variations in space-borne FPGA-based systems
CN112580278A (zh) 逻辑电路的优化方法、优化装置以及存储介质
US20240281366A1 (en) Processing circuit and computation scheduling method of artificial intelligence model
CN115062060A (zh) 一种提高spring-batch框架批处理执行效率的方法
JP3004589B2 (ja) パストランジスタ論理設計方法
Inoue ECC module optimization for storage transient error-tolerant ASICs
JP3476390B2 (ja) 半導体集積回路の遅延最適化設計方法
Potkonjak et al. Heterogeneous BISR techniques for yield and reliability enhancement using high level synthesis transformations
Zabihi et al. A partial task replication algorithm for fault-tolerant FPGA-based soft-multiprocessors

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