一种分区域的可重构硬件任务放置方法

文档序号:6369175阅读:151来源:国知局
专利名称:一种分区域的可重构硬件任务放置方法
技术领域
本发明属于计算机技术领域,具体涉及ー种分区域的ニ维可重构硬件任务的放置方法。
背景技术
在可重构计算系统中,可重构资源通常抽象为ー维和ニ维两种模型,在ニ维可重构资源模型中,可重构资源以ニ维阵列的方式划分和组织,重构的最小单位为ニ维阵列中的ー个矩形単元,ー个可重构硬件任务占用阵列中的ー个矩形区域,多个任务通过调度的方式在可重构资源中进行布局,由于每个任务在资源空间中的放置具有ニ维自由度,因此常采用空闲区域扫描和状态矩阵记录这两种方法为待调度的任务查找合适的布局位置。空闲区域扫描方法主要是通过记录空闲区域来对资源进行描述,其中最重要的是最大空闲矩形法MER (Maximal Empty Rectangle), MER方法记录ー个互不交叠的空闲资源矩形列表, 通过查找匹配的空闲资源矩形获得待调度硬件任务的放置位置,该方法需要对资源矩形列表进行维护,并且任务调度时查找匹配空闲资源的复杂度相对较高;状态矩阵记录方法通过维护一个记录可重构计算单元(Reconfigurable Computing Unit)状态的矩阵来管理资源,并通过扫描状态矩阵查找待调度硬件任务的可放置位置,此方法需扫描和查找状态矩阵,花费时间相对较长。在任务布局时采用的放置策略常用的有两种,一种为首次适合放置方法(First Fit),另ー种是最佳放置方法(Best Fit),这两种放置方法均没有考虑ニ维器件内布线难易度和待调度硬件任务间通信的密切程度,在部分硬件任务间通信比较密切而布局较为分散的情况下,给ニ维可重构器件的布线造成了巨大的困难,甚至无法布通,増加了硬件任务协调管理的难度。

