网络“高速公路”首秀双11 | 探秘阿里巴巴HAIL数据中心网络

网络“高速公路”首秀双11 | 探秘阿里巴巴HAIL数据中心网络

对于技术人员而言,每年的双11都是一次技术盛宴,是对系统性能的极致挑战,对系统稳定性的终极考验。从2009到2018这十年间,交易额达到今天的2135亿,每秒订单创建的峰值也是屡创新高,对于攻城狮来说,这不仅仅是数字的飞跃和世界记录的刷新。今天这个超级数字的背后,是交易、搜索,到中间件、存储、数据库等等这些庞大分布式系统的计算和IO能力的飞跃。而支撑这些系统能力高速不间断运转的,则是底层网络技术。

数据中心网络作为这些大型分布式系统内部的高速公路,越来越多的承载着计算和存储系统IO延伸的作用,网络即IO。更高的带宽、更低延时才能给业务系统带来更加极致的性能表现。

2018年双11,阿里巴巴数据中心网络的主角,是阿里巴巴全新一代网络架构5.1,架构的项目代号为HAIL(1.0版本,后续还有region级别的架构演进HAIL2.0)。

HAIL代表“High Availability、Intelligence, and Low latency”,是5.1网络架构设计核心思想和目标的最直白体现。其中,RDMA、去堆叠、流量可视化 等是HAIL 5.1网络架构的核心关键词。

High Intelligence依托于network telemetry技术和自动化平台的能力构建了整个5.1数据中心网络架构自动化和智能化基石。关于这些方面,HAIL 5.1架构中有很多业界首创性的尝试,由于各种原因不在本文中介绍。

####High Availability的关键设计——去堆叠

高可用是基础网络永恒的使命,而这个目标看起来简单直接,却并不是那么容易做到。5.1网络架构的双上联去堆叠设计,为高可用的目标增加了强有力的支撑。

堆叠为我们带来了什么,为什么去堆叠?

为了支持业务的高可用,阿里巴巴网络架构历来都是采用双上行接入的方式,从Server的接入link到TOR的层面都实现了双活备份,使得一条link的故障,或者一台TOR的故障对于业务系统的可用性影响降到最低,会出现高水位时性能的损失但是不会出现服务不可用。

传统的双活接入的方式,业界通用的方法都是通过两台TOR交换机实现vpc/mlag/堆叠这类技术来实现,而这种双活技术要求两台交换机之间通过协议交互转发表项信息,甚至堆叠技术要求两台TOR在管理和转发层面都merge成为一台设备,这在无形中增加了技术复杂度和出问题的概率。实际运行过程中也体现了这一点,两台TOR由于堆叠系统的软硬件bug原因导致同时宕机的情况屡见不鲜,对业务系统的稳定性形成了很大的挑战。

去堆叠设计

5.1网络架构中,我们创新性的实现了服务器双活接入+TOR去堆叠(如下图),在保证服务器双活接入的可用性前提下,解决了堆叠系统本身稳定性所带来的问题。支撑2018年双11的所有5.1网络集群和数以万计的服务器,都是运行在阿里自主设计开发的去堆叠技术之上, 使得5.1架构在双11的流量压力和高可用要求下,更加从容应对。

网络“高速公路”首秀双11 | 探秘阿里巴巴HAIL数据中心网络

网络去堆叠设计的基本原则:在网络设备上通过feature实现,使所有业务访问均走三层转发,利用三层转发的路由传递能力覆盖所有failover场景,同时保持服务器的bond接入生态,在主机侧做最小的改动。

网络侧

  • arp转换为host路由。所有ASW上学习到的arp都转换为/32主机路由(host-route);
  • LACP sysID可设置。可以对两台ASW进行LACP sysID设置以达到两台ASW与下联Server的两条链路完成LACP协商;
  • arp proxy。ASW使用自身mac地址代答所有主机或者虚拟主机的arp,使所有主机间的互访在网络设备上进行三层转发。

主机侧

  • 我们在服务器上实现arp报文在bond slave端口TX方向上的broadcast。如下图所示

