一种基于拥塞系数的混合数据中心网络流调度方法与流程

文档序号:12278440阅读:187来源:国知局
一种基于拥塞系数的混合数据中心网络流调度方法与流程

本发明涉及混合通信领域,特别地,涉及一种基于拥塞系数的混合数据中心网络流调度方法。



背景技术:

数据中心是在线应用和基础性服务的基础设施。成千上万的服务器和交换机通过数据中心网络(DCN,data center network)互联互通。而当前的数据中心网络包括两大主要流派,即有线数据中心和无线数据中心。有线数据中心内部服务器和交换机的组网依赖于有线链路,例如双绞线、光纤。Fat-Tree和VL2便属于这一类;无线数据中心内部的组网主要依靠无线通信链路来实现,要么将机架互联为无线网络,要么将所有服务器和交换机连接成为全无线网络结构。

有线数据中心网络存在天然的缺陷。首先,有线数据中心要么是过度超额认购即使能维持很好的网络性能却大量的成本;要么就是过度从简来降低成本却不能保证较好的网络性能。其次,扩展现有的数据中心及其困难和复杂。再次,有线数据中心需要大量的接线和维护成本。最后,大型的有线数据中心通常采用多层结构。导致的结果是两个属于不同机架的服务器,即使物理上距离非常之近也必须采用上层链路才能实现通信。

针对现有技术中有线数据中心扩展成本高与灵活性差的问题,目前尚未有有效的解决方案。



技术实现要素:

有鉴于此,本发明的目的在于提出一种基于拥塞系数的混合数据中心网络流调度方法,能够在不改变有线数据中心的已有设备与布局的前提下建立不需要任何控制的跨机架无线连接,在小成本下大幅度扩展有线数据中心,并提升网络灵活性,同时提升了网络性能。

基于上述目的,本发明提供的技术方案如下:

根据本发明的一个方面,提供了一种基于拥塞系数的混合数据中心网络流调度方法,包括:

确定混合数据中心网络系统中多个机架间的有线Fat-Tree结构与无线2D-Torus结构中的链接,以及任意机架对间的路由;

获取批量到达的多条待注入数据流,并为每条批量流指定一条拥塞系数之和最小的传输路径;

持续获取序列到达的多条待注入数据流,并为每条序列流指定一条拥塞系数增量之和最小的传输路径。

其中,为每条批量流指定一条拥塞系数之和最小的传输路径包括:

依次指定每条批量流,搜索其在由有线Fat-Tree结构与无线2D-Torus结构中的链接构成的所有候选路径;

分别计算出每一条链接的拥塞系数,并根据每一条链接的拥塞系数计算每一条候选路径的拥塞系数;

选取拥塞系数最小的候选路径作为指定批量流的传输路径。

并且,每条批量流只在一条候选路径上传输,链接的拥塞系数的最大值不能超过候选路径的拥塞系数,其中,链接的拥塞系数表示使用这条链接的流数量最大值,候选路径的拥塞系数表示经过这条路径的流数量最大值。

并且,搜索其在由有线Fat-Tree结构与无线2D-Torus结构中的链接构成的所有候选路径,包括k2/4条有限路径、一条无线路径与一条混合路径,其中k为无线2D-Torus结构中的pod层数量。

同时,为每条序列流指定一条拥塞系数增量之和最小的传输路径包括:

获取到达的新流与需要重传的旧流,将到达的新流与需要重传的旧流定位需要调度的序列流;

更新有线Fat-Tree结构与无线2D-Torus结构中每条链接的拥塞系数;

依次指定每条序列流,搜索其在由有线Fat-Tree结构与无线2D-Torus结构中的链接构成的所有候选路径;

分别计算出每一条链接的拥塞率,并根据每一条链接的拥塞率计算每一条候选路径的拥塞率,其中,拥塞率为拥塞系数的增量;

选取拥塞率最小的候选路径作为指定批量流的传输路径。

并且,每条序列流只在一条候选路径上传输,链接的拥塞系数的最大值不能超过候选路径的拥塞系数,其中,链接的拥塞系数表示使用这条链接的流数量最大值,候选路径的拥塞系数表示经过这条路径的流数量最大值。

另外,确定混合数据中心网络系统中任意机架对间的路由包括:

在多个机架中设置k个pod,并将每个机架都划入pod中形成k个pod层;

为每个机架按照pod层分配标识并构建pod层逻辑图;

计算起始机架所在pod到目标机架所在pod在pod层逻辑图上的路径Pathhp

遴选Pathhp中的每一条无线连接,使得Pathhp的无线连接路径最短,并获得在机架上的路径Pathht

添加聚合层交换机并将需要的有线连接加入Pathht中,获得路由Pathh

并且,标识包括标识前缀与标识后缀,为每个机架按照pod层分配标识并构建pod层逻辑图包括:

对于任意x∈[0,k],随机选取k/2个无标识前缀机架,将被选取机架的标识前缀置为x,并保证任意两个相邻的机架的标识前缀不同;

为每个机架设置标识后缀,标识后缀取值范围为0到k/2-1,任意两个标识前缀相同的机架的标识后缀不同;

计算当前标识下pod层逻辑图的连通性;

重复执行上述步骤多次,选取连通性最大的标识分配方案作为pod层逻辑图生成结果。

