CN102510404B - 数据中心的一种无损持续可扩展互联结构 - Google Patents
数据中心的一种无损持续可扩展互联结构 Download PDFInfo
- Publication number
- CN102510404B CN102510404B CN201110370555.1A CN201110370555A CN102510404B CN 102510404 B CN102510404 B CN 102510404B CN 201110370555 A CN201110370555 A CN 201110370555A CN 102510404 B CN102510404 B CN 102510404B
- Authority
- CN
- China
- Prior art keywords
- server
- data
- src
- dcube
- switch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于数据中心的常量度数互联结构,为大量具备两个网络适配器端口的普通服务器和低端交换机提供具有无损和持续可扩展能力的互联结构、简单易行的单播单径路由方法、以及并行高效的单播多径路由方法。本发明是先根据数据中心的规模、交换机的端口数目、以及数据中心的层数等需求,完成各个服务器以及交换机的互联,形成无损持续可扩展的互联结构;根据数据传输需求,识别目的服务器地址,通过单播单径路由方法产生完整的路径,进而将数据传输到目的服务器;根据数据传输需求,识别目的服务器地址,通过单播多径路由方法产生多条平行路径,进而将数据沿多径并行传输到目的服务器。
Description
技术领域
本发明属于数据中心和云计算领域,涉及数据中心的一种无损持续可扩展互联结构及配套路由方法,使数据中心在不改变各个服务器配置的前提下满足持续可扩展性、无损可扩展性、高容错性、以及高性价比等设计目标。
背景技术
数据中心(data center)指用于集中安置计算机系统以及相关部件(服务器,交换机等)的设施,并包含备用电源,电流传输设备,环境控制(如空调、灭火器等)和安全设备。随着云计算、物联网等新型应用形态层出不穷,数据中心作为重要的支撑力量,逐步成为目前学术界和工业界关注的焦点。科学家们已经意识到,科学技术的进一步发展不是缺少数据,而是缺少存储数据和分析数据的有效方法。目前一些国际知名网络服务企业如美国谷歌、微软、亚马逊、中国腾迅、阿里巴巴等公司都陆续建立了大型数据中心用于存储大规模数据,并利用分布式存储和处理的强大功能,将数据及时高效的传输到全球各个用户。例如,谷歌公司拥有的30多个数据中心截止2006年已经有近450,000台服务器。在每个数据中心内部,大量服务器和网络设备通过特定的互联结构实现互联。
与此同时,许多应用服务,如谷歌搜索等对服务器间数据交换带宽的要求越来越高。而数据中心的现有互联结构是依靠交换机、核心交换机、核心路由器将服务器连接起来构成的如图1所示的树型结构。树型结构的高层核心交换机、核心路由器往往构成数据中心的流量瓶颈,而且其容错性也不理想,容易出现单点故障。随着数据中心规模的急剧扩大,这种树型互联结构越来越难以确保数据中心所追求的渐进可扩展、高容错能力、高聚集带宽等系统指标。为了能更好地实现数据中心所追求的设计指标,越来越多的新型互联结构在近几年被提了出来。这些互联结构大致被分为两类。第一类是以交换机为中心,其将众多交换机互联为不同于树型结构的其它互联结构,而每台服务器仅仅同一个交换机互联,其中的互联规则和路由规则全部由交换机来完成。例如Fat-Tree和VL2。第二类是以服务器为中心的互联结构,各交换机之间并不直接互联,而服务器之间以及服务器和交换机之间依据特定互联结构连接,其中互联规则和路由规则主要由服务器完成,例如DCell,FiConn和BCube。
DCell利用低端交换机以及具有多个网络适配器端口的大量服务器通过迭代方式构造的层次式互联结构,每个高层DCell通过一定数量的下层DCell之间的进一步互联来构建,多个同层DCell之间彼此全连通。第零层的DCell是基本构建模块,由一个n个端口的低端交换机及与其直接互联的n个服务器组成。图2给出了一个两层DCell的互联结构。
Dcell使用通用超级立方体(Generalized hypercube)互联规则来连接大量服务器和低端交换机,进而为数据中心构造出一种层次式互联结构。具有多个网络适配器端口的服务器连接到多个层次的低端交换机,任何两个服务器之间没有直接连接。图3给出了一个两层的BCube互联结构。
以服务器为中心的互联结构具有以下优点:首先,服务器的可编程能力要比交换机强,因而各类新型互联结构的实现和部署更加灵活;其次,商用服务器出厂时即可配备多个网络适配器端口NIC(Network Interface Card),通过这些网络适配器端口实现服务器之间的直接互联能够提高服务器间端到端的吞吐量以及数据中心的抗单点失效能力;最后,以服务器为中心的互联结构只需采用低端交换机即可,无需同以交换机为中心的互联结构一样使用大量昂贵的高端交换设备,因此大大降低了数据中心的硬件成本。尽管目前提出的以服务器为中心的解决方案具备上述优点,但是存在如下两个方面的问题。
(1)依托于数据中心的各类应用如何才能不因数据中心的规模扩展而受影响?这呼吁一种具有无损扩展能力的数据中心互联结构,在其规模扩展的过程中不对现有的结构产生任何调整,或者尽量少的调整,包括现有的每台服务器、交换机、以及每条布线。DCell和BCube这两种互联结构每扩展一层会导致每台服务器额外增加一个网络适配器端口,并且要在所有服务器上增加新的物理连线,各类应用因此而受影响。尽管每台服务器额外增加一个网络适配器端口的硬件成本并不很高,但是要为几万甚至几十万台服务器逐一新增一个网络适配器端口和一条物理连线所耗费的人力和时间成本非常昂贵。此外,这项工作的操作非常复杂,极易出现不易排除的物理布线错误。
综合考虑,应该为数据中心的服务器配备固定数目的网络适配器端口,避免在投入使用之后因数据中心规模扩展而不断扩充网络适配器端口造成的诸多不良后果。从进一步降低硬件和配线的成本的角度考虑,最好为每个服务器配备两个网络适配器端口。
(2)为了实现数据中心互联结构的无损可扩展性,每台服务器配备固定数目的网络适配器端口,此时数据中心的规模能否持续增长并从根源上保证数据中心的可扩展性?DCell和BCube的构造规则决定了对应数据中心的最大规模已被其服务器的网络适配器端口数目所限定,从而不具备持续可扩展能力。事实上,DCell和BCube的规模之所以能持续快速增加的根源正在于其为每台服务器不断追加新的网络适配器端口和物理连线。如果DCell和BCube的每个服务器仅仅配备两个网络适配器端口,则其数据中心的规模非常有限从而无法满足十万级甚至百万级服务器规模的应用需求。
不难发现,对于Dcell和BCube等现有的以服务器为中心的互联结构而言,其无损可扩展性和持续可扩展性是一对矛盾的设计指标,无法同时实现。即,为了确保无损可扩展性要求每台服务器配备固定数目的网络适配器端口,如此则无法确保其持续可扩展性;为了确保持续可扩展性要求每台服务器不断追加新的网络适配器端口,如此则无法确保其无损可扩展性。
发明内容
鉴于上述分析,本发明为数据中心提出一种常量度数互联结构DCube,其将配备两个网络适配器端口的服务器和低端交换机高效互联,在不改变各个服务器配置的前提下确保数据中心具备持续可扩展能力、无损可扩展能力、高容错能力、以及高性价比等设计目标。本发明首先采用非正则混合图的方法来确保数据中心的无损和持续可扩展性。在设计数据中心的常量度数互联结构的过程中,逐一提出其互联结构的构造方法、简单易行的单播单径数据传输方法、以及并行高效的单播多径数据传输方法。尽管本发明只关注服务器配备两个网络适配器接口时的互联结构及其配套路由方法,但是相关方法经过简单调整后适用于服务器配备更多固定数目网络适配器接口的场景。
本发明是按照如下技术方案实现的:
一种数据中心的无损持续可扩展互联网络,该互联结构基于非正则混合图构建而得,其中所述互联结构由至少一个基本单元构成,所述的一个基本单元包括n台服务器和一个具有n个接口的交换机,所述的每一台服务器均配备有两个网络适配器端口,其中第一个网络适配器端口连接到所述的交换机,第二个网络适配器端口预留用来支持扩展互联。
上述的无损持续可扩展互联网络,其中所述的互联结构由一组所述的基本单元依据全连通规则构造成为一个一层的互联结构,一组所述的一层互联结构可以进一步根据全连通规则构造成为一个二层的互联结构。依此类推,上述的无损持续可扩展互联网络可以进一步扩展为h层,具体层数h的取值决定于数据中心容纳的服务器数目N以及交换机的端口数目n。
一种无损持续可扩展数据中心的互联网络构建方法,其中按照下述步骤构造可扩展互联结构:
(1.1)获取用户关于数据中心规模N、各个交换机的端口数目n、以及数据中心的层数h等基本配置请求,并按照后续过程构造无损持续可扩展互联结构DCube(n,h);其中n代表每台交换机的端口数目或者每台交换机连接的服务器数目,而h代表DCube的层数,DCube(n,0)为第0层互联结构,是一台交换机及其直接连接的n个服务器所组成的最小构成模块;
(1.2)为每台服务器赋予一个长度为h+1的标识符xhxh-1...x1x0,其中1≤xi≤n而0≤i≤h;
(1.3)为每台交换机赋予一个标识符xhxh-1...x1,其中1≤xi≤n而1≤i≤h;
(1.4)将标识符具有公共前缀长度为h的n个服务器采用其第一个网络适配器端口同标识符为其公共前缀的交换机直接互联,形成一系列最小构成模块DCube(n,0);
(1.5)在标识符为src=xhxh-1...x1x0和的两台服务器之间通过其第二个网络适配器端口直接互联,仅当存在某个1≤j≤α使得节点src的标识符满足xj≠xj-1且xj-1=xj-2=...=x1=x0,其中xj j表示j个连续的xj;至此构成无损持续可扩展互联结构DCube(n,h)。
上述的数据中心的无损持续可扩展互联结构的单播单径路由的路径建立方法:
(2.1)接收用户的数据传输请求,判断数据传输的源服务器和目的服务器的标识符src和dst;
(2.2)判断src和dst是否处于同一个最小的构造模块内,如果属实,则判定二者可以通过共同连接的交换机完成数据报文转发工作;
否则,确定用于连接src和dst所在的两个不同DCube(n,h-1)之间的唯一连接边(n1,n2),
(2.3)然后递归调用步骤(2.2),计算出从服务器src到服务器n1的路径head以及从服务器n2到服务器dst的路径tail;
输出head+(n1,n2)+tail作为从服务器src到服务器dst的路径。
上述的单播单径路由路径的数据传输方法,其进一步包括如下数据传输步骤:
(3.1)源节点从获得的最短路径中选择下一跳服务器,并通过查询本地路由表将数据从正确的网络适配器端口转发出去;
(3.2)处于该最短路径中的各个中间交换机通过查询本地路由表,将数据从正确的端口转发给最短路径中的下一跳服务器;
(3.3)处于该最短路径中的各个中间服务器通过查询本地路由表,将数据从正确的网络适配器端口转发给最短路径中的下一跳服务器,直至数据被转发到目的服务器;
其中通过两个通过第二个网络适配器端口之间相连的服务器之间的数据转发称之为一跳,或者两个通过共同连接的交换机实现的服务器之间的数据转发也记为一跳。
上述的数据中心的无损持续可扩展互联结构的单播多径路由的路径建立方法:
(4.1)接收用户的数据传输请求,判断数据传输的源服务器和目的服务器的标识符src和dst;
(4.2)判断src和dst是否处于同一个最小的构造模块内,如果属实,则判定二者可以通过共同连接的交换机完成数据报文转发工作;
否则,确定用于连接src和dst所在的两个不同DCube(n,h-1)之间的唯一连接边(n1,n2),
(4.3)然后递归调用步骤(4.2),计算出从服务器src到服务器n1的路径head以及从服务器n2到服务器dst的路径tail;输出head+(n1,n2)+tail作为从服务器src到服务器dst的最短路径;
(4.4)令src和dst标识符的最大公共前缀的长度为j,令i=h+1-j;标识符为Z=zh...z1z0的服务器被选定为服务器src的备选服务器,仅当Z的标识符中满足zi-1与si-1和di-1不相等,而备选服务器标识符的其余部分与src对应部分一致;
(4.5)循环执行步骤(4.1)至步骤(4.3),构建一条从源服务器src到中间服务器Z的最短路径、以及一条从中间服务器Z到目的服务器dst最短路径,这两条路径衔接之后即形成一条从服务器src到服务器dst的额外路径;
(4.6)重复执行步骤(4.5)以从服务器src到服务器dst之间构建额外的n-2条平行路径。
上述的单播多径路由路径的数据传输方法,其进一步包括如下数据传输步骤:
(5.1)源节点从获得的n-1条平行路径中分别选择对应的下一跳服务器,并通过查询本地路由表将数据从正确的网络适配器端口转发出去;
(5.2)处于这n-1条平行路径中的各个中间交换机通过查询本地路由表,将数据从正确的端口转发给各条平行路径中的下一跳服务器;
(5.3)处于这n-1条平行路径中的各个中间服务器通过查询本地路由表,将数据从正确的适配器端口转发给各条平行路径中的下一跳服务器,直至数据被转发到目的服务器;
其中通过两个通过第二个网络适配器端口之间相连的服务器之间的数据转发称之为一跳,或者两个通过共同连接的交换机实现的服务器之间的数据转发也记为一跳。
与现有技术相比,本发明具有以下优点:
1.确保数据中心具有无损可扩展能力
本发明提出基于非正则混合图的互联结构DCube要求每台服务器配备固定数目的网络适配器端口(比如两个),避免在投入使用后因数据中心规模扩展而不断扩充每台服务器的网络适配器端口,进而不会对运行在数据中心上的应用系统产生影响。此外,本发明能确保DCube互联结构在向更高一层扩展时仅仅需要在现有互联结构中的n-1个服务器上增加一条对外的连线即可,大量现有服务器不受互联结构规模扩展的影响,因此具有无损可扩展性。
2.确保数据中心具有持续可扩展能力
本发明提出基于非正则混合图的互联结构DCube构造方法能够确保,任何层次的DCube互联结构中总是自动预留有n个服务器各提供一个闲置的网络适配器端口以支持向更高一层互联结构扩展,因此具有持续可扩展。据此来看,本发明很好地解决了数据中心的现有互联结构无法同时实现无损可扩展性和持续可扩展性这一难题。
3.支持任意一对服务器间的分布式最短路径数据传输
基于DCube互联结构的构造规则,本发明为基于DCube构造的数据中心提出了高效的分布式单播单径数据传输方法。令src和dst表示一对源服务器和目的服务器,单播单径数据传输方法仅根据DCube的互联规则以及源服务器和目的服务器的标识符就能快速推算出一条最短的数据传输路径。因此,本发明对基于DCube的数据中心的单播数据传输提供了很好的支持,为各类数据中心应用在服务器之间进行大数据量的迁移工作提高保障。
4.支持任意一对服务器间的分布式平行多径数据传输
在单播单径数据传输方法的基础上,本发明提出任意两个服务器之间的多径平行数据传输方法,利用多径传输效应可以大大提高数据中心中任意一对服务器间的数据传输率。此外,任意两个服务器之间的某条传输路径的失效并不影响其它平行路径上的数据传输,因而可以在多个平行传输路径间快速切换数据传输以提高数据传输的容错能力。
附图说明
图1为本发明所述的一种不支持无损持续可扩展的基于树型结构的数据中心;
图2为本发明所述的一种不支持无损持续可扩展的基于两层DCell互联结构的数据中心;
图3为本发明所述的一种不支持无损持续可扩展的基于两层BCube互联结构的数据中心;
图4为本发明所述的一种数据中心的无损持续可扩展互联网络中实施例1层次化互联结构整体示意图;
图5为本发明所述的一种数据中心的无损持续可扩展互联网络中实施例1服务器网络适配器端口为2时的数据中心互联结构DCube(4,2);
图6为本发明所述的一种数据中心的无损持续可扩展互联网络中实施例1的单播单径路由原理图;
图7为本发明所述的一种数据中心的无损持续可扩展互联网络中实施例1的从服务器111到444的单播单径路由示意图;
图8为本发明所述的一种数据中心的无损持续可扩展互联网络中实施例1的从服务器111到444的单播多径路由示意图。
具体实施方式
下面结合附图和实例对本发明作进一步详细的说明。
实施例1
DCube:数据中心的一种无损持续可扩展互联结构
为了能更好地实现数据中心所追求的设计指标,学术界和工业界为大规模数据中心提出了一些新型互联结构。如前所述,对于Dcell和BCube等现有的以服务器为中心的数据中心互联结构而言,其无损可扩展性和持续可扩展性是一对矛盾的设计指标,无法同时实现。即,为了确保无损可扩展性要求每台服务器配备固定数目的网络适配器端口,如此则无法确保其持续可扩展性;为了确保持续可扩展性要求每台服务器不断追加新的网络适配器端口,如此则无法确保其无损可扩展性。
具体而言,如图2和图3所示,DCell和BCube这两种互联结构不能解决数据中心的无损可扩展问题,因为Dcell和BCube等互联结构每扩展一层都要在所有服务器上增加新的NIC以及物理连线,并由此使得所有服务器更新其路由表和路由策略,从而对各类应用在一定时间内产生很大影响。为实现数据中心互联结构的无损可扩展性,每台服务器配备固定数目的网络适配器端口。但是Dcell和BCube的构造规则决定了对应数据中心的最大规模已被其服务器的网络适配器端口数目所限定,从而不具备持续可扩展能力。
从Dcell和BCube这两种互联结构中不难发现,层次网络是构建大规模数据中心互联结构的一种自然方式,许多底层基本网络彼此互联起来以构建上层网络。每个底层网络在结构上完全独立自治且完好地支持局部通信,而上层网络则在各底层网络模块间架设额外互联链路从而支持远程通信。从原理上来看,Dcell和Bcube均采用正则混合图(Complete Compound Graph)的设计思想通过迭代执行而构造出独特的层次式互联结构。但是,基于正则混合图的思想设计层次网络时,网络每扩展一层都必需为每台服务器增加一个额外的网络适配器端口,因而无法满足数据中心对无损和持续可扩展性的根本需求。
鉴于上述分析,本发明提出非正则混合图的设计思想为数据中心构建一种常量度数互联结构Dcube,其将配备两个网络适配器端口的服务器和低端交换机高效互联,在不改变各个服务器配置的前提下确保数据中心具备持续可扩展能力、无损可扩展能力、高容错能力、以及高性价比等设计目标。
正则混合图和非正则混合图的定义如下:
定义1给定两个正则图G2和G1,一个正则混合图G2(G1)采用一个G1图来替换图G2中的每个节点,图G2中每条连接边被替换为两个对应的G1之间的一条连接边。G2的互联结构被保留了下来,两个G1之间只存在一个连接边,而且每个节点具有相同的度。如果G2是一个全连通图,则用G(G1)来代表G2(G1)。
一层的正则混合图能被进一步递归扩展到更高层的正则混合图。为了便于解释,只考虑正则图G2是完全图的情形。一个两层正则混合图G2(G1)使用G(G1)作为一个基本模块,并且使用一个全连通图连接多个这样的基本模块。更一般地,一个第h层正则混合图Gh(G1)采用第(h-1)层正则图Gh-1(G1)作为基本模块,并采用一个全连通图来连接多个这样的基本模块。
定义2只有在G2的节点度和G1的网络规模相同时,才能构建出一个正则混合图。当G1的网络规模大于G2的节点度时,会产生一个非正则的混合图。同理,非正则的混合图也能通过递归方法不断构造出更高层次的结构。
两层DCube互联结构的基本构造方法
令n代表每台交换机的端口数目或者每台交换机连接的服务器数目,一台具有n个端口的交换机和n个各配备有两个网络适配器端口的服务器构成了DCube的最小构成模块DCube(n,0),其中每个服务器均使用其第一个网络适配器端口直接连接到该n个端口的交换机。
如果令DCube(n,0)为定义1中的图G1,令一个结点规模为n的全连通图为定义1中的G2。在此可知,图G2的节点度为n-1,并且小于图G1的服务器规模,因而可运用非正则混合图的设计思想在第零层DCube(n,0)互联结构的基础上构造第一层的DCube(n,1)互联结构。具体而言,采用一个G1图来替换图G2中的每个节点,原来图G2中的每条连接边被替换为两个对应的G1之间的一条连接边。因为G1中存在n个服务器而G2中的每个节点仅有n-1条边,不难发现此时存在G2中的每个节点的连接边不够分配的问题,这导致在用G1替换完G2中的每个节点后,DCube(n,1)中存在n个DCube(n,0)构造模块,但是每个DCube(n,0)构造模块均有一台服务器的第二个网络适配器端口未被使用,即DCube(n,2)中尚有n个服务器的第二个网络适配器端口被预留用来支持更上层次的扩展。
令DCube(n,1)为定义1中的图G1,令一个结点规模为n的全连通图为定义1中的G2。据此可以运用非正则混合图的设计思想在第一层DCube(n,1)互联结构的基础上构造第二层的DCube(n,2)互联结构。
图4描述了在三个不同层次上构建的新型互联结构DCube,其中每台服务器配备有两个网络适配器端口,四个服务器采用其第一个端口连接到一个具有4个端口的交换机,这一结构是数据中心的最小构成模块,记为DCube(4,0)。将每个DCube(4,0)视为一个虚拟节点,4个这样的虚拟节点被互联为一个全连通图,从而形成一个非正则混合图DCube(4,1),即全连通图的节点度比DCube(4,0)的服务器数目少1。每个虚拟节点内只有3台服务器的第二个端口被使用,另一个服务器的第二个端口被预留用来支持更上一层次的扩展。同样当把每个DCube(4,1)视为一个虚拟节点时,4个这样的虚拟节点形成一个非正则图DCube(4,2)。不难发现,对于任意层次的互联结构DCube(4,h)(其中h>=1)而言,其中总有4个服务器的第二个端口一直留待构建更大规模的数据中心。
图5给出了图4的整体效果,展示了如何从DCube(4,0)互联结构逐步演变为DCube(4,1)以及DCube(4,2)。在DCube(4,2)中,根据其互联结构的构造规则预留111、222、333、以及444的第二个网络适配器端口以便向更高一层互联结构DCube(4,3)扩展。不难发现,本发明能确保DCube互联结构在向更高一层扩展时仅仅需要在现有互联结构中的n-1个服务器上增加一条对外的连线即可,大量现有服务器不受互联结构规模扩展的影响,因此具有无损可扩展性。此外,任何层次的DCube互联结构中总是自动预留有n个服务器各提供一个闲置的网络适配器端口以支持向更高一层互联结构扩展,因此具有持续可扩展。据此来看,本发明很好地解决了现有互联结构无法同时实现无损可扩展性和持续可扩展性这一难题。
多层DCube互联结构的通用构造方法
考虑到目前企业界建设的单个数据中心的服务器规模已经达到几十万甚至上百万,而且目前常用交换机的端口数目处于几十个这样的量级,因此两层DCube互联结构DCube(n,2)可以支持的服务器规模满足不了实际应用需求。为此,本发明给出面向多层DCube互联结构的通用构造方法,使其可支持的服务器规模不仅能够满足目前的数据中心规模需求,而且还可以持续扩展以满足更大规模的数据中心需求。虽然在最小构成模块DCube(n,0)的基础可以继续采用非正则混合图的思想通过不断递归构造出任意的第h层互联结构DCube(n,h),但是构造的计算复杂度和时间延迟会随着层数h的增加而增加。考虑到目前数据中心的服务器规模已经达到几十万甚至上百万,本发明提出的数据中心互联结构的层数h会比较大,因而递归构造方法的计算和时间成本都会很大。为解决这一突出问题,本发明提出下述更加易于计算的互联结构DCube(n,h)的构造方法,具体构造步骤如下所示。
(1)令DCube(n,h)表示一个h层的DCube互联结构,其中n代表每台交换机的端口数目或者每台交换机连接的服务器数目,而h代表DCube的层数。DCube(n,0)代表最小构成模块,即一台交换机及其直接连接的n个服务器。
(2)为DCube(n,h)中的每台服务器赋予一个长度为h+1的标识符xhxh-1...x1x0,其中1≤xi≤n而0≤i≤h。
(3)为DCube(n,h)中的每台交换机赋予一个标识符xhxh-1...x1,其中1≤xi≤n而1≤i≤h。
(4)标识符具有公共前缀长度为h的n个服务器采用其第一个网络适配器端口同标识符为其公共前缀的交换机直接互联,从而形成一系列最小构成模块。
(5)在标识符为src=xhxh-1...x1x0和的两台服务器之间通过其第二个网络适配器端口直接互联,仅当存在某个1≤j≤α使得节点src的标识符满足xj≠xj-1且xj-1=xj-1=...=x1=x0,其中xj j表示j个连续的xj。
本发明依据上述步骤构建的DCube(n,h)能够支持nh+1台服务器以及nh台交换机的互联,其中仍有n台服务器的第二个网络适配器端口被保留用于网络规模的进一步扩展,这些服务器的标识符为xh=xh-1=...=x1=x0,其中x0为大于等于1而小于等于n的任意整数。不难发现,一个DCube(n,h)互联结构包含n个下一层的互联结构DCube(n,h-1),而且每个DCube(n,h-1)之间仅有一条连接链路。一般意义上来看,一个DCube(n,h)互联结构包含nh-i个第i层的互联结构DCube(n,i)。
DCube的单播单径数据传输方法
数据中心支持的许多应用需要在服务器之间进行大数据量的迁移工作。一个好的数据中心互联结构应当对典型的数据传输模式给予很好的支持,一对一的单播传输是其中最基本的传输模式。本发明基于DCube互联结构的构造规则,充分利用其互联结构内在的层次性、对称性以及模块性等特征,提出高效的分布式数据传输方法。令src和dst表示一对源服务器和目的服务器,单播单径数据传输方法仅根据DCube的互联规则以及源服务器和目的服务器的标识符就能快速推算出一条最短的数据传输路径,因而源服务器在发送数据报文之前就已获知报文将要依次经过的服务器和交换机的网络地址信息。
图6给出了本发明的单播单径数据传输方法原理图。单播单径数据传输的基本思想是,首先判断src和dst是否处于同一个最小的构造模块内,如果属实,则判定二者可以通过共同连接的交换机完成数据报文转发工作;否则,确定用于连接src和dst所在的两个不同DCube(n,h-1)互联结构之间的唯一连接边(n1,n2),然后重复调用上述两个步骤找到从服务器src到服务器n1的路径以及从服务器n2到服务器dst的路径。至此,从服务器src到服务器dst之间的路径便由两条下一层的子路径和(n1,n2)连接边组成。具体流程如方法1所示。
图7给出了在DCube(4,2)中,依据上述方法发现的从服务器111到服务器444的单播单径数据传输路径:111→114→141→144→411→414→441→444,该路径是从服务器111到服务器444的最短路径。事实上,上述单播单径数据传输方法为任意一对服务器发现的路径都是最短路径。
在本发明中,两个通过第二个网络适配器端口之间相连的服务器之间的数据转发称之为一跳,或者两个通过共同连接的交换机实现的服务器之间的数据转发也记为一跳。这两种情况下的数据转发统称为单跳传输,也代表单位路径长度。
经过如下分析可知,DCube(n,h)中任意一对服务器之间最短路径的长度最多是2h+1-1。对于DCube(n,h)的任意一对服务器src和dst,如果服务器src和dst不在同一个DCube(n,h-1)中,令Dh表示由方法1产生的从src到dst的路径长度。整个路径是包括对应的两个DCube(n,h-1)内的两段子路径以及一条连接这两个DCube(n,h-1)的连接边组成。因此,可以推算出Dh=2×Dh-1+1,其中h>0,D0=1。依此类推,可知由此可知任意一对服务器之间的最短路径长度至多是2h+1-1。
方法1的计算复杂度性质为:为任意服务器之间构造完整最短路径的计算复杂度为O(2h)。如果仅仅需要为当前服务器找出整个路径中的下一跳服务器,这一计算复杂度可以进一步降低为O(h)。
DCube的单播多径数据传输方法
随着数据中心规模的不断扩大以及支持的应用数目的不断增长,其中的数据流量呈现出快速递增趋势。此时,单播单径这种基本数据传输方法难以很好地处理如下几个问题。
(1)数据中心的数据传输速率可能达不到用户的实际需求。
(2)大数据量的传输会造成数据中心中某些交换机、服务器、以及链路的数据承载量过大的问题。
(3)现实中的数据中心普遍存在某些设备和链路的故障问题,单播单径数据传输产生的最短路径面临失效的危险。
为此,在单播单径数据传输方法的基础上,本发明提出任意两个服务器之间的多径平行数据传输方法,这对于提高数据中心在路由层面的容错能力以及数据传输速率都有着重要的意义。
若源服务器src和目的服务器dst之间存在多条路径,而且除源服务器src和目的服务器dst之外任意一条路径上的服务器不会出现在其他路径上,则称服务器src和dst之间存在多条平行路径。下面将证明DCube(n,h)中任意两个服务器如果不是通过相同的交换机直接互联,则彼此之间存在n-1条平行路径。这n-1条并行路径可通过如下路由构造思想而获知。
假设DCube(n,i)是包含服务器src和dst的层次最低的Dcube互联结构。即DCube(n,i),DCube(n,i+1),DCube(n,i+2),...,DCube(n,h)都包含服务器src和dst,而DCube(n,i)是其中层次最低的互联结构。调用方法1获得分别包含服务器src和dst的两个DCube(n,i-1)之间的连接边(n1,n2),然后构建经过这条连接边的最短路径。考虑到该DCube(n,i)存在n个DCube(n,i-1)这类下一层互联结构。方法1输出的最短路径仅穿过src和dst所在的两个DCube(n,i-1)互联结构,而其它n-2条路径则分别穿过一个额外的DCube(n,i-1)互联结构之后,才抵达dst所在的DCube(n,i-1)互联结构。
基于上述路由构造思想,本发明为单播多径数据传输提出高效的分布式实现方法,其仅根据DCube的互联规则以及源服务器和目的服务器的标识符就能快速推算出n-1条完整的平行路径,或者为每条平行路径仅推导出下一跳服务器的标识符。令shsh-1...s1s0和dhdh-1...d1d0表示服务器src和dst的标识符。本发明首先调用方法1计算出从服务器src到服务器dst的最短路径,然后依照如下方法推导出其他的n-2条平行路径。
第一,标识符为Z=zh...z1z0的服务器被选定为源服务器src的备选服务器,仅当Z的标识符满足zi-1与si-1和di-1不相等而其余部分与src的对应部分完全一致。考虑到zi-1的可能取值为[1,n]之间的整数且不能为si-1和di-1,因此存在n-2个src的备选服务器。
第二,通过方法1构建一条从源服务器src到中间服务器Z的最短路径、以及一条从中间服务器Z到目的服务器dst最短路径,这两条路径衔接之后即形成一条从服务器src到服务器dst的额外路径。因为服务器src存在n-2个备选服务器,所以可以为其构建额外的n-2条平行路径。不难看出,任意服务器之间存在n-1条平行路径。具体流程如方法2所示。
图8给出了在DCube(4,2)中,通过上述方法发现的从服务器111到444的单播多径数据传输路径示意图,其中存在三条平行路径。从服务器111到服务器444的最短路径是111→114→141→144→411→414→441→444。其余两条路径分别经过源服务器111的两个备选服务器211和311,具体是111→112→121→122→211→212→221→224→242→244→422→424→442→444、以及111→113→131→133→311→313→331→334→343→344→433→434→443→444。
本质上,单播多径数据传输方法是从单播单径数据传输方法扩展而来,其提供的多径传输效应能够进一步提高单播数据传输的速率。在一个数据中心中,构造其所用的设备元件,包括服务器、交换机以及链路都存在受限的传输带宽。数据中心支持的许多应用需要在服务器之间进行大量数据的迁移工作,然而,服务器之间每次的数据传输量都不得大于该传输路径上的传输带宽。比较图7和图8可知,当在任意两个服务器之间进行数据传输时,DCube的单播单径数据传输方法最多只能传输与该传输带宽相等的数据量,然而DCube的单播多径数据传输能够传输的最大数据量是单播单径数据传输的n-1倍。因此,利用多径传输效应可以大大提高数据的传输率。此外,某条路径面临的失效并不影响其它平行路径上的数据传输,如果在多径平行路径上传输数据的多份副本,则可以提高数据传输的容错能力。
Claims (2)
1.一种基于数据中心无损持续可扩展互联网络的单播多径路由方法,该无损持续可扩展互联网络是基于网络的非正则混合图互联结构,其特征在于所述互联结构由基本单元构成,所述的一个基本单元包括n台服务器和一个具有n个端口的交换机,所述服务器的每一个均配备有两个网络适配器,其中第一网络适配器连接到交换机,第二网络适配器预留用来支持扩展互联;
其中所述的互联结构由一组所述的基本单元依据全连通规则构造成为一个一层的互联结构,进而由一组所述的一层互联结构根据全连通规则构造成为一个二层的互联结构;由所述多个基本单元构成的互联结构进一步扩展为h层,每个服务器可配置多于两个网络适配器;
若所述n为4,由4个基本单元构成一组,若每个基本单元中的3个服务器的第二网络适配器分别与周围的3个单元中的一个服务器的第二网络适配器相连接,进而形成一个一层的互联结构;由所述多个基本单元构成的多个组组成的层进一步扩展为h层,每个服务器可配置多于两个网络适配器;
其中,非正则混合图互联结构,按照下述步骤构造:
(1.1)获取用户关于数据中心规模N、各个交换机的端口数目n、以及数据中心的层数h基本配置请求,并构造无损持续可扩展互联结构DCube(n,h);其中n代表每台交换机的端口数目或者每台交换机连接的服务器数目,而h代表DCube的层数,DCube(n,0)代表最小构成模块,即一台交换机及其直接连接的n个服务器;
(1.2)为每台服务器赋予一个长度为h+1的标识符xhxh-1...x1x0,其中1≤xi≤n而0≤i≤h;
(1.3)为每台交换机赋予一个标识符xhxh-1...x1,其中1≤xi≤n而1≤i≤h;
(1.4)将标识符具有长度为h的公共前缀的n个服务器采用其第一块网络适配器同标识符为其公共前缀的交换机直接互联,形成一系列最小构成模块DCube(n,0);
(1.5)在标识符为src=xhxh-1...x1x0和的两台服务器之间通过其第二块网络适配器直接互联,其中0<j<h;仅当存在某个1≤j≤h使得节点src、dst的标识符满足xj≠xj-1且xj-1=xj-2=...=x1=x0,其中xj j表示j个连续的xj;至此构成无损持续可扩展互联结构DCube(n,h);
其中,所述的数据中心的无损持续可扩展互联网络的单播多径路由的路径建立方法:
(4.1)接收用户的数据传输请求,判断数据传输的源服务器和目的服务器的标识符src和dst;
(4.2)判断src和dst是否处于同一个最小的构造模块内,如果是,则判定二者可以通过共同连接的交换机完成数据报文转发工作;
否则,确定用于连接src和dst所在的两个不同DCube(n,h-1)之间的唯一连接边(n1,n2),
(4.3)计算出从服务器src到服务器n1的路径head以及从服务器n2到服务器dst的路径tail;输出head+(n1,n2)+tail作为从服务器src到服务器dst的最短路径;
(4.4)令shsh-1…s1s0和dhdh-1…d1d0表示服务器src和dst的标识符,标识符为Z=zh…z1z0的服务器被选定为服务器src的备选服务器,令src和dst标识符的最大公共前缀的长度为j;仅当Z的标识符中满足zi-1与si-1和di-1不相等,其中i=h+1-j,0≤i-1<h;而备选服务器标识符的其余部分与src对应部分一致;
(4.5)执行步骤(4.1)至步骤(4.3),构建一条从源服务器src到备选服务器Z的最短路径、以及一条从备选服务器Z到目的服务器dst最短路径,这两条路径衔接之后即形成一条从服务器src到服务器dst的额外路径;
(4.6)重复执行步骤(4.4)和(4.5)以在服务器src到服务器dst之间构建额外的n-2条平行路径。
2.根据权利要求1所述的单播多径路由方法,其特征在于,其进一步包括如下数据传输步骤:
(5.1)源节点从获得的额外的n-1条平行路径中分别选择对应的下一跳服务器,并通过查询本地路由表将数据从正确的网络端口转发出去;
(5.2)处于这n-1条平行路径中的各个中间交换机通过查询本地路由表,将数据从正确的端口转发给各条平行路径中的下一跳服务器;
(5.3)中间服务器执行(5.2)直至数据被转发到目的服务器;
其中两个通过第二块网络适配器之间相连的服务器之间的数据转发称之为一跳,或者两个通过共同连接的交换机实现的服务器之间的数据转发记为一跳。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110370555.1A CN102510404B (zh) | 2011-11-21 | 2011-11-21 | 数据中心的一种无损持续可扩展互联结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110370555.1A CN102510404B (zh) | 2011-11-21 | 2011-11-21 | 数据中心的一种无损持续可扩展互联结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102510404A CN102510404A (zh) | 2012-06-20 |
CN102510404B true CN102510404B (zh) | 2014-12-10 |
Family
ID=46222457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110370555.1A Active CN102510404B (zh) | 2011-11-21 | 2011-11-21 | 数据中心的一种无损持续可扩展互联结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102510404B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103781098B (zh) * | 2012-10-25 | 2017-08-11 | 施耐德电器工业公司 | 无线网络适配器及其自配置方法 |
CN103856402B (zh) * | 2012-11-30 | 2017-06-20 | 华为技术有限公司 | 一种数据中心网络结构及其路由方法 |
CN103957473B (zh) * | 2014-05-12 | 2017-07-18 | 中国人民解放军国防科学技术大学 | 一种数据中心服务器互联系统、构建与寻址方法、以及机柜 |
CN104022928B (zh) * | 2014-05-21 | 2018-01-09 | 中国科学院计算技术研究所 | 一种高密度服务器的拓扑构建方法及系统 |
CN104601340B (zh) * | 2014-12-02 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 一种跨idc的数据传输方法、设备及系统 |
CN104503539B (zh) * | 2014-12-23 | 2017-12-08 | 中国人民解放军国防科学技术大学 | 低功耗桌面数据中心及其构建方法 |
CN108717362B (zh) * | 2018-05-21 | 2022-05-03 | 北京晨宇泰安科技有限公司 | 一种基于可继承结构的网络设备配置系统及配置方法 |
CN110224945A (zh) * | 2019-06-10 | 2019-09-10 | 莫毓昌 | 一种基于图的数据中心模块互联方法 |
CN112751758B (zh) * | 2019-10-30 | 2024-06-07 | 华为技术有限公司 | 路由信息传输方法及装置、数据中心互联网络 |
CN112751767B (zh) * | 2019-10-30 | 2024-04-16 | 华为技术有限公司 | 路由信息传输方法及装置、数据中心互联网络 |
CN112073315B (zh) * | 2020-09-04 | 2022-03-29 | 苏州工业职业技术学院 | 一种数据中心网络容错单播路由系统 |
CN113726879B (zh) * | 2021-08-30 | 2023-10-24 | 河南大学 | 一种基于vlc链路的混合数据中心网络系统vhcn |
CN117176589B (zh) * | 2023-11-03 | 2023-12-29 | 南京邮电大学 | 一种低开销的数据中心网络系统及其构建方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014045A (zh) * | 2007-02-02 | 2007-08-08 | 清华大学 | 服务承载网中服务管理的分布式方法 |
CN101521895A (zh) * | 2009-04-03 | 2009-09-02 | 南京邮电大学 | 无线自组织网络中用于构建多跳路由转发的方法 |
CN102246476A (zh) * | 2008-12-16 | 2011-11-16 | 微软公司 | 使用两个端口的数据中心服务器的可缩放互连 |
-
2011
- 2011-11-21 CN CN201110370555.1A patent/CN102510404B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014045A (zh) * | 2007-02-02 | 2007-08-08 | 清华大学 | 服务承载网中服务管理的分布式方法 |
CN102246476A (zh) * | 2008-12-16 | 2011-11-16 | 微软公司 | 使用两个端口的数据中心服务器的可缩放互连 |
CN101521895A (zh) * | 2009-04-03 | 2009-09-02 | 南京邮电大学 | 无线自组织网络中用于构建多跳路由转发的方法 |
Non-Patent Citations (2)
Title |
---|
BCN: Expansible Network Structures for Data Centers Using;Deke Guo,etal;《INFOCOM,2011 Proceeding IEEE》;20110415;第2节A,附图1 * |
DekeGuo etal.BCN: Expansible Network Structures for Data Centers Using.《INFOCOM * |
Also Published As
Publication number | Publication date |
---|---|
CN102510404A (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102510404B (zh) | 数据中心的一种无损持续可扩展互联结构 | |
Guo et al. | Expandable and cost-effective network structures for data centers using dual-port servers | |
Millberg et al. | The Nostrum backbone-a communication protocol stack for networks on chip | |
JP6510115B2 (ja) | 負荷分散を実現するための方法、装置、およびネットワークシステム | |
KR20140139032A (ko) | 패킷플로우 상호연결 패브릭 | |
CN108259387B (zh) | 一种通过交换机构建的交换系统及其路由方法 | |
Wang et al. | NovaCube: A low latency Torus-based network architecture for data centers | |
CN103346967B (zh) | 一种数据中心网络拓扑结构及其路由方法 | |
Wang et al. | SprintNet: A high performance server-centric network architecture for data centers | |
CN102185772B (zh) | 数据中心网络系统的路由方法 | |
CN108964746B (zh) | 时变卫星网络多拓扑搜索最短路由方法 | |
US20230327976A1 (en) | Deadlock-free multipath routing for direct interconnect networks | |
WO2015066367A1 (en) | Network topology of hierarchical ring with recursive shortcuts | |
JP7357123B2 (ja) | 直接相互接続ゲートウェイ | |
CN102780628B (zh) | 面向多核微处理器的片上互连网络路由方法 | |
Wang et al. | Designing efficient high performance server-centric data center network architecture | |
US8098593B2 (en) | Multi-level interconnection network | |
Qi et al. | Sierpinski triangle based data center architecture in cloud computing | |
Ali et al. | A dynamic routing mechanism for network on chip | |
Liu et al. | Routing for predictable multi-layered satellite networks | |
JP5522003B2 (ja) | ネットワーク中継システム及びネットワーク中継システムの自動設定方法 | |
CN107592218B (zh) | 一种数据中心网络结构的构建方法 | |
CN108768864B (zh) | 一种易拓展高容错的数据中心网络拓扑系统 | |
Noskov et al. | Interaction model of computer nodes based on transfer reservation at multipath routing | |
Xiong et al. | MTM: A reliable multiple trees multicast for data center network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |