专利名称:用于无缓存光交换网络的自适应路由方法
技术领域:
本发明涉及计算机互连网络技术和光交换技术领域,具体涉及一种用于无缓存光交换网络的自适应路由方法。
背景技术:
随着超级计算机计算速度从P级向E级的不断提升,计算节点之间的数据交换量以指数形式增长,对互连网络接口带宽的需要也进一步提升。而传统电互连方式受限于性能、带宽、功耗、串扰、布线密度、传输损耗、芯片引脚数目等方面的问题,已逐渐无法满足超级机对互连网络带宽的需求。目前包括国防科技大学、IBM、Cray等主流超级机生产厂家已用性能更好、带宽更宽、传输损耗更小、功耗更低且无串扰的光互连技术全面取代电互连技术,通过光互连技术将计算节点、交换节点互联互通构成实现高性能计算的无缓存交换网络。尽管节点与节点、节点与路由、路由与路由之间的链路已经采用光技术实现,但交换网络中的另一个关键部件路由依然是沿用电路技术实现的。这不是因为缺少光交换器件,事实上,2路、4路以至8路的电控光交换已有较成熟的商用器件面市;只有现有光技术中缺乏成熟的缓存技术,使基于存储-转发机制的传统的路由无法在光技术中实现。因此目前超级计算机中所使用的交换网络是一种连接用光技术但路由仍沿用电技术的光电混合网络。在这种光电混合网络中,信息每通过一次路由都需要两次光/电转换:先由光信号转化为电信号输入路由,通过路由后再由电信号重新转化为光信号输出。这两次光/电转换极大的限制了光技术优势的发挥。另一方面,信息在节点与节点、节点与路由、路由与路由之间的链路上是以高速光信号的形式传递的,但路由无法直接处理如此高速率的信号,因此在完成光/电转换后路由还需要经行一次串并转换,将高速串行信号转换为低速并行信号送给路由芯片处理。路由芯片处理完成后再将并行信号转换为高速串行信号,调制到光载波上以高速光信号传输到下一节点。这些用于完成信息串并转换的模块(SerDes)几乎占去了交换芯片1/3的面积,其功耗更是占去了整个芯片的一半。路由器输入输出端口的两次光/电转换和两次串/并转换极大的限制了光电混合网络性能的提升。如果用电控光交换器件代替传统路由,则可以在交换节点免去光/电转换和串/并转换,但所搭建的交换网络会成为一个无缓存的交换网络。在这样一个无缓存的交换网络中,传统基于存储-转发机制的路由算法将完全失效。
发明内容
本发明要解决的技术问题是提供一种传输效率高、传输速度快、通用性好、适用范围广的用于无缓存光交换网络的自适应路由方法。为了解决上述技术问题,本发明采用的技术方案为:—种用于无缓存光交换网络的自适应路由方法,其实施步骤如下:I)源计算节点将信息报文存入本地待发送信息队列,然后跳转执行步骤2);
2)计算节点首先将信息报文的目标节点地址与自身地址进行比对,选出满足下述条件的输出端口:该端口与计算节点在同一交换节点上、信息经由此端口输出能减小信息与目标节点距离;然后将该端口的编号作为路由标记赋予信息报文,跳转执行步骤3);3)计算节点监听其所连接的交换节点,当交换节点某一输出端口空闲时,将带有该端口路由标记的信息报文输出至所述交换节点,跳转执行步骤4);4)交换节点从信息报文中提取出目标地址,首先判断交换节点当前输出端口的忙闲状态以确定交换节点的下一状态,如果对内输出端口有空闲,则跳转执行步骤5);如果对内输出端口全忙、对外输出端口有空闲则直接跳转执行步骤7);5)交换节点计算各空闲端口所连节点与目标节点的距离,选出距离最小的I个或多个空闲端口作为最小距离端口,判断最小距离端口所连节点是否为交换节点,若是则跳转执行步骤6),若否则跳转执行步骤7);6)将信息报文任选一个最小距离端口输出到下一交换节点,跳转执行步骤4);7)交换节点检查 端口号为目标地址最后一位坐标的输出端口是否空闲,若空闲则选择该端口输出到计算节点,若否则任选一空闲端口将信息报文输出到计算节点;然后跳转执行步骤8);8)计算节点接收到信息报文后提取目标地址,如计算节点的自身地址与目标地址相同则接收数据;否则将数据转入该计算节点待发送信息队列中,然后跳转执行步骤2)。作为本发明上述技术方案的进一步改进:所述交换节点和计算节点组成双向k元n立方网络,所述步骤2)的详细步骤如下:2.1)计算节点逐一比对信息报文的目标节点地址与自身地址中的每一位坐标,通过式(I)计算每一对坐标差值并除以整数k的余数;(Y1-Xi) modk (I)式⑴中,Xi为计算节点自身地址(xn, xn_1;…,X1)中序号为i的坐标Ji为信息报文的目标节点地址(yn,yn-1 …,Yi)中序号为i的坐标,mod为取余函数,mmodk表示整数m除以整数k的余数,且取余函数的定义区间为-k/2 ( mmodk ( k/2 ;2.2)判断获得的每一个余数的正负,若某个余数为正,则判定信息报文在其所对应的维度上需向正方向传输,将该正向传输的端口号赋予信息报文作为路由标记;反之,若某个余数为负,则判定信息报文在其所对应的维度上需向负方向传输,将该负向传输的端口号赋予信息作为路由标记;若某个余数为零则不做处理;2.3)判断信息报文是否已经获得路由标记,若无路由标记则将目标地址的最后一位坐标作为路由标记赋予信息报文;最终跳转执行步骤3)。所述交换节点和计算节点组成双向k元n立方网络,所述步骤5)中交换节点计算各空闲端口所连节点与目标节点之间的距离的详细步骤如下:5.1)交换节点获取各空闲端口所连节点的坐标和目标节点的坐标;5.2)使用式(2)计算各空闲端口所连节点的坐标与目标节点的坐标之间的距离;^ =ZLjO',-^) modAI(2)式⑵中,d是点(yn, yn_1;…,Y1)和点(xn, Xn^1,…,X1)之间的距离,Xi为计算节点自身地址(xn,Xn^1,…,X1)中序号为i的坐标,Yi为信息报文的目标节点地址(yn,yn-1, Yi)中序号为i的坐标;mod为取余函数,mmodk表示整数m除以整数k的余数,且取余函数的定义区间为-k/2 ( mmodk ( k/2 ; | |为取绝对值运算符。本发明用于无缓存光交换网络的自适应路由方法具有下述优点:1、本发明借用交换节点的严格内部无阻塞特性以及信息在节点间的传输延迟,通过特定自适应路由算法实现了无缓存交换网络的内部无堵塞,保证了信息在无缓存网络中传输通道的通畅,面对局部热点必须将信息进行缓存的问题,将该缓存需求转移到收发端口的缓存中,保证了网络本身的无缓存特性,使无光/电转换和串/并转换的电控全光交换网络成为可能,具有传输效率高、传输速度快的优点。2、本发明不仅可以适用于双向n元k立方拓扑结构,而且还适用除双向n元k立方拓扑结构以外的其它网络拓扑结构,针对其它拓扑结构时根据具体的网络拓扑结构选择项对应的计算距离方法和路由标记的形式即可,具有通用性好、适用范围广的优点。
图1为本发明实施例的方法流程示意图。图2为应用本发明实施例的双向3元2立方网络拓扑结构示意图。
具体实施例方式下文以双向k元n立方网络为例,对本实施例的自适应路由方法进行说明。双向k元n立方网络是一种常见的交换网络拓扑结构,该网络结构有n个交换节点,每个节点用坐标(Xn,Xn^1,…,X1)表示,某个坐标可用Xi表示,I彡i彡n且0彡Xi彡k-1。每一个交换节点都由一个mXm子网构成,其中m> 2n。这些交换节点有m个双向端口(I个双向端口包含I个输入端口和I 个输出端口),其中2n个双向端口(端口号p = 土i,I彡i彡n)和主网中的相邻交换节点相连,称为对内端口,其中端口号为+i的对内端口所连接交换节点的Xi坐标比当前节点+1 ;相对应的,端口号为_i的对内端口所连接交换节点的Xi坐标比当前节点-1。剩下的m-2n个双向端口(端口号p = n+1, n+2,.“,m-n)作为整体网络输入输出(input/output,10)端连接外部计算节点,称为对外端口。因而,整个双向k元n立方网络可连接(m-2n)kn个计算节点,其地址用所连节点坐标附加一个端口号p表示,即(xn, Xlri,…,X1, P),其中,n+1 ^ P ^ m-n。如图1所示,本实施例用于无缓存光交换网络的自适应路由方法的实施步骤如下:I)源计算节点将信息报文存入本地待发送信息队列,然后跳转执行步骤2);2)计算节点首先将信息报文的目标节点地址与自身地址进行比对,选出满足下述条件的输出端口:该端口与计算节点在同一交换节点上、信息经由此端口输出能减小信息与目标节点距离;然后将该端口的编号作为路由标记赋予信息报文,跳转执行步骤3);3)计算节点监听其所连接的交换节点,当交换节点某一输出端口空闲时,将带有该端口路由标记的信息报文输出至所述交换节点,跳转执行步骤4);4)交换节点从信息报文中提取出目标地址,首先判断交换节点当前输出端口的忙闲状态以确定交换节点的下一状态,如果对内输出端口有空闲,则跳转执行步骤5);如果对内输出端口全忙、对外输出端口有空闲则直接跳转执行步骤7);
5)交换节点计算各空闲端口所连节点与目标节点的距离,选出距离最小的I个或多个空闲端口作为最小距离端口,判断最小距离端口所连节点是否为交换节点,若是则跳转执行步骤6),若否则跳转执行步骤7);6)将信息报文任选一个最小距离端口输出到下一交换节点,跳转执行步骤4);7)交换节点检查端口号为目标地址最后一位坐标的输出端口是否空闲,若空闲则选择该端口输出到计算节点,若否则任选一空闲端口将信息报文输出到计算节点;然后跳转执行步骤8);8)计算节点接收到信息报文后提取目标地址,如计算节点的自身地址与目标地址相同则接收数据;否则将数据转入该计算节点待发送信息队列中,然后跳转执行步骤2)。本实施例中,步骤2)的详细步骤如下:2.1)计算节点逐一比对信息报文的目标节点地址与自身地址中的每一位坐标,通过式(I)计算每一对坐标差值并除以整数k的余数;(Y1-Xi) modk (I)式⑴中,Xi为计算节点自身地址(xn, xn_1;…,X1)中序号为i的坐标Ji为信息报文的目标节点地址(yn,yn-1 …,Yi)中序号为i的坐标,mod为取余函数,mmodk表示整数m除以整数k的余数,且取余函数的定义区间为-k/2 ( mmodk ( k/2 ;2.2)判断获得的每一个余数的正负,若某个余数为正,则判定信息报文在其所对应的维度上需向正方向传输,将该正向传输的端口号赋予信息报文作为路由标记;反之,若某个余数为负,则判定信息报文在其所对应的维度上需向负方向传输,将该负向传输的端口号赋予信息作为路由标记;若某个余数为零则不做处理;2.3)判断信息报文是否已经获得路由标记,若无路由标记则将目标地址的最后一位坐标作为路由标记赋予信息报文;最终跳转执行步骤3)。本实施例中,步骤5)中交换节点计算各空闲端口所连节点与目标节点之间的距离的详细步骤如下:5.1)交换节点获取各空闲端口所连节点的坐标和目标节点的坐标;5.2)使用式(2)计算各空闲端口所连节点的坐标与目标节点的坐标之间的距离;
权利要求
1.一种用于无缓存光交换网络的自适应路由方法,其特征在于实施步骤如下: 1)源计算节点将信息报文存入本地待发送信息队列,然后跳转执行步骤2); 2)计算节点首先将信息报文的目标节点地址与自身地址进行比对,选出满足下述条件的输出端口:该端口与计算节点在同一交换节点上、信息经由此端口输出能减小信息与目标节点距离;然后将该端口的编号作为路由标记赋予信息报文,跳转执行步骤3); 3)计算节点监听其所 连接的交换节点,当交换节点某一输出端口空闲时,将带有该端口路由标记的信息报文输出至所述交换节点,跳转执行步骤4); 4)交换节点从信息报文中 提取出目标地址,首先判断交换节点当前输出端口的忙闲状态以确定交换节点的下一状态,如果对内输出端口有空闲,则跳转执行步骤5);如果对内输出端口全忙、对外输出端口有空闲则直接跳转执行步骤7); 5)交换节点计算各空闲端口所连节点与目标节点的距离,选出距离最小的I个或多个空闲端口作为最小距离端口,判断最小距离端口所连节点是否为交换节点,若是则跳转执行步骤6),若否则跳转执行步骤7); 6)将信息报文任选一个最小距离端口输出到下一交换节点,跳转执行步骤4); 7)交换节点检查端口号为目标地址最后一位坐标的输出端口是否空闲,若空闲则选择该端口输出到计算节点,若否则任选一空闲端口将信息报文输出到计算节点;然后跳转执行步骤8); 8)计算节点接收到信息报文后提取目标地址,如计算节点的自身地址与目标地址相同则接收数据;否则将数据转入该计算节点待发送信息队列中,然后跳转执行步骤2)。
2.根据权利要求1所述的用于无缓存光交换网络的自适应路由方法,其特征在于,所述交换节点和计算节点组成双向k元n立方网络,所述步骤2)的详细步骤如下: 2.1)计算节点逐一比对信息报文的目标节点地址与自身地址中的每一位坐标,通过式(I)计算每一对坐标差值并除以整数k的余数;(Y1-Xi) modk (I) 式⑴中,Xi为计算节点自身地址(&XM,-,X1)中序号为i的坐标,yi为信息报文的目标节点地址(yn,yn-1 …,Yi)中序号为i的坐标,mod为取余函数,mmodk表示整数m除以整数k的余数,且取余函数的定义区间为_k/2 ( mmodk ( k/2 ; 2.2)判断获得的每一个余数的正负,若某个余数为正,则判定信息报文在其所对应的维度上需向正方向传输,将该正向传输的端口号赋予信息报文作为路由标记;反之,若某个余数为负,则判定信息报文在其所对应的维度上需向负方向传输,将该负向传输的端口号赋予信息作为路由标记;若某个余数为零则不做处理; 2.3)判断信息报文是否已经获得路由标记,若无路由标记则将目标地址的最后一位坐标作为路由标记赋予信息报文;最终跳转执行步骤3)。
3.根据权利要求1所述的用于无缓存光交换网络的自适应路由方法,其特征在于,所述交换节点和计算节点组成双向k元n立方网络,所述步骤5)中交换节点计算各空闲端口所连节点与目标节点之间的距离的详细步骤如下: ` 5.1)交换节点获取各空闲端口所连节点的坐标和目标节点的坐标; ` 5.2)使用式(2)计算各空闲端口所连节点的坐标与目标节点的坐标之间的距离;d = y—' |(.V,.- Xj) mod A-1(2) 式⑵中,d是点(yn, yn_1;,Y1)和点(xn, xn_1;,X1)之间的距离,Xi为计算节点自身地址(xn,xn_1;…,X1)中序号为i的坐标,Yi为信息报文的目标节点地址…,Y1)中序号为i的坐标;mod为取余函数,mmodk表示整数m除以整数k的余数,且取余函数的定义区间为-k/2 ( mmodk ( k`/2 ; | 为取绝对值运算符。
全文摘要
本发明公开了一种用于无缓存光交换网络的自适应路由方法,步骤如下1)源计算节点将信息存入待发送信息队列;2)计算节点赋予路由标记;3)计算节点监听其所连交换节点,当有空闲输出时将信息输出;4)交换节点对内输出端口有空闲则执行步骤5);否则执行步骤6);5)在空闲输出端口中选出所连节点与目标节点距离最小者;若所连节点是计算节点,则执行步骤6);否则任选最小距离端口输出,返回步骤4);6)输出到与目标节点端口号相同的节点,若忙则任选一空闲端口输出;7)若当前节点是目标节点,则接收数据;否则将数据转入该节点待发送信息队列,并返回执行步骤2)。本发明具有传输效率高、传输速度快、通用性好、适用范围广的优点。
文档编号H04L12/721GK103107943SQ201310056980
公开日2013年5月15日 申请日期2013年2月22日 优先权日2013年2月22日
发明者罗章, 徐金波, 董德尊, 赖明澈, 陆平静, 王绍刚, 徐炜遐, 肖立权, 庞征斌, 王克非, 夏军, 童元满, 陈虎, 张峻, 齐星云, 王桂彬, 常俊胜, 张建民 申请人:中国人民解放军国防科学技术大学