从上面所述可以看出,本发明提供的技术方案通过使用建立无线2D-Torus结构组网与已有的有线Fat-Tree机架结构相耦合并使混合结构作为一个整体工作的技术手段,在不改变有线数据中心的已有设备与布局的前提下建立不需要任何控制的跨机架无线连接,在小成本下大幅度扩展有线数据中心,并提升网络灵活性;同时,使用将到达的数据流拆分为批量流和数据流,先调度批量流再调度数据流的技术手段,进一步提升了混合结构的网络性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法的流程图;

图2为现有技术中无线数据中心网络系统中机架之间的连接关系与无线信号传输方式示意图;

图3为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,设置于正对光源的信号收发器收到的照度分布图;

图4为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,设置于侧对光源的信号收发器收到的照度分布图;

图5为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,设置于背对光源的信号收发器收到的照度分布图;

图6为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,设置于侧对光源的信号收发器收到的照度分布图;

图7为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,混合数据中心网络系统的机架顶层视图;

图8为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube的机架层逻辑图;

图9为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube的pod层逻辑图;

图10为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree的平均路径长度-k值柱状比较图;

图11为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree的网络总带宽-k值柱状比较图;

图12为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree的pod层连通性度量-k值柱状比较图;

图13为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree的路由算法复杂度度量-k值柱状比较图;

图14为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree在Trace流量下的吞吐量-k值柱状比较图;

图15为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree在Trace流量下的丢包率-k值柱状比较图;

图16为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree在Stride-2k流量下的吞吐量-k值柱状比较图;

图17为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree在Stride-2k流量下的丢包率-k值柱状比较图;

图18为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree在Stride-2k流量下的吞吐量-流大小柱状比较图;

图19为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree在Stride-2k流量下的丢包率-流大小柱状比较图;

图20为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree在随机流量下的吞吐量-k值柱状比较图;

图21为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree在随机流量下的丢包率-k值柱状比较图;

图22为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree在随机流量下的吞吐量-流大小柱状比较图;

图23为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,VLCcube与Fat-Tree在随机流量下的丢包率-流大小柱状比较图;

图24为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,ECMP与SBF在批量流量下的吞吐量-k值柱状比较图;

图25为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,ECMP与SBF在批量流量下的丢包率-k值柱状比较图;

图26为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,ECMP-2、ECMP-4、SOF-2与SOF-4在序列流量下的吞吐量-k值柱状比较图;

图27为根据本发明实施例的一种基于拥塞系数的混合数据中心网络流调度方法中,ECMP-2、ECMP-4、SOF-2与SOF-4在序列流量下的丢包率-k值柱状比较图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

为了降低扩展已有有线数据中心过程中的成本并增加网络灵活性,一些针对机架层面的无线数据中心网络结构被提出。如图2所示,网络中的机架通过无线链路连接在一起,不同机架之间的信号通过精确地调整发射角度,通过反射镜面反射到目标机器上。特别地,60GHz射频通信技术和自由空间通信技术(FSO,Free-Space-Optical)技术被采用以建立机架间的无线链接。类似的这些方案能提高有线数据中心的带宽并降低包延迟。另外,无线链接能被动态重构以满足当前通信模式的需求。

现有的机架间无线数据中心设计方法主要致力于无线链接的可重构性。然而,却忽视了设计目标中的后两者。首先,已有工作必须升级或者完全重建已有数据中心的外围环境。譬如,之前的采用60GHz和FSO通信技术的设计方案必须将现有数据中心天花板装饰成为一个反射镜面以实现信号的超视距传输。另外,为了实现可重构性,必须使用特定的光设备。例如,天花板镜面,凸透镜/凹透镜等等。更致命的是,当配置无线链接时,它们往往需要对光网络设备及基础设施进行频繁而复杂的控制操作。

根据本发明的一个实施例,提供了一种基于拥塞系数的混合数据中心网络流调度方法。

如图1所示,根据本发明实施例提供的基于拥塞系数的混合数据中心网络流调度方法包括:

步骤S101,确定混合数据中心网络系统中多个机架间的有线Fat-Tree结构与无线2D-Torus结构中的链接,以及任意机架对间的路由;

步骤S103,获取批量到达的多条待注入数据流,并为每条批量流指定一条拥塞系数之和最小的传输路径;

步骤S105,持续获取序列到达的多条待注入数据流,并为每条序列流指定一条拥塞系数增量之和最小的传输路径。

其中,为每条批量流指定一条拥塞系数之和最小的传输路径包括:

依次指定每条批量流,搜索其在由有线Fat-Tree结构与无线2D-Torus结构中的链接构成的所有候选路径;

分别计算出每一条链接的拥塞系数,并根据每一条链接的拥塞系数计算每一条候选路径的拥塞系数;

选取拥塞系数最小的候选路径作为指定批量流的传输路径。

并且,每条批量流只在一条候选路径上传输,链接的拥塞系数的最大值不能超过候选路径的拥塞系数,其中,链接的拥塞系数表示使用这条链接的流数量最大值,候选路径的拥塞系数表示经过这条路径的流数量最大值。

并且,搜索其在由有线Fat-Tree结构与无线2D-Torus结构中的链接构成的所有候选路径,包括k2/4条有限路径、一条无线路径与一条混合路径,其中k为无线2D-Torus结构中的pod层数量。

同时,为每条序列流指定一条拥塞系数增量之和最小的传输路径包括:

获取到达的新流与需要重传的旧流,将到达的新流与需要重传的旧流定位需要调度的序列流;

