基于虚拟分区的可重构系统的任务调度方法技术方案

技术编号:10371769 阅读:112 留言:0更新日期:2014-08-28 13:57
本发明专利技术公布了一种基于虚拟分区的可重构系统的任务调度方法,所述方法根据任务重复出现的次数来定义任务重要性参数,对可重构资源进行虚拟分区,对不同重要性的任务进行分区管理。当任务重要性值增加时,一些任务从一个区域移动到另一个区域。当任务完成后,其配置并不立即从可重构资源上移除,而是尽可能地保留,当相同任务再次出现时可以直接运行计算,进而减少配置次数,降低重构开销。尽管在可重构资源上保留完成任务的配置可以增加任务重用的概率,但同时也会减少可重构资源的空闲资源。当新任务到达时,若没有足够的空闲资源,则按照一定的条件修改分区大小,若还不满足,则在放置最小重要性任务的区域中选择保留的一个或多个任务,并用新任务替换。

【技术实现步骤摘要】
基于虚拟分区的可重构系统的任务调度方法
本专利技术涉及可重构计算领域,具体是一种动态可重构任务调度方法。
技术介绍
可重构计算是指使用集成了可编程硬件的系统进行计算,并且可编程硬件的功能可由一系列定时变化的物理可控点来定义,其计算硬件结构可以改变(可重构)。可重构计算既保持了传统的基于硬件的执行效率,又保持了可变的体系结构,可以适应实际应用中的多元需求,它打破了软硬件之间的界线,有着介于微处理器和专用集成电路之间的性能,从而有着更强的计算能力,目前已经广泛应用在科学计算、国防军事、航空航天等诸多领域,用于实现如目标匹配、大数值运算、数据挖掘、模型仿真等功能,都取得了非常好的效果。目前可重构计算技术的应用也在逐渐向民用领域扩展,在汽车电子、网络设备等领域已经有产品出现。现代的可重构器件如可编程门阵列(FieldProgrammableGateArray,FPGA)有一个很大的优点,即它能进行动态部分可重构,对部分资源进行动态配置。这个特征给可重构计算系统带来极大的灵活性,同时也带来很大的挑战。其中一个关键就是在运行时可重构操作系统对可重构资源的管理。硬件任务是指内部综合,宽度、高度固定,具备特定的功能且不可旋转的逻辑模块,需要配置后才能在硬件资源上执行。一个成功的任务调度意味着任务能在规定的时间内分配到可重构资源上进行配置运行,并且和其它任务不发生冲突。通常而言,任务的配置过程常伴有延迟,同时配置过程也带来大量的数据访问,这给FPGA带来很大的能耗。因此,合理的资源管理可以避免任务大量配置时发生冲突,同时也可以提高可重构资源的利用率,减少配置次数,提高任务调度效率。
技术实现思路
本专利技术针对现有技术的缺陷提出了一种基于虚拟分区的可重构系统的任务调度方法。本专利技术基于虚拟分区的可重构系统的任务调度方法包括如下步骤:(1)首先进行可重构资源的虚拟分区,采用虚拟分区模块将可重构资源分割成三块虚拟区域S1,S2,S3;(2)初始化硬件任务,任务依次进入运行;(3)当一个新任务到达所述可重构系统时,首先判断任务的任务重要性TS值,TS表示任务重复出现的次数,所以TS≥1;(4)当新任务重要性TS=1,则新任务进入S1区:当S1区有足够的空闲资源,那么直接放置新任务;当S1区没有足够的空闲资源,那么采用修改分区模块修改S1区;(5)当修改S1区后仍没有足够的资源放置新任务,那么在可重构资源中的保留资源区域采用任务替换模块替换新任务;如果替换不成功,那么新任务将被拒绝;(6)当新任务重要性TS>1,则任务进入S2或S3区:首先判断新任务是否有可以重用的配置,当拥有相同配置的任务已经运行完成,那么直接利用已经运行完成的拥有相同配置的任务配置运行;当拥有相同配置的任务正在运行,那么计算拥有相同配置的任务的运行结束时间fi=任务开始时刻si+任务执行时间ei和新任务的最迟开始时间LSTi=任务截止时刻di‐任务执行时间ei;(7)当fi>LSTi,那么新任务被放置在空闲虚拟区域,当没有足够的空闲虚拟区域则修改分区模块S2或S3区,当修改虚拟区域后还是没有足够的资源来放置新任务则采用任务替换模块替换新任务;当替换不成功,那么新任务将被拒绝;当fi≤LSTi,那么新任务在任务完成后重用资源;(8)返回步骤(3)依次循环,至所有任务完成。所述新任务用六元组{wi,hi,ai,ei,di,si}进行描述,wi,hi表示任务占用可重构资源的宽和高,ai表示任务的到达时间,ei表示任务的执行时间,di表示任务截止时间,si表示任务类型。所述修改分区模块修改虚拟区域满足如下条件:Sk为Si的相邻虚拟区域,且PUk<0.6,i和k取值为1~3并且不相同,PUk为区域Sk的区域利用率。所述每个分区的分区利用率如下:Woccupied是Si已占用的宽度和,W是该区域资源的总宽度。与现有的技术相比,本专利技术的优点是:本专利技术将资源管理和任务调度有效地结合在一起。首先将可重构资源分为三个虚拟区域,相同重要性的任务集中放置在相应区域,根据具体的情况这三个区域的大小可以作灵活改变。当需要任务替换或者可以任务重用时,可以在相应区域选择,降低了筛选难度,提高了任务调度效率。附图说明图1系统模型图;图2虚拟分区示意图;图3任务移动示例图。具体实施方式本专利技术中的可重构系统模型如图1所示,主要由主处理器和可重构器件组成。调度器根据任务的开始时间和结束时间进行任务分配,决定需要被执行的任务,然后放置器件将为任务寻找一个合适的位置,最后加载器将配置信息加载到FPGA。此时,被加载的任务就可以执行运算。本专利技术采用1维灵活放置的资源模型,并且假设所有的任务之间没有依赖性。可重构资源根据任务是否放置分为三类:1)空闲资源:没有放置任何任务的资源;2)运行资源:有任务正在运行的资源;3)保留资源:保留有运行完成任务的资源。对于每一个新任务,均抽象为矩形,用六元组{wi,hi,ai,ei,di,si}进行描述,wi、hi表示任务占用可重构资源的宽和高,ai表示任务的到达时间,ei表示任务的执行时间(包含了任务的配置时间),di表示任务的截止时间,如果任务没有在截止时间前完成,系统算作拒绝,si表示任务类型,相同类型的任务看作是相同任务,可以重用资源。本专利技术共分为四个模块:1)虚拟分区模块,2)任务移动模块,3)修改分区模块,4)任务替换模块。1、虚拟分区模块本专利技术设置一个参数TS来表示任务的重要性。TS的值指任务重复出现的次数。比如,任务第一次到达系统,那么它的TSi=1。如果一个任务在可重构资源上重复出现的次数较多,则TS值越大,说明它在将来出现的概率也较大,那么将这个任务保留在可重构资源上有利于提高任务重用率。图1显示了虚拟分区的整体计划,可重构资源被分割成三块虚拟区域S1,S2,S3。在最开始的分割,每个分割块的宽度定义如下:其中WS1,WS2,WS3分别代表S1,S2,S3三个分区的宽度,W是总宽度。α,β,γ是各个分区所占的系数,和为1。S1放置TSi=1的任务,也就是刚刚到达的新任务。S2放置1<TSi≤k的任务。S3放置TSi>k的任务。由于是虚拟分区,那么每个区域的宽度可以根据输入任务的条件动态改变。在系统开始重构时,TSi=1的输入任务放置在S1区。当相同任务重新出现时,它的重要性增加,此时依据TS值从S1区移动到S2区或S3区。具体的任务移动方法在下一部分介绍。虚拟分区的主要目的是将相同重要性的任务连续集中地放置在同一个区域,集中管理资源,将来需要执行任务替换时,可以很容易地选择合适区域,提高调度速度。2、任务移动模块如上所说,当任务的重要性值增加时,任务便从一个分区移动到另一个分区。下面具体阐述。如图3(a),当一个新任务T1到达系统,其TS1=1,该任务将配置在S1区的空白区域,配置完成后进行第一次计算T1',计算完成后配置保留。如果新到达的任务TSi=2,则意味着这个任务在S1区上可能留有配置。仍以T1为例,当T1再次到达时TS1=2,在S1区搜寻是否仍留有配置,如果没有,则直接在S2区空白区域配置运行;如果有,则利用之前的配置进行第二次计算T1'',在计算开始的同时在S2区复制T1的配置,计算完成后,在S2区的配置复制也完成,此时T1在S1区的配本文档来自技高网
...
基于虚拟分区的可重构系统的任务调度方法

