一种基于DVFS的优化重配置算法制造技术

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

【技术实现步骤摘要】
一种基于DVFS的优化重配置算法
本专利技术涉及一种基于DVFS的电路重配置任务调度方法。
技术介绍
基于静态RAM(SRAM)的现场可编程门阵列(FPGA)是卫星及智能车等应用领域的优选高能效计算平台。它具有强大的计算能力和超高性能,并具有可重新配置电路的灵活性。同时,相对于专用芯片ASIC,FPGA具有低成本和上市快的显著优点。但是基于SRAM的FPGA最初并不是为了高可靠性场景而设计研发。当FPGA处于空间等高强度辐射环境中时,它们会遭受单粒子翻转(SEU)的困扰,在此情况下,由于带电粒子撞击芯片,芯片的配置存储器(ConfigurationMemory)和片上存储器(BRAM,Flip-flop)的状态可以被翻转(R.Santos,S.Venkataraman,A.Das,andA.Kumar,“Criticality-awarescrubbingmechanismforsram-basedfpgas,”in201424thInternationalConferenceonFieldProgrammableLogicandApplications(FPL),Sep.2014,pp.1–8.,以下简称参考文献【1】)。这可能会更改硬件的功能并导致错误的运行结果。因此就可靠性而言,存储在SRAM中的数据在高辐射环境下容易被外界影响,从而引发数据翻转使得FPGA系统变得不稳定。在过去的几十年中,相关专家已经提出了许多减轻FPGA中SEU错误的方法。通常,有两个阶段来确保FPGA系统的可靠性。在第一个阶段,使用模块化冗余(三重模块化冗余(TMR),将三个相同的模块用于一项任务)技术或信息冗余(自检电路,内存ECC)技术来检测内存中的错误。在第二阶段,通过重新配置FPGA的配置存储器(ConfigurationMemory)进行配置存储器的刷新,以消除检测到的SEU错误。近几年,许多结合这两个阶段的方法被提出来,例如基于模块的错误恢复(TMR-MER)(D.Agiakatsikas,N.T.H.Nguyen,Z.Zhao,T.Wu,E.Cetin,O.Diessel,andL.Gong,“Reconfigurationcontrolnetworksfortmrsystemswithmodule-basedrecovery,”in2016IEEE24thAnnualInternationalSym-posiumonField-ProgrammableCustomComputingMachines(FCCM),May2016,pp.88–91.,以下简称参考文献【2】;N.T.H.Nguyen,D.Agiakatsikas,E.Cetin,andO.Diessel,“Dynamicschedulingofvoterchecksinfpga-basedtmrsystems,”in2016Interna-tionalConferenceonField-ProgrammableTechnology(FPT),Dec2016,pp.169–172.,下简称参考文献【3】)。但是,这些方法都面临这较大的FPGA电路区域开销或特定故障的平均修复时间较长的问题。为了解决这些问题,最近一些学者提出了一些不使用TMR的新颖电路重配置(scrubbing)技术(参考文献【1】;R.Santos,S.Venkataraman,andA.Kumar,“Dynamicallyadaptivescrubbingmechanismforimprovedreliabilityinreconfigurableembeddedsystems,”in201552ndACM/EDAC/IEEEDesignAutomationConference(DAC),June2015,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中,不断地调用所述本文档来自技高网
...

【技术保护点】
1.一种基于DVFS的优化重配置算法,其特征在于,包括以下步骤:/n步骤1、提取映射到FPGA系统中所有用户任务的用户任务信息;/n步骤2、对于每个用户任务,根据FPGA系统的ICAP模块使用情况和当前用户任务的重要性,运用整数线性规划的方法调整对应电路重配置任务的运行周期,根据计算所得的运行周期,调度每一个生成的电路重配置任务在相应的用户任务前面,根据电路重配置任务的冲突关系,将电路重配置任务和对应的用户任务收集至冲突集合CΛ;/n步骤3、对于步骤2得到的冲突集合CΛ,对应不同的场景,采用以下两种方法之一来解决电路重配置任务间的冲突:/n在对FPGA可靠性要求非常高,并且对程序运行时间不敏感的场景下,通过解决非线性整数优化问题,不断地调用MINLP优化求解器,运用DVFS来重新调度用户任务的运行频率和电路重配置任务的开始时间使FPGA系统稳定性达到最大;/n在对FPGA可靠性要求相对低一些,但是对程序运行时间敏感的场景下,基于近似的DVFS调度方式,通过设计对原优化问题的近似算法,运用DVFS重新调度用户和电路重配置任务,在显著减少算法运行时间的情况下,最大化FPGA系统的稳性;/n步骤4、用EDL算法对步骤3生成的调度进行微调,最终生成电路重配置任务的最终调度;/n步骤5、读取每个用户任务通过步骤4生成的调度信息,不断地重配置每个用户任务的电路,最终达到提升FPGA系统稳定性的效果。/n...

【技术特征摘要】
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时间段内的用户任...

【专利技术属性】
技术研发人员:李睿哈亚军
申请(专利权)人:上海科技大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1