基于多环的光片上网络拓扑结构设计方法与流程

文档序号:12789309阅读:278来源:国知局

本发明属于通信技术领域,涉及一种光片上网络拓扑结构的设计方法,具体涉及一种基于多环的光片上网络拓扑结构的设计方法,可用于芯片上IP核间的光互连,实现基于光电路交换的光片上网络中IP核之间低阻塞数据传输,提高核间通信的效率。



背景技术:

通过将芯片上众多的IP核进行光互连的光片上网络由于具有高带宽,低功耗,低时延和低电磁干扰的优势,能有效解决电片上网络的一系列瓶颈问题。因此,光片上网络已经成为备受关注的多核互连技术。目前已提出非常多的光片上网络拓扑,比如Mesh、Torus等架构,这些拓扑能够实现高带宽低时延的需求,却受到较复杂的路由器结构的限制,带来了过多的光器件开销和网络复杂度。相比与这些架构,考虑互连方式较简单的环形架构,即将各节点通过环路连在一条首尾相连的闭合环型光波导中。但由于光电路交换的使用,导致环形架构中出现严重的链路阻塞,使网络性能急剧下降。为此研究人员提出了如下几种环形架构。

Dana Vantrease等人2008年在会议International Symposium on Computer Architecture发表了文章“Corona:System Implications of Emerging Nanophotonic Technology”,公开了一种基于多环的拓扑设计方法。该方法中的核间通信由64X64的光交叉开关完成,其实现方式为多写单读的光环形总线,结构中的核数即为所需环形总线的数量。并通过采用光令牌进行仲裁的方法,决定哪个节点获得通信的权利。但该方案存在的不足是,为降低拥塞引入的多波长通信方法导致使用了大量波导、微环等光器件以及电光转换设备。多写单读中避免写冲突的通信仲裁机制较复杂,增大了网络的成本和能耗开销。当核数增加时,所需环形总线同步增加,在一定程度上限制了可扩展性。

Se′bastien Le Beux等人2011年在会议Design,Automation&Test in Europe Conference&Exhibition IEEE Xplore发表了文章“Optical Ring Network-on-Chip(ORNoC):Architecture and Design Methodology”,公开了一种基于环的拓扑结构设计方法。该方法中,簇内通信采用电互连,簇间通信使用专用的ORNoC光网络。ORNoC中利用WDM和复用波长技术,在同一波导上用一个波长实现多个固定节点间通信,改进了光片上网络中的可扩展性问题和阻塞问题。但该方案存在的不足是,为降低拥塞引入的多波长通信导致使用了大量微环等光器件以及电光转换设备,增大了网络的成本和能耗开销,同时,虽然相比上个方案改善了可扩展性问题,但由于可以使用的波长数量有限,在一定程度上仍然限制了架构的可扩展性。

Pasricha Sudeed等人2013年在Springer出版的Integrated optical interconnect architectures for embedded systems中发表了文章“On-Chip Optical Ring Bus Communication Architecture for Heterogeneous MPSoC”,公开了一种基于环的拓扑结构设计方法。该方法中,使用光环形波导来实现全局互连设计出ORB拓扑。在ORB中,核间通信时,请求将路由到与光环形波导接口的ORB接口。同时为了提高光学互连的带宽密度,ORB利用波分复用(WDM),采用基于簇的波长分配方法,使用多个波长载波信号在同一波导上传输数据,较好改善电互连上的光互连带宽密度。从而降低了阻塞概率,提高了网络的吞吐。该方案的不足之处是,因使用更大数量的波长改善了带宽,使得在发射机和接收机处需要更多的处理,面积和功率开销。由于每个波长必须被分配给给定的光网络接口,有限的波长资源的限制,这种技术极大地影响了ONoC的可扩展性。



技术实现要素:

本发明的目的在于克服上述已有技术的不足,提出一种基于多环的光片上网络拓扑结构设计方法,用于解决现有光片上网络拓扑结构中存在的网络阻塞严重、可扩展性低,以及网络结构复杂的问题。

