本发明专利技术公开了一种基于数据流解耦的可重构阵列映射方法,涉及可重构阵列的映射布局领域,首先,在原始DFG(Data Flow Graph,数据流图)中执行速率失配的区域间加入DE(Decouple Element,解耦单元),对数据流进行解耦;其次,利用一种“局部紧密,全局稀疏”的分簇式互连结构,将解耦后的所述数据流分隔在若干个规则的互连区域内;最后,通过一种分布式多阶段的布局算法,对每块所述互连区域内的所述数据流进行物理布局。本发明专利技术可以提高阵列的执行效率,完成了各种类型的单元的高效映射,并提升布局的速度和质量。
【技术实现步骤摘要】
一种基于数据流解耦的可重构阵列映射方法
本专利技术涉及可重构阵列的映射布局领域,尤其涉及一种基于数据流解耦的可重构阵列映射方法。
技术介绍
可重构阵列由大量PE组成,每个PE以数据流驱动的模式执行操作。通过空间映射的方式,一旦输入数据有效,大量PE便可以同时并行执行。这极大地提高了阵列的计算吞吐率。然而随着可重构阵列的应用范围扩大,当采用传统的映射方案对DFG进行直接映射时,会面临因数据流执行速率不一致而引起的执行效率下降的问题,例如非平衡路径,嵌套循环间变量交互以及访存延迟等。传统的可重构阵列映射技术主要包含全局规则的互连结构,以及以模拟退火为核心的布局算法和以布通率驱动的布线算法,这些映射方法都只考虑了DFG映射的功能正确性,并未对DFG中无法直接体现的数据流执行速率的差异性进行优化,所以并不能达到很好的映射效果。传统可重列阵列映射过程中会遇到各区域数据流执行速率不一致的现象,常见类型包括路径不平衡,嵌套循环间变量交互和访存延迟三种。数据流执行速率失配会对阵列整体性能产生较大影响。图2(a)展现了一个路径不平衡的例子。其中,两条路径共享相同的数据生产节点和数据汇聚节点,但是却拥有不同的执行延迟。假设短路径的执行周期为S,长路径的执行周期为L。由于汇聚节点(此例中为store节点)需要匹配来自两条路径的操作数,因此来自于短路径的数据将会填满汇聚节点的输入缓存,并最终通过背压(backpressure)机制阻塞数据生产节点。这会导致数据流的吞吐率缩减为S/L。传统的数据映射方案通常通过插入冗余PE的方式对短路径进行填充,但这会浪费用于计算的PE资源。图2(b)展现了在嵌套循环中,内外层循环体迭代次数不一致的例子。由于外层循环在内层循环迭代执行M次后才会执行一次,因此循环变量i在内外层循环边界上会拥有不同的执行速率。这会导致内层循环的流水线停滞,直到外层循环产生下一轮迭代i+1的数据。流水线停滞引起的填充流水开销会显著影响可重构阵列的执行性能,尤其对于内层循环体较小的应用。传统映射方案通过循环交换的方式减少内层循环的迭代次数,但未能完全消除流水线停顿引起的填充流水开销。图2(c)展现了访存操作在数据流执行中引起的执行速率不一致的情况。访存单元从片外存储请求数据时存在较长的访存延迟。当访存请求响应时,大量的数据会以猝发(burst)的方式在很短的时间内传输给PE。然而在软流水的执行模式下,PE会以恒定的速率进行计算。因此,数据访存和数据执行的速率出现不匹配,这会引起流水线阻塞并最终导致阵列吞吐率下降。若下一轮循环迭代中的访存操作需要等待当前循环中的计算结束后再触发,即使在内存带宽足够的情况下仍会造成性能损失。传统映射方案通过动态数据流乱序执行的方式隐藏访存延迟,但是会额外引入不同轮次间数据匹配的开销。以上三种数据流执行速率失配现象都会将原始的DFG分割成具有不同执行速率的区域。在软流水的执行模式下,这些区域间的数据传递都会引起流水线停顿问题,进而显著影响阵列的执行效率。因此,本领域的技术人员致力于开发一种映射效果好,效率高的阵列。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是如何提高执行效率,同时保证映射效果良好。为实现上述目的,本专利技术提供了一种基于数据流解耦的可重构阵列映射方法,首先,在原始DFG中执行速率失配的区域间加入DE,对数据流进行解耦;其次,利用一种“局部紧密,全局稀疏”的分簇式互连结构,将解耦后的所述数据流分隔在若干个规则的互连区域内;最后,通过一种分布式多阶段的布局算法,对每块所述互连区域内的所述数据流进行物理布局。进一步地,加入所述DE,包括,在短路径上加入所述DE作为缓存进行延时;在内外层循环间加入所述DE对循环变量进行缓存;在访存单元和执行单元间插入一个具有灵活流水线级数的DE作为解耦合空间。进一步地,所述DE的输入输出可以根据配置设定为PE(ProcessingElement,执行单元),当用作解耦访存延迟时,所述DE从所述PE接收访存地址并发送给存储系统;为了维持访存顺序,在所述DE中设置一个范围和内部缓存大小相等的自加器,为每一个访存请求标记一个tag,并将所述访存得到的数据按照所述tag存入内部缓存中相应的条目(entry)。此外,可以通过配置DE的输入/输出为其它DE,将多个DE串接起来以满足不同应用场景下对缓存容量的需求。进一步地,可以通过配置所述DE的输入/输出为其它所述DE,将多个所述DE串接起来以满足不同应用场景下对缓存容量的需求。进一步地,所述分簇式互连结构是将整个阵列的互连网络划分成簇,并在簇内和簇间提供不同互连结构的形式。进一步地,所述互联结构的形式是指,对于一个传统结构的PE阵列,将其分割成特定大小的若干簇,每个所述PE都和簇内其它的所述PE互连;而簇间只提供少量的互连线。进一步地,所述分布式多阶段映射算法包括以下步骤:步骤1、根据解耦后的所述DFG区域的大小和数量分别确定所需互连簇的大小和数量;步骤2、将解耦后的所述DFG按照设定簇的大小进行拆分,并通过所述步骤1的布局算法确定簇内所述PE间的互连;步骤3、通过所述步骤2算法确定各个簇在阵列上的实际布局以及簇间所述PE和所述DE之间的互连,并最终得出完整的所述DFG映射方案。进一步地,所述分布式多阶段映射算法的数据传递的节点间的最大传输延时限制在一个时钟周期之内,为了避免不同路径的互联线传输延时的差异,在布局算法中加入了节点间最大路径长度的约束。进一步地,所述分布式多阶段映射算法采用的是模拟退火算法,其中的主要参数分别是模拟退火参数和代价函数。每个温度点移动数目参数Lk和退火终止条件公式如下所示:其中,Lk表示每个温度点进行交换与移动的次数,Nblocks表示当前布局的总节点数,μ取经验值10。第二个式子中,T表示当前退火温度,Cost表示代价函数的函数值,Nnets表示DFG中节点间的互连数目,ε取经验值0.005;温度衰减函数仿照热力学公式和线性衰减函数设计如下所示:其中Tk表示第k次迭代的温度,I表示当前迭代的交换已进行次数,σ表示当前迭代中接受交换后得到的所有Cost值的标准差,δ表示本次迭代和上一次迭代Cost值的变化量的绝对值,为0说明布局没有变化。进一步地,所述互连代价函数,是指,Cost=WireNum+λ1WireLength+λ2Conflix其中,Cost表示代价函数的函数值,WireNum表示两点之间的图距离,WireLength表示两点之间的棋盘距离,MaxWireLength表示阵列上最远的两个单元之间的棋盘距离,表示端口使用冲突大小的总和。这样当图距离更短时,选择最少线数的互连路线;当图距离长度相同时,选择最短线长的互连路线;λ2取经验值0.01。本专利针对传统可重列阵列映射过程中遇到的各区域数据流执行速率不一致的三类现象,通过在DFG中执行速率失配的本文档来自技高网...
【技术保护点】
1.一种基于数据流解耦的可重构阵列映射方法,其特征在于,首先,在原始DFG中执行速率失配的区域间加入DE,对数据流进行解耦;其次,利用一种“局部紧密,全局稀疏”的分簇式互连结构,将解耦后的所述数据流分隔在若干个规则的互连区域内;最后,通过一种分布式多阶段的布局算法,对每块所述互连区域内的所述数据流进行物理布局。/n
【技术特征摘要】
1.一种基于数据流解耦的可重构阵列映射方法,其特征在于,首先,在原始DFG中执行速率失配的区域间加入DE,对数据流进行解耦;其次,利用一种“局部紧密,全局稀疏”的分簇式互连结构,将解耦后的所述数据流分隔在若干个规则的互连区域内;最后,通过一种分布式多阶段的布局算法,对每块所述互连区域内的所述数据流进行物理布局。
2.如权利要求1所述的基于数据流解耦的可重构阵列映射方法,其特征在于,加入所述DE,包括,在短路径上加入所述DE作为缓存进行延时;在内外层循环间加入所述DE对循环变量进行缓存;在访存单元和执行单元间插入一个具有灵活流水线级数的DE作为解耦合空间。
3.如权利要求1所述的基于数据流解耦的可重构阵列映射方法,其特征在于,所述DE的输入输出可以根据配置设定为PE(ProcessingElement,执行单元),当用作解耦访存延迟时,所述DE从所述PE接收访存地址并发送给存储系统;为了维持访存顺序,在所述DE中设置一个范围和内部缓存大小相等的自加器,为每一个访存请求标记一个tag,并将所述访存得到的数据按照所述tag存入内部缓存中相应的条目(entry);此外,可以通过配置DE的输入/输出为其它DE,将多个DE串接起来以满足不同应用场景下对缓存容量的需求。
4.如权利要求1所述的基于数据流解耦的可重构阵列映射方法,其特征在于,可以通过配置所述DE的输入/输出为其它所述DE,将多个所述DE串接起来以满足不同应用场景下对缓存容量的需求。
5.如权利要求1所述的基于数据流解耦的可重构阵列映射方法,其特征在于,所述分簇式互连结构是将整个阵列的互连网络划分成簇,并在簇内和簇间提供不同互连结构的形式。
6.如权利要求5所述的基于数据流解耦的可重构阵列映射方法,其特征在于,所述互联结构的形式是指,对于一个传统结构的PE阵列,将其分割成特定大小的若干簇,每个所述PE都和簇内其它的所述PE互连;而簇间只提供少量的互连线。
7.如权利要求1所述的基于数据流解耦的可重构阵列映射方法,其特征在于,所述分布式多阶段映射算法包括以下步骤:
步骤1、根据解耦后的...
【专利技术属性】
技术研发人员:景乃锋,钱恺宸,尹琛,张子涵,王琴,蒋剑飞,绳伟光,毛志刚,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。