收藏 分享(赏)

可重构资源管理及硬件任务布局的算法研究.doc

上传人:cjc2202537 文档编号:196940 上传时间:2018-03-23 格式:DOC 页数:20 大小:62KB
下载 相关 举报
可重构资源管理及硬件任务布局的算法研究.doc_第1页
第1页 / 共20页
可重构资源管理及硬件任务布局的算法研究.doc_第2页
第2页 / 共20页
可重构资源管理及硬件任务布局的算法研究.doc_第3页
第3页 / 共20页
可重构资源管理及硬件任务布局的算法研究.doc_第4页
第4页 / 共20页
可重构资源管理及硬件任务布局的算法研究.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、可重构资源管理及硬件任务布局的算法研究计算机研究与发展JournalofComputerResearchandDevelopmentISSN1000.1239/CN11.1777/TP45(2):375382,2008可重构资源管理及硬件任务布局的算法研究李涛杨愚鲁(南开大学计算机科学与技术系天津 300071)(1itaonankai.edu.en)AlgorithmsofReconfigurableResourceManagementandHardwareTaskPlacementLiTaoandYangYulu(DepartmentofComputerScienceandTechnolo

2、gy,NankaiUniversity,Tiain300071)AbstractReconfigurablecomputingsystemhastheflexibilityoftraditionalCPUandthespeedofASICapproximately.Basedontheabilityofpartiallydynamicreconfiguration,thetaskscanbedynamicallyreconfiguredonthereconfigurablehardwareatruntime.Somehardwaretaskscanrunatthesametimewiththe

3、executionofthereconfigurationprocessofothertasks.Tosomeextent,theruntimereconfigurationoverheadcanbehiddenandthesystemperformancecanbeimproved.Reconfigurablecomputinghasbecomeoneofthemostimportantcomputingmethods.Withtheimprovementofthesizeandintegration,suchasFPGA,moreandmoretaskscanrunand/orreside

4、ntonthereconfigurablehardwareconcurrently.Inordertoutilizethereconfigurablehardwareefficiently,thereconfigurableresourcemanagementandhardwaretaskplacementareveryimportant.Atasktopbasedkeepallmaximalemptyrectangles(TTKAMER)algorithmispresentedinthispaper.Maximalemptyrectanglescanefficientlyrepresenta

5、lltheemptyreconfigurableresourcesonthereconfigurablehardware.BasedontheTTKAMERalgorithm.hardwaretaskplacementcanalsobeimplementedbythefirstfitalgorithmandtheheuristicbestfitalgorithm.Theresultsindicatethatthealgorithmscanimplementresourceallocationandonlinetaskplacementefficiently,andhighreconfigura

6、bleresourceutilizationcanbeobtained.Keywordsreconfigurablecomputingsystem;reconfigurablehardware;partiallydynamicreconfiguration;TTKAMER;placement摘要可重构系统具有微处理器的灵活性和接近于 ASIC 的计算速度,可重构硬件的动态部分重构能力能够实现计算和重构操作的重叠,使系统能够动态地改变运行任务,可重构资源管理和硬件任务布局方法是提高可重构系统性能的关键.提出了基于任务上边界计算最大空闲矩形的算法(TTKAMER),能够有效地管理系统的空闲可重构资

7、源;在此基础上使用 FF 和启发式 BF 算法进行硬件任务的布局.实验表明,算法能够有效地实现在线资源分配与任务布局,获得较高的资源利用率.关键词可重构系统;可重构硬件;动态部分重构;TTKAMER; 布局中图法分类号 TP302;TP311近年来,以 FPGA 为代表的可重构硬件技术的快速进步使得可重构计算成为当前的研究热点之一一.与微处理器相比,可重构计算系统获得了较高的性能加速,如在 Splash2 系统上执行 DNA 匹配牧稿日期:20061218;修回日期:20071029算法的速度是 SPARC10 的 43000 倍,使用 XilinxFPGA 执行 FIR 滤波器的速度是 50

8、MHzDSP 的17.9 倍51. 可重构硬件的动态部分重构能力使其能够在运行时动态地重构可重构硬件的部分区域,而376 计算机研究与发展 2008,45(2)不影响其他区域任务的运行,能够隐藏系统的重构开销,进一步提高可重构系统的性能以及扩大其应用范围.与 ASIC 相比能够提高硬件资源利用率,降低系统的功耗.在可重构硬件上执行任务分为两个阶段,首先根据任务的尺寸找到相应的空闲逻辑资源;然后对该区域进行功能重构并启动任务的执行.因此,必须解决如下两个问题:空闲可重构资源的管理;任务的布局,即空闲区域的选择策略.可重构硬件同时承载的任务越多,任务布局与空闲资源的管理就越复杂.正如处理器对内存资