为实现上述目的,本发明根据网络中节点的互连状况,计算拓扑结构中每条链路的占用概率,进而得出网络的拥塞因子,将网络拥塞因子作为目标函数,求解出拥塞因子最小的环组,具体实现步骤包括:

(1)设定环组集合G:包括u个环组g1,g2,g3,...,gq,...,gu,q代表环组的序号,每个环组表示包含M个环R1,R2,...,Rr,...,RM的多环网络拓扑,r代表环的序号,该多环网络拓扑包含N个互连的节点,环组gq中的每个环Rr用含有N个比特位的二进制序列C1×N表示,则M个环可用二维数组CM×N表示,CM×N中第r行第s列的比特位用cr,s表示,其中1≤r≤M,1≤s≤N,第r个环上不包含拓扑网络中第s个节点用cr,s=0表示,第r个环上包含网络中第s个节点用cr,s=1表示;

(2)对环组集合G进行初始化:对于环组集合G中的u个二维数组CM×N的每一个比特位cr,s随机赋0或1,得到初始化后环组集合G0

(3)判断初始化后环组集合G0中的每一个环组gq是否不跨环,实现方法为:

3a)设每一位二进制数值为di,j的跨环检测数组DN×N,其中i代表跨环检测数组DN×N的行序号,j代表跨环检测数组DN×N的列序号,且1≤i≤N,1≤j≤N,当i≠j时,根据di,j对应的多环网络拓扑中的通信节点对(i,j)中的节点i和节点j是否直接互连给di,j赋值,若是,对di,j赋1,否则,对di,j赋0,当i=j时,对di,j赋1,得到赋值后的跨环检测数组D’N×N

3b)根据赋值后的跨环检测数组D'N×N中的二进制数值di,j是否存在0,判断初始化后环组集合G0中的所有环组gq是否跨环,若是,更新跨环的环组,并执行步骤3a),否则,设目的环组集合用Gn表示,将初始化环组集合G0赋给目的环组集合Gn,并执行步骤(4),其中n表示初始值为0的更新次数;

(4)计算目的环组集合Gn中所有环组的网络拥塞因子Pnetwork1,Pnetwork2,Pnetwork3,...,Pnetworkq,...,Pnetworku,实现步骤为:

4a)计算环组gq中的L条链路的链路占用率p1,p2,p3,...,pl,...,pL

查找环组gq中连通通信节点对(i,j)的环的数量ti,j,根据波导的双向通信特性,推导出通信节点对(i,j)的路径数为2ti,j,通信节点对(i,j)以均匀概率选择通信路径,得到通信节点对(i,j)对2ti,j个路径上的每条链路施加的占用概率为并利用占用概率计算环组gq的L条链路的链路占用率p1,p2,p3,...,pl,...,pL,其中,l为环组gq的链路序号,1≤i≤N,1≤j≤N,且i≠j;

4b)根据链路占用率p1,p2,p3,...,pl,...,pL,计算环组gq的平均占用概率Paverageq,得到目的环组集合Gn中u个环组的平均占用概率Paverage1,Paverage2,...,Paverageq,...,Paverageu,并按照从小到大的顺序,对目的环组集合Gn中u个环组的平均占用概率Paverage1,Paverage2,...,Paverageq,...,Paverageu进行排序,得到平均占用概率排序E1,E2,E3,...,Eq,...,Eu

4c)根据步骤4a)求得的链路占用率p1,p2,p3,...,pl,...,pL和步骤4b)求得的平均占用概率Paverage1,Paverage2,...,Paverageq,...,Paverageu,计算环组gq的链路占用概率方差得目的环组集合Gn中u个环组的链路占用概率方差并按照从小到大的顺序,对目的环组集合Gn中u个环组的链路占用概率方差进行排序,得到占用概率方差排序F1,F2,F3,...,Fq,...,Fu