发明内容
本发明的目的在于提供ー种分区域的可重构硬件任务放置方法,从而降低可重构器件内布线的难度,有效提高组内硬件任务的高效管理。为了达到上述目的,本发明所采用的技术方案是第一歩,以规模为WXH的ニ维可重构资源模型为基础,W、H分别为可重构资源模型的宽度和高度,将可重构硬件任务集内的可重构硬件任务按照关联的紧密程度分组;第二歩,将ニ维可重构资源模型分成若干个资源区域,资源区域与可重构硬件任务的分组一一对应;第三步,对于可重构硬件任务集内的每个待放置可重构硬件任务,根据待放置可重构硬件任务所在的分组选择对应的资源区域,按照资源区域的布局策略将待放置可重构硬件任务布局到资源区域,并记录布局位置;第四步,当可重构硬件任务执行完成后,可重构硬件任务按照结束时间依次从所在的资源区域退出,按照可重构硬件任务所在资源区域的布局策略删除布局位置的记录。所述ニ维可重构资源模型为构建X、Y轴组成的ニ维坐标系,X、Y轴最小单位为一个可重构计算単元,基于ニ维坐标系的可重构硬件任务Ti所需重构资源以矩形进行标识,矩形大小描述为(Wphi),其中i为正整数,Wii可重构硬件任务Ti占用重构资源的宽度,hi是可重构硬件任务Ti占用重构资源的高度;可重构硬件任务Ti将占据ニ维坐标系中ー个高为Iii,宽为Wi的矩形区域,称为任务放置区域。所述第一歩中分组的具体方法为将可重构硬件任务集内的可重构硬件任务Ti根据任务间通信的密切程度,按照基于簇的层次敏感划分算法分成m组,分组记为Gp j为自然数且j ^ m。所述基于簇的层次敏感划分算法的执行步骤为步骤1),采用有向无环图表示可重构硬件任务集内的可重构硬件任务的关系,则有向无环图中任务间有向边的数量就表示可重构硬件任务间通信的密切程度,有向无环图中根节点对应的可重构硬件任务称为根节点任务,新建分组G1作为当前分组,将有向无环图中第一个根节点任务加入分组ら内,同时生成就绪任务队列Rdy,若存在多个根节点任务吋,则将其余根节点任务加入就绪任务队列Rdy中;当某一任务的直接前驱任务均已被划分完毕时,则该任务即为就绪任务;计算组内理想任务数l=n/m,其中η为可重构硬件任务集内的可重构硬件任务总数,m为任务分组的组数,2 < m^9;步骤2),若就绪任务队列Rdy中均为根节点任务,则将与当前分组内根节点任务具有相同后继任务的根节点任务加入当前分组,并更新就绪任务队列Rdy,然后从就绪任务队列Rdy中依次选择就绪任务加入当前分组,若加入后使得当前分组与可重构硬件任务集内的其他任务间的边数小于或者等于加入前边数,则将该就绪任务加入,并更新就绪任务队列Rdy,否则继续查找,直到查找完所有就绪任务;步骤3),就绪任务查找完毕后,若当前分组中任务数c ^ Ι-m,则将就绪任务队列Rdy中属于当前分组内任务直接后继的任务加入当前分组内,然后更新就绪任务队列Rdy,返回步骤2)继续执行;若当前分组中任务数c满足l-m〈c,则记录当前分组的任务队列,然后新建另ー个分组作为当前分组,j ^ m,并将就绪任务队列Rdy中的首任务加入当前分组,更新就绪任务队列,返回步骤2)继续执行;当最后ー个分组完成查找后,将就绪任务队列Rdy中未分组的就绪任务加入组内任务数最小的分组中,可重构硬件任务集内的可重构硬件任务分组完毕;步骤4),分组完毕后输出分组任务队列。所述第二步的具体方法为将ニ维可重构资源模型分成m个资源区域进行管理,资源区域记为Aj, j为自然数且j ^ m,资源区域Aj与可重构硬件任务Ti的分组Gj —一对应,资源区域内可以采用First Fit、Best Fit或DATS等布局策略,资源区域间相互独立,
统ー管理。所述第三步的具体方法为可重构硬件任务布局时,根据可重构硬件任务Ti所在的分组选择对应的资源区域Ap根据分组中可重构硬件任务的特性选择布局策略,(若该组任务多数为规则且占用资源较少的任务,则采用First Fit布局策略,提高布局速度),按照选择的布局策略将可重构硬件任务Ti布局到资源区域、,并记录可重构硬件任务Ti的布局位置。本发明的有益效果体现在分区域的可重构硬件任务放置方法针对可重构硬件任务集内任务间通信的紧密情况,利用ニ维可重构资源模型的规模信息,通过分区域的放置方法,将可重构硬件任务按照任务间通信的密切程度分组分区域布局管理,降低了可重构器件内部的布线难度,提高了区域内可重构硬件任务的管理效率,可适用于实时运行的可重构系统中。