更新有线Fat-Tree结构与无线2D-Torus结构中每条链接的拥塞系数;

依次指定每条序列流,搜索其在由有线Fat-Tree结构与无线2D-Torus结构中的链接构成的所有候选路径;

分别计算出每一条链接的拥塞率,并根据每一条链接的拥塞率计算每一条候选路径的拥塞率,其中,拥塞率为拥塞系数的增量;

选取拥塞率最小的候选路径作为指定批量流的传输路径。

并且,每条序列流只在一条候选路径上传输,链接的拥塞系数的最大值不能超过候选路径的拥塞系数,其中,链接的拥塞系数表示使用这条链接的流数量最大值,候选路径的拥塞系数表示经过这条路径的流数量最大值。

另外,确定混合数据中心网络系统中任意机架对间的路由包括:

在多个机架中设置k个pod,并将每个机架都划入pod中形成k个pod层;

为每个机架按照pod层分配标识并构建pod层逻辑图;

计算起始机架所在pod到目标机架所在pod在pod层逻辑图上的路径Pathhp

遴选Pathhp中的每一条无线连接,使得Pathhp的无线连接路径最短,并获得在机架上的路径Pathht

添加聚合层交换机并将需要的有线连接加入Pathht中,获得路由Pathh

并且,标识包括标识前缀与标识后缀,为每个机架按照pod层分配标识并构建pod层逻辑图包括:

对于任意x∈[0,k],随机选取k/2个无标识前缀机架,将被选取机架的标识前缀置为x,并保证任意两个相邻的机架的标识前缀不同;

为每个机架设置标识后缀,标识后缀取值范围为0到k/2-1,任意两个标识前缀相同的机架的标识后缀不同;

计算当前标识下pod层逻辑图的连通性;

重复执行上述步骤多次,选取连通性最大的标识分配方案作为pod层逻辑图生成结果。

下面根据具体实施例VLCcube来进一步阐述本发明的技术方案。

VLCcube是我们提出的一种代表性的有线数据中心网络结构Fat-Tree的增强结构。VLCcube将所有机架用VLC(Visible Light Communication)链接组网成为无线Torus结构,并形成有线Fat-Tree与无线Torus的耦合结构。

VLC通信技术是调制LED(Lighting Emitting Diodes)或者LD(Laser Diodes)发出的可见光来实现信号传输。VLC通信技术采用OOK(On-Off Keying)调制机制,即接收到光信号便表示逻辑1,没有接收到便表示逻辑0。

在数据率方面,使用高频LED光源时,单色光VLC通信技术能实现3Gbps的数据率;而当使用三色光时,数据率将被扩展到10Gbps。倘若使用LD,单一的450nm激光束便能实现9Gbps的数据率。VLC通信技术的数据率完全能胜任数据中心的数据传输要求。

在传输距离方面,基于LED光源的VLC通信技术能实现10米范围内10Gbps带宽,这已经足够承担数据中心内相邻机架间的通信任务。一个名为Rojia的项目延长VLC通信技术的通信距离到1.4千米,虽然数据率有限。另外,基于LD的VLC通信技术能实现长距离(千米级别)高速率通信,因为激光具有良好的线性性。我们可以将基于LED的VLC通信技术用于数据中心内短距离通信,而基于LD的VLC通信技术作为长距离通信手段。

在可获得性方面,全双工式的VLC通信设备,即收发器,已经被成功研制并对外开放出售。一个名为MOMO的开发平台能为开发者提供开发基于VLC通信技术的应用的API和SDK工具包。比如,VLC通信技术能无缝地与物联网融合,提供室内的位置定位服务等等。另外,PureLiFi能为开发者提供快速配置和测试基于LED设施的可将光通信相关应用。

综上所述,VLC通信技术能够被用于数据中心网络内的通信业务,并且不会带来额外的接线成本,也不需要对已有数据中心硬件环境做出大得改变。

通常而言,每个机架顶端都会配置几个VLC收发器以便将机架互联成为特定的无线拓扑结构。给定一个机架R,当有多个邻居同时向它发送信号时,当R顶端的收发器都能接收到这些信号,却不能有效地区分开的话,干扰就会出现,导致R无法正确解码收到的信号。

我们使用专业的光学仿真软件TracePro70来评估当引入到数据中心里时的干扰情况。在一个机架上,我们放置四个正交方向的收发器,依次为T1,T2,T3和T4。我们让一束LED可见光从3米以外向T1发出,然后用每个收发器的照度分布图来表征每个收发器接收到的光信号的多少。倘若T2,T3和T4能接收到足够多的可见光的话,则证明它们受到了明显的干扰。

图3到图6示出的依次是T1、T2、T3、T4的观测结果。很显然,T1捕获了绝大多数的光信号,而在捕获的光信号又集中于收发器的中央位置。由于可见光传播过程中的散射,有些光线偏离中心位置,因而非中央部位也能感知到一些光照。而相反地,其他三个收发器只能接收到极少的光信号,因为只有极少几个部位能感知到0.001单位的归一化照度;特别地,T3几乎接收不到光信号。其原因是T3位于T1的正后方,光线很难绕过T1到达T3。因此,向T1发射的光信号对其他3个收发器的干扰是很有限的。而在机架顶端放置4个收发器是很合理的,带来的干扰问题是微乎其微。有这一观测结论作为支撑,我们把VLC技术引入数据中心并设计了VLCcube,每个机架放置4个方向正交的收发器。

在数据中心内部,每个服务器都是与其所在机架的架顶交换机连接而接入网络。对典型的有线数据中心而言,这些机架都是通过上层的交换机和链接二组网成一个分层结构,而非直接互联组网。因此,我们着眼于将有线数据中心里的机架通过无线链接直接组网成特定拓扑结构。在本文中,我们以当下被最广泛采用的Fat-Tree为例,将其机架组网为无线Torus结构。以这种方式,我们便构造了混合结构VLCcube,并无缝地将有线Fat-Tree结构和无线Torus结构相融合。

图7示出的是VLCcube无线部分的机架顶层视图,如图7所示,Fat-Tree中的所有机架都用VLC组网为2维无线Torus结构。该Torus结构中共有每一行共有m个机架,而每一列则有n个机架。在每个机架顶端,4个可见光收发器被配置为朝着四个正交的方向,以便尽量避免相互之间的干扰。需要注意的是,VLCcube的有线部分维持了Fat-Tree结构不变,我们所做的是将所有机架用VLC链接组网为Torus。用k表示每个交换机的端口数,并且k为偶数。与Fat-Tree一样,VLCcube有k个pod,每个pod包含k/2个架顶交换机和k/2个聚合交换机。因此,总体而言,VLCcube的无线Torus一共涉及到k2/2个架顶交换机。

为了保证VLCcube的性能,2维Torus必须精心设计。有两大问题需要解决以便充分发挥无线链接的优势:m和n的设置以及机架的放置问题。在2维Torus中,每个维度的交换机都连接成为一个圈,故而该Torus的网络直径为(m+n)/2。所以VLCcube需要设置合适的m和n以便最小化网络直径。另外,2维Torus中远程链接的数量也是m+n,然而这些远程链接的数据率是有限的,最小化m+n能提高网络的总带宽。出于这方面的考虑,我们也需要最小化m+n。至于机架放置问题,由于Fat-Tree中任意两个机架之间的路径长度要么是2跳,要么是4跳,为了最小化VLCcube的网络直径,引入的VLC无线链接必须尽可能将那些相隔4跳的机架直接链接。

如果2维Torus需要容纳k2/2个机架,则参数m和n必须满足:

m*(n-1)<k2/2≤m*n

在VLCcube中,最优化的参数配置是而n的取值则依赖于k2/2。如果(m-1)2<k2/2≤m*(m-1),n取(m-1);否则,如果m*(m-1)<k2/2≤m2,则n的取值与m一样,即

m和n的取值需要最小化m+n。而因此,当且仅当m=n时,m+n达到最小值。再综合考虑不等式(m-1)2<k2/2≤m*(m-1),便能得到m,n和k三者之间的关系。

对于给定的m和n,接下来就是考虑机架的放置问题。在Fat-Tree中,如果一对机架属于同一个pod,则它们之间的路径长度为2跳,否则,需要4跳。VLCcube尽可能将机架间4跳有线路径缩短为1跳无线路径。也就是说,VLCcube中的VLC连接必须用于互联那些不属于同一个pod的机架。

为了清楚地阐明机架放置策略,我们首先介绍机架的标识的概念。图8示出的是一个数据中心内的机架标识图,在VLCcube中,每个机架都有唯一的标识。该标识由两部分组成,前缀和后缀。前缀的取值范围是0到k,表示的是该机架属于哪一个pod。而后缀则在0到k/2之间取值,表示的是该机架在pod内部的编号。举个例子,标识51表示的是第6个pod中的第2个机架。

我们还引入了pod层逻辑图,如图9所示。pod层逻辑图将每个pod看作一个节点,倘若两个pod之间存在一条或者多条无线链接,则在pod层逻辑图中相应节点之间加入一条边。在图8与图9所示的VLCcube当中,k=6,m=5,n=4。根据以上定义,可以推导出相应的pod层逻辑图。本文用pod层逻辑图中边的数量来衡量其连通性。在示例的pod层逻辑图中,共有6个节点和15条边,已经构成一个完全图。因此,给定k的值,pod层逻辑图边的总数不大于k*(k-1)/2。

有了以上定义并给定k,m和n的值,我们设计了三个步骤来构造2维无线Torus。正如图8与图9所示,有可能获得的Torus并不是严格意义上完整的Torus。

第一步,分配标识前缀。对于任意x∈[0,k],我们都随机选取k/2个机架,并将它们的前缀置为x。每个前缀被分配k/2次是因为每个pod中都有k/2个机架。这一步需要满足的唯一约束是任何机架都不能和其四个邻居中的任何一个拥有相同的前缀。如果出现了冲突,重复这一步骤直到所有前缀都被分配到图中。

第二步,计算标识后缀。在机架层逻辑图中,每个机架都有一个后缀来将其与其他同一pod内的机架区分开。而后缀的取值范围为0到k/2。

第三步,提高pod层逻辑图的连通性。我们通过重复以上两个步骤多次,计算每次执行得到的pod层逻辑图的连通性并选取连通性最大的分配方案作为最终结果。

我们进一步证明以上步骤能推导出正确合法的VLCcube。

当k≥4时,以上步骤能得到一个可行的VLCcube构造方案,并且每个pod在机架层逻辑图中出现k/2次。