4d)根据步骤4b)求得的平均占用概率排序E1,E2,E3,...,Eq,...,Eu和步骤4c)求得的占用概率方差排序F1,F2,F3,...,Fq,...,Fu,计算目的环组集合Gn中所有环组的网络拥塞因子Pnetwork1,Pnetwork2,Pnetwork3,...,Pnetworkq,...,Pnetworku

(5)按照目的环组集合Gn中所有环组的网络拥塞因子Pnetwork1,Pnetwork2,Pnetwork3,...,Pnetworkq,...,Pnetworku从小到大的顺序,将网络拥塞因子Pnetwork1,Pnetwork2,Pnetwork3,...,Pnetworkq,...,Pnetworku对应的目的环组集合Gn中的所有环组进行排序,得到排序后的环组g1,g2,g3,...gq,...,gu,并选出前2N个环组g1,g2,...,gq,...,g2N

(6)对前2N个环组g1,g2,...,gq,...,g2N进行优化更新,得到目的环组集合Gn,实现步骤为:

6a)将前2N个环组g1,g2,...,gq,...,g2N进行两两随机配对,得到N对环组v1,v2,...,vw,...,vN,其中w为环组对的序号;

6b)对N对环组v1,v2,...,vw,...,vN中的每个环组对vw,进行环组之间的比特串交换,得到交叉互换后的2N个环组g'1,g'2,...,g'q,...,g'2N

6c)随机查找交叉互换后的2N个环组g'1,g'2,...,g'q,...,g'2N中的每个环组g'q对应的二维数组CM×N中的1个比特位cr,s,若cr,s=1,对cr,s赋0,若cr,s=0,对cr,s赋1,得到随机置换后的2N个环组g”1,g”2,...,g”q,...,g”2N

6d)判断随机置换后的2N个环组g”1,g”2,...,g”q,...,g”2N是否跨环,若是,执行6a),否则,将前2N个环组g1,g2,...,gq,...,g2N与随机置换后的2N个环组g”1,g”2,...,g”q,...,g”2N合并,将更新次数n加1,得到目的环组集合Gn

(7)判断目的环组集合Gn的更新次数n是否小于设定的优化更新门限值T,若是,执行步骤(4),否则,计算目的环组集合Gn中4N个环组的网络拥塞因子Pnetwork1,Pnetwork2,Pnetwork3,...,Pnetwork4N,得到拥塞概率因子最小的环组gmin,实现光片上网络拓扑结构的设计。

本发明与现有技术相比,具有以下优点:

第一,由于本发明基于多环拓扑进行拓扑结构设计,提供了更多波导链路,降低了网络实现的复杂度,并采用了选择网络拥塞概率因子最小的多环拓扑的方法,减小了光片上网络阻塞概率,克服了光片上网络中阻塞较大的问题,使得本发明具有实现简单,阻塞概率低,通信效率高,提高吞吐量的优点。

第二,由于本发明采用单个波长的通信方法,只需固定波长的光调制器、光检测器以及微环谐振器等器件。不需同时使用多种光器件,克服了现有多波长光片上网络中使用大量光学设备的问题,使得本发明具有低成本的优点。

第三,由于本发明采用单个波长的通信方法,不需同时使用多个波长载波信号,克服了现有多波长通信架构中可用波长数有限,无法满足光片上网络的大规模通信需求的问题,使得本发明具有可扩展性能高的优点。

附图说明

图1为本发明的实现流程图。

具体实施方式

下面结合附图,对本发明作进一步详细描述。

参照图1.一种基于多环的光片上网络拓扑结构设计方法,包括如下步骤:

步骤(1)设定环组集合G:包括u个环组g1,g2,g3,...,gq,...,gu,q代表环组的序号,每个环组表示包含M个环R1,R2,...,Rr,...,RM的多环网络拓扑,r代表环的序号,该多环网络拓扑包含N个互连的节点,环组gq中的每个环Rr用含有N个比特位的二进制序列C1×N表示,则M个环可用二维数组CM×N表示,CM×N中第r行第s列的比特位用cr,s表示,其中1≤r≤M,1≤s≤N,第r个环上不包含拓扑网络中第s个节点用cr,s=0表示,第r个环上包含拓扑网络中第s个节点用cr,s=1表示;

