内容提要
数据中心是云计算的核心基础设施。本章综述了数据中心网络的国际研究现状,包括拓扑设计、传输协议、无线通信、虚拟化、增强以太网和节能机制等内容,以及软件定义网络应用到数据中心网络的情况。
8.1 引言
作为云计算的核心基础设施,数据中心在近年来得到了学术界和工业界的极大关注。数据中心网络是连接数据中心大规模服务器进行大型分布式计算的桥梁,因此成为热点中的热点。究其原因,主要有以下几点。
(1)云计算的核心价值之一在于大数据的集中处理。随着数据中心流量从传统的“南北流量”为主演变为“东西流量”为主,对网络带宽和性能提出了很大的挑战。由于传统数据中心网络不能很好地满足云计算大数据处理的带宽要求,数据中心网络已经成为现代云计算的瓶颈。设计新型的数据中心网络拓扑结构和传输协议,是提高云计算性能和用户体验、推动云计算发展的重要需求。
(2)云计算的另一个重要特点是资源的统计复用,因此虚拟化技术在云计算中尤其重要。传统的计算虚拟化和存储虚拟化技术相对成熟,而网络虚拟化技术则发展缓慢(部分原因是缺乏云计算数据中心网络这样的需求平台)。由于网络资源的共享特性,为云计算租户的虚拟数据中心网络之间提供安全隔离、带宽保障和灵活调度,是实现云计算资源复用的必然要求。
(3)作为可控可管的大规模网络环境,云计算数据中心为网络技术发展提供了良好的创新平台。互联网技术创新的主要难点之一在于众多运营商之间的协调和博弈,缺乏部署实现的激励机制。而数据中心网络往往为云计算提供商所独有,云计算提供商为了提高服务性能和收益,有较强动力进行网络技术革新。今年早些时候Google公布已在数据中心网络全面部署OpenFlow[77],就是一个典型的例子。
基于上述原因,数据中心网络研究已经成为计算机网络领域近年来最大的研究热点。在学术界,以计算机网络方向的顶级国际会议SIGCOMM为例,自从SIGCOMM 2008首次发表了2篇数据中心网络的论文以来,每年发表的数据中心网络方向的论文数量都在快速增长。SIGCOMM 2011、2012连续两年的数据中心网络论文数量更是占到论文总数的三分之一以上。国际顶尖研究院如微软研究院、IBM研究院、惠普研究院等,以及世界顶尖大学如UC Berkeley、MIT、Stanford、CMU、UIUC、UCSD、Cornell、Cambridge等都以极大的力度开展数据中心网络的研究。
在标准化工作方面,国际互联网标准化组织IETF成立了以数据中心网络为主要应用场景的工作组SDN(Software Driven Networking),IEEE也成立了针对数据中心网络的任务组DCB(Data Center Bridge)。在工业界,Cisco、Juniper、华为等设备厂商先后推出了数据中心交换机产品;Amazon、Google、Microsoft、Facebook等云计算提供商也在世界各地修建了能容纳数万台甚至数十万台服务器的大型数据中心,并在网络架构、节能示范等方面进行了大胆革新。
8.2 研究现状介绍
本节介绍数据中心网络的国际研究现状,包括拓扑设计、传输协议、无线通信技术、虚拟化、增强以太网、节能机制等方面。
8.2.1 数据中心网络拓扑设计
传统数据中心网络普遍采用树形拓扑方案[1]。典型的拓扑由三层交换机互联构成,分别是接入层交换机、汇聚层交换机和核心层交换机。但实践证明这种拓扑方案已经不能很好地适应当前云计算数据中心的业务需求[2-4]。第一,树形拓扑对顶层网络设备的要求高,尤其是当网络规模较大时;第二,网络存在单点失效问题,容错性差;第三,树形拓扑的网络带宽不足,无法较好地支持以“东西流量”为主的数据中心分布式计算。因此,近年来学术界对数据中心网络拓扑展开了广泛的研究。
当前提出的新型数据中心网络拓扑方案可以分为两类:分别是以交换机为核心的拓扑方案和以服务器为核心的拓扑方案。其中,在以交换机为核心的拓扑中,网络连接和路由功能主要由交换机完成。这类新型拓扑结构要么采用更多数量的交换机互联,要么融合光交换机进行网络互联,因此要求升级交换机软件或硬件,但不用升级服务器软/硬件。代表方案包括Fat-Tree[2,5]、VL2[3]、Helios[9]、c-Through[10]、OSA[11]等。在以服务器为核心的拓扑中,主要的互联和路由功能放在服务器上,交换机只提供简单的纵横式(crossbar)交换功能。此类方案中,服务器往往通过多个接口接入网络,为更好地支持各种流量模式提供了物理条件,因此需要对服务器进行硬件和软件升级,但不用升级交换机。具体方案包括DCell[4]、BCube[6]、FiConn[7]、CamCube[8]、MDCube[12]、uFix[13]、BCN等。
1.以交换机为核心的拓扑方案
Fat-Tree[2,5]仍采用三层拓扑结构进行交换机级联。但与传统树形结构不同的是,接入交换机和汇聚交换机被划分为不同的集群。在一个集群中,每台接入交换机与每台汇聚交换机都相连,构成一个完全二分图。每个汇聚交换机与某一部分核心交换机连接,使得每个集群与任何一个核心层交换机都相连。Fat-Tree结构中提供足够多的核心交换机保证1:1的网络超额订购率(over subscription ratio),提供服务器之间的无阻塞通信。典型Fat-Tree拓扑中所有交换机均为1GB端口的普通商用交换机。
与Fat-Tree一样,VL2[3]也通过三层级联的交换机拓扑结构为服务器之间的通信提供无阻塞网络交换。但不同的是,VL2中的汇聚交换机和核心交换机都采用10GB端口以减小布线开销。VL2方案中,若干台(通常是20台)服务器连接到一个接入交换机,每台接入交换机与两台汇聚交换机相连。每台汇聚交换机与所有核心交换机相连,构成一个完全二分图,以保证足够大的网络容量。
Helios[9]网络是一个两层的多根树结构,主要应用于集装箱规模的数据中心网络。Helios将所有服务器划分为若干个集群,每个集群中的服务器连接到接入交换机。接入交换机同时还与顶层的分组交换机和光交换机相连。该拓扑保证了服务器之间的通信可使用分组链路,也可使用光纤链路。一个集中式的拓扑管理程序实时地对网络中各个服务器之间的流量进行监测,并对未来流量需求进行估算。拓扑管理程序会根据估算结果对网络资源进行动态配置,使流量大的数据流使用光纤链路进行传输、流量小的数据流仍然使用分组链路进行传输,从而实现网络资源的最佳利用。
c-Through[10]拓扑方案在传统的三层树形拓扑基础上,将所有接入交换机通过光交换机连接起来,构成一个融合了分组交换和电路交换的混合型网络拓扑。与Helios方案类似,c-Through方案同样使用一个集中式的控制器对网络流量进行统计。与Helios不同的是,c-Through方案对机架之间的流量(而不是各个服务器之间的流量)进行统计,并根据统计结果指示光交换机进行通信链路的动态配置。
OSA[11]在网络内部采用了全光信号传输,仅在服务器与接入交换机之间使用电信号传输。OSA的应用场景是集装箱规模的数据中心网络。OSA通过光交换机将所有接入交换机连接起来。由于服务器发出的都是电信号,因此OSA在接入交换机中放置光收发器(Optical Transceiver),用于光电转换;然后利用波长选择开关(Wavelength Selective Switch)将接收到的不同波长映射到不同的出端口;再通过光开关矩阵(Optical Switching Matrix)在不同端口之间按需实现光交换。为了更有效地利用光交换机的端口,通过使用光环流器(Optical Circulator)实现在同一条光纤上双向传输数据。Helios和c-Through都只提供了一跳光信号传输,而OSA则实现了多跳光信号传输。不过在中间每一跳,都需要进行“光—电—光”的转换。OSA的最大特点是利用光网络配置灵活的特点,能够根据实际需求动态调整拓扑,大大提高了应用的灵活性。
总的来说,引入光交换的拓扑方案的优势在于依靠光交换网络提供的高带宽、网络资源动态配置等优势为上层应用提供灵活的服务,而且有效地降低了组网的复杂度。但由于光交换网络是面向连接的网络,将不可避免地引入时延,这将对搜索等对时延要求较高的应用带来影响。另外,与分组交换相比,光交换对突发流量的支持不好。
2.以服务器为核心的拓扑方案
在以服务器为核心的拓扑方案中,大部分方案都具有层次性。这种分层拓扑结构的共同点是第0层网络都是由一台交换机连接若干台服务器构成的,高层网络通过连接若干个低层网络构成。连接低层网络的方法有两种:一种是不通过交换机,直接通过服务器端口进行连接(即拓扑的层数受限于服务器的端口数),因此交换机只出现在第0层网络中,代表拓扑方案是DCell[4]和FiConn[7];另一种是通过交换机进行连接,代表拓扑方案是BCube[6]和MDCube[12]。
在构建完整的DCell[4]网络过程中,在由较低层次的网络互联构成较高层次的网络时,需要的低层次网络个数等于每个低层次网络中的服务器个数。互联的标准是每个低层次网络中的每台服务器分别与其他每个低层次网络中的某台服务器相连。如果将每个低层次网络看做一个虚拟节点,则高层次DCell网络是由若干个低层次DCell网络构成的完全图。DCell拓扑的优势是网络可扩展性好。例如,使用6口的小型交换机,构建三层DCell网络最多可以互联3 263 442台服务器。
FiConn[7]网络的构建方式与DCell网络相似,但与DCell不同的是,FiConn只使用具有两个端口(一个主用端口,一个备用端口)的服务器。其中主用端口用于连接第0层网络,备用端口用于连接高层网络。在进行层次化网络互联的过程中,每个低层FiConn网络中备用端口空闲的一半服务器会与其他相同层次的FiConn网络中备用端口空闲的服务器连接,构建高层次的FiConn网络。与DCell类似,高层次的FiConn网络是由若干个低层次的FiConn网络构成的一个完全图。该拓扑方案的优点是不需要对服务器和交换机的硬件做任何修改。BCN[84]也针对双端口服务器提出了高可扩展的互联结构。
BCube[6]与DCell和FiConn的主要区别在于BCube使用交换机进行层次化网络的构建。BCube通过若干个交换机将多个低层BCube网络互联起来,其中每个高层交换机与每个低层BCube网络都相连。在互联时,每层需要的交换机个数由0层网络中服务器的个数及层数决定。BCube主要为集装箱规模的数据中心设计,其最大优势是链路资源非常丰富,同时采用集装箱构造有利于解决布线问题。
MDCube[12]用于连接采用BCube构建的数据中心集装箱。MDCube是一个多维的拓扑结构,它可以互联的数据中心集装箱的个数是所有维度上可容纳的数据中心个数的乘积。MDCube使用光纤来连接数据中心集装箱。如果将每个采用BCube拓扑构建的数据中心集装箱看做一个虚节点,那么整个MDCube实质就是一个HyperCube网络。
此外,CamCube[8]同样是应用于集装箱数据中心的网络拓扑,其实质是一个k-ary d-cube网络,即该网络是一个d维网络,且每维有k台服务器。该拓扑方案的显著特点是整个网络中不使用任何交换机,是一个完全由服务器直接相连构成的网络。在每一维度中,所有服务器首尾相连,构成一个环。
uFix[13]也是为了对数据中心集装箱进行互联而提出的拓扑结构,但对集装箱内部所采用的拓扑结构没有限制,即可以连接异构的数据中心集装箱。uFix要求每个数据中心集装箱至少有一定数量的服务器空闲端口进行集装箱之间的互联,互联时需要使用的端口数量由互联规模决定。在构建超大型数据中心网络时,使用uFix不需要对原有的数据中心网络做任何更新,只是利用服务器空闲端口进行互联,不需要增加额外的网络设备。
8.2.2 数据中心网络传输协议
与互联网一样,当前数据中心网络仍然广泛采用TCP传输数据。但一方面由于数据中心网络应用的特殊性,造成在特定情况下TCP会遭遇性能急剧下降,典型的现象是TCP Incast[15];另一方面,数据中心网络链路资源比互联网丰富很多,而传统的单路径传输层协议不能很好地利用拓扑中丰富的链路资源,导致网络资源的浪费。此外,数据中心不同的应用可能需要不同的传输协议,为数据中心特定应用定制相应的传输协议,也是近来的研究热点。
与此同时,数据中心网络的很多应用都具有典型的组通信模式(如分布式文件存储系统、软件升级等),而组播技术在互联网部署时遭遇的缺乏合理计价机制、安全性等问题在数据中心的集中可控环境中不复存在,因此数据中心也为组播提供了一个很好的应用平台。但数据中心组播的部署也面临新的挑战。目前数据中心网络的设计趋势是使用低端交换机进行网络互联,而用户需求可能导致大量的组播组,超过低端交换机的硬件限制。此外,云计算服务的服务质量需求对组播数据传输的可靠性也提出了较高的要求。
1.数据中心网络TCP协议
1)TCP Incast
数据中心网络有一种通信模式是一台客户端向多台服务器同时发出数据请求(对应数据中心的典型分布式文件系统场景),这些服务器在收到请求后,会向发出请求的客户端同时返回数据。然而由于数据中心普遍采用低端交换机,这种通信模式会造成交换机的缓冲区溢出,发生丢包,从而导致网络吞吐量急剧下降,这种现象被称为TCP Incast。发生TCP Incast的前提条件包括[16]:①网络具有高带宽、低延时特性,而且交换机的缓存小;②网络中存在同步的多对一流量;③每条TCP连接上的数据流量较小。
针对TCP Incast,学术界首先对其导致网络吞吐量下降的原因进行了分析。当交换机缓冲区溢出导致丢包时,TCP通过两种方式进行数据重传:一是通过定时器机制触发超时重传;二是通过接收到重复的ACK报文触发快速重传。传统TCP的重传定时器(RTO)一般不低于200ms,而数据中心网络环境的往返延迟(RTT)一般在微秒数量级,因此一旦发生超时重传,将会导致网络链路长时间处于空闲状态,从而造成网络吞吐量严重下降。参考文献[16-17]均认为丢包导致超时重传,且TCP重传RTO的超时时间与RTT值严重失配是导致TCP Incast的根本原因。参考文献[18]在此基础上,将通信过程中发生超时重传的类型划分为BHTO(Block Head Time Out)和BTTO(Block Tail Time Out)两类。其中,BHTO一般发生于通信过程的开始阶段,由于整个窗口的数据被丢弃,从而发生超时重传;BTTO一般发生于通信过程的结束阶段,由于最后的三个报文中至少有一个被丢弃,从而造成无法触发快速重传,导致超时重传。
除此之外,学术界提出了若干种方案解决TCP Incast问题。这些方案大致可以分为三类:①减小RTO值,使之与RTT匹配;②设计新的拥塞控制算法;③采用基于编码的传输方案。
参考文献[16-17]均通过减小发送方RTO定时器时间至微秒级别来减轻TCP Incast对系统性能的影响。由于RTO的值与RTT匹配,即使发生超时重传,发送端也能及时地重传丢失的数据,进行数据恢复,不会造成链路长时间处于空闲状态,从而保证网络吞吐量不会大幅下降。但将RTO值修改为微秒级别往往需要升级操作系统甚至硬件。另外,在光交换网络中,即使微秒级别的RTO,对性能的改善也不会太明显。
ICTCP[19]和DCTCP[20]通过设计新的拥塞控制算法来解决TCP Incast问题。ICTCP通过实时监测接收方的流量速率来动态调整接收方的接收窗口,从而有效控制发送方的发送速率。ICTCP对接收窗口的调节采用与拥塞窗口相同的机制:慢启动和拥塞避免。DCTCP的核心思想是在不影响网络吞吐量的前提下,尽量保持交换机中队列长度较短。DCTCP的实现利用了显式拥塞通知(Explicit Congestion Notification, ECN)功能,在交换机队列长度超过一定阈值时,向源端通告并让源端降低发送速度,避免丢包。
参考文献[21]提出的解决方案摒弃了TCP,使用UDP传输数据。由于UDP没有类似TCP的拥塞控制机制,因此即使发生丢包也不会造成发送方降低发送速度或停止发送。但采用UDP同时也带来了挑战:①UDP无法保证数据的可靠传输;②UDP会不公平地抢占网络中其他TCP流的带宽。该方案使用了数据喷泉码保证数据的可靠传输,并通过部署TFRC(TCP Friendly Rate Control)保证TCP友好。
2)多径TCP
传统TCP协议在一对源端和目的端之间只建立一条连接传输数据。但为了解决数据中心网络的诸多问题,学术界在近几年提出了若干种新的“富连接”拓扑方案,如Fat-Tree、VL2和BCube等。这些拓扑中任意一对源端和目的端之间同时存在多条路径。为了充分利用链路资源、提高网络吞吐率,多径TCP(MPTCP)[27-29]被引入数据中心网络中。MPTCP在同一对源端和目的端之间建立多个连接,源端将数据拆分成若干部分,使用不同的连接同时进行数据传输。MPTCP相较于标准TCP的不同的地方有如下几方面。
(1)MPTCP的连接建立操作比标准TCP复杂。MPTCP在连接建立阶段,要求服务器端向客户端返回服务器端所有的地址信息,用于客户端建立连接使用。不同子流的源/目的地址信息可以相同,也可以不同。
(2)各个子流维护自己的序列号和拥塞窗口。由于数据同时使用多个子流同时传输,因此接收端需要增加额外的操作,用于将从不同子流接收到的数据组装为原来的顺序。
(3)MPTCP同样采用AIMD机制维护拥塞窗口,但各个子流的拥塞窗口增加与所有子流拥塞窗口的总和有关[28],从而能够保证将拥塞链路的流量往拥塞程度更轻的链路上转移。
3)为应用定制的传输协议
与互联网为所有应用提供公共的传输协议不同,不同的云计算数据中心往往运行不同的典型应用,因此,为特定的数据中心应用定制不同的传输协议,是数据中心网络传输协议研究的一个重要方向。比较有代表性的协议是D3[30]。D3针对数据中心的实时应用,通过分析数据流的传输数据大小和完成时间需求,为每个流显示分配传输速率。当网络资源紧张时,主动断开某些无法按时完成传输的数据流,从而保证更多的数据流能按时完成传输。实验表明,与传统TCP协议相比,D3可以大大增加数据中心的吞吐率。
2.数据中心网络组播协议
1)数据中心可扩展组播
目前学术界在数据中心网络环境下提出的可扩展组播的解决方案大致可以分为两类:一类是将组播应用映射为网络层组播和单播,代表方案是MCMD[22];另一类是采用Bloom Filter解决组播可扩展性问题,代表方案包括ESM[23]和MBF[24]。
MCMD的核心思想是利用基于Gossip的控制协议[25]公告组成员信息,实现全网范围内所有节点中组信息的松散一致。为了优化组播地址的使用,MCMD截获组播报文,并基于Gossip控制平面选出一个网络节点,根据组播组的规模和设置的策略将应用层的组播会话翻译为网络层组播地址或一组单播地址。MCMD方案具有以下特点:
(1)可扩展性强,可以进行策略设置(如决定每个组播组的成员数量或是否禁止使用IP组播);
(2)对应用层透明,无须升级硬件,易于部署;
(3)使用基于Gossip的控制平面传播组成员信息,容错性好。
ESM[23]使用Bloom Filter保证组播方案的可扩展性。在分组内增加使用Bloom Filter编码的组播组信息虽然能够消除硬件对组播方案可扩展性的限制,但同时也增加了网络带宽的利用。因此该方案对成员较多的组播组使用传统的往交换机中注入路由转发表的方式实现组播,对成员较少的组播组(这类组播组在数据中心网络中占多数)采用在分组内增加Bloom Filter编码信息,利用编码信息实现路由转发。
MBF[24]通过理论分析和实验发现,在Bloom Filter中,如果每个元素的出现概率不同,为每个元素分配不同数量的Hash函数,结果产生的假真率比标准Bloom Filter低。基于该想法,MBF按照每个组播组的出现概率相应地指定Hash函数的个数,为出现概率大的组分配较少数量的Hash函数,而为出现概率小的组分配较多数量的Hash函数,从而降低了采用Bloom Filter进行组播数据转发带来的流量开销。
2)数据中心可靠组播
由于数据中心普遍采用低端交换机且链路资源丰富,传统互联网的可靠组播方案并不适用于数据中心网络。RDCM是一种针对数据中心网络设计的可靠组播方案[26]。RDCM在组播树上结合数据中心网络拓扑特征建立显式的覆盖网络,并在组成员中以P2P的方式恢复丢失的报文。RDCM的优势包括:
(1)由终端恢复丢失的报文,不需要网络设备的支持;
(2)利用数据中心网络中丰富的链路资源,采用组成员协作的方式实现故障隔离,有效地提高网络吞吐量。
8.2.3 数据中心无线通信技术
由于传统数据中心普遍采用以太网静态链路和有线网络接口,大量的高突发流量和高负载服务器会降低数据中心网络的性能,而无线网络的广播机制可以顺利克服这些限制。同时由于极高频技术(特别是60GHz无线通信技术)的产生,使得无线通信也可高速传输数据(吞吐量可达4Gbps),因此近年来研究者开始尝试在网络瓶颈部分使用无线链接来分流有线链路的数据流。这种新技术可以降低布线复杂度、减小冷却开销、降低数据中心成本,并大幅提高数据中心网络的性能。此外,把60GHz无线通信技术应用在数据中心网络还有其他几大优势:
(1)7GHz的可用频谱(57~64GHz)使60GHz无线通信技术能够提供Gbps量级速度的多条链接;
(2)60GHz频段在减少无线信号干扰的同时也减少了被监听的机会;
(3)无线网络更有利于数据中心网络的扩容和提升;
(4)无线网络可以按需建立,它能动态改变数据中心网络的拓扑结构,使其更适合当前网络环境。
2008年出现了首篇讨论在数据中心网络中应用60GHz无线通信技术的论文[30],随后另有多篇学术论文[33]从设计构建和性能优化两个方面讨论无线通信技术在数据中心网络的应用。
在设计构建方面,当前的研究主要借助有向天线(Directional Antenna)、波束成形(Beamforming)技术和特殊物理环境[33]使60GHz无线链路能够有效部署在数据中心网络中。该方向的研究目标是证实无线通信技术应用在数据中心网络中的可行性和优越性。
在性能优化方面,目前研究方向主要集中于无线通信在数据中心网络中的调度问题,即无线网络中的信道分配问题。自2009年参考文献[32]指出可以增加新的“飞路”(Flyways)来缓解部分“热节点”(Hot Node)的拥塞状况以来,其后的研究[36]多尝试应用启发式算法通过分流解决部分节点过热问题,使得数据中心网络整体吞吐量最大化或整体利用率最大化。
下面分别针对无线网络设计构建与无线通信优化问题两个方面进行论述。
1.无线数据中心网络的设计与构建
为了在有线数据中心网络中使用无线通信,首先应从物理层面考虑在数据中心网络中使用60GHz无线通信技术的可行性及实用性,并通过合理的机柜摆放及无线节点空间排布,形成有效的整体系统结构,使数据中心网络性能得到大幅提高。目前对此无线网络可行性方面的研究主要包括:①针对天线技术的讨论;②机柜摆放对无线网络的影响;③全无线数据中心网络的可行性。
1)天线技术
在对“飞路”系统[35]的研究中指出,使用有向天线可以让信号变得清晰,还可以避免干扰,保证无线链接的稳定性。不仅是“飞路”系统,几乎所有的数据中心无线通信设计方案都使用了有向天线技术。另外还使用了波束成形(Beamforming)技术[34]和波束转向(Beamsteering)技术[39]。这些技术可以提高链接传输速率并增大数据传输带宽。
2)机柜摆放
由于60GHz无线通信技术的天线覆盖范围极其有限,广播半径只有10m左右[35],广播半径成为空间排布问题中的首要因素。通过合理的空间排布,能够使60GHz无线通信技术的覆盖范围内,服务器对无线链路的使用率最大化,并且如果采用有线与无线相结合的方式,便可以很好地权衡布线的数量与布线的长度,从而降低机柜排之间的布线成本。
3)全无线数据中心网络
除了在有线数据中心网络中添加无线链接,学术界还提出了更大胆的设计。Cornell大学和微软亚洲研究院应用60GHz射频技术设计了一个全无线数据中心[40],并设计了配套的拓扑结构和路由协议,降低了数据中心费用、增大了容错能力。尽管目前该技术尚未投入使用,但这给后来的研究工作展示了全新的发展方向。
总体来说,应用60GHz无线通信技术在数据中心网络中建立新的链路是可行且高效的。通过合理的空间利用,数据中心网络的整体性能可大幅提高,甚至理论上有可能搭建出全无线数据中心。
2.无线数据中心网络的通信优化问题
除了设备与物理环境,还需要从系统性能优化的角度来设置无线链路,使无线通信技术能够准确、高效地应用在数据中心中。下面讨论两种无线数据中心网络的设计方案及相关的优化问题,即“飞路”方案和无线信道分配问题。
1)“飞路”方案
“飞路”是利用无线通信技术解决数据中网络中部分过热点的著名设计方案[32]。此方案的主要思想是通过在原有数据中心网络拓扑结构中添加一些新的链接(即“飞路”)分流过热的交换机之间的数据流,从而突破传输瓶颈,提高数据中心的整体性能。主要思路是运用贪心算法将网络中流量最大的链路分摊至其他可行路径,由此得到效用最高的无线链接方式。
之后,研究者在“飞路”方案基础上提出了一个更为细致、准确的系统[35],不仅从硬件上提出可行方案,同时通过模拟仿真验证了“飞路”方案在很大程度提高了数据中心网络流量,缓解了部分节点过热的问题。总的来说,“飞路”系统在多数情况下可使数据中心网络流量提速45%。但是,由于数据中心网络中某些流量的不可预计性或不可跟踪性,“飞路”算法有可能失效。
2)无线信道分配问题
关于“飞路”系统的研究普遍忽视了无线信道间的干扰问题,因此研究者在建立优化模型时加入了对此问题的讨论[37]。他们设定了带干扰限制的最大化问题,目标函数是所有无线链接效用之和,同时基于匈牙利算法设计了一种启发式算法来解决该问题。仿真结果显示,运用此算法后热节点的负载大幅减小。此外,还应考虑自适应传输速率,着眼于全局工作完成时间[36]。
8.2.4 数据中心增强以太网
目前数据中心包含独立的三种交换网络,分别服务于互联网业务、存储业务和计算集群。其中,存储网络中数据是以块为单位传输的,分组丢失将导致整个数据块的重传,从而严重影响存储网络的性能;高性能计算需要网络具有较低的传输延迟,同时还要求I/O设备处理数据的延迟低;服务于互联网业务的则是常用的以太网。
1.扁平一体化数据中心交换网络
寻求一体化的网络交换结构,不仅可以减少数据中心中冗余的设备和接口,降低成本,还可以降低网络的复杂度。将三种交换网络整合起来,有利于协调数据中心各种资源的管理,建立统一的资源优化管理策略使服务器、存储和网络等子系统协调一致地工作,提高资源的统计复用率。数据中心一体化交换网络应该具有以下特性:
(1)必须具有低延时无丢失的特性,以满足高性能计算和存储的需要;
(2)必须同时支持现有的典型互联网、存储和高性能计算的协议,如TCP/IP、FC、InfiniBand等;
(3)必须为网络设备开发统一的网络接口,以实现减少冗余设备,实现以太网、存储网络和高性能计算网络的互连,同时,该接口应该具有一定网络流量的管理支持;
(4)应该在一定程度上实现互联网、存储和高性能计算相关流量共享带宽的公平性和高利用率。
因为成熟的以太网技术得到了普遍应用,且有潜力提供超高带宽,10Gb以太网已经投入商业应用,40/100Gb以太网标准正在由IEEE P802.3ba工作组负责研究制定[41],以太网被选择增强为数据中心中的一体化交换网络技术。目前,IEEE 802.1数据中心桥接(Data Center Bridging, DCB)工作组正致力于标准化以太网的一系列增强机制[42]。众多主流网络设备供应商,如Cisco、Juniper、华为、IBM、NetAPP、HP、Brocade、Fulcrum、Qlogic、Nuova等都参与了其中的标准化工作。这一增强的以太网被称为数据中心以太网(DCE)、融合增强的以太网(CEE)或数据中心光纤(DCF)。同时,INCITS T11工作组开发了FCoE技术,使得DCF能够承载使用FC协议的存储流量[43];OFED开发了RoCEE,使得DCF能够承载使用RDMA协议的高性能计算流量[44],Myricom也公布了MXoE,使得DCF能够承载使用MyriNet协议的高性能计算流量[45]。另外,设备厂商如思科(Cisco)、博科(Broadcom)、Juniper等纷纷推出在数据中心使用DCF的商业解决方案[46]。
2.数据中心增强以太网流量控制
因为数据中心链路复用率高、流量突发性强,而且一体化交换网络必须满足存储流量对无丢失的需求和高性能计算流量对低延迟的需求,要将以太网从“尽力而为(Best-effort)”的传输模式改造成更适合数据中心环境的使用一体化交换网络技术,流量控制必不可少。目前,IEEE 802.1 DCB工作组中,主要有两个子工作组在负责标准化流量控制相关的增强机制。
(1)工作组IEEE 802.1 Qbb负责标准化优先级流控(Priority-based Flow Control, PFC)机制[49]。该机制主要使用基于优先级的Pause的方法,避免因流量突发导致丢包,满足存储流量无丢失的需求。
(2)工作组IEEE 802.1 Qau负责标准化端到端的拥塞控制机制[50]。
目前,QCN协议已经被批准为相应的标准。QCN主要控制瓶颈链路的队列于目标点,用于降低排队延迟,防止长期拥塞,避免PFC机制导致的拥塞树的出现。通过PFC和端到端的拥塞控制这两个增强机制的配合,增强的以太网应该能够适应成为数据中心中的一体化交换网络技术。
迄今,借鉴互联网拥塞控制机制的经验,802.1 Qau工作组共提出了4个提案,分别为后向的拥塞通告(Backward Congestion Notification, BCN)、显式拥塞通告(Explicit Ethernet Congestion Notification, E 2 CN)、前向显式拥塞通告(Forward Explicit Congestion Notification, FECN)和量化的拥塞通告(Quantized Congestion Notification, QCN)。其中BCN是最早的一个提案,其中确定了链路层拥塞通告机制的骨架——核心交换机监控队列,作为拥塞程度的度量,并且将监控信息反馈回发送方。发送方按照收到的反馈信息,使用一定的算法调节自己的发送速率。QCN在2010年被批准为标准。相比于BCN,它主要是将BCN使用的AIMD速率调节算法替换为BIC-TCP中所使用的二进制搜索算法。
QCN的目标是把瓶颈链路的队列长度控制在目标点,使得既不会出现缓存溢出也不会出现缓存排空的情形。这样做能为应对突发流量预留缓存,降低排队延迟,抑制长期拥塞,保证链路利用率。然而,交换机的缓存一般较小,远小于路由器的缓存大小,这对链路层拥塞控制算法提出了很高的稳定性要求。参考文献[51]使用Averaging Principle的方法,分析了QCN的稳定性,证明QCN在延时不超过给定界限的情形下是稳定的,但是该文使用了经典的频域分析方法,该方法无法抓住QCN系统在加速和减速之间的切换过程的特征。因此参考文献[79]采用相平面分析方法分析QCN,发现QCN可能会持续在加速和减速之间的切换,即进行滑模运动,直至进入平衡状态。但是QCN是启发式的设计,无意识地利用了滑模运动与系统参数和网络环境无关的特性。某些情况下,QCN可能无法进入滑模运动状态,变得不稳定。因而参考文献[80]设计了SMCC协议。SMCC在任意情况下都能够进入滑模状态,从而到达平衡点。
QCN的设计中没有考虑公平性。参考文献[52]发现QCN的公平性很差,认为QCN反馈方式导致不公平,提出了AF-QCN协议,将AFD算法引入QCN,以改善QCN的公平性。参考文献[53]认为QCN的加速周期的设计使得它自己不公平。通过改变QCN的加速周期设计,改进了QCN的加速算法,使得QCN变得公平。
PFC机制首先根据存储、高性能计算和交互流量的不同,为流量划分了优先级,从而使要求低延迟的高性能计算流量得到延时保障。另外,PFC主要将802.3x定义的Pause机制应用于不同的优先级上面。在同一优先级的流量过大导致交换机缓存将要溢出时,Pause机制被触发,该优先级的流量被禁止注入交换机缓存,从而避免交换机缓存溢出。
参考文献[54]探讨了Pause的时间,给出了一种动态设置Pause的时间的方案。参考文献[55]建议为不同的优先级流量设置不同的拥塞控制参数。参考文献[56-57]仿真测试了实际使用DCF的网络并得出结论:PFC能提升TCP的性能,而QCN对TCP性能的影响强烈依赖于环境和参数。