基于fpga最大空闲块的任务布局方法

文档序号:6378191阅读:397来源:国知局
专利名称:基于fpga最大空闲块的任务布局方法
技术领域
本发明涉及一种基于FPGA最大空闲块的任务布局方法,更具体地说,当新任务到达FPGA时,通过最大空闲矩阵块MER的重叠度、共享度以及BFEF算法等方法,来选出新到 任务的最佳布局位置。
背景技术
FPGA由可重构资源构成,具有动态局部可重构的特性。FPGA及在FPGA上执行的任务可以被抽象成具有一定长度和宽度的矩阵,矩阵中的每个元素即代表一个可重构单元。任务在FPGA内执行过程分为三步首先,任务到达FPGA,寻找一块合适的空闲块来存放任务;其次,CPU调度该任务,任务在FPGA上执行;最后,任务执行完成后退出FPGA,任务原所在区域变为空闲状态。合适的任务放置方法能够充分利用FPGA内的空闲空间,使得多个任务能够在FPGA内并行执行,从而有效地提高FPGA的利用率,减小FPGA碎片率,缩短任务队列的完成时间。对于一块MER,可能与许多MER处于同一空闲区中,与该MER有重叠区域的其它MER的块数,即为该MER的重叠度。一块MER每个顶点有可能被其它MER共享,即顶点的位置处于其它MER块中,一个顶点被共享的块数,即为该顶点的顶点共享度。Herbert Walder 等提出了 Best Fit with Exact Fit 算法(简称 BFEF 算法)。即先寻找与任务大小完全相同的空闲块,其次寻找与任务具有相同高度或相同宽度的块,如果都没有那么就寻找一块最小的且能满足任务的块。

发明内容
本发明的目的在于,基于上述背景技术所提出的问题,提供一种基于FPGA最大空闲块的任务布局方法,减小FPGA的碎片率,提高FPGA任务执行的效率。为达到上述目的,本发明的构思是(1) FPGA中碎片度越小,任务越紧凑,空间利用率就越高;(2)放置位置尽量在重叠度小的MER处,这样产生的碎片率低;(3)放置位置尽量靠近共享率低的顶点,这样会使任务放置位置靠近空闲区边缘,从而碎片率低。(4)放置时尽量选择大小合适的MER,这样便于维护。根据上述发明构思,本发明采用下述技术方案
一种基于FPGA最大空闲块的任务布局方法,其特征在于操作步骤如下(I)依次判断MER队列中的MER是否足够大到能放置新到任务,将满足条件的MER放入待处理队列;⑵计算待处理队列中的MER的重叠度,选出重叠度最小的一块或几块MER ; (3)对选出的MER,计算四个顶点的顶点共享度,选出顶点共享度最小的一块或几块MER,此时若仅有一块MER,则将其顶点共享度最小的顶点记为最佳布局位置,否则继续;(4)根据BFEF算法得到
3最佳布局位置。上述MER的重叠度的计算对于一块MER,可能与许多MER处于同一空闲区中,与该MER有重叠区域的其它MER的块数,计为该MER的重叠度。上述MER的顶点共享度的计算一块MER每个顶点有可能被其它MER共享,即顶点的位置处于其它MER块中,一个顶点被共享的块数,计为该顶点的顶点共享度。上述BFEF算法先寻找与任务大小完全相同的空闲块,其次寻找与任务具有相同高度或宽度的块,如果都没有,则寻找一块最小的且能满足任务的块。上述MER的重叠度的特征一块MER重叠度越低,那么与其相连接的MER也就越少,从而该MER也就越处于一个空闲区的边缘。而一个任务如果放在空闲区域的边界,则FPGA的碎片率是最低的,故重叠度越低也就越适合放置任务。上述MER的顶点共享度的特征一个顶点的共享度越低,则其越处于空闲区的边缘,故共享度越低也就越适合放置任务。本发明与现有技术相比校,具有如下显而易见的突出性特点和显著进步
本发明通过综合考虑MER重叠度顶点共享度等方面,使新到任务的最佳放置位置尽量
在最合适的空闲区边界处,从而大大减少了 FPGA的碎片空间,提高了 FPGA的空间利用率。


