异构多源高速数据交换适配装置的制造方法

文档序号:10572578阅读:473来源:国知局
异构多源高速数据交换适配装置的制造方法
【专利摘要】本发明公开了一种异构多源高速数据交换适配装置。其中,处理器至少包括第一和第二高速收发器,且用于在第一高速收发器接收数据包的情况下,根据第一高速收发器和第二高速收发器之间的地址映射关系,触发第二高速收发器向第一高速收发器读取数据包,并对数据包进行转发;第一连接器与第一高速收发器电连接;第二连接器与第二高速收发器电连接;第一接口子卡与第一连接器电连接,并用于接收数据包并将数据包经第一连接器传输至第一高速收发器;第二接口子卡与第二连接器电连接,并用于接收经由第二高速收发器和第二连接器转发来的数据包。由此,解决了高性能计算平台中多种不同协议高速网络之间通信的技术问题。
【专利说明】
异构多源高速数据交换适配装置
技术领域
[0001] 本发明实施例涉及高性能计算系统技术领域,尤其是涉及一种异构多源高速数据 交换适配装置。
【背景技术】
[0002] 为了满足日益增长的应用需求,高性能计算系统规模不断扩大。随着系统规模的 增大,互联网络的性能越发成为系统性能提升的瓶颈。在一个大系统中,互连网络按功能又 可分为计算节点互连网络、存储节点互连网络、管控节点互连网络等。由于其功能需求不 同,并且受限于商业标准化产品,通常采用不同的网络协议。存储节点间通常采用 InfiniBand或者以太网互连。计算节点间的互连除采用InfiniBand之外,还可采用诸多定 制高速协议,如富士通的tofu互连等。那么,存储节点与计算节点之间的通信、不同互连网 络间计算节点的通信均可能存在高速协议转换的问题。
[0003] 目前,高速协议转换通常有以下几种解决方法:一,直接购买商用高速协议转换 卡,如1]1;1^1111^11(1-?(]16卡、万兆网-?(]16卡等,其不足在于接口形式单一,并且可选的协议 转换类型受限;二,选用1C厂商的协议转换芯片如RapidlO-PCIe桥芯片,进行自主的板卡级 设计,其不足在于设计周期长、成本高;三,选用处理器进行不同协议的包的解析与转发。上 述已有解决方法的最大不足在于不够灵活,无法同时满足高性能计算平台中多种不同协议 高速网络之间通信需求。
[0004] FPGA(Field_Programmable Gate Array)是一种可编程逻辑器件,具有丰富的逻 辑资源和高速收发器资源。本申请发明人考虑到将FPGA的灵活可配置性与高性能计算平台 中多种不同协议高速网络之间的通信问题相结合。
[0005] 有鉴于此,特提出本发明。

【发明内容】

[0006] 本发明实施例的主要目的在于提供一种异构多源高速数据交换适配装置,以至少 部分地解决高性能计算平台中多种不同协议高速网络之间通信的技术问题。
[0007] 为了实现上述目的,根据本发明的一个方面,提供了以下技术方案:
[0008] -种异构多源高速数据交换适配装置,所述装置至少包括:
[0009] 处理器,至少包括第一高速收发器和第二高速收发器,且用于在所述第一高速收 发器接收数据包的情况下,根据所述第一高速收发器和所述第二高速收发器之间的地址映 射关系,触发所述第二高速收发器向所述第一高速收发器读取所述数据包,并对所述数据 包进行转发;
[001 0]第一连接器,与所述第一高速收发器电连接;
[0011] 第二连接器,与所述第二高速收发器电连接;
[0012] 第一接口子卡,与所述第一连接器电连接,并用于接收所述数据包并将所述数据 包经所述第一连接器传输至所述第一高速收发器;
[0013] 第二接口子卡,与所述第二连接器电连接,并用于接收经由所述第二高速收发器 和所述第二连接器转发来的所述数据包。
[0014] 与现有技术相比,上述技术方案至少具有以下有益效果:
[0015] 本发明实施例通过设置包括第一高速收发器和第二高速收发器的处理器、第一和 第二连接器以及第一和第二接口子卡,在第一高速收发器接收数据包的情况下,根据第一 高速收发器和第二高速收发器之间的地址映射关系,触发第二高速收发器向第一高速收发 器读取数据包,并对数据包进行转发,从而解决了高性能计算平台中多种不同协议高速网 络之间的通信问题,具有使用硬件资源少、支持的高速接口协议种类多、通用性强、性价比 高、配置灵活以及数据带宽高的优点。
【附图说明】
[0016] 图1为根据一示例性实施例示出的异构多源高速数据交换适配装置的结构示意 图;
[0017] 图2为根据一示例性实施例示出的一片FPGA与连接器的连接示意图;
[0018] 图3为根据一示例性实施例示出的处理器内部结构示意图;
[0019] 图4为根据一示例性实施例示出的通过异构多源高速数据交换适配装置来实现 SRI0和万兆以太网之间数据交换的示意图;
[0020] 图5为根据一示例性实施例示出的通过异构多源高速数据交换适配装置来实现基 于SRI0的交换网络和基于lOGbE的交换网络之间数据交换的示意图。
【具体实施方式】
[0021] 下面结合附图以及具体实施例对本发明实施例解决的技术问题、所采用的技术方 案以及实现的技术效果进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部 分实施例,并不是全部实施例。基于本申请中的实施例,本领域普通技术人员在不付出创造 性劳动的前提下,所获的所有其它等同或明显变型的实施例均落在本发明的保护范围内。 本发明实施例可以按照权利要求中限定和涵盖的多种不同方式来具体化。
[0022] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语"第一"、"第 二"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用 的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或 描述的那些以外的顺序实施。此外,术语"包括"以及他的任何变形,意图在于覆盖不排他的 包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出 的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有 的其它步骤或单元。
[0023] 还需要说明的是,本申请中的实施例及其技术特征在不冲突的情况下可以进行组 合和或拆分而构成技术方案。
[0024] 图1示例性的示出了一种异构多源高速数据交换适配装置10。如图1所示,该装置 10包括处理器11、第一和第二连接器12,13和第一和第二接口子卡14,15。其中,处理器至少 包括第一高速收发器112和第二高速收发器114,且用于在第一高速收发器112接收数据包 的情况下,根据第一高速收发器112和第二高速收发器114之间的地址映射关系,触发第二 高速收发器114向第一高速收发器112读取数据包,并对数据包进行转发。第一连接器12与 第一高速收发器112电连接。第二连接器13与第二高速收发器114电连接。第一接口子卡14 与第一连接器12电连接,并用于接收数据包并将数据包经第一连接器12传输至第一高速收 发器112。第二接口子卡15与第二连接器13电连接,并用于接收经由第二高速收发器114和 第二连接器13转发来的数据包。
[0025]通过本发明实施例解决了高性能计算平台中多种不同协议高速网络之间的通信 问题;并具有配置灵活、数据带宽高的优点。
[0026]本领域技术人员可以理解,上述异构多源高速数据交换适配装置还包括一些其他 公知结构,例如电源模块、时钟模块、RAM等,为了不必要地模糊本公开的实施例,这些公知 的结构未在图1中示出。
[0027]应该理解,图1中的处理器、连接器和接口子卡及高速收发器的数量仅仅是示意性 的。根据实际需要,可以具有任意数量的处理器、连接器和接口子卡及高速收发器。
[0028] 在一个可选的实施例中,上述处理器还可以包括控制器和路由模块,并且第一高 速收发器包括第一接口、第一接收FIFO及第一发送FIFO;第二高速收发器包括第二接口、第 二接收FIFO及第二发送FIFO。其中,第一接口用于接收数据包,且对数据包进行解析,并将 数据包存入第一接收FIFO,以及将源ID号和目的ID号或者源MAC地址和目的MAC地址或者源 IP地址和目的IP地址发送给控制器。路由模块用于存储第一接口和第二接口之间的地址映 射关系,以供控制器进行地址查询。控制器用于基于源ID号和目的ID号或者源MAC地址和目 的MAC地址或者源IP地址和目的IP地址,并通过路由模块存储的地址映射关系来确定是否 向第二接口发送数据包,若是,则触发第二接口读取第一接收FIFO中的数据,以及将数据存 入第二发送FIFO。第二接口用于根据控制器接收到的源ID号和目的ID号或者源MAC地址和 目的MAC地址或者源IP地址和目的IP地址,将第二发送FIFO中存储的数据进行组包和发包。
[0029] 在上述实施例中,处理器包括但不限于FPGA(Field_Programmable Gate Array, 现场可编程逻辑器件)、DSP(Digital Signal Processing,数字信号处理器)和单片机。处 理器可以支持PCIe、SRI0、XAUI、万兆以太网、40Gbit以太网、100Gbit以太网等协议,且均采 用全双工工作方式。
[0030] 优选地,第一高速收发器和第二高速收发器可以为GTH型高速收发器。
[0031] 在上述实施例中,连接器包括但不限于QTH型连接器、FMC型连接器。
[0032]在实际应用中,可以设置4n个高速收发器为一组(η取正整数),并将该4n个高速收 发器连接到同一个连接器上。
[0033]在上述实施例中,解析与组包都是根据标准协议进行的。
[0034]图2示例性的示出了一片FPGA与连接器的连接示意图。其中,假设FPGA20具有32个 高速收发器。高速收发器类型为GTH。每8个高速收发器为一组,并连接到FMC连接器21,22, 23,24上。
[0035] 在上述实施例中,接口子卡包括但不限于SFP(Small Form-factor Pluggable小 型外形要素可插式)+接口子卡、QSFP(Quad Small Form-factor Pluggable,四通道小型外 形要素可插式)/QSFP+接口子卡、40Gbit以太网PHY子卡、100Gbit以太网PHY子卡。其中,SFP +接口子卡支持万兆以太网等。QSFP/QSFP+接口子卡支持SRI0(Serial Rapid 10,串行互连 架构)、XAUI(Extended Auxi liary Unit Interface,扩展的辅助装置的接口)、万兆以太 网等。40Gbit以太网PHY子卡支持40Gbit以太网。100Gbit以太网PHY子卡支持100Gbit以太 网。SRIO通过ID号来识别端口。XAUI通过MAC地址来识别端口。万兆以太网、40Gbit以太网、 100Gbit以太网通过MAC地址或者IP地址来识别端口。在具体实施过程中,可用查表的方式 实现ID号、MAC地址、IP地址与相应端口的匹配。
[0036]通过采用上述技术方案,能够实现多个高速接口实时数据接收、解析以及转发。只 需选定相应的10接口子卡,例化相应的网络协议功能模块,对处理器进行配置,即能实现所 需的多个高速网络之间的转换。
[0037]图3示例性地示出了处理器内部结构示意图。其中,处理器包括第一SRI0接口 32、 第二SRI0接口 35、第三SRI0接口 34、万兆以太网接口 33、控制器30、路由模块31、接收 卩正0321,331,341,351、发送卩正0322,332,342,352。
[0038] 其中,SRI0接口采用x4模式。每一个SRI0接口的速度可达25Gb/s。万兆以太网接口 占用一个GTH型高速收发器,速度为10Gb/s。第一 SRI0接口 32、第二SRI0接口 35、第三SRI0接 口 34及万兆以太网接口 33具有独立的接收?正0321,331,341,351和发送?正0322,332,342, 352。接收?正0321,331,341,351和发送?正0322,332,342,352均包含多个虚拟?1?0,且对应 同一接口子卡上不同的接口。
[0039] 控制器通过路由模块来确定向哪一个接口(例如:第二接口)发发数据包的工作方 式可以有三种:
[0040] 第一种工作方式为一对一协议转换规则。以SRI0接口将接收到的数据包向万兆以 太网接口转发为例进行说明。SRI0接口 0将数据转发至万兆网接口 0、SRI0接口 1将数据转发 至万兆网接口 1、……、SRI0接口 5将数据转发至万兆网接口 5。SRI0协议采用ID号来识别不 同的端口,并用16bit数来表示;万兆网协议用MAC地址来识别不同的端口,每个MAC地址都 是48bit的。路由表如表一所不。
[0041] 表一:
[0042]
[0043]
[0044] 假如SRI0接口 0收到一个数据包,其目的ID是80,源ID是01。
[0045] 控制器通过查找路由表可知,其转换成万兆网协议相应的目的MAC地址为AA:BB: CC: DD: 80,源MAC地址为AA: BB: CC: DD: 01。然后,控制器触发万兆网口 0对这个数据包进行转 发。
[0046] 假如万兆网接口 0收到一个数据包,其目的MAC地址为AA: BB: CC: DD: 21,源MAC地址 为AA:BB:CC:DD:80。
[0047] 控制器通过路由模块,其转换成SRI0协议相应的目的ID为21,源ID为80。然后,控 制器会触发SRI0接口 0对这个数据包进行转发。
[0048] 第二种工作方式为:根据目的地址进行转发,例如:SRI0接口 0接收到的数据包可 能被转发至万兆网口 〇,也有可能被转发至万兆网口 1……或者万兆网口 7。
[0049]当SRI0协议转换成万兆网协议传输时,根据路由表中的万兆以太网MAC地址表来 选择目的端口;当万兆网协议转换成SRI0协议传输时,根据路由表中的SRIO ID表来选择目 的端口。其中,每个接口负责的目的地址范围如表二所示。
[0050] 表二:
[0051]
[0052]假如SRI0接口0收到一个数据包,其目的ID是80,源ID是01。控制器通过路由模块 查找路由表可知,其相应的目的MAC地址为AA: BB: CC: DD: 80,源MAC地址为AA: BB: CC: DD: 01, 从而通知万兆网接口 3对该数据包进行转发。
[0053] 假如万兆网接口 0收到一个数据包,其目的MAC地址为AA: BB: CC: DD: 21,源MAC地址 为AA: BB: CC: DD: 80。控制器通过查找路由表二可知,其相应的目的ID为21,源ID为80,从而 控制器触发SRI0接口 1对该数据包进行转发。
[0054]第三种工作方式为:根据源地址进行转发。例如:SRI0接口 0接收到的数据包可能 被转发至万兆网口 〇,也有可能被转发至万兆网口 1……或者万兆网口 7。
[0055]当SRI0协议转换成万兆网协议传输时,根据路由表中的SRIO ID表来选择目的端 口;当万兆网协议转换成SRI0协议传输时,根据路由表中的万兆网MAC地址表来选择目的端 口。其中,每个接口负责的目的地址范围如表三所示。
[0056] 表三:
[0057]
[0058] 假如SRI0接口 0收到一个数据包,其目的ID是80,源ID是01。
[0059] 控制器通过查找路由表三可知,通知万兆网接口 0对该包进行转发,其相应的目的 MAC 地址为 AA: BB: CC: DD: 80,源 MAC 地址为 AA: BB: CC: DD: 01。
[0060] 假如万兆网接口 0收到一个数据包,其目的MAC地址为AA: BB: CC: DD: 21,源MAC地址 为AA:BB:CC:DD:80。
[00611控制器通过查找路由表三可知,通知SRI0接口 2对该包进行转发,其相应的目的ID 为21,源ID为80。
[0062]下面以一优选实施例,来详细说明不同接口之间的转换过程。
[0063]以SRI0协议转换为万兆以太网协议为例,其转换过程可以是:第一SRI0接口 32接 收到数据包后,对数据包进行解析,得到数据和路由信息;然后,将解析后的数据存入接收 FIF0321。第一 SRI0接口 32将路由信息(其包括源ID号和目的ID号)发送至控制器30。接着, 控制器30通过路由模块并根据源ID号和目的ID号,查找出与源ID号和目的ID号对应的源 MAC地址和目的MAC地址及万兆以太网接口 33。控制器查询万兆以太网接口 33是否准备好, 若没有准备好,则一直进行查询;若准备好,则控制器将源MAC地址和目的MAC地址发送至万 兆以太网接口 33,并触发万兆以太网接口去读取第一 SRI0接口 32的接收FIF0321中的数据, 并存入万兆以太网接口 33的发送FIF0332。最后,万兆以太网接口 33根据源MAC地址和目的 MAC地址对数据进行组包和发包。
[0064]图4示例性地示出了通过本发明实施例提供的异构多源高速数据交换适配装置来 实现SRI0和万兆以太网之间的数据交换。
[0065] 这里,将单个异构多源高速数据交换适配装置称作NIC(Network Interface Card) AIC40上有多个SRI0端口和多个万兆以太网端口。NIC40上的SRI0端口接入到基于 SRI0的交换网络41中。基于SRI0的交换网络41将各个计算节点42互连。NIC40上的万兆以太 网端口连接存储服务器43。本实施例中,存储服务器43用于存储各个计算节点42的计算结 果。NIC40实现了 SRI0和万兆以太网之间的协议转换,能够实现各个计算节点与存储服务器 之间高速实时通信,避免了额外的交换网络开销。
[0066]在系统规模非常大的高性能计算应用中,不同交换网络之间的数据交换带宽也是 极大的。对此,本发明实施例可以实现基于SRI0的交换网络和基于lOGbE的交换网络之间的 数据交换,如图5所示。通过NIOKNIC1……NICn(n取正整数)实现了基于SRI0的交换网络51 和基于lOGbE的交换网络52之间的转换。基于SRI0的交换网络51与计算节点53相连。基于 lOGbE的交换网络52与存储节点54相连。从而,实现了计算节点53与存储节点54之间的数据 通信。基于SRI0的交换网络基于SRI0的交换网络51和基于lOGbE(诸如万兆以太网)的交换 网络52之间数据通信效率依赖于NIC50。可通过配置η个NIC50来满足系统带宽需求。
[0067] 在实际应用中,若需要实现任意多个高速协议(例如:SRI0、万兆网、PCIe、XAUI等) 之间的协议转换;则需要在处理器上接上相应的接口子卡,并给处理器配置相应的SRI0、万 兆网、PCIe、XAUI等协议的底层固件,从而实现高速协议之间的转换。通过配置多个接口子 卡,本发明实施例能够有效地提高数据交换总吞吐量(也即数据带宽高)。
[0068]本发明并不限于上述实施方式,在不背离本发明实质内容的情况下,本领域普通 技术人员可以想到的任何变形、改进或替换均落入本发明的保护范围。
【主权项】
1. 一种异构多源高速数据交换适配装置,其特征在于,所述装置至少包括: 处理器,至少包括第一高速收发器和第二高速收发器,且用于在所述第一高速收发器 接收数据包的情况下,根据所述第一高速收发器和所述第二高速收发器之间的地址映射关 系,触发所述第二高速收发器向所述第一高速收发器读取所述数据包,并对所述数据包进 行转发; 第一连接器,与所述第一高速收发器电连接; 第二连接器,与所述第二高速收发器电连接; 第一接口子卡,与所述第一连接器电连接,并用于接收所述数据包并将所述数据包经 所述第一连接器传输至所述第一高速收发器; 第二接口子卡,与所述第二连接器电连接,并用于接收经由所述第二高速收发器和所 述第二连接器转发来的所述数据包。2. 根据权利要求1所述的装置,其特征在于,所述处理器还包括控制器和路由模块,所 述第一高速收发器包括第一接口、第一接收FIFO及第一发送FIFO;所述第二高速收发器包 括第二接口、第二接收FIFO及第二发送FIFO;其中: 所述第一接口,用于接收所述数据包,且对所述数据包进行解析,并将所述数据包存入 所述第一接收FIFO,以及将源ID号和目的ID号或者源MAC地址和目的MAC地址或者源IP地址 和目的IP地址发送给控制器; 所述路由模块,用于存储所述第一接口和所述第二接口之间的地址映射关系,以供所 述控制器进行地址查询; 所述控制器,用于基于所述源ID号和目的ID号或者源MAC地址和目的MAC地址或者源IP 地址和目的IP地址,并通过所述路由模块存储的所述地址映射关系来确定是否向所述第二 接口发送所述数据包,若是,则触发所述第二接口读取所述第一接收FIFO中的数据,以及将 所述数据存入所述第二发送FIFO; 所述第二接口,用于根据所述控制器接收到的所述源ID号和目的ID号或者源MAC地址 和目的MAC地址或者源IP地址和目的IP地址,将所述第二发送FIFO中存储的所述数据进行 组包和发包。3. 根据权利要求1或2所述的装置,其特征在于,所述处理器为FPGA。4. 根据权利要求2所述的装置,其特征在于,所述控制器还用于根据一对一协议转换规 则或者目的地址或者源地址来确定是否向所述第二接口发送所述数据包。
【文档编号】H04L29/06GK105933219SQ201610210537
【公开日】2016年9月7日
【申请日】2016年4月6日
【发明人】舒琳, 蒿杰, 赵良田, 穆敬彬, 冯卉, 宋亚芳, 范秋香, 李程程, 张忠红
【申请人】中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1