一种三维光电混合互连网络路由方法

文档序号:7814260阅读:144来源:国知局
一种三维光电混合互连网络路由方法
【专利摘要】本发明实施例公开了一种三维光电混合互连网络路由方法,应用于高性能计算机通信领域。本发明实施例中,一种三维光电混合互连网络路由方法包括解析到达输入端口的当前报文的目的地址;根据XY优先路由算法以及解析到的所述当前报文的目的地址确定所述当前报文的输出端口;若上述确定的所述当前报文的输出端口是优先级别最高的输出端口,且有待发送缓存报文转向该输出端口,则计算所述当前报文不能被抛弃的概率W;生成随机数R,若所述W小于所述随机数R,抛弃所述当前报文,将所述待发送缓存报文送至优先级别最高的输出端口。本发明能够解决网络节点处的死锁问题,减少报文抛弃带来的延迟时间。
【专利说明】一种三维光电混合互连网络路由方法

【技术领域】
[0001]本发明涉及高性能计算机通信领域,尤其涉及一种三维光电混合互连网络路由方法。

【背景技术】
[0002]当前,提高单个计算节点的性能以及互连网络的优化和改进是提高高性能计算机性能的两种有效手段。然而由于高速电信号的限制,提高单个处理器的时钟频率和计算性能已变得非常困难,系统计算能力的提高主要是通过将大量处理器互连在一起来实现。传统的电互连网络由于其存在带宽小、延迟大、互连密度小等局限性,成为制约高性能计算机性能进一步提高的瓶颈之一。以光信号作为信息载体,相对于电介质具有许多优点:较高的时间、空间带宽积,高度的并行性和无干扰性,传输和交换光功率损耗小、干扰低等优点。
[0003]但是,在当前技术条件下,没有有效的光缓存器以及可用的全光处理器,对于一般的报文交换互连系统,在网络节点中不得不将光信号转换为电信号进行路由判断和缓存,这将会引入额外的传输延迟。三维光互连网络(Three-Dimens1nal OpticalInterconnect1n Network,TD0IN)结构的出现,解决了光技术限制和面向更高维度的互连网络。
[0004]一个m*n*p的TDOIN由m*n*p个节点组成,每个节点可用坐标(x, y, z) (x =
0,1,2,..., m-1 ;y = 0, I, 2,…,n_l ;z = 0,1,2,…,p_l)表示,每个节点包含所述三个输入端口,分别为X-方向输入端口、Y-方向输入端口和Z-方向输入端口,三个输出端口,分别为X+方向输出端口、Y+方向输出端口和Z+方向输出端口。在TDOIN中,所有节点都按照时隙同步模式传输数据。比如报文P的数据信息的第一位在某个时隙开始时刻tl从一个节点NI的X+、Y+或Z+端口发出后,经过一个时隙的时间AT,在tl+Λ T时刻,报文P的数据信息的第一位到达相邻的下一个节点Ν2的X-方向、Y-方向或Z-方向端口,同时,报文P的最后一位刚从NI发送出来,这种按照时隙同步模式传输数据的网络假定报文在相邻节点间的传输时间等于一个时隙。因此,在tl+ΛΤ时刻,节点NI和节点N2间的光链路“充满”数据。然后报文P的数据信息的第一位接着从节点N2的X+方向、Y+方向或Z+方向端口送出,在tl+2AT时刻,报文P的第一位到达节点N3的X-方向、Y-方向或Z-方向端口,此时其最后一位到达节点N2的输出端口。这样,整个报文在到达目的节点之前将沿着网络链路流水前进。
[0005]目前,TDOIN采用的路由算法是XY优先路由算法。当没有冲突发生时,数据报文按照XYZ顺序路由方式在TDOIN中进行路由,即一个报文首先沿着X+方向在网络中前进,当到达与目的节点具有相同X坐标的某个中间节点之后,再转向Y+方向路由;当到达与目的节点具有相同Y坐标的某个中间节点之后,再转向Z+方向路由。如果在某个中间节点上,从X-方向端口到达的报文具有最高的优先权,而从Y-方向端口到达的报文比从Z-方向端口到达的报文具有更高的优先权,优先级高的方向上的报文优先被发送出去,优先级低的方向的报文暂时缓存在处理单元中。
[0006]但是在TD0IN中,由于在XY优先路由算法中的处理单元引入了缓存队列,Ζ-方向的报文需要缓存到节点中,而缓存队列中报文需要通过节点的Χ+方向的端口向外发送报文,当Χ+方向一直存在正在转发的当前报文时缓存队列中的待发送缓存报文会发生“死锁”无法发送出去。


【发明内容】

[0007]本发明的目的在于解决网络节点中待发送缓存报文和当前报文同时转向优先级别最高的输出方向时,若该输出方向一直被当前报文占用,则待发送缓存报文不能被发送出去,就会出现死锁问题。为解决上述问题,本发明实施例提供了一种三维光电混合互连网络路由方法。
[0008]有鉴于此,本发明提供一种三维光电混合互连网络路由方法,可包括:
[0009]解析到达输入端口的当前报文的目的地址;根据ΧΥ优先路由算法以及解析到的所述当前报文的目的地址确定所述当前报文的输出端口 ;
[0010]若上述确定的所述当前报文的输出端口是优先级别最高的输出端口,且有待发送缓存报文到达该输出端口,则计算所述当前报文不能被抛弃的概率W,所述W =当前报文的跳数/ (m*n*p+m* (n+p-2) -2),所述m为所述当前报文在第一输出端口方向的总跳数,所述η为所述当前报文在第二输出端口方向的总跳数,所述Ρ为所述当前报文在第三输出端口方向的总跳数;
[0011 ] 生成随机数R,若所述W小于所述随机数R,抛弃所述当前报文,将所述待发送缓存报文送至优先级别最高的输出端口,所述随机数R的范围是0〈R〈1。
[0012]进一步的,所述到达输入端口的当前报文的目的地址是网络节点的目的地址,且每个网络节点的输入端口为X-方向输入端口、Y-方向输入端口和ζ-方向输入端口。
[0013]进一步的,所述第一输出端口方向为X+方向输出端口,所述第二输出端口方向为Y+方向输出端口,所述第三输出端口方向为Z+方向输出端口,所述XY优先路由算法中X+方向输出端口的报文优先级最高,Y+方向的报文优先级其次,Z+方向的报文优先级最低。
[0014]进一步的,所述W大于等于所述随机数R,所述当前报文正常发送。
[0015]从以上技术方案可以看出,本发明实施例具有以下优点:
[0016]本发明实施例中,当网络节点的输出端口发生冲突时,通过计算当前被抛弃的概率决定当前报文是否被抛弃,进而决定优先级别最高的方向发送的报文,以此来解决网络节点处的死锁问题,减少了报文抛弃带来的延迟时间,本发明还具有硬件利用率好、通信效率高、通信性能好、无死锁及饿死现象的优点。

【专利附图】

【附图说明】
[0017]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本发明实施例1的一种三维光电混合互连网络路由方法的流程图;
[0019]图2为本发明实施例2的一种三维光电混合互连网络路由方法的流程图;
[0020]图3为本发明实施例2的三维光电混合互连网络节点结构图;
[0021]图4为本发明实施例2的三维光电混合互连网络中传输的电控制报文结构图。