9、源的使用一样,任务在可重构硬件上的不断添加和删除也会造成资源碎片.因此,既要对可重构资源进行管理以提高分配速度,又需要良好的布局方法减小系统在运行过程中产生的资源碎片,以提高可重构资源的利用率和可重构系统的性能.1 相关研究尽管目前的可重构硬件技术不能很好地支持二维方式的重构,如 Virtex 系列 FPGA 只能对整个高度的配置逻辑单元列进行重构_6J.但是,JRTR 等工具已经可以重构 FPGA 的任意二维区域_7; 还开展了二维非矩形任务的布局研究_8J.而且,FPGA 的内部结构也是二维的,因此可采用二维区域模型来管理可重构资源.利用互不交迭的空闲矩形构成的二维分层排列树可以实现可重构

10、资源的管理,延迟空闲矩形的形成和二维 Hash 函数的采用可以提高资源的查找性能,而采用最大空闲矩形构成的链表来管理可重构资源是一种更为有效的方法_9.虽然采用 BF,FF,BL,wF,BFEF 和 WFEF 等策略可以为任务选择合适的空闲矩形,但空闲矩形的数据结构和实现算法相对复杂,而且互不交迭的空闲矩形在大多数情况下不能标识出可重构硬件中的最大空闲区域,资源分配的成功率会受到较大影响.对于相互连通的空闲区域,可以采用位于空闲区域边界上的所有顶点构成的链表来管理,使用多个顶点链表可以管理所有的空闲资源_l.为任务分配资源时,从某个顶点链表的右下角顶点处开始,按顺时针方向通过矩形任务与顶点链表

11、相交的判断为其选择空闲资源.但由于任务的动态添加和删除,使得顶点链表的管理和查找比较复杂.此外,通过管理已有任务的占用区域可以达到间接管理空闲资源的目的5,采用任务之间的路由代价作为布局位置的选择标准,新来的任务可以布局在占用区域之外的任意位置.但是布局算法效率较低,不利于资源的高效使用.2 系统模型系统模型如图 1 所示,可重构操作系统管理可重构硬件资源以及任务的执行,调度器负责从任务队列中选择就绪任务,布局器根据可重构硬件上的资源状态为其选择相应的布局位置,由重构控制器将任务功能配置到该区域并启动任务的执行.Fig.1Systemmode1.图 1 系统模型硬件任务是一个在可重构硬件上执行

12、的电路,可用位流文件表示.本文假设它为矩形形状,主要属性如下.1)高,宽 :以基本配置逻辑单元的数量表示,其乘积表示任务所占用的面积.2)执行时间 :任务完成某一特定功能所需的时间,其大小与实现方式有关.3)可重定位能力:布局位置是在运行时根据资源状态动态选择,而位流是基于某一确定位置生成的,因此必须能够重新定位使其正确地重构在新位置上.一个应用可描述为具有先后约束关系或者相互独立的一组任务,系统目标是最大化可重构硬件的资源利用率,最小化应用的执行时间.3TT.KAMER定义 1.不能被其他任何一个空闲矩形所完全覆盖的空闲矩形为最大空闲矩形(MER).使用最大空闲矩形来管理空闲可重构资源是非常

13、有效的,TTKAMER 算法根据任务上边界来计李涛等:可重构资源管理及硬件任务布局的算法研究 377算和保持最大空闲矩形,并随着任务的动态添加和删除对其实时更新,能够有效地提高资源分配的成功率.3.1 区域模型可重构硬件可看做是 m 行列基本配置逻辑单元(CLB)构成的二维阵列,每个单元在可重构硬件上的位置编号(z,Y)及其权值 (H,w)如图 2 所示,其中 H 为当前位置上方连续的空闲单元数,w为当前位置左边连续的单元数;被任务占用单元的权值为(一 m,一一 q),其中 0,Task.h一1,q0,Task.W 一 1.01234.一 2 一 101,112131,4151,1212223

14、242.52.r23,1323.33.43.53.n3:t 一 2一1m1m2m3m4m51,1l2-10,一 14 一 lO 广 l3-10.一 l2-10.-11-10.-101,1l21,32122-9t-I呻.一 l3-9,-12-11,-11.一 IO21222.33132-8.一 14-8.-13-82_.一 ll-8,一 103.13.23.34l421.31,41,5l6l748494l0I-9,一 l0l51525152232425I-Ij,l2-IJ.-116162333.43.5-8,-it_.一 Il_.一 l 口 6162-IJ.-11-IJ.一 104,14.21.

