本发明属于通信技术领域,更进一步涉及互连网络通信技术领域中的一种高性能计算互连网络系统及通信方法。本发明利用阵列波导光栅路由器AWGR(arrayed waveguide grating router)、光电混合交换机和电分组交换机组成的互连网络系统,实现高性能计算网络中计算节点之间的高效通信。
背景技术:
随着高性能计算技术的飞速发展,高性能计算互连网络已经由传统的电交换网络转变为光电混合互连网络,同时,为有效满足高性能计算对于超大计算量的需求,高性能计算网络将拥有数万节点甚至数十万节点,这就需要一种高效的互连网络及通信方法。
西安电子科技大学在其申请的文献专利“基于阵列波导光栅的数据中心光互连网络系统及通信方法”(专利申请号CN 201210333133.1,公开号CN 102882811A)中公开了一种基于阵列波导光栅的大规模数据中心光互连网络系统及通信方法。该网络系统包括P层网络结构,每层有K个簇,每个簇是由两台汇聚交换机和K+1个机架连接构成,其中,每个机架由一台边缘交换机和K-1台服务器连接构成;各簇之间通过指定的边缘交换机作为簇间转发交换机相互连接;通信时利用阵列波导光栅的波分复用特性,将流量分散到各边缘交换机,实现光分组交换。该发明能够在保证网络性能的前提下,有效提高网络中阵列波导光栅的利用率,降低网络构建成本,并且降低布线的复杂度。但是,该专利的系统仍然存在的不足之处是:1、该系统的网络直径随着互连网络的扩展而增大,降低网络性能。2、该簇间通信链路容易成为通信瓶颈,容错率低。
西安电子科技大学在其申请的专利文献“基于超立方簇的数据中心光互连网络系统及通信方法”(专利申请号CN201210133164.2,申请公布号CN 102638411A)中公开了一种基于超立方簇的数据中心光互连网络系统及通信方法。该发明的通信方法是根据架顶光交换机所包含的簇内交换端口数目n,生成n维超立方的基准树用于确定超立方拓扑中一对通信连接的相对位置关系,同时,确定用于簇内通信的波长集合Φp,该簇内通信波长集合Φp被分为n个波长组,再根据网络所包含的簇的数目m,确定用于簇间通信的波长集合Φc,最后根据数据分组的位置关系通过不同的运算方法计算出簇内和簇间的通信波长。该方法采用了优化的静态波长分配和波长重用技术,克服了传统波分复用网络对于波长资源浪费严重的问题。但是,该专利仍然存在的不足之处是该方法在分配通信波长时由于运算方法较为复杂,通信时延增加,降低了网络性能。
技术实现要素:
本发明的目的在于克服上述已有技术的不足,提出了一种高性能计算互连网络系统及通信方法。
实现本发明的思路是,设计一种多级光电混合互连网络系统,通过电分组交换机组成的一级单元结构传递计算节点产生的数据分组;光电混合交换机组成的二级单元结构根据数据分组中的目的地址选择通信波长,转发一级单元结构发送来的数据分组;二级单元结构通过组内光交换机互连成三级单元结构,三级单元结构用于扩展网络的计算能力,三级单元结构之间通过组间光交换机进行互连和扩展。
本发明的系统,包括组内光交换机、组间光交换机、光电混合交换机、电分组交换机、计算节点。其中:
所述的组内光交换机有X台,每台组内光交换机包括N×8个交换端口,每个交换端口连接1台光电混合交换机,其中N为大于等于零的正整数;
所述的组间光交换机有Y台,每台组间光交换机包括16个交换端口,每个交换端口连接1台光电混合交换机,每一台组间光交换机与其连接的16个光电混合交换机组成一个通信单元;
所述的电分组交换机有L台,每8台电分组交换机互连成一个一级单元结构,每台电分组交换机包括1个上行端口、S个下行端口和6个交换端口,其中上行端口连接1台光电混合交换机,每个下行端口连接1个计算节点,每个交换端口连接1台电分组交换机,其中S为大于等于零的正整数;
所述的光电混合交换机有Z台,每8台光电混合交换机互连成一个二级单元结构,8×M个二级单元结构组成一个三级单元结构,其中M=N;每台光电混合交换机包括2个上行端口、8个下行端口和7个交换端口,2个上行端口分别与1台组内光交换机和1台组间光交换机连接,每个下行端口连接1台电分组交换机,每个交换端口连接1台光电混合交换机;
所述的计算节点有L×S个,每个计算节点的上行端口连接1台电分组交换机,其中L表示电分组交换机总的台数,S表示每台电分组交换机的下行端口数。
利用本发明的系统实现网络通信方法的具体步骤如下:
(1)产生数据分组:
计算节点产生数据分组,并将该数据分组发送至与该计算节点相连的本地电分组交换机Rs;
(2)解析数据分组:
本地电分组交换机Rs解析数据分组,提取数据分组中的目的地址;
(3)判断数据分组中的目的地址与本地电分组交换机Rs的地址是否同处一个三级单元结构,若是,则执行步骤(4);否则,执行步骤(7);
(4)判断数据分组中的目的地址与本地电分组交换机Rs的地址是否同处一个二级单元结构,若是,则执行步骤(5);否则,执行步骤(7);
(5)判断数据分组中的目的地址与本地电分组交换机Rs的地址是否同处一个一级单元结构,若是,则执行步骤(6);否则,执行步骤(7);
(6)本地电分组交换机Rs将数据分组发送至目的电分组交换机Rd,执行步骤(23);
(7)本地电分组交换机Rs将数据分组发送至相连的光电混合交换机Es;
(8)判断数据分组中的目的地址与本地光电混合交换机Es的地址是否同处一个三级单元结构,若是,则执行步骤(9);否则,执行步骤(18);
(9)判断数据分组中的目的地址与本地光电混合交换机Es的地址是否同处一个二级单元结构,若是,则执行步骤(10);否则,执行步骤(16);
(10)本地光电混合交换机Es解析数据分组,提取数据分组中的目的地址;
(11)本地光电混合交换机Es将数据分组存入本地缓存中的电交换子队列;
(12)本地光电混合交换机Es周期性查询本地缓存的所有电交换子队列;
(13)判断电交换子队列中是否存在待发送的数据分组,若是,执行步骤(14);否则,执行步骤(12);
(14)光电混合交换机Es将数据分组发送至目的光电混合交换机Ed;
(15)光电混合交换机Ed将数据分组发送至电分组交换机Rd,执行步骤(23);
(16)本地光电混合交换机Es在波长分配表中选择发送数据分组的通信波长,将数据分组发送至相连的组内光交换机ORa;
(17)组内光交换机ORa将数据分组发送至目的光电混合交换机Ed,执行步骤(15);
(18)判断数据分组中的目的地址与本地光电混合交换机Es的地址是否同处一个通信单元,若是,则执行步骤(19);否则,执行步骤(21);
(19)本地光电混合交换机Es在波长分配表中选择发送数据分组的通信波长,将数据分组发送至相连的组间光交换机ORb;
(20)组间光交换机ORb将数据分组发送至目的光电混合交换机Ed,执行步骤(15);
(21)光电混合交换机Es将数据分组发送至与目的地址在同一通信单元内的光电混合交换机Em;
(22)光电混合交换机Em根据波长分配表选择通信波长,将数据分组发送至相连的组间光交换机ORb,执行步骤(20);
(23)电分组交换机Rd将数据分组发送给目的计算节点,通信过程完成。
本发明与现有技术相比具有以下优点:
第一,由于本发明的系统中使用一级单元结构、二级单元结构和三级单元结构组成的系统,克服了现有技术中系统的网络直径随着互连网络的扩展而增大,降低网络性能的缺点,使得本发明的系统具有良好的可扩展性。
第二,由于本发明的系统中一级单元和二级单元的连接特点,克服了现有技术中簇间通信链路容易成为通信瓶颈,容错率低的缺点,使得本发明具有较高的稳定性。
第三,由于本发明方法中采用根据波长分配表选择通信波长的方法,克服了现有技术中在分配通信波长时由于运算方法较为复杂,通信时延增加,降低了网络性能的缺点,使得本发明具有更低的通信时延和更高的网络性能。
附图说明
图1为本发明系统的示意图;
图2为本发明的一级单元连接示意图;
图3为本发明的二级单元连接示意图;
图4为本发明的通信单元连接示意图;
图5为本发明通信方法的流程图。
具体实施方式
下面结合附图对本发明做进一步的描述。
参照附图1,对本发明的系统做进一步的描述。
本发明的系统包括组内光交换机、组间光交换机、光电混合交换机、电分组交换机、计算节点。其中:
每个三级单元包括8台组内光交换机和64台光电混合交换机,每台组内光交换机包括8个交换端口,每个交换端口连接1台光电混合交换机,三级单元之间通过组间光交换机连接。
参照附图2,对本发明的系统的一级单元做进一步的描述。
每个一级单元包括8台电分组交换机和32个计算节点,将8台电分组交换机连接成一个立方体形状,立方体中每个面对角线上的两个电分组交换机相连;每台电分组交换机包括1个上行端口、4个下行端口和6个交换端口,其中上行端口连接1台光电混合交换机,每个下行端口连接1个计算节点,每个交换端口连接1台电分组交换机。
参照附图3,对本发明的系统的二级单元做进一步的描述。
每个二级单元包括8台光电混合交换机,将8台光电混合交换机连接成一个立方体形状,立方体中每个面对角线与每个体对角线上的两个光电混合交换机相连。
参照附图4,对本发明系统的通信单元做进一步的描述。
每个通信单元包括一台组间光交换机和2个二级单元,每台组间光交换机包括16个交换端口,每个交换端口连接1台光电混合交换机,每一台组间光交换机与其连接的16个光电混合交换机组成一个通信单元。
下面结合图5对本发明的方法做进一步的描述。
步骤1.产生数据分组。
计算节点产生数据分组,并将该数据分组发送至与该计算节点相连的本地电分组交换机Rs。
步骤2.解析数据分组。
本地电分组交换机Rs解析数据分组,提取数据分组中的目的地址。
步骤3.判断数据分组中的目的地址与本地电分组交换机Rs的地址是否同处一个三级单元结构,若是,则执行步骤4;否则,执行步骤7。
步骤4.判断数据分组中的目的地址与本地电分组交换机Rs的地址是否同处一个二级单元结构,若是,则执行步骤5;否则,执行步骤7。
步骤5.判断数据分组中的目的地址与本地电分组交换机Rs的地址是否同处一个一级单元结构,若是,则执行步骤6;否则,执行步骤7。
步骤6.本地电分组交换机Rs将数据分组发送至目的电分组交换机Rd,执行步骤23。
步骤7.本地电分组交换机Rs将数据分组发送至相连的光电混合交换机Es。
步骤8.判断数据分组中的目的地址与本地光电混合交换机Es的地址是否同处一个三级单元结构,若是,则执行步骤9;否则,执行步骤18。
步骤9.判断数据分组中的目的地址与本地光电混合交换机Es的地址是否同处一个二级单元结构,若是,则执行步骤10;否则,执行步骤16。
步骤10.本地光电混合交换机Es解析数据分组,提取数据分组中的目的地址。
步骤11.本地光电混合交换机Es将数据分组存入本地缓存中的电交换子队列。
步骤12.本地光电混合交换机Es周期性查询本地缓存的所有电交换子队列。
步骤13.判断电交换子队列中是否存在待发送的数据分组,若是,执行步骤14;否则,执行步骤12。
步骤14.光电混合交换机Es将数据分组发送至目的光电混合交换机Ed。
步骤15.光电混合交换机Ed将数据分组发送至电分组交换机Rd,执行步骤(23)。
步骤16.本地光电混合交换机Es,根据组内光交换机的输入端口序号和输出端口序号,从下述表1的波长分配表中选择发送数据分组的通信波长,将数据分组发送至相连的组内光交换机ORa。
表1波长分配表
其中,波长分配表的行标题表示输出端口序号,列标题表示输入端口序号,表格内容为发送数据分组的通信波长,F表示组内光交换机的输出端口数,G表示组内光交换机的输入端口数,F=G。
步骤17.组内光交换机ORa将数据分组发送至目的光电混合交换机Ed,执行步骤15。
步骤18.判断数据分组中的目的地址与本地光电混合交换机Es的地址是否同处一个通信单元,若是,则执行步骤19;否则,执行步骤21。
步骤19.本地光电混合交换机Es,从上述表1的波长分配表中根据组间光交换机的输入端口序号和输出端口序号选择发送数据分组的通信波长,将数据分组发送至相连的组间光交换机ORb。
步骤20.组间光交换机ORb将数据分组发送至目的光电混合交换机Ed,执行步骤15。
步骤21.光电混合交换机Es将数据分组发送至与目的地址在同一通信单元内的光电混合交换机Em。
步骤22.光电混合交换机Em,从上述表1的波长分配表中根据输入端口和输出端口的序号选择发送数据分组的通信波长,将数据分组发送至相连的组间光交换机ORb,执行步骤20。
步骤23.电分组交换机Rd将数据分组发送给目的计算节点,通信过程完成。