【具体实施方式】
[0022]本发明实施例提供了一种三维光电混合互连网络路由方法,能够解决网络节点的死锁问题,减少报文抛弃带来的延迟时间,避免网络节点的饿死现象。
[0023]为了使本【技术领域】的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0024]请参阅图1,为本发明提供的一种三维光电混合互连网络路由方法实施例1的流程图,本实施例具体可以包括:
[0025]S101、解析到达输入端口的当前报文的目的地址;
[0026]S102、根据XY优先路由算法以及解析到的所述当前报文的目的地址确定所述当前报文的输出端口;
[0027]S103、若上述确定的所述当前报文的输出端口是优先级别最高的输出端口,且有待发送缓存报文到达该输出端口,则计算所述当前报文不能被抛弃的概率W,所述W =当前报文的跳数/ (m*n*p+m* (n+p-2) _2),所述m为所述当前报文在第一输出端口方向的总跳数,所述η为所述当前报文在第二输出端口方向的总跳数,所述P为所述当前报文在第三输出端口方向的总跳数;
[0028]S104、生成随机数R,若所述W小于所述随机数R,抛弃所述当前报文,将所述待发送缓存报文送至优先级别最高的输出端口,所述随机数R的范围是0〈R〈1。
[0029]为了更清楚的理解三维混合互连网络路由方法的实现过程,下面详细描述具体步骤的实现方式。
[0030]S101、解析到达输入端口的当前报文的目的地址;
[0031]具体的,当前报文到达网络节点的输入端口时,每个网络节点都会对当前报文进行解析,得到当前报文的目的地址,所述目的地址即当前报文将要到达的地址,且每个网络节点的输入端口为X-方向输入端口、Y-方向输入端口和Z-方向输入端口。
[0032]S102、根据XY优先路由算法以及解析到的所述当前报文的目的地址确定所述当前报文的输出端口;
[0033]具体的,根据XY优先路由算法和上述解析得到的当前报文的目的地址最终确定当前报文的输出端口,所述输出端口有三个,分别为第一输出端口,第二输出端口和第三输出端口,所述第一输出端口方向为X+方向输出端口,所述第二输出端口方向为Y+方向输出端口,所述第三输出端口方向为Z+方向输出端口,所述XY优先路由算法中X+方向输出端口的报文具有最高优先级,Y+方向的报文其次,Z+方向的报文优先级最低。
[0034]S103、若上述确定的所述当前报文的输出端口是优先级别最高的输出端口,且有待发送缓存报文到达该输出端口,则计算所述当前报文不能被抛弃的概率W,所述W =当前报文的跳数/ (m*n*p+m* (n+p-2) _2),所述m为所述当前报文在第一输出端口方向的总跳数,所述η为所述当前报文在第二输出端口方向的总跳数,所述P为所述当前报文在第三输出端口方向的总跳数;
[0035]具体的,对于一个m*n*p的三维混合互连网络来说,当所述优先级别最高的输出端口有当前报文发送且又有待发送缓存报文时,则通过计算所述当前报文不能被抛弃的概率W来决定发送哪一个报文,所述W的计算公式为W=当前报文的跳数/(m*n*p+(n+p-2)-2),所述当前报文的跳数为所述当前报文经过的中间节点的个数,所述m*n*p+(n+p-2)-2为所述当前报文经过的最多节点数,所述m为所述当前报文在第一输出端口方向的总跳数,即所述X+方向的总跳数,所述η为所述当前报文在第二输出端口方向的总跳数,即Υ+方向的总跳数,所述Ρ为所述当前报文在第三输出端口方向的总跳数,即Ζ+方向的总跳数。
[0036]S104、生成随机数R,若所述W小于所述随机数R,抛弃所述当前报文,将所述待发送缓存报文送至优先级别最高的输出端口,所述随机数R的范围是0〈R〈1 ;
[0037]具体的,上述步骤中计算得到所述当前报文不能被抛弃的概率W后,需要将所述W和生成的独立分布的随机数R进行比较来确定所述当前报文是否被抛弃,所述随机数R的范围是0〈R〈1,如果所述W小于所述随机数R,抛弃所述当前报文,则将所述待发送缓存报文送至优先级别最高的输出端口进行发送,如果所述W大于等于所述随机数R,则所述当前报文正常发送。
[0038]本发明实施例中,当网络节点中待发送缓存报文和当前报文同时转向优先级别最高的输出方向时,可以通过计算当前报文被抛弃的概率决定当前报文是否被抛弃,进而决定优先级别最高的输出方向发送的报文,以此来解决网络节点处的死锁问题,减少了报文抛弃带来的延迟时间,本发明还具有硬件利用率好、通信效率高、通信性能好、无死锁及饿死现象的优点。
[0039]为了便于对本发明提供的一种三维光电混合互连网络路由方法的有益效果有一个更直观的理解,本发明还提供了实施例2,为实际应用场景举例,例如XY优先路由算法定义X+方向的报文优先级最高,Y+方向的报文优先级其次,Z+方向的报文优先级最低,一个TD0IN包含一个光数据网络和一个具有同样拓扑结构的电控制网络。光数据网络用于传输数据,电控制网络用于传输控制信号,该控制信号用来控制光网络和若干个光交换单元,电控制网络用于发送、接收和解析路由信息,并向光交换单元发出控制信号,设置这些光交换单元的状态。在TD0IN中,节点之间使用光网络来传输数据报文,使用电网络来传输电控制信息。光数据网络和电控制网络具有同样的拓扑结构,在相邻的两个节点间同时建立光链路和电链路,从而形成一个光电混合互连网络结构。在这种光电混合网络中,报文的路由过程实际上就是报文在光交换单元和光链路组成的路径上进行传输的过程。因此,对于任何一个节点,其路由算法实际上就是设置该节点光交换单元的状态。附图2为本发明实施2的一种三维光电混合互连网络路由方法的流程图,具体步骤如下:
[0040]S201、解析到达输入端口的当前报文的目的地址;
[0041]S202、根据XY优先路由算法以及解析到的所述当前报文的目的地址确定所述当前报文的输出端口;
[0042]S203、若上述确定的所述当前报文的输出端口是优先级别最高的输出端口,判断是否有待发送缓存报文到达该输出端口;
[0043]S204、若有待发送缓存报文到达该输出端口,计算所述当前报文不能被抛弃的概率ff ;
[0044]S207、若没有待发送缓存报文到达该输出端口,则由所述XY优先路由算法决定当前报文输出端口路径;
[0045]S205、生成随机数R,判断所述W是否小于所述随机数R ;
[0046]S206、若所述W小于所述随机数R,抛弃所述当前报文,将所述待发送缓存报文送至优先级别最高的输出端口;
[0047]S208、若所述W大于等于所述随机数R,则所述当前报文正常发送。
[0048]下面将结合附图3和附图4对上述附图2所述步骤进行详细的描述。
[0049]图3是本发明提供的实施例2的三维光电混合互连网络节点结构图。具体的,由图3可知在一个三维光电混合互连网络节点N中包含2个2X 2的光交换单元,2个1 X 2的光交换单元,一个2X1的光交换单元和一个处理单元。对于光交换单元的相互连接采用光链路,而PE处理单元作为发送端和接收端,与光交换单元连接就要进行光电转换。网络节点对外具有3个输入端口,分别为X-方向输入端口,Y-方向输入端口,Z-方向输入端口,以及3个输出端口,分别为X+方向输出端口,Y+方向输出端口,Z+方向输出端口,可以将内部处理单元产生的报文送至X+方向,能够接收X-,Y-,Z-方向发送来的报文,并且将其转发到X+, Y+, Z+方向以及处理单元处。
[0050]图4是本发明实施例的三维光电混合互连网络中传输的电控制报文结构图。具体的,在三维光电混合互连网络中,节点之间使用光网络来传输数据报文、使用电网络来传输电控制信息。光数据网络和电控制网络具有同构的拓扑结构,在相邻的两个节点间同时建立光链路和电链路,从而形成一个光电混合互连网络结构。电控制报文在电网络中进行传播,其结构包括目的地址、源地址、跳数和预留控制信息。其中目的地址用于储存报文要到达的目的节点,源节点用于存储发送该报文的节点,目的节点和源节点按照网络中的节点数进行统一编码。例如,对于一个4X4X4的三维光电混合互连网络,节点坐标按照(0,0,0)到(3,3,3)进行编码,对应到电控制报文中则为0到63,因此目的节点和源节点的信息需要6位,就可以表示64个节点。因此,对于一个mXnXp的三维光电混合互连网络,节点坐标按照(0,0,0)到(m-l,n-l,p-l)进行编码,假设目的节点和源节点的信息需要α位表示,那么α为满足表达式的最小整数值。
[0051]电控制报文由源节点产生,此时跳数为0,每当经过一个中间节点(非目的节点)时,跳数加1。根据ΧΥ优先路由算法可知,对于一个m*n*p的三维光电混合互连网络,在最坏的情况下,报文需要经过个节点才能到达目的节点,假设跳数的信息需要β位表示,那么β为满足表达式的最小整数值。
[0052]S201、解析到达输入端口的当前报文的目的地址;
[0053]具体的,网络节点在每个时隙的开始阶段,解析到达网络节点的三个输入端口 X-、γ-、Ζ-的报文的目的地址,结合附图3和附图4所示,可以看出即解析图3所示出的X-方向输入端口、Υ-方向输入端口、Ζ-方向输入端口处电控制报文的目的地址。
[0054]S202、根据ΧΥ优先路由算法以及解析到的所述当前报文的目的地址确定所述当前报文的输出端口;
[0055]具体的,在步骤S201中已解析到了当前报文的目的地址,则根据ΧΥ优先路由算法结合当前报文的目的地址就可以确定当前报文的输出端口具体是Χ+方向输出端口、Υ+方向输出端口或Z+方向输出端口,通常XY优先路由算法中X+方向输出端口的报文优先级最高,Y+方向的报文优先级其次,Z+方向的报文优先级最低。
[0056]S203、若上述确定的所述当前报文的输出端口是优先级别最高的输出端口,判断是否有待发送缓存报文到达该输出端口;
[0057]具体的,对于一个m*n*p三维光电混合互连网络,若某一个网络节点处根据XY优先路由算法以及解析到的所述当前报文的目的地址已经确定了所述当前报文的输出端口,且确定的所述当前报文的输出端口是优先级别最高的输出端口,如果有待发送缓存报文到达该优先级别最高的输出端口,则进入步骤S204 ;
[0058]S204、若有待发送缓存报文到达该输出端口,计算所述当前报文不能被抛弃的概率W ;
[0059]具体的,所述当前报文不能被抛弃的概率W =当前报文的跳数/(m*n*p+(n+p-2)-2),其中,所述当前报文的跳数为所述待发送报文经过的中间节点的个数,所述m*n*p+ (n+p-2) -2为所述当前报文经过的最多节点数,所述m为所述当前报文在第一输出端口方向的总跳数,即所述X+方向的总跳数,所述η为所述当前报文在第二输出端口方向的总跳数,即Y+方向的总跳数,所述P为所述当前报文在第三输出端口方向的总跳数,即Z+方向的总跳数。
[0060]如果没有所述待发送缓存报文到达该优先级别最高的输出端口,则进入步骤S207 ;
[0061]S207、若没有待发送缓存报文到达该输出端口,则由所述XY优先路由算法决定当前报文输出端口路径;
[0062]具体的,如果在步骤S203中,所述待发送缓存报文未到达该优先级别最高的输出端口,即未与当前报文同在优先级别最高的输出端口,则当前报文的输出端口路径还是根据XY优先路由算法决定,即按照其原定路径进行,不受待发送缓存报文的影响。
[0063]在步骤S204中计算所述当前报文不能被抛弃的概率W后进入步骤S205 ;
[0064]S205、生成随机数R,判断所述W是否小于所述随机数R ;
[0065]具体的,独立分布产生一个随机数R,随机数R的范围是0〈R〈1,将上述步骤S204计算得到的当前报文不能被抛弃的概率W与所述随机数R进行比较;
[0066]如果所述W小于所述随机数R,则进入步骤S206 ;
[0067]S206、若所述W小于所述随机数R,抛弃所述当前报文,将所述待发送缓存报文送至优先级别最高的输出端口;
[0068]具体的,所述当前报文不能被抛弃的概率W小于随机数R,则此次待发送缓存报文竞争成功,抛弃所述当前报文,将所述待发送缓存报文送至优先级别最高的输出端口。
[0069]如果所述W大于等于所述随机数R,则进入步骤S208 ;
[0070]S208、若所述W大于等于所述随机数R,则所述当前报文正常发送。
[0071]具体的,如果所述W大于等于所述随机数R,则待发送缓存报文竞争失败,则所述当前报文按照XY优先路由算法正常发送。
[0072]本发明实施例中,当网络节点的输出端口发生冲突时,通过计算当前报文被抛弃的概率决定当前报文是否被抛弃,进而决定X+方向发送的报文,以此来解决网络节点处的死锁问题,减少了报文抛弃带来的延迟时间,本发明还具有硬件利用率好、通信效率高、通信性能好、无死锁及饿死现象的优点。
[0073]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三?第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0074]以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种三维光电混合互连网络路由方法,其特征在于,所述方法包括: 解析到达输入端口的当前报文的目的地址; 根据XY优先路由算法以及解析到的所述当前报文的目的地址确定所述当前报文的输出端口 ; 若上述确定的所述当前报文的输出端口是优先级别最高的输出端口,且有待发送缓存报文到达该输出端口,则计算所述当前报文不能被抛弃的概率W,所述W =当前报文的跳数/ (m*n*p+m* (n+p-2)-2),所述m为所述当前报文在第一输出端口方向的总跳数,所述η为所述当前报文在第二输出端口方向的总跳数,所述P为所述当前报文在第三输出端口方向的总跳数; 生成随机数R,若所述W小于所述随机数R,抛弃所述当前报文,将所述待发送缓存报文送至优先级别最高的输出端口,所述随机数R的范围是0〈R〈1。
2.根据权利要求1所述的方法,其特征在于,所述到达输入端口的当前报文的目的地址是网络节点的目的地址,且每个网络节点的输入端口为X-方向输入端口、Y-方向输入端口和Z-方向输入端口。
3.根据权利要求1所述的方法,其特征在于,所述第一输出端口方向为X+方向输出端口,所述第二输出端口方向为Y+方向输出端口,所述第三输出端口方向为Z+方向输出端口,所述XY优先路由算法中X+方向输出端口的报文优先级最高,Y+方向的报文优先级其次,Z+方向的报文优先级最低。
4.根据权利要求1所述的方法,其特征在于,若所述W大于等于所述随机数R,所述当前报文正常发送。
【文档编号】H04L12/705GK104348718SQ201410468103
【公开日】2015年2月11日 申请日期:2014年9月15日 优先权日:2014年9月15日
【发明者】窦强, 彭超, 窦文华, 肖立权, 郭龙飞, 鲁佳, 王俊辉, 李宝亮, 周乐文, 韩岗, 钱悦, 苏醒, 任斌, 叶进, 覃晨, 冯权友, 任双印, 孙家辉, 何磊 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1