
数据中心无损网络关键技术研究.docx
17页数据中心无损网络关键技术研究摘要:通过对传统数据中心网络面临的各种问题进行分析,阐述了AI、Server SAN等场景对网络的需求,介绍了无损网络在应对上述场景时的优异表现,并在流控机制、拥塞控制和负载均衡等方面对无损网络的关键技术进行了进一步阐述,也对无损网络发展进行了展望引言各种应用程序、数据的指数级增长,以及云服务的快速普及等因素,导致由孤立的单体系统构成的传统基础架构变得过时基础架构的融合成为数据中心的根本转变,融合或超融合基础架构应运而生,其将计算、存储、网络和虚拟化组合构建成一个统一架构,以便简捷高效地配置和横向扩展在网络方面,以太网成为现代数据中心实际采用的互联方式基于以太网的统一网络架构用于传输各种类型的通信流,为这种融合奠定了基础虽然这种统一和融合式网络有着诸多好处,但也带来了新的挑战由于传统数据中心网络在数据传输中采取“尽力而为”的方法,以太网络是“有损”的当以太网络发生拥塞时,数据包会被丢弃,然后由上层(如TCP中的重新传输)保障数据的完整性在重新传输的情况下,这些数据包通常不按顺序抵达目的地,进而需要重新排序随着数据流汇聚到以太网络上,这种重新传输和重新排序将导致应用程序的性能严重下降[1]。
考虑到融合性质,这种情形还可能会导致网络上的其他数据流的应用性能下降因此,需要一套措施来确保流量在以太网网络上实现无损传输1传统网络问题分析无论是构建公有云,还是用作企业云服务的私有数据中心,都需要解决一组常见的问题:如何为快速变化的环境构建一个高度灵活的组网,以承载多种类型的流量,从而使网络可以最小化,甚至消除丢包损失;在提供高吞吐量的同时,保持低延迟数据中心流行的CLOS网络架构通过等价多路径实现无阻塞性能,并拥有弹性,交换机之间的连接方式使其具有可扩展、简单、标准和易于理解等优点[2]在CLOS网络中,机架顶部的交换机被称作叶交换机,它们连接在被当作核心的脊交换机上叶交换机之间互不相连,而脊交换机只与叶交换机连接目前,数据中心已经采用了很多技术,试图解决拥塞控制问题尽管拥塞控制有所改善,但仍不能为今后的使用场景提供无损的网络,以下问题仍然存在1.1 等价多路径冲突通过散列流标识符来选择路径,这样的做法很简便,但缺乏考虑路径本身是否拥塞如图1所示,很容易发生多个流被散列到相同的路径上的情况,从而导致链路过载此外,流量的大小通常呈双模态分布:大多数的流是老鼠流,而大部分传输字节则来自大象流。
ECMP选择路径时不会考虑流量的大小,而对ECMP的改善应该涉及选择路径时的拥塞感知和细粒度的流量负载均衡图1 ECMP负载均衡时的冲突1.2 显性拥塞通知的控制环路延时大型的网络拥有更多的跳数,因此ECN控制回路的往返时间(Round-Trip Time,RTT)会更长大型的网络也会支撑更多的数据传输,在ECN生效前很难处理突发流量通过增加交换机缓存去处理突发流量是不可取的,因为这样不仅会增加成本,也会增加那些正常流的排队时间端到端的拥塞控制对有序的网络至关重要,但为确保网络可以有效地避免丢包损失,额外的帮助也同样重要1.3 基于优先级的流控引起的队头阻塞PFC是一种避免丢包的技术,但这一技术应该作为最后的手段使用当交换机的某一个出口发生拥塞时,数据被缓存到备份里,并同时调用PFC由于PFC会阻止特定等级的所有流量,所以流向其他端口的流量也有可能会被阻隔,这种现象被称为队头阻塞为了避免队头阻塞,很有必要去尽早识别引起拥塞的流,并提供针对流特征(一般引起拥塞的流通常是大象流)的拥塞缓解技术队头阻塞可能会引起上游的额外阻塞由于PFC隔离了所有流,包括那些发往没有拥塞路径的流这使得所有流必须在上游交换机处排队,产生的队列延时反过来又会引起上一个上游交换机的拥塞。
如果上游交换机的缓存被填满,一个新的PFC信息会被调用并发送到网络,循环往复,造成更多的队头阻塞和拥塞现象,这被称为拥塞扩散1.4 多打一场景下的拥塞CLOS架构在未来数据中心新场景下存在丢包、时延、吞吐等多方面的挑战,这些挑战主要来自many-to-one流量模型和all-to-all流量模型流量模型many-to-one有时候也被称为Incast流量模型在高度并行的云应用中,Incast是一个很自然发生的现象,它被证明是数据中心大部分丢包产生的原因图2是many-to-one流量模型示例在这个示例中,leaf1、leaf2、leaf3 和 spine1、spine2、spine3形成一个无阻塞的Tier-2 CLOS网络流量从server1到server5、从server7到server5、从server9到server5,形成一个many-to-one,这里是3打1,整网无阻塞,只有leaf2向server5的方向出端口方向buffer是瓶颈图2 many-to-one流量模型示例2数据中心无损网络应用场景分析数据中心里的应用和存储架构需要不断地进化,以满足日益增长的对实时和交互的数字技术的要求,业界主流热门的应用场景均对数据中心提出了越来越高的要求。
2.1 数据密集型服务数据密集型服务和线下的通信(如MapReduce计算)之间最根本的区别在于,数据密集型服务需要对高速率涌进的请求做出立即回答对此,延迟是一个关键问题,终端的用户体验高度依赖于系统的响应,即使是一个少于1 s的适度延时也会对个人查询以及相关的广告收入带来可观的影响而且使用云作为决策源和信息源的系统先天性地拥有一大部分不可避免的延时,这给数据中心的内部响应时间带来更大的压力为了处理延迟问题,数据密集型服务将单个请求同时分配部署在几千个服务器上,并把这些服务器的响应进行协调和叠加以形成最优的推荐和答案2.2 深度学习深度学习是机器学习的一个分支,人类日常生活中的语音识别和图像识别由大型神经网络掌控,通过对百万级,甚至十亿级参数的训练形成模型,并集成到服务中一旦模型建立,一些复杂的任务例(如社交网络过滤、欺诈和异常识别等)都可以毫不费力地被执行深度学习网络也可以被抽象成一个有百万量级神经元互联的大脑,网络的规模越大、模型参数越多,网络的工作表现通常会越好现如今的深度学习网络可以拥有数十亿级的参数和百万级的互联深度学习模型不断地被训练和优化,伴随着这一持续过程的一个挑战是高昂的通信成本。
大量的数据不断地被共享,如果发生同步延时,计算过程就会被拖延,而网络通常被认为是引起延时的原因在训练过程中,网络里使用的训练服务器先天地存在Incast问题,因为集群几乎是在同一时间返回结果,Incast场景会导致在连接参数服务器的交换机处产生拥塞,从而带来丢包损失和同步延时由于更多的节点需要更多的通信请求,所以更多的并行处理可能会增加延时,增加网络拥塞在网络有损情况下,数据拷贝会引入延迟抖动、拥塞丢包等性能损失,造成处理器空闲等待数据,并拖累整体并行计算性能,导致无法通过简单增加处理器数量来提升整体计算性能2.3 NVMe over FabricsNon-Volatile Memory Express(NVMe)是一种存储通信接口和规范,它基于固态硬盘(Solid-State Driver,SSD)提供了一套低延迟、内部并发化的接口规范NVMe快速可靠的特点十分适用于未来云数据中心的高并行环境全闪存阵列(All-Flash-Arrays,AFA)需要NVMe访问网络,因而需要极低的延迟,以形成竞争优势在融合基础架构数据中心中,NVMe over Fabrics被指定基于UDP运行在RoCEv2上,或者基于TCP运行在iWARP上。
当网络检测到拥塞时,ECN指示符会被标记在数据包上,接收端收到后就会通知发送端降低发送速率,以避免丢包损失如果信息的往返时间太长,丢包损失仍然不可避免,而丢包则需要重新传输,这将严重降低NVMe存储的访问速度基于有损网络的存储云化,因为网络存在拥塞丢包、延迟抖动、故障倒换而严重影响NVMe存储云化的效果2.4 分布式并行系统为了使大规模云服务能满足实时交互的延迟要求,应用和存储必须分而治之目前,有太多的数据需要处理,而数据的真正价值在于能否快速地被提炼出有用的信息高性能分布式并行计算,本质上是网络性能要向内存访问看齐(见图3)在有损网络下,数据拷贝会引入延迟抖动、拥塞丢包等性能损失,造成处理器空闲等待数据,并拖累整体并行计算性能,导致无法通过简单增加处理器数量来提升总体计算性能分布式系统里的并行性取决于同步信息和参数分布,信息传递时,由于Incast和混乱流,网络流量模型会先天性地引起拥塞,如果不加以管控,拥塞就会导致网络的全面损失:丢包损失、延迟损失和吞吐损失图3 高性能分布式并行计算高性能传输技术的产生,40 G/100 G/400 G以太网和RDMA等高性能的网络技术的快速发展,可以很好地替代原先昂贵的专属存储网络。
如何利用网络将计算资源和存储资源结合起来,并进行统一的管理和协同操作,提供具有低时延和高带宽的互联网络,对于提升资源利用效率和满足应用程序的性能需求具有重要的实际意义2.5 Server SAN在过去的很长一段时间内,CPU的发展速度是普通机械硬盘的几十万倍,对于低速的存储介质磁盘来说,存储网络带来的影响相对不明显因此,在低速存储盛行时期,集中式的存储部署架构被广大企业所接受,并保持很长时期的主要地位近年来,“软件定义”概念的兴起,闪存技术的应用,正在改变这一趋势Server SAN可以用标准的x86服务器和高速通用网络来搭建实现一个更高性价比的系统Server SAN的网络相比于传统存储网络具有更高的要求,如在时延和带宽上要能够配合存储的需求,减小处理器到存储的时间利用现有的技术,通过组建各种子网的方式,如高性能子网、大数据子网和元数据子网等,可以很好地满足不同业务的需求Server SAN的需求也推动了网络技术的快速发展,从低延时、高带宽的传输网络,到智能网卡的出现以及融合网络技术的发展但是,大型的网络企业更多地希望能够利用现有的低成本的网络技术来解决网络传输过程中遇到的性能瓶颈问题。
3数据中心无损网络的关键技术3.1 流控机制现在市面上有很多不同架构的交换机,如果这些交换机的入口端和出口端缺少协调,那么将很难用这些交换机去搭建一个无损的网络环境通常路由器会在入口队列采用PFC机制,也就是当入口端的缓存区存满时,PFC会被激发并反馈到上游邻近交换机[3]然而,在Incast场景中,由于缺少入口端和出口端之间的协调,在入口端的各个队列达到阈值之前,出口端的队列就已经溢出虚拟输入队列(Virtual Input Queuing,VIQ)是一种协调出口端可用资源和入口端需求资源以用来传输数据的方法利用VIQ,出口端将可用缓存告知入口端,以避免交换机内部带来的丢包损失,数据包可以自然地备份在入口端处,如果需要,PFC也可以适当地被采用VIQ可以被抽象成一种模型,也就是在入口端有一个协调所有入口端的专有队列,用于公平地、有计划地去共享利用离开交换机的流量VIQ具有避免交换机内部由于拥塞所引起的丢包损失的优点此外,VIQ建模可以使流量公平有序地离开交换机,是实现无损的基础之一3.2 拥塞控制网络拥塞会引起数据包在网络设备中排队甚至导致队列溢出而丢弃,是导致网络高动态时延的主要原因。
网络拥塞从根源上可以分为两类,一类是由于流量调度不均引起的拥塞,另一类是对网络或接收端处理能力过度订阅(或称“超卖”)前面所说的ECMP冲突属于前者,Incast拥塞属于后者拥塞控制技术根据其应对拥塞的时机不同,可以分为被动拥塞控制和主动拥塞控制两类被动拥塞控制包括传统TCP拥塞控制技术,如CUBIC[4。












