一种可重构器件片上面积管理优化方法技术

技术编号:15895067 阅读:28 留言:0更新日期:2017-07-28 19:42
本发明专利技术公开了一种可重构器件片上面积管理优化方法。本发明专利技术采用了可重构器件的四类顶点作为候选位置,通过其中某一种顶点来找到合适的空闲区域作为面积分配的对象,并通过顶点来合并已经执行完的任务所使用的面积。本方法实现了快速高效的片上面积管理和候选位置的选择,能够更为有效的进行可重构器件片上面积的管理。

An on-chip area management optimization method for reconfigurable devices

The invention discloses an on-chip area management optimization method for reconfigurable devices. The invention adopts four kinds of vertex reconstruction devices as candidate locations, through one vertex to find suitable free area as the object area distribution, and by using the vertex to merge has executed the task area. The method achieves fast and efficient on-chip area management and candidate location selection, and can more effectively manage the on-chip area of reconfigurable devices.

【技术实现步骤摘要】
一种可重构器件片上面积管理优化方法
本专利技术涉及可重构
,特别是涉及一种可重构器件片上面积管理优化方法。
技术介绍
可重构计算被视为能够将传统处理器的高度灵活性与ASIC(ApplicationSpecificIntegratedCircuit)所具有的高处理效率进行结合的有效解决方案。由于可重构体系结构具有较好的适应性,针对不同应用能够通过不同粒度的并行来加快处理速度。在可重构设备中,FPGA(Field-ProgrammableGateArray)是最广泛使用的可重构器件。动态可充配置的FPGA是实现硬件级别多任务的重要基础。此类FPGA的处理区域通常划分成不同的子块,可配置逻辑块(ConfigurableLogicBlock,CLB)。此外,还包括了输入输出块(I/O块)和可编程互连网络(又称连线,Routing)。CLB是实现用户功能的基本单元,通常排列成一个阵列,散布整个芯片;I/O块是片上逻辑与外部封装管脚的接口,通常围绕分布在CLB阵列四周;可编程互连网络包括各种长度的连线和一些可编程连接开关,它们将CLB或I/O块连接起来,实现特定功能的电路。这些子块分属于不同的硬件任务。当新的硬件任务达到时,需要为该硬件任务分配一个空闲的子块,同时其他的既存硬件任务不能受到影响。如果一个硬件任务执行完成,那么该任务所占据的子块应当被释放,并作为候选子块以备其他硬件任务的使用。在重分配期间,没有任何的其他硬件任务会受到影响,多个硬件任务可以共享整个处理区域。可见,通过对子块的重新利用,动态重配置能够提高FPGA的利用率。并行任务的数据仅仅受到FPGA容量的限制。然而子块的动态分配和替换操作会带来额外时间损耗。硬件任务的复杂化和重定位的频繁发生,导致了重配置代价的增加。因此,通过对重配置的资源映射进行高效管理以改善重构的性能就变得非常重要。在线的FPGA分配是减少重配置代价的重要方向。FPGA的高度碎片化会导致相当差的配置结果:在有足够空闲面积的情况下,却由于碎片化问题造成硬件任务不能在片上进行配置。在线的FPGA分配用于确定怎样将硬件任务分配到可重构平台的恰当区域,从而能够更好的利用可重构FPGA。Bazargan等人提出了针对2DPRTRFPGA的bin-packing在线分配方法。该方法以可重配置计算系统的模型建立为基础,通过对经典算法的扩展来进行在线的实际分配;其中最大空闲方块(MaximumEmptyRectangles,MER)的大小是Ω(n2)。Walder等人提出了使用哈希-矩阵数据结构来对空闲区域进行管理,并设计了在线分配算法。该方法是既有方法的一种改进,其改进之处在于可用处理区域的实际分裂时间被推迟,从而能够提高分配的质量。Ahmadinia等人所提出的方法与Bazargan等人提出的方法相似。这两种方法的主要差别在于所管理的处理区域(processing-area):Ahmadinia方法用于管理已占用的区域,而Bazargan方法则用于管理空闲区域。这两种方法具有相同的复杂度,在进行数据结构管理时也非常耗时,所需要的时间复杂度函数是非线性的。Cui等人提出了用来寻找和构建完成MER集合的算法,能够较为高效的进行处理区域的管理。Lu等人提出了运行时MER的管理算法。Lu等人的算法对MER完整集合的构建基于已配置任务边的动态信息。新的优化方法提出了三种用于改善在线分配算法的技术,分别是仅在合需要时合并(MergingOnlyifNeeded,MON),部分合并(PartialMerging,PM)和直接合并(DirectCombination,DC)。这三种技术分别应用于不同的具体操作环境当中。Handa等人提出了在PRTRFPGA上快速找到空闲空间的方法。该算法的基础是使用阶梯型数据结构以反映基于MER的空闲区域状态。Tabero等人提出了硬件多任务的新方法,使用基于顶点列表集合的空间管理器来实现处理区域管理。顶点列表用来描述PRTR(PartialRun-TimeReconfigurable)平台上未被占用区域的片段。当新任务到达的时候,区域管理器将会搜索顶点列表并使用不同的位置启发式算法来找到合适的位置。这种方法能够以更高的效率来管理处理区域,但是由于任务的插入和删除,导致对顶点列表的管理非常复杂。此外,不是所有顶点列表中的顶点都是可用的任务分配候选区域。事实上只有一部分顶点列表中的顶点能够作为任务分配的候选位置使用。该算法的复杂度是Ο(n2),其中n是FPGA平台上运行时的任务数量。
技术实现思路
本方法提出了一种可重构器件片上面积管理优化方法,能够以定点为基础,更为有效的实现了可重构器件的片上面积管理。本专利技术解决其技术问题采用的技术方案如下:一种可重构器件片上面积管理优化方法,包括如下步骤:S1、模型化可重构器件;将可重构器件建模为一个二维数组C(X,Y),该二维数组C(X,Y)称为可重构矩阵,其中X和Y分别是可配置逻辑块所构成的阵列的宽度和高度,可重构矩阵中的每一个可配置逻辑块与二维数组C(X,Y)中的一个数组成员对应;S2、确定可用候选位置;使用可重构矩阵中位于矩阵中凹角处的顶点作为候选位置选择的基础,基于该顶点构建和维护可用候选位置列表;S3、在新的可重构计算任务Tj到达时,检查所述可用候选位置列表,将可重构任务Tj分配到满足要求的区域,并更新所述可用候选位置列表,之后进行下一步;若无满足Tj分配要求的区域,则退出分配程序;S4、在可重构计算任务Tj执行完成后,检查可重构计算任务Tj所占用的每个可配置逻辑块,并检查可重构矩阵中不再是可用候选位置和新产生的可用候选位置,更新所述可用候选位置列表,进行下一次分配。进一步的,步骤S1中,可重构矩阵左上角的第一个可配置逻辑块使用C(1,1)来进行标识,最右下角的可配置逻辑块使用C(X,Y)来进行标识;如果可重构矩阵中的一个可配置逻辑块被某个任务占用了,则对应的可配置逻辑块标记为占用状态,在二维数组C(X,Y)中对应的数组成员标记为1;如果某个可配置逻辑块未被使用,则这个可配置逻辑块就被标记为空闲状态,在二维数组C(X,Y)中的对应成员标记为0。进一步的,步骤S2中,使用左下、右下、左上或右上顶点中的任意一种顶点作为候选位置选择的基础,根据从上到下、从左到右的规则,分别构建和维护可用候选位置列表;其中,左下顶点列表为VBL={BL1,BL2,BL3,,BLm};右下顶点列表为VBR={BR1,BR2,BL3,,BRl};左上顶点列表为VTL={TL1,TL2,TL3,,TLp};右上顶点列表为VTR={TR1,TR2,TR3,,TRq}。进一步的,步骤S3中,若新的可重构计算任务Tj的宽度属性为w,高度属性为h,则该可重构计算任务Tj需要的可配置逻辑块的数量为w*h;当可用候选位置列表选用左下顶点列表时,检查所述可用候选位置列表具体包括:S31、检查左下顶点列表,如果没有未检查过的左下顶点,到步骤S33;S32、如果有未检查过的左下顶点,取未检查过的第一个左下顶点BLk,检查以下条件:Ex2=X2-w;(1)Ey2=Y2-h;(2)如果Ex2和Ey2均大于或者等于0,该左下顶点BLk满足要求,将可重构计算任务Tj分本文档来自技高网
...
一种可重构器件片上面积管理优化方法