在第一步中,我们保证了将每个pod分配k/2次到机架层逻辑图中,并且每一条VLC链接只能互联两个不同的pod。假如机架层逻辑图中每个机架被染上一种颜色的话,这等价于证明机架层逻辑图能被k种颜色着色。事实上,VLCcube的机架层逻辑图是4-正则图,也就是说起色数为4。4种颜色就能将该图成功染色,因此,当k≥4时,VLCcube的可行构造方案一定存在。

同时,VLCcube的pod层逻辑图必须是连通的。否则,假设存在VLC链接不能到达的pod的话,VLCcube的性能将不能保证。

同时,以上三个步骤得到的VLCcube的pod层逻辑图是连通的。

值得注意的是,机架层视图是一个2维Torus结构,不管是完整Torus还是非完整Torus,它都是一个连通图。也就是说,给定任意机架xiyi,它能找到一条到达任意目的机架xjyj的路径,当把该路径映射到pod层逻辑图上时,就找到一条从podxi到podxj的路径。因此,VLCcube的pod层逻辑图是连通的。

上述论证保证了VLCcube构造方法的合理性。第三步则通过重复执行选最优而提升了pod层逻辑图的连通性。这样做的理论依据是,多次执行之后,更有可能获得更优的解。我们会在后续的实验中验证其具体效果。

从拓扑设计的视角来看,VLCcube集成了Fat-Tree和Torus的拓扑特性,包括扩展性、常量度、多路径以及容错性。另外,VLCcube易有于部署和即插即用的特性(可见光通信设备一旦安置好,在使用过程中不再需要后续的调整和控制)。还需要注意的是,VLCcube实现了机架层面的无线组网,并没有对已有的Fat-Tree结构和机房周围环境做任何改变。

对于任意一对机架,它们之间并存着有线路径,无线路径以及有线无线混合路径。在本实施例中,我们聚焦于设计VLCcube的混合链路路由算法。为了最小化网络拥塞,我们对VLCcube网络拥塞系数进行了建模,并分别针对批量流量和序列流量提出拥塞感知的流调度算法。

给定任意一对机架,混合路径Pathh中既包含了有线链接,也包含了无线链接。也就是说,在设计混合路由算法时,必须综合考虑Fat-Tree和Torus的拓扑特性。根据VLCcube本身的特征,我们设计了一种自顶而下的混合路由算法。假设源端机架和目的端机架分别为xiyi和xjyj,我们首先得到pod层逻辑图中从podxi到podxj的路径,然后将pod层面的路径具体化到机架层面。在具体化的过程中,需要选定合理的VLC链接。最后,将涉及到的有线链接加入到路径当中。

首先,计算从源pod到目的pod在pod层逻辑图中的路径,Pathhp。这一步比较简单,因为pod层逻辑图中只有k个节点。

然后,遴选出Pathhp中的每一条无线链接,也就是计算机架层面的路径Pathht。因为一对pod之间可能存在多条可选的无线链接,而选择不同的无线链接会导致不同的链路长度。因此,在Pathhp中的每一跳都应该选择那些导致最短路径的无线链接。在图9所示的VLCcube中,我们将源端机架定为11,目的端机架定为41。在pod层逻辑图中,pod 1和pod 4是邻居。而在机架层逻辑图中,有三条可选链接直接互联了pod 1和pod 4,即和如果选用的话,机架11需要传输到10,而40则需要转发数据到41,导致的结果是pod 1和pod 4都需要一个聚合层交换机作为中继。然而,倘若选取或者则分别只需要一个聚合层交换机作为中继,即11到12和11到10个需要一跳中继。所以,会导致5跳路径长度,而或者只需要4跳。

最后,将所需要的有线链接加入到路径Pathht中。这一步是向路径中添加必要的聚合层交换机。在每个pod中,聚合层交换机和架顶交换机构成完全二分图,因此,该pod中的任意聚合层交换机都可以作为任意两个架顶交换机之间的中继。所以,在这一步中,我们随机选取所需的聚合层交换机。

采用以上三步,可以计算出任意两个机架之间的最短混合路径。第一步的时间复杂度是O(k2),第二步和第三步的时间复杂度为O(0)。因此,该路由算法的时间复杂度为O(k2)。值得注意的是,k表示的是交换机端口数量(往往小于100),所以O(k2)的复杂度是可以接受的。

我们在有线数据中心引入无线链路以提升其网络性能,主要手段是将所有机架用无线链接组网为Torus结构。为了充分发挥VLC链接的作用以及最小化网络延时,我们提出调度模型以优化批量和序列流量下的网络拥塞系数。在Torus中,由于每个机架安装了4个收发器,使得任意机架可以同时与其4个邻居同时通信。在这里,我们首先引入必要的概念和定义。

我们用G(V,E)表示一个数据中心网络,其中V和E分别表示节点集合和边集合。另外,F=(f1,f2,…fδ)表示注入到网络中的δ条流。对于每一条流fi=(si,di,bi),si,di和bi分别表示该流的源端交换机,目的端交换机和所需的带宽。φ表示一种能在成功传输F的调度方案。

定义1:给定F和φ,网络中任意一条链接e的拥塞系数定义为

其中,t(e)和c(e)分别表示通过链接e的流量以及链接e的容量(带宽)。任意都在[0,1]区间范围内,特别地,当没有任何流通过该链接时,其拥塞系数为0,而当该链接被完全利用时,其拥塞系数为1。

定义2:一条路径P的拥塞系数为

有了此定义,我们可以锁定路径中得拥塞节点,并且判断某条路径是否能胜任后续的流量传输任务。