图I是本发明所述ニ维坐标系示意图,横坐标X和纵坐标Y的单位均为可重构单元数目; 图2是本发明所述可重构硬件任务集内可重构硬件任务的分组关系示意图;图3是本发明所述可重构硬件任务的布局示意图。
具体实施例方式下面结合附图和实施例对本发明做详细描述。ー种分区域的可重构硬件任务放置方法,包括以下步骤第一歩,在规模为WXH的ニ维可重构资源模型基础上(W、H分别为可重构资源模型的宽度和高度),构建X、Y轴组成的ニ维坐标系,X、Y轴最小単位为ー个可重构计算单元,基于ニ维坐标系的可重构硬件任务Ti所需重构资源以矩形进行标识,矩形大小描述为(Wi, hi),其中i为正整数,Wi是可重构硬件任务Ti占用资源的宽度,hi是可重构硬件任务Ti占用资源的高度;可重构硬件任务Ti将占据ニ维坐标系中一个高为Iii,宽为Wi的矩形区域,称为任务放置区域,并将可重构硬件任务集内的可重构硬件任务Ti根据任务间通信的密切程度,按照基于簇的层次敏感划分算法分成m组,记为(j为自然数且j <m)。參照图1,A为规模为WXH的ニ维可重构资源模型,其中宽W=10,高H=10,B为可重构计算最小単元。图2为可重构硬件任务集内的可重构硬件任务的分组关系图,采用有向无环图(DAG)来表示可重构硬件任务之间的关系。依据图2中标识,将可重构硬件任务集内的可重构硬件任务按照任务间通信的密切程度分为两组=G1组(T1, T2, T3, T5)和G2组(T4,T6,T7,T8),图2中任务间的有向边表示任务间的通信,则任务间有向边的数量即表示任务间通信的密切程度。采用的基于簇的层次敏感划分算法具体执行如下步骤1),采用有向无环图表示可重构硬件任务集内的可重构硬件任务的关系,则有向无环图中任务间有向边的数量就表示可重构硬件任务间通信的密切程度,有向无环图中根节点对应的可重构硬件任务称为根节点任务,新建分组G1作为当前分组,将有向无环图中第一个根节点任务加入分组ら内,同时生成就绪任务队列Rdy,若存在多个根节点任务吋,则将其余根节点任务加入就绪任务队列Rdy中;当某一任务的直接前驱任务均已被划分完毕时,则该任务即为就绪任务;计算组内理想任务数l=n/m,其中η为可重构硬件任务集内的可重构硬件任务总数,m为任务分组的组数,2 < m < 9,组数m根据硬件任务数η统计计算可知。若组数太多则会导致可重构硬件资源分区域过多,不利于管理,且增加了组间布线的难度,失去了分区域算法的意义,若组数太少则会达不到分区域放置算法的目的,因此需要均衡选择分组情況。对于任务数小于50的硬件任务队列,组数一般应为2,任务数多的情况下,应保持硬件任务组数最多不能超过9,且取值为3、4、6、8和9,主要是为了方便可重构硬件资源的分区域管理;步骤2),若就绪任务队列Rdy中均为根节点任务,则将与当前分组内根节点任务具有相同后继任务的根节点任务加入当前分组,并更新就绪任务队列Rdy,然后从就绪任务队列Rdy中依次选择就绪任务加入当前分组,若加入后使得当前分组与可重构硬件任务集内的其他任务间的边数小于或者等于加入前边数,则将该就绪任务加入,并更新就绪任务队列Rdy,否则继续查找,直到查找完所有就绪任务;步骤3),就绪任务查找完毕后,若当前分组中任务数c ^ Ι-m,则将就绪任务队列Rdy中属于当前分组内任务直接后继的任务加入当前分组内,然后更新就绪任务队列Rdy,返回步骤2)继续执行;若当前分组中任务数c满足l-m〈c,则记录当前分组的任务队列,然后新建另ー个分组作为当前分组,j ^ m,并将就绪任务队列Rdy中的首任务加入当前分组,更新就绪任务队列,返回步骤2)继续执行;当最后ー个分组完成查找后,将就绪任务队列Rdy中未分组的就绪任务加入组内任务数最小的分组中,可重构硬件任务集内的可重构硬件任务分组完毕;步骤4),分组完毕后输出分组任务队列。
根据基于簇的层次敏感划分算法对图2所示任务进行划分新建ー个G1组,将就绪任务T1 (根任务)加入该组内,此时就绪任务队列Rdy= {T2、T3和TJ,当就绪任务T2加入G1组时,该组对其他任务的边数为3等于加入前的边数,因此将任务T2加入G1组,并更新就绪任务队列Rdy= IT3和TJ ;当就绪任务T3加入G1组时,该组对其他任务的边数为3等于加入前的边数,因此将任务T3加入G1组;此时任务T5的直接前驱任务T2和T3均已被划分,则任务T5就成为就绪任务,更新就绪任务队列Rdy= IT4和Τ5};当就绪任务T4加入G1组时,该组对其他任务的边数为4大于加入前的边数3,因此任务T4不加入G1组继续查找就绪任务队列Rdy ;当就绪任务T5加入G1组时,该组对其他任务的边数为2小于加入前的边数3,因此将任务T5加入G1组,更新就绪任务队列Rdy= {TJ,则所有就绪任务已经查找完毕,则G1组的任务为!\、T2, T3和T5,且G1组内任务数c=4>l-m=2,则记录任务组G1,新建另ー个G2组作为当前分组,将就绪任务队列的首任务T4加入该组内,由于任务T6和T7的直接前驱任务T4已被划分,则更新就绪任务为队列Rdy= IT6和T7},同样按照以上方法查找就绪任务,对剩余的任务进行划分,生成的G2组的任务为T4、T6、T7和Τ8,且G2组内任务数c=4>l-m=2,则记录任务组G2。到此可重构硬件任务集内的可重构硬件任务划分完毕。第二歩,将ニ维可重构资源模型分成m个资源区域进行管理,记为、(j <可重构
硬件任务的组数m),且与硬件任务的组数--对应,区域内可以采用First Fit、Best Fit、
DATS等相同或不同的布局策略,区域间相互独立,统ー管理。參考图3,将ニ维可重构资源模型沿如图3所示虚线分成上下两个资源区域进行管理,记为A1和A2,其中G1组硬件任务布局到A1区域,G2组硬件任务布局到A2区域,考虑到硬件任务的规模信息,这里两个区域均使用First Fit布局策略,采用对角线相向放置的方式进行管理,即A1区域以左下角为坐标起点向内布局,A2区域以右上角为坐标起点向内布局,此管理方式可以有效降低可重构器件内的布线难度,同时也可以将空闲区域集中起来,方便为占用资源较多的待放置任务提供足够的空闲空间。第三步,可重构硬件任务布局时,根据待放置可重构硬件任务Ti所在的组Gj,选择任务对应的布局区域Ap根据该组任务的特性,选择相应的布局策略,(若该组任务多数为规则且占用资源较少的任务,则可采用First Fit布局策略,提高布局速度),按照该布局策略将待放置可重构硬件任务Ti布局到区域Ap并记录布局位置。
參照图3,任务T1到达后,根据其所在的G1组,则将任务T1布局到区域A1,依据当前区域的布局策略First Fit,则任务T1放置位置为(0,O) (3,2),1\占据的重构资源为一矩形区域,宽度为3-0=3,高度为2-0=0 ;任务T2、T3分别到达后,按照同样的方式布局,其放置位置分别为(0,2) (4,5),和(4,O) (6,4);任务T4到达后,根据其所在的G2组,则将任务T4布局到区域A2,依据当前区域的布局策略First Fit,则任务T4放置位置为(4,8)(10,10);任务T5到达后,根据其所在的G1组,则将任务T5布局到区域A1,其放置位置为(6,O) (9,3),T5占据的重构资源为一矩形区域,宽度为9-6=3,高度为3-0=3 ;任务T6、T7、T8分别到达后,根据任务所在的G2组,则将它们布局到区域A2,则放置位置分别为(7,5)(10,8)(1,6) (4,10)(4,6) (7,8)。第四步,当可重构硬件任务执行完成后,任务按照结束时间依次从当前区域退出,同时按照任务当前所在区域采用的布局策略,删除对应的位置记录。
參照图3,当任务T1执行结束后,按照当前所在区域A1所采用的布局策略FirstFit,退出当前区域,同时删除当前的位置信息,并修改任务状态为执行完成;其他任务依次按照执行结束顺序退出,并删除当前的位置信息,更新任务状态。
权利要求
1.ー种分区域的可重构硬件任务放置方法,其特征在于包括以下步骤 第一歩,以规模为WXH的ニ维可重构资源模型为基础,W、H分别为可重构资源模型的宽度和高度,将可重构硬件任务集内的可重构硬件任务按照关联的紧密程度分组; 第二歩,将ニ维可重构资源模型分成若干个资源区域,资源区域与可重构硬件任务的分组——对应; 第三步,对于可重构硬件任务集内的每个待放置可重构硬件任务,根据待放置可重构硬件任务所在的分组选择对应的资源区域,按照资源区域的布局策略将待放置可重构硬件任务布局到资源区域,并记录布局位置; 第四步,当可重构硬件任务执行完成后,可重构硬件任务按照结束时间依次从所在的资源区域退出,并按照可重构硬件任务所在资源区域的布局策略删除布局位置的记录。
2.根据权利要求I所述ー种分区域的可重构硬件任务放置方法,其特征在于所述ニ维可重构资源模型为构建X、Y轴组成的ニ维坐标系,X、Y轴最小単位为ー个可重构计算単元,基于ニ维坐标系的可重构硬件任务Ti所需重构资源以矩形进行标识,矩形大小描述为(Wi, Iii),其中i为正整数,Wi是可重构硬件任务Ti占用重构资源的宽度,hi是可重构硬件任务1\占用重构资源的高度;可重构硬件任务Ti将占据ニ维坐标系中一个高为Iii,宽为Wi的矩形区域。
3.根据权利要求I所述ー种分区域的可重构硬件任务放置方法,其特征在于所述第一歩中分组的具体方法为将可重构硬件任务集内的可重构硬件任务Ti根据任务间通信的密切程度,按照基于簇的层次敏感划分算法分成m组,分组记为Gp j为自然数且j ^ m。
4.根据权利要求3所述ー种分区域的可重构硬件任务放置方法,其特征在于所述基于簇的层次敏感划分算法的执行步骤为 步骤1),采用有向无环图表示可重构硬件任务集内的可重构硬件任务的关系,则有向无环图中任务间有向边的数量就表示可重构硬件任务间通信的密切程度,有向无环图中根节点对应的可重构硬件任务称为根节点任务,新建分组G1作为当前分组,将有向无环图中第一个根节点任务加入分组G1内,同时生成就绪任务队列Rdy,若存在多个根节点任务时,则将其余根节点任务加入就绪任务队列Rdy中;当某一任务的直接前驱任务均已被划分完毕时,则该任务即为就绪任务;计算组内理想任务数l=n/m,其中η为可重构硬件任务集内的可重构硬件任务总数,m为任务分组的组数,2^m^9 ; 步骤2),若就绪任务队列Rdy中均为根节点任务,则将与当前分组内根节点任务具有相同后继任务的根节点任务加入当前分组,并更新就绪任务队列Rdy,然后从就绪任务队列Rdy中依次选择就绪任务加入当前分组,若加入后使得当前分组与可重构硬件任务集内的其他任务间的边数小于或者等于加入前边数,则将该就绪任务加入,并更新就绪任务队列Rdy,否则继续查找,直到查找完所有就绪任务; 步骤3),就绪任务查找完毕后,若当前分组中任务数c ^ Ι-m,则将就绪任务队列Rdy中属于当前分组内任务直接后继的任务加入当前分组内,然后更新就绪任务队列Rdy,返回步骤2)继续执行;若当前分组中任务数c满足l-m〈c,则记录当前分组的任务队列,然后新建另ー个分组ら作为当前分组,j ^ m,并将就绪任务队列Rdy中的首任务加入当前分组,更新就绪任务队列,返回步骤2)继续执行;当最后ー个分组完成查找后,将就绪任务队列Rdy中未分组的就绪任务加入组内任务数最小的分组中,可重构硬件任务集内的可重构硬件任务分组完毕; 步骤4),分组完毕后输出分组任务队列。
5.根据权利要求I所述ー种分区域的可重构硬件任务放置方法,其特征在于所述第ニ步的具体方法为将ニ维可重构资源模型分成m个资源区域,资源区域记为、,j为自然数且j ( m,资源区域Aj与可重构硬件任务Ti的分组Gj —一对应。
6.根据权利要求I所述ー种分区域的可重构硬件任务放置方法,其特征在于所述第三步的具体方法为可重构硬件任务布局时,根据可重构硬件任务Ti所在的分组选择对应的资源区域Ap根据分组中可重构硬件任务的特性选择布局策略,按照选择的布局策略将可重构硬件任务Ti布局到资源区域Ap并记录可重构硬件任务Ti的布局位置。
全文摘要
本发明提供一种分区域的可重构硬件任务放置方法,在二维可重构资源模型上,构建X、Y轴组成的二维坐标系,将可重构硬件任务集按照任务间通信的密切程度分成若干组,并将可重构资源模型分成若干个与硬件任务组数一一对应的资源区域进行管理,依据待放置任务所在的组,选择任务对应的布局区域,按照相应的布局策略将待放置任务布局到该区域。本发明针对可重构硬件任务间通信紧密的情况,将可重构硬件任务集按照任务间通信的密切程度分成若干组,并在二维可重构资源模型基础上,对器件资源分区域进行管理,不同组的任务布局到不同的区域中,从而降低可重构器件内布线的难度,有效提高组内硬件任务的高效管理和可重构硬件的资源利用率。
文档编号G06F9/50GK102681901SQ20121013946
公开日2012年9月19日 申请日期2012年5月8日 优先权日2012年5月8日
发明者伍卫国, 杨聪, 王涛 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1