一种基于FPGA可重构技术的资源管理方法技术

技术编号:19023173 阅读:21 留言:0更新日期:2018-09-26 19:00
本发明专利技术一种基于FPGA可重构技术的资源管理方法,包括:1、在任务调度过程中,当新任务到来时,先将其存储在就绪列表中,同时将之前未成功配置的延迟列表中的任务添加到就绪列表中,并进行优先级的排序;2、将就绪列表中的任务依据排序顺序进行分配,通过对比MER列表的最大空闲区域以及任务区域信息来判断是否存在分配区域;3、等待任务执行完成信号,当某任务执行完成后,则在FPGA资源中清除该任务并更新运行列表和MER列表;就绪列表还会监控并比较当前时间与队列中任务的相对截止时刻,若当前时间超过相对截止时刻,则丢弃该任务;4、不断重复以上操作直至所有任务执行完毕或丢弃。

【技术实现步骤摘要】
一种基于FPGA可重构技术的资源管理方法
本专利技术涉及一种基于FPGA可重构技术的资源管理方法,针对可重构系统中的硬件任务进行有效的调度和分配,尤其对FPGA片上资源有限时效果比较明显。
技术介绍
随着电子系统的技术不断提高,逻辑功能也日益复杂,其内部芯片设计也朝着大规模、多功能、高密度、高复杂性方向发展。但无论其逻辑功能模块是时序逻辑系统还是组合逻辑系统,在执行过程中都是根据系统的任务需求,分时分模块的依次执行功能。正因如此,大规模的电子系统面临着资源利用效率过于低下的难题。如何提高资源利用率,用有限的资源去实现功能复杂的逻辑设计是当今研究的重点,在这样的背景下,可重构技术应运而生。可重构技术的核心思想是实现资源的时分复用,通过对资源进行动态配置,来满足大规模电子设计应用需要。通过在FPGA运行期间对其逻辑电路实现动态配置,就能用较少的硬件逻辑资源来实现大规模系统时序功能。利用该技术可以极大提高基于FPGA的嵌入式系统的资源利用率,提高系统容错性,在降低功耗的同时降低器件的损坏率。在可重构系统中,首要任务就是管理实时变化的可重构硬件资源并对即新到达的可重构任务进行分配,根据硬件任务的面积等参数在可重构资源上寻找空闲区域,并为其选择一个最佳位置,同时根据硬件任务的时间参数信息进行有效的调度,实现合理的执行顺序。对可重构资源进行有效的管理是提高可重构系统性能的关键,因此资源管理技术现已成为诸多学者研究的热点,但目前对于资源管理技术还存在着以下不足:硬件任务在分配时会产生额外碎片,影响下一步分配;资源管理的存储结构过于复杂,维护以及合并过程十分繁琐;多种硬件任务同时到达时不能进行有效的调度;对资源的利用率有限,还有进一步提升的空间等。在此基础上,本专利技术提供了基于FPGA可重构技术的资源管理方法,从而解决以上不足,进一步提高可重构系统的资源利用率,为研究成果的转化和应用奠定了基础。
技术实现思路
为了提高可重构系统的资源利用效率,降低分配过程中产生的碎片度,解决多个硬件任务同时到达的情况,本专利技术提供了一种基于FPGA可重构技术的资源管理方法,该方法包含任务分配以及任务调度两个部分,能够对重构任务进行合理的分配和调度,共同完成可重构系统的资源管理,有效的提升了可重构系统的资源利用率,降低了分配过程中的碎片度,简化了调度过程中的信息存储结构,为研究成果的转化和应用奠定了基础。如图1所示,为基于FPGA可重构技术的资源管理方法的具体执行步骤流程图。本专利技术的技术方案如下所示:(1)在任务调度过程中,当新任务到来时,先将其存储在就绪列表中,同时将之前未成功配置的延迟列表中的任务添加到就绪列表中,并进行优先级的排序,优先级排序的具体内容为:相对分配截止时间越小的任务优先级越高;若相对分配截止时间相同,则面积越小的任务优先级越高;若面积相同,则截止时间越早的任务优先级越高。(2)将就绪列表中的任务依据排序顺序进行分配,通过对比MER列表的最大空闲区域以及任务区域信息来判断是否存在分配区域。若存在可分配区域,则根据分配算法计算接触值,并选择接触值最大的MER进行任务分配,将该任务加入运行列表,同时更新MER列表,并对下一个任务进行分配;若遍历MER列表后发现不存在可分配区域,则将该任务加入至延迟列表等待下一次调用;当新任务到达时,将任务存放于就绪列表中,并将之前存放于延迟列表中的未完成任务提取并根据任务优先级顺序进行排序,并执行上述执行步骤从而进行任务分配;下面通过具体实例对步骤(2)中的任务分配过程进行详细阐述。图2为具体配置实例图,图中1、2分别代表已经进行分配的任务T1以及T2,这两个任务通过资源管理方法已经分配至FPGA合理位置。图2中4、5分别代表已分配任务T1与T2的执行时间,其中T1的执行时间为time1,T2的执行时间为time2。根据已分配任务T1以及T2所在的位置,可以生成最大空闲矩阵。图2中的7、8、9分别代表最大空闲矩阵1、2以及3,最大空闲矩阵指空闲区域可构成的最大矩形,矩形边缘为已分配的任务或FPGA边缘。图2中3、6分别代表未分配的任务T3以及T3的执行时间time3。通过遍历当前存在的最大空闲矩阵,将未分配任务放置在最大空闲矩阵的四个角(左上、左下、右上、右下)的位置,分别计算该任务在不同最大空闲矩阵的四个角的接触值(接触值具体计算方法:首先计算未分配任务与已配置任务或FPGA边缘的接触长度,然后计算未分配任务的剩余时间,最后将接触长度与剩余时间相乘得到乘积)。通过计算,选择接触值最大的位置作为分配的最佳位置,并将未分配任务分配至该位置。(3)等待任务执行完成信号,当某任务执行完成后,则在FPGA资源中清除该任务并更新运行列表和MER列表。就绪列表还会监控并比较当前时间与队列中任务的相对截止时刻,若当前时间超过相对截止时刻,则丢弃该任务。(4)不断重复以上操作直至所有任务执行完毕或丢弃。本专利技术所具有的有益效果是:(1)本专利技术提出的资源管理方法能够有效的提高可重构系统的资源利用率,在资源有限的情况下可以实现更高的任务接受率,减少资源的浪费,降低了系统所需成本。(2)在分配过程中,减少碎片的产生,降低碎片度,提高分配效果。(3)由于本专利技术提出的资源管理方法包含任务调度部分,可以对任务进行有效调度,解决了多个任务同时到达的情况,提高了方法的实用性。(4)用于存储调度信息的存储结构相对较少,计算过程相对简便,维护以及合并过程更为轻易。附图说明图1是本专利技术资源管理方法具体步骤的流程图。图2是本专利技术资源管理方法中硬件任务分配的实例图。图中标号说明如下:1、已分配任务T1;2、已分配任务T2;3、未分配任务T3;4、任务T1执行时间;5、任务T2执行时间;6、任务T3执行时间;7、最大空闲矩阵1;8、最大空闲矩阵2;9、最大空闲矩阵3;10、FPGA可重构资源。具体实施方式本专利技术是为了解决重构系统中资源不足的问题,提出了一种有效提高资源利用率的资源管理方法,为了验证资源管理方法的有效性,设计了仿真实验进行验证。该实验在3.2Ghz英特尔酷睿双核CPU上进行,通过计算该资源管理方法的任务接受率,来分析资源利用性能。任务接受率代表该任务能在指定时间内完成而不被丢弃,任务接收率高则说明该算法的资源利用率高,任务分配所产生的碎片率低。在实验中,我们将FPGA的重构面积设定为100×100大小,单位为CLB基本单元长度,并根据任务面积不同设计了6种任务,每种任务数量设置为100个,每种任务的面积大小、到达频率以及执行时间都是根据规则随机生成的,但相同面积的任务设置的任务到达频率不同,具体规则如下:任务1,任务的面积范围为10×10至20×20,执行时间范围为5至15,任务到达频率为低(0-10);任务2,任务的面积范围为10×10至20×20,执行时间范围为5至15,任务到达频率为高(0-100);任务3,任务的面积范围为20×20至30×30,执行时间范围为5至15,任务到达频率为低(0-10);任务4,任务的面积范围为20×20至30×30,执行时间范围为5至15,任务到达频率为高(0-100);任务5,任务的面积范围为30×30至40×40,执行时间范围为5至15,任务到达频率为低(0-10);任务6本文档来自技高网
...

