一种数据中心网络系统及数据中心传输方法

文档序号:31567410发布日期:2022-09-20 21:08阅读:53来源:国知局
一种数据中心网络系统及数据中心传输方法

1.本发明涉及通信领域,特别是涉及一种数据中心网络系统及数据中心传输方法。


背景技术:

2.数据中心是提供云计算服务的基础设施。数据中心网络是数据中心架构的核心基础构成,通过交换机和交换机之间的高速链路连结着海量服务器,以此提供强大的计算资源和存储资源。数据中心网络的拓扑结构是指数据中心中所有交换机和服务器间的连接关系,直接影响着数据中心网络的性能。
3.在实际的企业数据中心应用场景中,有时出于容错性,拓展性,或者零缓存的考虑,数据中心网络拓扑设计会采用以服务器为中心的方式。以服务器为中心的网络拓扑的构造式设计。往往没有自顶向下(分析算法通过在最左推导中描述出各个步骤来分析记号串输入)地思考解决问题,不具备一套完备的方法论。实际场景中服务器一般仅有一到两个网络端口,可以接受的端口数量十分有限。服务器之间的链路数量极其有限,导致网络拓扑的直径较大,跳数更多,时延较高。
4.需要说明的是,在上述背景技术部分公开的信息仅用于对本技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本发明的目的在于克服现有技术网络拓扑的直径较大,跳数更多,时延较高的问题,本发明提出一种数据中心网络系统及数据中心传输方法。
6.为实现上述目的,本发明采用以下技术方案:
7.本发明提供一种数据中心网络系统,包括机架及设置在机架内的一台或多台服务器,每台服务器有多个网络端口,其中机架内服务器的连接方式符合度直径问题最优解,即保证节点数和度数的最佳连接方式,其中直径代表网络的最大跳数,也就是时延性能;节点的度代表服务器的网络端口数量。
8.在一些实施例中,机架间采用基于拓展图的连接方式,每个节点都连接其余所有节点中的一部分,所有节点连在一起则通过多跳实现连通。
9.在一些实施例中,在机架中心位置设置有一个仲裁器,每次服务器产生发流的需求要向仲裁器申请,仲裁器以固定的粒度对服务器何时发,发多少数据做出调度。
10.在一些实施例中,所述仲裁器维护一个矩阵,矩阵的行数是机架内拓扑的直径,矩阵的列数是机架内服务器的数量,每一行代表一个时隙的情况,记录这个节点是否是空闲的。
11.在一些实施例中,所述仲裁器还维护两个优先级队列,一个是较高优先级,一个是较低优先级,并交替优先调度两个队列中的流。
12.在一些实施例中,每个线路交换机的拓扑连接在[m/n]或[m/n]+1个连接中切换,当m为n的倍数时,周期为[m/n]个时隙;当m不是n的倍数时,周期为[m/n]+1个时隙;每个周
期中任意两个机架间都存在至少一个一跳直连的机会,且任意时刻任意两个机架都存在线路相互连通,其中m为机架的数量,n为交换机的数量。
[0013]
在一些实施例中,机架间的拓扑设计,使得各个度直径图可以组合在一起,以适应各种节点规模的环境。
[0014]
本发明还提供一种数据中心传输方法,包括机架内流量传输,其中所述机架内流量传输路线符合度直径问题最优解,即保证节点数和度数的最佳连接方式,其中直径代表网络的最大跳数,也就是时延性能;节点的度代表服务器的网络端口数量。
[0015]
在一些实施例中,机架内全部流量调度过程都由仲裁器精确计算,保证无冲突,经过网卡转发和线路交换机。
[0016]
在一些实施例中,机架内流量传输包括如下步骤:
[0017]
t1.向仲裁器发送请求包,包含流的源和目的信息;
[0018]
t2.仲裁器接收请求包,确认这条流是发往机架内的服务器,如果不是,则认为这条流的目的是一个连接交换机的服务器;
[0019]
t3.仲裁器根据拓扑的性质计算出源与目的之间的最短路径以及几条较短路径;
[0020]
t4.仲裁器维护流量需求的优先级队列,共有两条队列,如果是前往连接交换机的服务器,则该流量需求进入较高优先级的队列,反之进入较低优先级的队列;
[0021]
t5.仲裁器维护当前以及之后几个时隙的节点任务状态,更新记录节点情况的矩阵,删除矩阵的第一行,增加矩阵的最后一行,内容是全部空闲;
[0022]
t6.在矩阵上贪心(贪心算法)地为各条流分配资源;
[0023]
t7.从前往后遍历优先级队列(要注意两个优先级队列穿插遍历以保证公平);
[0024]
t8.如果这条流的路径全部空闲,则将矩阵的对应项改为忙碌,并将这条流在优先级队列中删除。然后生成并发送调度包;
[0025]
t9.再遍历一次;
[0026]
t10.如果可以这条流的路径上一开始的若干跳空闲,则将矩阵的对应项改为忙碌,并将这条流调整至较高优先级队列的队头,然后生成并发送调度包;
[0027]
t11.仲裁器将调度结果发送控制包广播给机架内的所有机器;
[0028]
t12.源服务器以及路径上的其他服务器均严格按照调度包进行转发;
[0029]
t13.流量到达目的服务器。
[0030]
在一些实施例中,还包括跨机架流量传输。
[0031]
在一些实施例中,对于跨机架的大流传输,包括如下步骤:
[0032]
g1.得出最近的和目的机架直连机会是何时,经由哪个服务器,并将这个服务器作为第一阶段转发的目的;
[0033]
g2.向仲裁器发出请求,并携带目的信息——应到哪个连接交换机的仲裁器;
[0034]
g3.仲裁器依照机架内的流量调度方法,将其转发至对应的服务器内;
[0035]
g4.等待对应的线路交换机拓扑切换完毕,立刻发流;
[0036]
g5.接受的机架再完成一个机架内流量的调度过程,将其转发至目的服务器;
[0037]
g6.流量到达目的服务器。
[0038]
在一些实施例中,对于跨机架的小流传输,包括如下步骤:
[0039]
j1.向仲裁器发出请求,完成一个机架内流量的调度过程,将其转发至任一连接交
换机的服务器;
[0040]
j2.规划路径,经过多跳转发至目的机架,每次都完成一个机架内的流量调度过程;
[0041]
j3.流量到达目的服务器。
[0042]
本发明还提供一种计算机可读介质,其中存储有计算机程序,所述计算机程序可被读取以执行上述的方法。
[0043]
本发明与现有技术对比的有益效果包括:
[0044]
本发明提供一种数据中心网络系统,包括机架及设置在机架内的一台或多台服务器,每台服务器有多个网络端口,其中机架内服务器的连接方式符合度直径问题最优解,即保证节点数和度数的最佳连接方式,从数学规律出发,直接找到解决该瓶颈问题的最优解,并通过一些设计使其能更好地进入实用场景,优化了传输性能,支持更高的吞吐和时延要求,更小的直径,更少的平均跳数,更大的链路带宽,可以充分发挥每条链路的价值,达成高吞吐低时延的数据中心网络需求。
[0045]
同时本发明在一些实施例中给出了解决规模拓展性的方法和流量调度方案。整套传输方案具有完备的实用性。
[0046]
在一些实施例中,解决跨机架流量的效率问题时,我们注意到解决大流的带宽税(连接能力不足的网络经常多跳路由来处理流量需求;由于应用程序工作负载并不总是与网络结构保持良好的一致,因此一些流量可能会经过较长、效率较低的路径。然而,间接的好处是要付出巨大代价的:在网络上跨越多个单跳会产生“带宽税”。换句话说,通过两个端点之间的直接链接发送的x字节只消耗x字节的网络容量。如果将相同的流量通过k个链接(可能是通过多个交换机)发送,它将消耗(k
·
x)字节的网络容量,其中(k-1)x对应于带宽税。因此,一个网络的有效承载能力)是一个棘手的问题,于是我们设计了大流一跳发送,小流多跳发送的传输策略。在解决小流多跳发送的连通性问题时,本发明使用了拓展图这样的数学工具,对线路交换机的连接和切换方式进行了设计。使得大流的带宽税很低,小流又可以随时发送,流量之间不碰撞,取消了读写缓存的时延,从而大幅提升网络的吞吐,降低时延,降低芯片设计的复杂程度,降低交换芯片的功耗。
[0047]
在一些实施例中,提出了将最优的拓扑设计进行拓展的方法。为理论赋予了更强的实际应用价值。将若干小的最优拓扑通过拓展图连接起来,实现了拓扑的水平拓展。通过拓展图的性质,使得拓扑有能力支持更高吞吐更低时延的技术指标。在保证性能的前提下使得方案可以很自然地部署在实际场景中。
附图说明
[0048]
图1是本发明实施例中机架内外连接方式示意图。
[0049]
图2是本发明实施例中度直径问题的最大节点数数据图。
[0050]
图3a是现有技术中度直径问题最优解彼得森图示意图。
[0051]
图3b是现有技术中度直径问题最优解霍夫曼单粒子图。
[0052]
图3c是现有技术中度直径问题最优解的一种典型样式示意图。
[0053]
图3d是现有技术中度直径问题最优解的一种典型样式示意图。
[0054]
图4是本发明实施例中机架内基于度直径问题设计的拓扑示意图。
[0055]
图5是本发明实施例中机架间基于拓展图的连接方式示意图。
[0056]
图6是本发明实施例中机架内流量调度算法流程图。
[0057]
图7是本发明实施例中机架间流量调度算法流程图。
具体实施方式
[0058]
下面对照附图并结合优选的实施方式对本发明做进一步说明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0059]
需要说明的是,本实施例中的左、右、上、下、顶、底等方位用语,仅是互为相对概念,或是以产品的正常使用状态为参考的,而不应该认为是具有限制性的。
[0060]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施条例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0061]
下述实施例基于图论中的经典问题:度直径问题的结论,采用度直径问题的结论,运用该数学工具为数据中心网络设计新的拓扑架构。会得到严格最优、性能最好的一类拓扑。并提出一种将该类拓扑进行水平拓展的方法,在实际的企业应用场景中,有时出于容错性,拓展性,或者限制缓存的考虑,数据中心网络拓扑设计采用以服务器为中心的方式,而非以交换机为核心的方式。而在以服务器为中心的网络拓扑结构中,服务器的连接能力取决于服务器的网卡或网卡端口数量。巧妙的拓扑设计有利于在网卡端口数量受限时,获得最优的网络传输能力。在成本一定的前提下,结合调度方法,更好的拓扑有能力支持更高的吞吐和时延要求。
[0062]
新的网络架构在成本一定时具有更小的直径,更少的平均跳数,更大的链路带宽。其中更大的链路带宽体现如下:一方面,在成本一定时,跳数少、节点度数小,所以连接少,节点可以使用更小的交换机,因此可以使用更高性能的交换机。另一方面,实施例中流量调度方法经过精心设计,尽量减少跳数,减少了转发次数,则链路资源浪费更少,流量冲突更少,在固定的时间内,可以服务更多流量。从而实现在网络端口数量受限时,吞吐时延等网络性能最优的技术需求。同时实施例中给出了一个配套地拓展和流量调度方案使其更加容易部署,有更良好的拓展性,有极大的应用价值。解决端口成本问题。
[0063]
如图1所示,实施例数据中心结构如下:
[0064]
本实施例中,数据中心采用双层的拓扑架构,其中有8个机架1(rack),96台服务器,4个线路交换机2(circuit switches)。每个机架包含12台服务器,其中4台服务器需要分别与4个线路交换机连接,该服务器称为交换服务器(英文简称:ssr,全称:switch server),剩余8台服务器(英文简称:sr,全称:server)仅与机架1内的服务器相连接,机架1内的小规模情况使用基于度直径问题的数学结论设计,使其尽可能地节约端口成本,减少跳数。机架1之间采用4个线路交换机2按照拓展图的连接方式相连接。解决了拓扑的拓展性问题。保证节点数和度数的最佳连接方式。线路交换机2可以被理解为集线器,其对应的端口可以变化,其中1a/1b与2a/2b、3a/3b、4a/4b分别表示四台线路交换机2的两个内部连接方式,工作状态是该线路交换机2周期性地在两个连接方式中切换。每个线路交换机的工作周期是2*timeslot(时隙)。其中a、b表示两条流量的路径。
[0065]
如图2所示,度直径问题的当前研究成果如下:
[0066]
其中k表示图的直径,d表示节点的度,表中每一项代表已经目前发现的节点数量最多的拓扑。度直径问题是一个经典的图论问题,其含义是在规定每个节点的最大度和整个拓扑的直径的条件下,求一个节点数量最多的拓扑。这个数学问题可以作为设计数据中心拓扑结构的有力工具。其能解决的连接问题的节点数非常离散,只能解决“10,15,20,24,32,38,41
…”
这几个十分离散的节点情况,在数字变大后,离散得尤其明显。只用该方法,是不能处理绝大多数规模的需求的。实施例中机架间的设计,使得各个度直径图可以组合在一起。可以适应各种节点规模的需求。在实施例中,当希望节点数为4100的数据中心设计拓扑时,图2中没有相应的节点数的拓扑,相近的只有3243和4680。通过本发明中机架间的拓扑设计,可以用100个机架,其中每个机架都是41个节点,其中一个服务器代表一个节点,以此设计来解决问题。一方面应该充分利用图论中的最优设计,一方面也要灵活地做一些改动,使其具备工程上的可用性。在数据中心的场景中,直径代表网络的最大跳数,也就是时延性能。节点的度代表服务器的网络端口数量,也就是以服务器为中心的拓扑结构的主要成本。度直径问题恰恰是综合考量性能、成本和拓展性约束的最优解。将度直径问题的数学结论直接应用于网络拓扑设计。其能解决的连接问题的节点数非常离散,只用该方法,是不能处理绝大多数规模的需求的。在实施例中,机架间的拓扑设计,使得各个度直径图可以组合在一起。可以适应各种节点规模的环境。
[0067]
如图3a-d所示,度直径问题最优解的四个典型样式如下:
[0068]
其中图3a是petersen graph(彼得森图),节点数为10,节点度为3,拓扑直径为2的拓扑图。图3b是hoffman-singleton graph(霍夫曼单粒子图)。图3c是节点数为20,节点度为3,拓扑直径为3的拓扑图。图3d是节点数为24,节点度为5,拓扑直径为3的拓扑图。
[0069]
实施例中拓扑设计步骤如下:
[0070]
s1.首先明确设计场景的需求,根据机架内的服务器数量、每个服务器的网络端口数量和可以使用的线路交换机数量,依据度直径问题的拓扑设计结论,确定每个机架的拓扑。
[0071]
s2.设计线路交换机内部的拓扑。不妨记机架的数量为m,可以使用的线路交换机个数为n。每个线路交换机相当于是一个m*m维的置换矩阵。随机地给m*m维的全1矩阵分解为m个m*m维的置换矩阵,然后将这m个矩阵分为[m/n]+1组,每组n或n-1个,测试每组的连通性。如果每组矩阵组合都能保证任意两个机架之间可以连通,则认为这是优选的拓扑构造,如果没有满足条件,则重新分解,事实上,随机得到这样一个构造的概率是很大的。
[0072]
通过这种方式,我们使每个线路交换机的拓扑连接在[m/n]或[m/n]+1个连接中切换,当m为n的倍数时,周期为[m/n]个时隙;当m不是n的倍数时,周期为[m/n]+1个时隙,每个时隙包含n个置换矩阵,才能确保遍历全部的置换矩阵。缺少的置换矩阵随机重复利用一个即可;每个周期中任意两个机架间都存在至少一个一跳直连的机会,且任意时刻任意两个机架都存在线路相互连通。为大流等待直连(线路交换机的连接方式是轮换的,大流的调度要求就是一跳直接发送,所以需要等待线路交换机的轮换),小流随时多跳发送,提供条件。
[0073]
如图4所示,实施例中机架内基于度直径问题设计的拓扑如下:
[0074]
如上述s1步骤,实施例中,数据中心包含3125个机架,十万台服务器,8个线路交换机。每个机架有32台服务器,每台服务器有4个网络端口,每个线路交换机有3125个入端口,
3125个出端口。每个机架32台服务器中有8台服务器分别与这8个线路交换机相连。其中a、b表示两条流量的路径。采用上述方法步骤,首先明确场景的需求,然后确定合适的度直径问题的最优拓扑,在此基础上进行简单调整。绝大多数情况下,可以得到直径最短,平均跳数也最短的拓扑。由于其中8台服务器线路交换机相连,其实际可用的度只有3。基于如图3c的拓扑设计,度为3直径是3的最优拓扑,得到32个服务器的最优情况。可以证明,这是在成本不变的情况下,平均跳数和最长跳数最短的机架拓扑设计。该拓扑作为一个例子展示如何在机架内基于拓展图设计理论最优的拓扑。
[0075]
上述实现3125个入端口,3125个出端口这个需求,可以制作特殊硬件,或者采用若干端口数较小的交换机连成两级的结构,整体上实现3125个出入端口的需求。
[0076]
实施例中设计线路交换机内部的拓扑的步骤如下:
[0077]
如上述s2步骤,该实施例中有6个机架,3个交换机,即m=6,n=3。
[0078][0079]
上式为m*m维全1矩阵。
[0080][0081]
m*m维全1矩阵可以拆解成为6个置换矩阵,确定每个线路交换机的连接方式,m=6,n=3,所以分6/3=2组,比如上面1a/2a/3a一组,1b/2b/3b一组,则1号交换机在1a/1b两种连接方式中切换,2号交换机在2a/2b两种连接方式中切换。3号交换机在3a/3b两种连接方式中切换。需保证1a/2a/3a组成的图示是连通图,1b/2b/3b组成的图也需保证是连通图。
[0082]
如图5所示,机架间基于拓展图的连接方式如下:
[0083]
本实施例中有8个机架1,4个线路交换机2。每个机架1中均有4个服务器分别与4个
线路交换机2相连。每个线路交换机2在两种连接方式中周期性切换,使得每一个周期中,每两个机架1之间均有一跳相连的机会。根据拓展图的性质,每个节点均有连接其余节点中的一部分,从而实现所有节点连接在一起,则能够通过多跳实现连通。当线路交换机2超过4个时,存在极大的概率使得任意时刻两个机架1之间可以连通,从而支持大流等待时机一跳发送,小流随时发送。
[0084]
在实施例中,如图6所示,机架内流量调度算法步骤如下:
[0085]
t1.服务器产生机架内流量需求,向仲裁器发送请求包,包含流的源和目的信息;
[0086]
t2.仲裁器接收请求包,确认这条流是发往机架内的服务器,如果不是,则认为这条流的目的是一个连接交换机的服务器;
[0087]
t3.仲裁器根据拓扑的性质计算出源与目的之间的最短路径以及几条较短路径;
[0088]
t4.仲裁器维护流量需求的优先级队列,共有两条队列,如果是前往连接交换机的服务器,则该流量需求进入较高优先级的队列的队尾,反之进入较低优先级的队列的队尾;
[0089]
t5.仲裁器维护当前以及之后几个时隙的节点任务状态,更新记录节点情况的矩阵,删除矩阵的第一行,增加矩阵的最后一行,内容是全部空闲;
[0090]
t6.在矩阵上贪心(贪心算法)地为各条流分配资源;
[0091]
t7.从前往后遍历优先级队列(要注意两个优先级队列穿插遍历以保证公平);
[0092]
t8.如果这条流的路径全部空闲,则将矩阵的对应项改为忙碌,并将这条流在优先级队列中删除。然后生成并发送调度包;
[0093]
t9.再遍历一次;
[0094]
t10.如果可以这条流的路径上一开始的若干跳空闲,则将矩阵的对应项改为忙碌,并将这条流调整至较高优先级队列的队头,然后生成并发送调度包;
[0095]
t11.仲裁器将调度结果发送控制包广播给机架内的所有机器;
[0096]
t12.源服务器以及路径上的其他服务器均严格按照调度包进行转发;
[0097]
t13.流量到达目的服务器。
[0098]
本实施例中设计的机架内调度方法采用集中调度式,具体做法如下:在机架中心位置设置一个仲裁器,每次服务器产生发流的需求,应向仲裁器申请,仲裁器以固定的粒度对服务器何时发送、发送多少数据做出调度;仲裁器中需要维护一个矩阵,矩阵的行数是机架内拓扑的直径,矩阵的列数是机架内服务器的数量,每一行代表一个时隙的情况,记录各节点是否处于空闲状态;仲裁器中还需要维护两个优先级队列,一个是较高优先级,一个是较低优先级,并交替优先调度两个队列中的流。以防止饥饿。在极端状况下,如果仲裁器的调度结果是全网仅能跑一条流,那么下一个时隙仅传送一条流。仲裁器保证全程不冲突,达成流量不冲突,不排队,不进入缓存的效果。有些场景下是必须的,比如数据有光信号编码,读写缓存则需要较大的光电转换时间开销。如果读写缓存的速度足够快,事实上也可以不采用这种调度方式。
[0099]
如图7所示,机架间流量调度算法步骤如下:
[0100]
在实施例中,机架间大流调度算法步骤如下:
[0101]
g1.线路交换机在不同拓扑之中切换的方式是固定的,据此,得出最近的和目的机架直连机会是何时,经由哪个服务器,并将这个服务器作为第一阶段转发的目的;
[0102]
g2.向仲裁器发出请求,并携带目的信息——应到哪个连接交换机的仲裁器;
[0103]
g3.仲裁器依照机架内的流量调度方法,将其转发至对应的服务器内;
[0104]
g4.等待对应的线路交换机拓扑切换完毕,立刻发流;
[0105]
g5.接受的机架再完成一个机架内流量的调度过程,将其转发至目的服务器;
[0106]
g6.流量到达目的服务器。
[0107]
在实施例中,机架间小流调度算法步骤如下:
[0108]
j1.向仲裁器发出请求,完成一个机架内流量的调度过程,将其转发至任一连接交换机的服务器;
[0109]
j2.规划路径,经过多跳转发至目的机架,每次都完成一个机架内的流量调度过程;
[0110]
j3.流量到达目的服务器。
[0111]
实施例机架内的连接方式采用数学理论的最优解。
[0112]
实施例中全部流量调度过程均由仲裁器精确计算,保证无冲突,经过网卡转发和线路交换机即可。网络中网卡转发和线路交换机的速度极快,而读写缓存所需时间则要有数量级的差距。
[0113]
实施例中不采用缓存处理冲突的思维,改用仲裁器规划流量路径。这样理论上是有节省时延的效果。
[0114]
本发明的背景部分可以包含关于本发明的问题或环境的背景信息,而不一定是描述现有技术。因此,在背景技术部分中包含的内容并不是申请人对现有技术的承认。
[0115]
以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式作出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。在本说明书的描述中,参考术语“一种实施例”、“一些实施例”、“优选实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管已经详细描述了本发明的实施例及其优点,但应当理解,在不脱离专利申请的保护范围的情况下,可以在本文中进行各种改变、替换和变更。
[0116]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以作出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1