综合时间因素和空间因素的fpga任务放置方法

文档序号:6371671阅读:322来源:国知局
专利名称:综合时间因素和空间因素的fpga任务放置方法
技术领域
本发明涉及一种综合时间因素和空间因素的FPGA任务放置方法,更具体的说,通过综合考虑任务的到达时刻、执行时间和任务与空闲块的空间匹配,设代价函数为任务选择合适的放置位置。
背景技术
FPGA由可重构资源构成,具有动态局部可重构特性。FPGA及在FPGA上执行的任务可以被抽象成具有一定长度和宽度的矩阵,矩阵中的每个元素即是代表一个可重构单元。每个任务均具有两个时间属性,即,到达FPGA的时刻(简称到达时刻)和在FPGA内 开始执行的时间(简称执行时间)。任务在FPGA内执行过程包括三步首先,CPU为任务在FPGA内选择一块与其空间大小相同的可重构资源块,即任务放置;其次,CPU将该任务调度到该空闲块开始执行,SP任务执行;最后,任务执行完成后退出FPGA,FPGA重构该任务占用的可重构单元,使其变成空闲状态,即任务退出。FPGA具有动态局部可重构的特性能够保证多个任务可以占用FPGA内不同的可重构单元块并行执行而不相互干扰。合适的任务放置方法能够充分利用FPGA内的空闲空间,使得多个任务能够在FPGA内并行执行,从而有效提高FPGA的利用率,缩短任务队列的完成时间。目前在FPGA上常用的任务放置方法是first fit与best fit,它们均用链表记录FPGA内的空闲块,当有任务要执行时查找不小于其矩阵规模的空闲块作为其放置位置。first fit选择其查找到的第一个满足条件的空闲块,该方法效率较高,但会使得FPGA产生大量碎片空间,故导致FPGA利用率较差。best fit将遍历所有空闲块,将满足下列条件的空闲矩阵作为任务的放置位置即,该空闲矩阵的周长或面积不小于空闲块,且相比较于其他空闲块,该空闲块与任务块的周长或面积的差值是最小的。相比于first fit, best fit能够有效提高FPGA利用率。

发明内容
本发明的目的在于,针对以上背景技术中提出的问题,提供一种综合时间因素和空间因素的FPGA任务放置方法为任务选择最佳放置位置,提高FPGA的空间利用率。为达到上述目的,本发明的构思是根据⑴碎片度越小,任务放置越紧凑,则空间利用率越高;(2)FPGA内相邻任务在空间和时间上的重叠度越高,碎片就越小,任务就越紧凑。本发明综合考虑了任务与空间块在时间上和空间上的重叠长度,使得任务紧凑地放置在FPGA内,从而减少FPGA内的碎片空间,提高了 FPGA的空间利用率。根据上述发明构思,本发明采用下述技术方案
一种综合时间因素和空间因素的FPGA任务放置方法,其特征在于操作步骤如下首先将FPGA及在FPGA上执行的任务抽象成具有一定长度和宽度的矩形块。然后对每个新到达的任务均记录两个时间属性到达FPGA的时刻和在FPGA内执行的时间。最后,通过综合考虑任务的到达时刻、执行时间和任务与空闲块的空间匹配,设计代价函数为任务选择合适的放置位置。本发明所述的代价函数的表达式定义为
权利要求
1.一种综合时间因素和空间因素的FPGA任务放置方法,其特征在于操作步骤为首先将FPGA及在FPGA上执行的任务抽象成具有一定长度和宽度的矩形块;然后对每个新到达的任务均记录两个时间属性到达FPGA的时刻——简称到达时刻和在FPGA内执行的时间简称执行时间;最后,通过综合考虑任务的到达时刻、执行时间和任务与空闲块的空间匹配,设计代价函数为任务选择合适的放置位置。
2.根据权利要求I所述的代价函数,其特征在于所述的代价函数应该考虑到以下几个因素的影响(I)空间上,新到任务与放置位置的相邻任务邻接边的重叠长度;(2)时间上,新到任务与放置位置的相邻任务执行时间的重叠度。
3.根据权利要求2所述的影响因子,其特征在于,所述的代价函数的表达式定义为/C = F (0E; X OtJ /ecs, + e, > present_moment + ecOt =|If1 X ess. -f e5 = Co Xk2 X (S1 4- - pres戀ntjnoment) Si + ^ < presint_moTOerit -r ec 其中 If2 < Ic1 d 式中各符号的含意分别是present_moment为当前时刻,OEi表示新到任务放置在某个放置位置时,与其相邻的第i个任务的邻接边重叠长度,0^为新到任务与第i个相邻任务在时间维上重叠度,e+:为第i个相邻任务的执行时间,Si为第i个相邻任务的开始时刻,为新到任务的执行时间; 式中分为三种情况情况1,新到任务的完成时刻早于相邻任务的完成时刻;情况2,新到任务的相邻边为FPGA边界,则记为相邻任务完成时刻为无穷;情况3,新到任务的完成时刻晚于相邻任务的完成时刻;式中两个常数的意义为1^的设定是为了使ec > k± X 即保证情况I的代价函数值大于情况2的代价函数值;而1^2的设定是为了使U1X ec> k2 X (S1 + Si- present_moment),即保证情况3的代价函数值小于情况2与情况I的代价函数值。
4.根据权利要求3所述的综合时间因素和空间因素的FPGA任务放置方法,其特征在于所述代价函数求法按如下步骤 (I).比较新到任务的完成时刻(当前时刻present_moment加上新到任务的执行时间)与第i个任务的完成时刻(第i个任务的实际开始时刻&加上该任务的执行时间);若前者大,则跳转至步骤(2);若后者大,则跳转至步骤(3);若一样大,则跳转至步骤(4);(2).求出重叠长度%,重叠度&为%乘以常数fc2,跳至步骤(5); I*s (3).求出重叠长度OGi,重叠度Ots为新到任务的执行时间,跳至步骤(5); (4).求出重叠长度(jg,重叠度a为新到任务的执行时间乘以常数乘以Jk1,跳至步骤(5); (5).由公式
全文摘要
本发明公开了一种综合时间因素和空间因素的FPGA任务放置方法。本发明首先将FPGA及在FPGA上执行的任务抽象成具有一定长度和宽度的矩形块。然后对每个新到达的任务均记录两个时间属性,即,到达FPGA的时刻(简称到达时刻)、在FPGA内执行的时间(简称执行时间)。最后,通过综合考虑任务的到达时刻、执行时间和任务与空闲块的空间匹配,设计代价函数为任务选择合适的放置位置。本发明综合考虑了任务与空闲块在空间上和时间上的重叠长度,使得任务紧凑地放置在FPGA内,从而减少了FPGA内的空闲碎片空间,提高了FPGA的空间利用率。
文档编号G06F17/50GK102760187SQ201210201498
公开日2012年10月31日 申请日期2012年6月19日 优先权日2012年6月19日
发明者张隽丰, 陈雪, 高英虎 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1