【技术保护点】
1.一种基于FPGA可重构技术的资源管理方法,该方法包含任务调度以及任务分配两个部分,其特征在于:(1)在任务调度过程中,当新任务到来时,先将其存储在就绪列表中,同时将之前未成功配置的延迟列表中的任务添加到就绪列表中,并进行优先级的排序;(2)将就绪列表中的任务依据排序顺序进行分配,通过对比MER列表的最大空闲区域以及任务区域信息来判断是否存在分配区域;若存在可分配区域,则根据分配算法计算接触值,并选择接触值最大的MER进行任务分配,将该任务加入运行列表,同时更新MER列表,并对下一个任务进行分配;若遍历MER列表后发现不存在可分配区域,则将该任务加入至延迟列表等待下一次调用;当新任务到达时,将任务存放于就绪列表中,并将之前存放于延迟列表中的未完成任务提取并根据任务优先级顺序进行排序,并执行上述执行步骤从而进行任务分配;(3)等待任务执行完成信号,当某任务执行完成后,则在FPGA资源中清除该任务并更新运行列表和MER列表;就绪列表还会监控并比较当前时间与队列中任务的相对截止时刻,若当前时间超过相对截止时刻,则丢弃该任务;(4)不断重复以上操作直至所有任务执行完毕或丢弃。

【技术特征摘要】
1.一种基于FPGA可重构技术的资源管理方法,该方法包含任务调度以及任务分配两个部分,其特征在于:(1)在任务调度过程中,当新任务到来时,先将其存储在就绪列表中,同时将之前未成功配置的延迟列表中的任务添加到就绪列表中,并进行优先级的排序;(2)将就绪列表中的任务依据排序顺序进行分配,通过对比MER列表的最大空闲区域以及任务区域信息来判断是否存在分配区域;若存在可分配区域,则根据分配算法计算接触值,并选择接触值最大的MER进行任务分配,将该任务加入运行列表,同时更新MER列表,并对下一个任务进行分配;若遍历MER列表后发现不存在可分配区域,则将该任务加入至延迟列表等待下一次调用;当新任务到达时,将任务存放于就绪列表中,并将之前存放于延迟列表中的未完成任务提取并根据任务优先级顺序进行排序,并执行上述执行步骤从而进行任务分配;(3)等待任务执行完成信号,当某任务执行完成后,则在FPGA资源中清除该任务并更新运行列表和MER列表;就绪列表还会监控并比较当前时间与队列中任务的相对截止时刻,若当前时间超过相对截止时刻,则丢弃该任务;(4)不断重复以上操作直至所有任务执行完毕或丢弃。2.根据权利要求1所述的一种基于FPGA可重构技术的资源管理方法,其特征在于:优先级排序的具体内容为:相对分配截止时间越小的任务优先级越高;若相对分配截止时间相同,则面积越小的任务优先级越高;若面积相同...

【专利技术属性】
技术研发人员:王国华刘嵩王帅
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京,11

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

1