图I是实施例三FPGA及新到任务的初始状态2是实施例三任务寻找最佳布局过程流程图。
具体实施例方式本发明的优选实施例结合附图详述如下
实施例一
本基于FPGA最大空闲块的任务布局方法,其操作步骤如下(I)依次判断MER队列中的MER是否足够大到能放置新到任务,将满足条件的MER放入待处理队列;(2)计算待处理队列中的MER的重叠度,选出重叠度最小的一块或几块MER ; (3)对选出的MER,计算四个顶点的顶点共享度,选出顶点共享度最小的一块或几块MER,此时若仅有一块MER,则将其顶点共享度最小的顶点记为最佳布局位置,否则继续;(4)根据BFEF算法得到最佳布局位置。实施例二
本实施例与实施例一基本相同,特别之处如下
所述MER的重叠度的计算对于一块MER,可能与许多MER处于同一空闲区中,与该MER有重叠区域的其它MER的块数,计为该MER的重叠度。所述MER的顶点共享度的计算一块MER每个顶点有可能被其它MER共享,即顶点的位置处于其它MER块中,一个顶点被共享的块数,计为该顶点的顶点共享度。所述BFEF算法先寻找与任务大小完全相同的空闲块,其次寻找与任务具有相同高度或宽度的块,如果都没有,则寻找一块最小的且能满足任务的块。所述的选择低重叠度的MER的原因是,MER重叠度越低,那么与其相连接的MER也就越少,从而该MER也就越处于一个空闲区的边缘。而一个任务如果放在空闲区域的边界,则FPGA的碎片率是相对最低的,即效率相对最高。所述的选择低共享度的顶点的原因是,顶点共享度越低,则该顶点越靠近边界,任务放在该顶点处,会使FPGA的碎片率相对最低,效率相对最高。实施例三
本实施例与实施例二基本相同,是一个实例
参见图I、图2,当前FPGA中已有两个任务taskl,task2。FPGA中存在三个空闲块,MER1、MER2、MER3,新到了一个任务taks3,则寻找task3的最佳布局位置的过程如下
51.判断MER1、MER2、MER3是否足够大到能放置新到任务,发现都足够大,三块均放入待处理队列;
52.计算三块MER的重叠度,依次为I、2、I,故取出重叠度最低的MERl和MER3;
53.继续计算MERl和MER3的各顶点共享度,发现B、D两个顶点的共享度最低,均为O;
54.按BFEF算法,选择相对较小的MERl来放置任务,任务最终放置在D点处。
权利要求
1.一种基于FPGA最大空闲块的任务布局方法,其特征在于寻找最佳布局位置的操作步骤为(1)依次判断最大空闲矩阵块MER队列中的MER是否足够大到能放置新到任务,将满足条件的MER放入待处理队列;(2)计算待处理队列中的MER的重叠度,选出重叠度最小的一块或几块MER ; (3)对选出的MER,计算四个顶点的顶点共享度,选出顶点共享度最小的一块或几块MER,此时若仅有一块MER,则将其顶点共享度最小的顶点记为最佳布局位置, 否则继续;(4)根据BFEF算法得到最佳布局位置。
2.根据权利要求I所述的基于FPGA最大空闲块的任务布局方法,其特征在于所述MER 的重叠度的计算对于一块MER,可能与许多MER处于同一空闲区中,与该MER有重叠区域的其它MER的块数,计为该MER的重叠度。
3.根据权利要求I所述的基于FPGA最大空闲块的任务布局方法,其特征在于所述MER 的顶点共享度的计算一块MER每个顶点有可能被其它MER共享,即顶点的位置处于其它 MER块中,一个顶点被共享的块数,计为该顶点的顶点共享度。
4.根据权利要求I所述的基于FPGA最大空闲块的任务布局方法,其特征在于所述 BFEF算法先寻找与任务大小完全相同的空闲块,其次寻找与任务具有相同高度或宽度的块,如果都没有,则寻找一块最小的且能满足任务的块。
5.根据权利要求I所述的基于FPGA最大空闲块的任务布局方法,其特征在于所述MER 的重叠度的特征一块MER重叠度越低,那么与其相连接的MER也就越少,从而该MER也就越处于一个空闲区的边缘;而一个任务如果放在空闲区域的边界,则FPGA的碎片率是最低的,故重叠度越低也就越适合放置任务。
6.根据权利要求I所述的基于FPGA最大空闲块的任务布局方法,其特征在于所述MER 的顶点共享度的特征一个顶点的共享度越低,则其越处于空闲区的边缘,故共享度越低也就越适合放置任务。
全文摘要
本发明涉及一种基于FPGA最大空闲块的任务布局方法。由于任务和FPGA都被抽象成矩形,同时FPGA中的空闲块又划分成一系列重叠的最大空闲矩形块MER。所以每个FPGA中的任务和MER在空间上都是一个有长和宽的矩形,当新任务到达FPGA时,选择任务布局位置的过程如下(1)依次判断MER队列中的MER是否足够大到能放置新到任务,将满足条件的MER放入待处理队列;(2)计算待处理队列中的MER的重叠度,选出重叠度最小的一块或几块MER;(3)对选出的MER,计算四个顶点的顶点共享度,选出顶点共享度最小的一块或几块MER,此时若仅有一块MER,则将其顶点共享度最小的顶点记为最佳布局位置,否则继续;(4)根据BFEF算法得到最佳布局位置。
文档编号G06F9/30GK102929578SQ201210374900
公开日2013年2月13日 申请日期2012年10月8日 优先权日2012年10月8日
发明者陈雪, 王平, 高英虎 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1