【技术保护点】
一种可重构器件片上面积管理优化方法,其特征在于,包括如下步骤:S1、模型化可重构器件;将可重构器件建模为一个二维数组C(X,Y),该二维数组C(X,Y)称为可重构矩阵,其中X和Y分别是可配置逻辑块所构成的阵列的宽度和高度,可重构矩阵中的每一个可配置逻辑块与二维数组C(X,Y)中的一个数组成员对应;S2、确定可用候选位置;使用可重构矩阵中位于矩阵中凹角处的顶点作为候选位置选择的基础,基于该顶点构建和维护可用候选位置列表;S3、在新的可重构计算任务Tj到达时,检查所述可用候选位置列表,将可重构任务Tj分配到满足要求的区域,并更新所述可用候选位置列表,之后进行下一步;若无满足Tj分配要求的区域,则退出分配程序;S4、在可重构计算任务Tj执行完成后,检查可重构计算任务Tj所占用的每个可配置逻辑块,并检查可重构矩阵中不再是可用候选位置和新产生的可用候选位置,更新所述可用候选位置列表,进行下一次分配。

【技术特征摘要】
1.一种可重构器件片上面积管理优化方法,其特征在于,包括如下步骤:S1、模型化可重构器件;将可重构器件建模为一个二维数组C(X,Y),该二维数组C(X,Y)称为可重构矩阵,其中X和Y分别是可配置逻辑块所构成的阵列的宽度和高度,可重构矩阵中的每一个可配置逻辑块与二维数组C(X,Y)中的一个数组成员对应;S2、确定可用候选位置;使用可重构矩阵中位于矩阵中凹角处的顶点作为候选位置选择的基础,基于该顶点构建和维护可用候选位置列表;S3、在新的可重构计算任务Tj到达时,检查所述可用候选位置列表,将可重构任务Tj分配到满足要求的区域,并更新所述可用候选位置列表,之后进行下一步;若无满足Tj分配要求的区域,则退出分配程序;S4、在可重构计算任务Tj执行完成后,检查可重构计算任务Tj所占用的每个可配置逻辑块,并检查可重构矩阵中不再是可用候选位置和新产生的可用候选位置,更新所述可用候选位置列表,进行下一次分配。2.如权利要求1所述的可重构器件片上面积管理优化方法,其特征在于,步骤S1中,可重构矩阵左上角的第一个可配置逻辑块使用C(1,1)来进行标识,最右下角的可配置逻辑块使用C(X,Y)来进行标识;如果可重构矩阵中的一个可配置逻辑块被某个任务占用了,则对应的可配置逻辑块标记为占用状态,在二维数组C(X,Y)中对应的数组成员标记为1;如果某个可配置逻辑块未被使用,则这个可配置逻辑块就被标记为空闲状态,在二维数组C(X,Y)中的对应成员标记为0。3.如权利要求2所述的可重构器件片上面积管理优化方法,其特征在于,步骤S2中,使用左下、右下、左上或右上顶点中的任意一种顶点作为候选位置选择的基础,根据从上到下、从左到右的规则,分别构建和维护可用候选位置列表;其中,左下顶点列表为VBL={BL1,BL2,BL3,,BLm};右下顶点列表为VBR={BR1,BR2,BL3,,BRl};左上顶点列表为VTL={TL1,TL2,TL3,,TLp};右上顶点列表为VTR={TR1,TR2,TR3,,TRq}。4.如权利要求3所述的可重构器件片上面积管理优化方法,其特征在于,步骤S3中,若新的可重构计算任务Tj的宽度属性为w,高度属性为h,则该可重构计算任务Tj需要的可配置逻辑块的数量为w*h;当可用候选位置列表选用左下顶点列表时,检查所述可用候选位置列表具体包括:S31、检查左下顶点列表,如果没有未检查过的左下顶点,到步骤S33;S32、如...

【专利技术属性】
技术研发人员:胡威张瑜沈欢刘小明张凯刘俊贺娟娟王磊马添奥马荣萱
申请(专利权)人:武汉科技大学
类型:发明
国别省市:湖北,42

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

1