定义3:SBF问题(scheduling batched flows)为给定数据中心网络G(V,E)和需要传输的流量F,批量流调度的目标是寻找一种合理的路径分配方案φ*,使得最小化。

本文将SBF问题建模如下:

Minimize Z

bmin/cmax≤Z≤bmax/cmin

在上述模型中,i是介于0和δ之间的一个整数,in(v)和out(v)分别表示VLCcube中节点v上的流入和流出的流量的集合,tf表示的是流f的大小。模型中的前三个公式保证了每一条流只在一条路径上传输;第四个公式确定了目标函数Z的上下界,其中bmax和bmin分别表示的是流大小的最大最小值,相应地,cmax和cmin分别表示VLCcube中的链接容量的最大最小值;第五个公式确定了每条链接拥塞系数的上界不能大于Z,其中,表征是否e被流fi占用,如果是,取值为1,反之取值为0。

SBF问题是一个典型的整数线性规划问题,也是NP难问题,不能再多项式时间内求得解。为此,本文设计一种轻量级的算法来求解出可行解。对于任意fi∈F,我们搜索出VLCcube中存在的三种路径,并将其记为事实上,包含k2/4有线路径,以及无线和混合路径各一条。为了求解出F的流调度方案,本文设计了一种基于拥塞系数的启发式算法。

定义4:给定流量集合F,每条流fi都计算出其路径集合e∈E的拥塞系数,记作le,是F中所有流的候选路径中经过该链接的路径数的总和。

定义5:对于任意路径其拥塞系数,记作lP,是该路径上所有链接的拥塞系数的和,即lP=∑e∈P le

实质上,链接e和路径P的拥塞系数能表征其被多条流占用的概率。因此,我们将lP作为启发式算法中判断fi是否应该占用P的主要依据。具体而言,对于fi,启发式算法从其所有候选路径中选取拥塞系数最小的路径作为其传输路径。

根据拥塞系数的定义,算法1给出了我们设计的贪心算法的基本思想。针对每一条流,我们首先搜索出其条候选路径,然后计算出VLCcube中每一条链接的拥塞系数。之后,回到每条流上,对于任意流fi,计算出其所有候选路径的拥塞系数。从中选出拥塞系数最小者作为fi的传输路径。此算法在搜索所有流的候选路径阶段的时间复杂度为O(δ*(k2+k+4)),在筛选路径阶段的时间复杂度为O(δ*(k2/4+2))。所以,总体而言,该算法的时间复杂度为O(δ*k2)。

链接e的拥塞系数代表的是至多有le条流使用这条链接;类似地,路径P的拥塞系数意味着至多有lP条流经过该路径。如果不采取调度策略的话,任意路径有均等的概率被fi选中作为其传输路径。根据这一观察,定理4、5、6证明了用路径拥塞系数作为贪心算法筛选依据的正确性。

定理4:在VLCcube中,给定流fi∈F,e是网络中的任意一条链接,则e被fi使用的概率是:

其中,Fe表示可能使用链接e的流的集合,是链接e上由流fi而引起的拥塞系数,因为可能存在不止一条fi的候选路径经过该链接的情况。

证明:对于任意的流fi∈Fe,如果有中的条候选路径经过e,则否则,fi将不可能使用链接e。

定理5:在VLCcube中,对于任意的流fi∈Fe,η表示在调度方案Φ中,通过链接e的流的数量,则有:

证明:给定流量集合F,这些流是否使用链接e是相互独立的,因此,和就可以计算出来,而相应的也可以推算。

定理6:考虑F中的一条流fi,η表示经过路径的流的数量,而E(P)是路径P上的链接组成的集合,对于任意P,有:

证明:对于中的一条路径P,η=0表示没有任何一条流使用该路径,而η=1则表示该路径被fi使用或者P上至少有一条链接被除fi之外的其他流使用。因此,可以计算出以及的概率。

根据定理4的结论,定理5、6计算出没有流或只有一条流使用链接e和路径P的概率。需要注意的是,当η≥2时,链接e和路径P可能出现拥塞,因为前一条流的传输时间可能会过长会导致后来的流超时而丢包。定理5与定理6表明,le的值越大,越有可能出现两条以上的流使用链接e或者路径P的情况(就越有可能出现拥塞)。因此,路径P出现拥塞的概率与lP的值成正比。这样一来,算法1中以路径的拥塞系数作为筛选路径的依据的正确性便得以证明。由于提出的贪心算法选择拥塞系数最小的路径传输流量,VLCcube的网络拥塞率将会大大减小。

然而,数据中心内部的流量并不都是批量的,实际上,流量通常是序列到达并呈动态。Φ0表示当前已经存在的流调度策略,FN表示新到达的流,FO表示由于网络原因需要重传的旧流。因此,需要调度的流量集合为F1=FN+FO。以F1作为输入,我们定义序列流调度问题如下:

定义6:SOF(scheduling online flows)问题,即动态流调度问题的目标是求出新的调度方案Φ1使得传输新流量带来的拥塞率的增量最小。让ΔZ=Z1-Z0,其中而目标就是要最小化ΔZ。

SOF问题会在新流到达或者一些已有的流需要重传的时候被触发。SOF问题同样是一个与SBF相似的整数线性规划问题,出于篇幅的考虑,本文省略了其模型的具体内容。