网络“高速公路”首秀双11 | 探秘阿里巴巴HAIL数据中心网络

这个模块实现对arp报文在多个bond slave上的broadcast,可以协助两台交换机来同步arp。

Low latency —— RDMA技术第一次大规模应用考验

业务系统有两个非常关键的业务指标,即Throughput(吞吐量,单位时间内可以处理的请求数或执行的任务数)和Latency(时延,系统在处理一个请求或一个任务时的延迟)。当然不同的业务场景中,对于Throughput和Latency的诉求也会不尽相同,侧重点也会有所不同。然而无论如何,Low Latency是永恒的追求,Latency越小,在同等系统资源条件下,就能获得更大的Throughput。

5.1网络架构在Low latency方面有两个方面的设计实现。

  1. scale out设计中,PSW设备改为单芯片设备,从转发路径上减小了PSW层面转发的芯片数从而减小了转发节点数,降低了一个pod内部交互的转发时延。而以往架构采用框式设备,一个PSW节点的转发需要经过三跳。

网络“高速公路”首秀双11 | 探秘阿里巴巴HAIL数据中心网络

  1. HAIL 5.1网络架构以POD为单位支持RDMA,给业务提供了目前业界最强的高性能低延时网络技术方案。(当然,1.中对PSW的单芯片设计也大大简化了RDMA部署的复杂度,这两个设计相辅相成)

近几年,当我们讨论Low latency时, RDMA是绕不开的话题。大家都在讨论IB、iWrap、RoCE的优劣和取舍的时候,实际上阿里巴巴已经实现了业界最大规模的RDMA 部署,同时也经受了当今世界最严苛的技术考验——天猫双11.

目前运行在5.1RDMA平台上的业务包括集团DB、阿里云ESSD、阿里云PolarDB、大数据PAI、高性能计算等,2018年双11更是RDMA大显身手的舞台,100% 大促DB业务,和100% 大促ESSD存储都运行在RDMA上,网络为业务系统的极致性能提供了最强的赛道!

5.1架构以POD为单位支持RDMA,使用了RoCEv2协议规范,以及DCQCN+Lossless网络的流控方案,目前已经在集团的存储、DB、高性能计算、机器学习等业务场景中大规模使用。

HAIL5.1网络架构不仅仅实现了RDMA技术能力的落地,同时建立了RDMA业务支撑平台和RDMA运营生态,这是RDMA作为一个落地生产的技术架构非常重要的部分。

· 向上层业务,我们提供了RDMA-Service的平台化RDMA支撑模块,方便业务快速部署和使用RDMA,同时模块中集成了rdma关键参数的监控和校验能力;

· RDMA自身的闭环运维能力。监控系统通过gRPC/erspan等通道从物理网络获取实时的RDMA运行状态,包括pfc/cnp/nak/buffer-usage/queue-drop/mmu-err/link-flap/crc/…,通过这些数据我们可以实时监控RDMA网络的运行状态;自动化系统对监控数据进行分析,对监控事件进行响应,来实现快速的故障发现和定位,实现基于pfc拓扑的mmu异常点定位和隔离,基于nak/cnp来快速判断网络丢包。

网络“高速公路”首秀双11 | 探秘阿里巴巴HAIL数据中心网络

展望

接下来,阿里巴巴数据中心网络架构还将进行region级别的HAIL架构演进(架构代号HAIL2.0),实现更大范围内的“高可用、智能化、低延迟”网络,我们将在自研机、可视化和RDMA领域持续发力,上线由自主研发的DC交换机组成的数据中心新一代架构,运行自主研发的RDMA流控方案和定制协议的智能网卡,继续引领新一代网络可视化技术的发展和落地。阿里巴巴数据中心网络架构HAIL2.0,我们明年双11见!

网络“高速公路”首秀双11 | 探秘阿里巴巴HAIL数据中心网络

上一篇:我的Android进阶之旅------>Android实现用Android手机控制PC端的关机和重启的功能(三)Android客户端功能实现


下一篇:Kotlin 设计模式解析之单例