【技术保护点】
一种基于虚拟分区的可重构系统的任务调度方法,其特征在于包括如下步骤:(1)首先进行可重构资源的虚拟分区,采用虚拟分区模块将可重构资源分割成三块虚拟区域S1,S2,S3;(2)初始化硬件任务,任务依次进入运行;(3)当一个新任务到达所述可重构系统时,首先判断任务的任务重要性TS值;(4)当新任务重要性TS=1,则新任务进入S1区:当S1区有足够的空闲资源,那么直接放置新任务;当S1区没有足够的空闲资源,那么采用修改分区模块修改S1区;(5)当修改S1区后仍没有足够的资源放置新任务,那么在可重构资源中的保留资源区域采用任务替换模块替换新任务;如果替换不成功,那么新任务将被拒绝;(6)当新任务重要性TS>1,则任务进入S2或S3区:首先判断新任务是否有可以重用的配置,当拥有相同配置的任务已经运行完成,那么直接利用已经运行完成的拥有相同配置的任务配置运行;当拥有相同配置的任务正在运行,那么计算拥有相同配置的任务的运行结束时间fi=任务开始时刻si+任务执行时间ei和新任务的最迟开始时间LSTi=任务截止时刻di‑任务执行时间ei;(7)当fi>LSTi,那么新任务被放置在空闲虚拟区域,当没有足够的空闲虚拟区域则采用修改分区模块修改S2或S3区,当修改虚拟区域后还是没有足够的资源来放置新任务则采用任务替换模块替换新任务;当替换不成功,那么新任务将被拒绝;当fi≤LSTi,那么新任务在任务完成后重用资源;(8)返回步骤(3)依次循环,至所有任务完成。...

【技术特征摘要】
1.一种基于虚拟分区的可重构系统的任务调度方法,其特征在于包括如下步骤:(1)首先进行可重构资源的虚拟分区,采用虚拟分区模块将可重构资源分割成三块虚拟区域;(2)初始化硬件任务,任务依次进入运行;(3)当一个新任务到达所述可重构系统时,首先判断任务的任务重要性值;(4)当新任务重要性,则新任务进入区:当区有足够的空闲资源,那么直接放置新任务;当区没有足够的空闲资源,那么采用修改分区模块修改区;(5)当修改区后仍没有足够的资源放置新任务,那么在可重构资源中的保留资源区域采用任务替换模块替换新任务;如果替换不成功,那么新任务将被拒绝;(6)当新任务重要性,则任务进入或区:首先判断新任务是否有可以重用的配置,当拥有相同配置的任务已经运行完成,那么直接利用已经运行完成的拥有相同配置的任务配置运行;...

【专利技术属性】
技术研发人员:朱志宇沈舒吴将王彪王逊陈迅李阳薛文涛黄巧亮
申请(专利权)人:江苏科技大学
类型:发明
国别省市:江苏;32

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

1