SOF问题需要最小化Z1,所以算法2中的策略同样能用于求解该问题,然而,由于SOF问题可能经常被触发,导致该算法被多次运行而产生巨大的计算开销。为此,我们仅仅考虑那些在F1中的流,并提出一种贪心算法来解决SOF问题。对于F1中的任意一条流,我们的基本想法是让其采用使已有网络增加最少拥塞率的那条链路作为其传输路径。

正如算法2所示,我们的贪心策略首先计算那些需要纳入调度范围的流量,也就是说,需要鉴别那些已经完成的流,新到达的流和传输失败的流。该算法必须知道当前哪些设备和链接时可用的,因此需要更新整个网络的状态。之后,针对F1中的流,本算法需要搜索出每条流的三种候选路径。在计算出fi的后选路径之后,算法会根据bi和ci的值计算出每条候选路径的拥塞率。随后从中选出拥塞率最小者作为fi的传输路径。当所有F1中的流都分配到一条路径之后,算法会返回SOF问题的求解结果Sonline。由于F1中一共有δ1条流,以上过程将会被执行δ1次,而每一次都需要花费O(k2+k)的时间用于搜索流的候选路径,因此,该算法的时间复杂度为O(δ1*k2)。

定理7:对于序列流量来讲,算法2优于ECMP调度方法。

证明:对于F1中的任意流fi,当使用ECMP调度方法时,fi的拥塞的期望是:

而相反,使用算法2时,fi的拥塞的期望是:

显然,算法2导致的拥塞不会超过ECMP调度方法导致的拥塞,定理得证。

下面对本发明所述的排序方法的效果进行评价。

我们用专业网络仿真软件NS3(Network Simulator)实现了VLCcube和Fat-Tree。给定k的值,可以得到Fat-Tree结构,而VLCcube则可以按照上文给出的构造方法得到。VLCcube中的有线连接和短程无线链接的带宽设置为10Gbps,而长距离无线链接的带宽被限定为100Mbps。网络中的重传时间(RTO,retransmission timeout)固定为2秒。基于以上参数设置,我们首先比较二者拓扑层面的优劣,然后比较有线路径,无线路径和混合路径三种路由算法的时间复杂度。最后,我们着重衡量二者的网络性能。

我们的实验考虑了三种不同的流量模式:1)Trace流量:雅虎数据中心记录下来的流量;2):Stride-i流量:网络中标号为x的服务器向标号为(x+i)mod N的服务器发送数据包,其中N为网络中服务器的总数量;3):Random流量:每条流的源端和目的端都是随机选取的。网络吞吐量和丢包率被用来衡量网络在不同流量模式下的性能。

为了验证我们提出的调度算法的性能,我们首先比较VLCcube和Fat-Tree都使用ECMP调度方法时的网络性能,然后再比较ECMP和拥塞感知的流调度算法给VLCcube网络性能带来的影响。需要注意的是,序列流量的到达时间服从泊松分布。

为了比较VLCcube和Fat-Tree在拓扑层面的优劣,我们测量了两种网络的平均路径长度和网络总带宽。如图10与图11所示,相较Fat-Tree而言,VLCcube能提供更多网络带宽,并拥有更短的平均路径长度。造成这些优势的原因是VLCcube中引入了额外的VLC无线链接。同时,我们观察到,引入的VLC无线链接对网络平均路径的影响呈现出边际递减的趋势。也就是说,当网络规模较小时,VLC无线链接能更加显著地降低平均路径长度。实际上,给定k的值,VLCcube中有k2条VLC无线链接,而网络中有线和无线链接的总数是k3/2+k2。随着k的增加,VLC无线链接占总链接数的比例逐渐下降,从而导致上述边际效应的出现。

我们多次执行VLCcube构建方法,并选出其中最优的VLCcube构建方案。为了易于比较,所生成的VLCcube的pod层逻辑图的连通性(pod层逻辑图中边的数量)被相应的完全图归一化。在图12中,VLCcube1,VLCcube2和VLCcube10分别表示执行VLCcube构建方法1次,2次和10次时所得的VLCcube结构的pod层逻辑图的连通性。显然,随着k的增加pod层逻辑图的连通性递减,而执行构建方法的次数越多,得到的结构也就越优越,因为更有可能获得较好的机架放置方案。

我们还进一步比较搜索有线路径,无线路径和混合路径的路由算法的时间复杂度。图13记录了三种算法的时间开销,可以看出,随着网络规模的增加,混合路径的路由算法的时间消耗不断增加并比其他两者消耗更大。而无线路径路由算法的时间开销也有着不断增长的趋势,从0.2毫秒增加到了0.575毫秒。需要注意的是,有线路径路由算法的时间开销最小并稳定地保持在很低的水平,即0.09毫秒。所以总的来讲,有线路径路由算法的时间复杂度是常数,而其他两种路由算法的复杂度分别与k和k2成正比。

因此,根据以上结果,可以断定VLCcube能提供更多网络带宽,并拥有更短的平均路径长度,也就是说具有更好的拓扑性能。

我们还比较了VLCcube和Fat-Tree都采用ECMP时的网络吞吐量和丢包率。在不同的流量模式下,通过改变k的值从6增加到60来调整网络规模,并观察和记录网络吞吐量和丢包率。另外,我们的实验还控制平均流大小从5Mb到300Mb来揭示流大小对网络性能的影响。但是基于真实Trace的流大小是无法改变的,由Trace的数据决定。在每次测试中,网络吞吐量用VLCcube中k=60是的吞吐量或者当平均流大小为300Mb时的吞吐量归一化。