步骤(2)对环组集合G进行初始化:对于环组集合G中的u个二维数组CM×N的每一个比特位cr,s随机赋0或1,得到初始化后环组集合G0

步骤(3)判断初始化后环组集合G0中的每一个环组gq是否不跨环,实现方法为:

步骤3a)设每一位二进制数值为di,j的跨环检测数组DN×N,其中i代表跨环检测数组DN×N的行序号,j代表跨环检测数组DN×N的列序号,且1≤i≤N,1≤j≤N,当i≠j时,根据di,j对应的多环网络拓扑中的通信节点对(i,j)中的节点i和节点j是否直接互连给di,j赋值,若是,对di,j赋1,否则,对di,j赋0,当i=j时,对di,j赋1,得到赋值后的跨环检测数组D'N×N

跨环检测数组中的每一位二进制用来存放对应的节点i和节点j是否通过一个环直接互连起来,即网络中任意两个节点间是否满足不跨环即可通信的条件;当不跨环时,在每个节点处的接口设计就不需要复杂的多端口光路由器,以简化结构。

步骤3b)根据赋值后的跨环检测数组D'N×N中的二进制数值di,j是否存在0,判断初始化后环组集合G0中的所有环组gq是否跨环,若是,更新跨环的环组,并执行步骤3a),否则,设目的环组集合用表示Gn,将初始化环组集合G0赋给目的环组集合Gn,并执行步骤(4),其中n表示初始值为0的更新次数;

初始化后环组集合G0中每个环组对应一个跨环检测数组D'N×N,对每个环组对应的跨环检测数组D'N×N都进行上述判断,即可得到初始化后环组集合G0中的每个环组是否跨环;

步骤(4)计算目的环组集合Gn中所有环组的网络拥塞因子Pnetwork1,Pnetwork2,Pnetwork3,...,Pnetworkq,...,Pnetworku,实现步骤为:

步骤4a)计算环组gq中的L条链路的链路占用率p1,p2,p3,...,pl,...,pL

查找环组gq中连通通信节点对(i,j)的环的数量ti,j,根据波导的双向通信特性,推导出通信节点对(i,j)的路径数为2ti,j,通信节点对(i,j)以均匀概率选择通信路径,得到通信节点对(i,j)对2ti,j个路径上的每条链路施加的占用概率为其中1≤i≤N,1≤j≤N,且i≠j,并利用占用概率计算环组gq的L条链路的链路占用率p1,p2,p3,...,pl,...,pL,其计算公式为:

其中,l代表环组gq的链路的序号,H表示链路l所在环Rr的节点数目,x,y表示在环Rr上的节点序号,且x≠y,对环组gq的L条链路计算上式可得出环组gq的L条链路的链路占用率p1,p2,p3,...,pl,...,pL

步骤4b)根据链路占用率p1,p2,p3,...,pl,...,pL,计算环组gq的平均占用概率Paverageq,其计算公式为:

对目的环组集合Gn中u个环组计算上式,得到目的环组集合Gn中u个环组的平均占用概率Paverage1,Paverage2,...,Paverageq,...,Paverageu,并按照从小到大的顺序,对目的环组集合Gn中u个环组的平均占用概率Paverage1,Paverage2,...,Paverageq,...,Paverageu进行排序,得到平均占用概率排序E1,E2,E3,...,Eq,...,Eu,例如,若平均占用概率为Paverageq的环组gq照从小到大的顺序排在u个环组中的第3,那么Eq的值即为3;

步骤4c)根据步骤4a)求得的链路占用率p1,p2,p3,...,pl,...,pL和步骤4b)求得的平均占用概率Paverage1,Paverage2,...,Paverageq,...,Paverageu,计算环组gq的链路占用概率方差其计算公式为:

其中o为链路的序号,对目的环组集合Gn中u个环组计算上式,得目的环组集合Gn中u个环组的链路占用概率方差并按照从小到大的顺序,对目的环组集合Gn中u个环组的链路占用概率方差进行排序,得到占用概率方差排序F1,F2,F3,...,Fq,...,Fu,例如,若链路占用概率方差为的环组gq照从小到大的顺序排在u个环组中的第5,那么Fq的值即为5;

步骤4d)根据步骤4b)求得的平均占用概率排序E1,E2,E3,...,Eq,...,Eu和步骤4c)求得的占用概率方差排序F1,F2,F3,...,Fq,...,Fu,计算目的环组集合Gn中所有环组的网络拥塞因子Pnetwork1,Pnetwork2,Pnetwork3,...,Pnetworkq,...,Pnetworku,其计算公式为:

Pnetworkq=αEq+(1-α)Fq

其中α为可调参数,通常情况下取0.5,对目的环组集合Gn中u个环组计算上述公式,可得出环组集合Gn中所有环组的网络拥塞因子Pnetwork1,Pnetwork2,Pnetwork3,...,Pnetworkq,...,Pnetworku

考虑链路占用概率方差的原因是,不希望在环组gq中有某条链路的链路占用率比其他链路高很多,这样虽然平均占用概率比较小,但由于有一条链路的链路占用率太高,容易堵塞,这样,某一个链路的堵塞会导致网络堵塞严重,因此,在考虑平均占用概率时,还需要考虑链路占用概率方差。

步骤(5)按照目的环组集合Gn中所有环组的网络拥塞因子Pnetwork1,Pnetwork2,Pnetwork3,...,Pnetworkq,...,Pnetworku从小到大的顺序,对网络拥塞因子Pnetwork1,Pnetwork2,Pnetwork3,...,Pnetworkq,...,Pnetworku对应的目的环组集合Gn中的所有环组进行排序,得到排序后的环组g1,g2,g3,...gq,...,gu,并选出前2N个环组g1,g2,...,gq,...,g2N

步骤(6)对前2N个环组g1,g2,...,gq,...,g2N进行优化更新,得到目的环组集合Gn,实现步骤为:

步骤6a)将前2N个环组g1,g2,...,gq,...,g2N进行两两随机配对,得到N对环组v1,v2,...,vw,...,vN,其中w为环组对的序号;

步骤6b)对N对环组v1,v2,...,vw,...,vN中的每个环组对vw,进行环组之间的比特串交换,得到交叉互换后的2N个环组g'1,g'2,...,g'q,...,g'2N

步骤6c)随机查找交叉互换后的2N个环组g'1,g'2,...,g'q,...,g'2N中的每个环组g'q对应的二维数组CM×N中的1个比特位cr,s,若cr,s=1,对cr,s赋0,若cr,s=0,对cr,s赋1,得到随机置换后的2N个环组g”1,g”2,...,g”q,...,g”2N

步骤6d)判断随机置换后的2N个环组g”1,g”2,...,g”q,...,g”2N是否跨环,若是,执行步骤6a),否则,将前2N个环组g1,g2,...,gq,...,g2N与随机置换后的2N个环组g”1,g”2,...,g”q,...,g”2N合并,将更新次数n加1,得到目的环组集合Gn,此时,该环组集合Gn中的环组个数u=4N;

步骤(7)判断目的环组集合Gn的更新次数n是否小于设定的优化更新门限值T,若是,执行步骤(4),否则,根据上述步骤(4)中的计算公式,计算目的环组集合Gn中4N个环组的网络拥塞因子Pnetwork1,Pnetwork2,Pnetwork3,...,Pnetwork4N,得到拥塞概率因子最小的环组gmin,实现光片上网络拓扑结构的设计。

为了尽可能多的找的性能良好的多环拓扑,因此,优化更新门限值可以做多次尝试,从而得到能达到所需性能的多环拓扑。

以上描述仅是本发明的一个具体实例,并不构成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1