15、31,41.57677I_.一 l2-8,一 11_.一 lO5.1522324258687l 口Fig.2Arearoode1.(a)WeightsofCLBand(b)Anexample(,n=8,T/=10).图 2 区域模型.(a)配置逻辑单元的权值;(b)实例(“z=8,n=l0)定义 2.在图 2 的区域模型上,对于空闲区域中的任意两个单元(z1,Y1),(z2,Y2),0zm,0Y,其权值分别为(H(.),w(.),(H(),w(),若满足下列条件则称该区域是右下递增的.当 z1z2,Y12 时,H(,1)H(_f1,1)=H(2,2)一 H(l,2),W(2,2)一 W(2,i

16、)=W(.i,2)一w(.),其值不小于零 ;当 XlX2,Yl2 时,H(.)H(-fl_v1)=H(2,2)一 H(1,y2),W(2,2)一 W(2,1)W(1,2)一w(.),其值不大于零 ;当 371z2,Yl 2 时,H(2,J) H(J,)=H()一 H(),其值不小于零,w(_Lv1)一w(y.)w()一 w(y.),其值不大于零;当 371z2,Yl 2 时,H(1)H(y1)=H()一 H(y),其值不大于零 ,w(_r2)一w(.)w()一 w(r1.),其值不小于零.因此有如下性质:性质 1.任何空闲矩形都是右下递增的.性质 2.任务在可重构硬件上的添加或删除,不会影响

17、该任务所在位置左侧和上方单元的权值.3.2 数据结构可重构硬件的二维阵列区域模型可用二维数组表示,其中每个元素包括单元的两个权值(H,w),为了管理所有最大空闲矩形,首先给出如下定理.定理 1.每个最大空闲矩形都位于可重构硬件上已有任务的上边界或者可重构硬件底边上,且与任务在可重构硬件底边上的投影存在交集.证明.如图 3 所示,阴影部分表示可重构硬件上现有的任务,假设空闲矩形 A 不能在水平方向上扩展,设 T 为 A 下方距离最近的任务.在图 3(a)和图 3(b)两种情况下 ,显然 A 仍然可以向下扩展,当扩展到可重构硬件底边或者 T 的上边界时达到最大.如图 3(C)所示,虽然 A 位于

18、T 的上边界,但由于两者在可重构硬件底边上的投影不相交,所以T 不能限制 A 继续向下扩展.1IFig.3BottomofMER.(a)ERonhardwarebottom;(b)ERontaskwithintersection;and(C)ERontaskwithnointersection.图 3 最大空闲矩形的下边界.(a)底边上的空闲矩形;(b)任务与空闲矩形有交集;(C)任务与空闲矩形无交集378 计算机研究与发展 2008,45(2)因此有如下推论:推论 1.设具有相同上边界的多个任务的最大Y 坐标为 Y,则其上的最大空闲矩形左下角单元的最大 Y 坐标为 Y.证明.假设所得空闲矩形

19、的左下角 Y 坐标为Y+k(k0),且 Y+k,则它和任务在可重构硬件底边上的投影不存在交集,如图 3(C)所示,该空闲矩形仍然可以向下扩展,因此在该上边界不能构成最大空闲矩形.根据定理 l,可以按照任务的不同上边界和可重构硬件底边来管理所有最大空闲矩形,其数据结构如图 4 所示,其中上边界按照 z 的降序排列,在不同任务的上边界上存在的最大空闲矩形使用链表存储.3.3TT.KAMER 算法在可重构硬件上执行任务必须先为其找到相应的逻辑资源,因此必须对系统在运行过程中的可重构资源变化予以管理.在 TTKAMER 算法中,我们假设任务列表按其上边界 z 坐标增加的顺序排列.Fig.4Datast

20、ructureofMER图 4 最大空闲矩形数据结构算法 1.TTKAMER.Step1.跳过任务列表中上边界为 0 和位于不受影响区域的任务;Step2.根据任务上边界计算其上方的最大空闲矩形底边 z 坐标,以及具有相同上边界的任务在可重构硬件底边上投影的线段集合;Step3.从线段集合的最大 Y 坐标处开始计算:若该单元未被占用,则将其权值 H 置为最大空闲矩形的高度,得到空闲矩形.否则根据权值 w 减小 Y 坐标直到空闲单元或者到达左边界.根据右下递增的定义进行判断并向相应的方向扩展该空闲矩形.若不能扩展,则计算该空闲矩形在可重构硬件底边上的投影与线段集合是否存在交集,若不存在则不是最大

21、空闲矩形,否则添加到最大空闲矩形链表上.如果在向左扩展的过程中权值 H 发生变化(H0),则只记录第 1 次变化后的 Y 坐标,该空闲单元为下次计算的起点,转.Step4.移动到任务列表的下一上边界,转Step2;Step5.计算可重构硬件底边上的最大空闲矩形.对于行列配置逻辑单元构成的可重构硬件,设 R 为可重构硬件上运行的任务数,r 为任务所具有的不同上边界数(rR),则需要计算的行数为 r+1.假设可在常数时间内得到一个最大空闲矩形,则计算一行上所有最大空闲矩形的时间复杂度为 0(r/).因此,TT KAMER 算法的时间复杂度为 0().4 布局算法矩形形状的硬件任务在二维模型化的可重构硬件上的布局类似于二维装箱问题,前提是假设可重构硬件上的逻辑资源是同构的,任务可布局它的任意区域.二维装箱问题是经典的一维装箱问题的扩展,常用的两种在线算法是 FirstFit(FF)和 BestFit(BF).在 TT.KAMER 算法的基础上,便于利用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报