对于Trace流量,本文使用的雅虎的Trace记录了其6个分布式数据中心一段时间内每条流的基本信息,包括源端和目的端服务器的IP地址,流大小及其所用的端口号等等。通过识别流所用的端口号,可以判断该流量是某个数据中心内部流量还是跨数据中心的流量。之后,我们在实验中向VLCcube和Fat-Tree分别注入随机选取的k3条流以评估它们的性能。

图14与图15记录了VLCcube和Fat-Tree在k的值从6增加到60过程中,在Trace流量下的吞吐量和丢包率。结果显示,相较Fat-Tree而言,VLCcube能提供多于8.5%的吞吐量,并减少39%的丢包率。其深层次原因是VLCcube引入了无线链接,使得每条流有更多的路径可选。

对于Stride-2k流量,在给定流平均大小为150Mb的情况下,我们使k的值从6增加到60,当注入k3条流时,记录下网络吞吐量和丢包率,图16与图17分别展示了实验结果。随着k的增加,VLCcube和Fat-Tree都能传输更多数量的流,因此它们的吞吐量都不断增长。然而,平均来看,VLCcube比Fat-Tree能提供15.14%更多的吞吐量,而丢包率也更少。

同时,为了测量流大小对性能的影响,我们固定k=36,而流的平均大小从50Mb增加到300Mb,并向网络中注入k3条流。如图18与图19所示,VLCcube仍然优于Fat-Tree。具体而言,甚至当流的平均大小为150Mb时,VLCcube拥有14.31%更多的吞吐量,而丢包率也小得多。

对于随机流量模式,流的源端和目的端服务器是随机选取的,同样地,网络中注入了k3条流。

首先,我们固定流的平均大小为150Mb,而决定网络规模的k的值从6增加到60。如图20所示,VLCcube和Fat-Tree的吞吐量都急剧增加,而平均来看,VLCcube仍然更优越,比Fat-Tree多10.44%吞吐量。图21显示出,在k≥18以后,Fat-Tree一直遭受很高的丢包率,而VLCcube中的丢包率却一直维持在低水平。具体而言,VLCcube和Fat-Tree平均的丢包率分别是0.27%和2.45%。

我们进一步度量流大小的影响并固定k=36。图22与图23表明,随着输入的流的大小的增加,网络中吞吐量也不断攀升。与此同时,丢包率不断上升。然而,VLCcube还是维持了较大的优势,相较Fat-Tree而言。拥有更高吞吐量的同时保持较低的丢包率。

因此,通过实验证明,在都使用ECMP调度算法时,即使在不同的网络流量模型下,VLCcube在网络性能上较Fat-Tree更具有优势。

虽然以上实验已经充分证明VLCcube优于Fat-Tree,但实际上,当使用ECMP时,VLCcube的拓扑优势并没有被完全挖掘出来。因此,我们还另外评估了VLCcube采用拥塞感知的流调度算法时的性能。

首先,当k从6增加到42的过程中,我们向VLCcube中引入k3条批量的随机流量。实验中所得到的吞吐量通过采用ECMP调度方法时的吞吐量进行归一化。正如图24和图25所示,ECMP使网络获得更少的吞吐量的同时,还让网络受制于更大的丢包率。而相反,我们提出的针对批量流量的SBF算法,能实现1.54倍吞吐量,并且网络丢包率也很低(特别地,在k从6增加到18过程中降低明显)。其根本原因是,SBF为流量提供了更多候选路径,从而将流量在VLCcube中尽量分散。

另外,VLCcube用我们提出的SOF算法来调度序列流量。在实验中,我们将k的值设计在6增加到24之间,并同样注入k3条序列随机流量。流的到达时间设定为服从参数为λ的泊松分布。图26和图27记录了实验结果。图中的ECMP-x和SOF-x分别代表当λ=x时采用ECMP和SOF调度方法时的结果。实验结果显示,当λ=2和λ=4时,SOF能比ECMP获得2.22倍和5.56倍吞吐量,而丢包率却分别只为其0.340倍和0.178倍。我们注意到,当λ=4时,ECMP和SOF都优于λ=2时的结果。其原因是,随着λ的增加,流到达的时间相对分散,同时到达的流比较少,从而导致出现拥塞的概率较小,而丢包率就相应降低。

因此,SBF和SOF都能有效地提高提高VLCcube的网络性能,相较ECMP而言,能减小丢包率。

综上所述,借助于本发明的上述技术方案,本文提出了一种易于部署,高效能的新型数据中心结构VLCcube。为了提升已有的有线数据中心网络Fat-Tree,本文采用正在兴起的可见光通信技术将机架互联组网成无线Torus结构,引入的可见光链接能有效降低网路平均路径长度并提高网络带宽。同时,本文还针对批量和序列两种流量模式分别设计了流量感知的流调度方法,以此充分利用VLCcube的优势。通过使用建立无线2D-Torus结构组网与已有的有线Fat-Tree机架结构相耦合并使混合结构作为一个整体工作的技术手段,在不改变有线数据中心的已有设备与布局的前提下建立不需要任何控制的跨机架无线连接,在小成本下大幅度扩展有线数据中心,并提升网络灵活性。同时,使用将到达的数据流拆分为批量流和数据流,先调度批量流再调度数据流的技术手段,进一步提升了混合结构的网络性能。实验评估结果显示,VLCcube显著优于Fat-Tree,而本文提出的流调度算法能充分提高VLCcube的性能。

所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1