大数据时代带来的数据流动性,对承担数据流动的网络技术带来了新挑战。11月7日,在腾讯云主办的首届Techo开发者大会现场,腾讯云对下一代高性能网络技术进行了揭秘。
数据中心网络带宽演进的三个阶段
随着5G、AI、云计算的普及和场景应用,越来越多的设备被连接,数据洪流随时随地产生和分享,对网络架构和处理数据的能力提出了新需求,而腾讯云对于高性能网络软件架构的思考,也经历了数据中心网络带宽演进的三个阶段:
第一阶段,公有云数据中心的服务器接入带宽在2014年从千兆迈入万兆。这个阶段所有的网络虚拟化软件通过内核模块实现, 通过横向扩展来满足网关的性能需求, 由于内核框架本身性能的局限性,实现的性能指标今天看起来很差,但是能够满足当时的客户诉求。
第二阶段,2017年随着视频行业和游戏加速行业的兴起,云网络逐步开始从10G向25G迁移,这些行业上云对虚拟化网络提出了百万级别稳定的包处理能力需求,对VM的网络互访时延及时延的稳定性要求也更加苛刻。
在这种背景下, 虚拟化网络的技术突破点是DPDK,整个虚拟网络的架构并没本质变化,只是虚拟网络软件用dpdk重新实现,提升了单台机器的性能。
第三阶段,预计到2020年底公有云数据中心的服务器接入带宽即将达到100G。主要驱动力来自于虚拟化密度的提升。事实上,在今年底已有196核的CPU面世,虚拟化密度直接翻倍,可预期的未来,4HT的技术会出现,虚拟化密度会继续大幅度提升,对网络基础设施架构的能力会带来非常大的挑战。
显然,不同的网络带宽时代,对虚拟化网络的软件架构会有不一样的要求。尤其是随着腾讯内部自研业务的大量上云,内网互访流量非常的大,overlay访问underlay的支撑服务流量可以百T计,大流量的冲击下,集中式网关的资源问题和scale能力成为一个非常大的问题。
下一代腾讯云高性能网络技术两大突破口
对于腾讯云来说,下一代高性能网络技术突破有两个:超稳虚拟化平台、网关的演进。乍一看,两者似乎关系不大,但想要搭建下一代高性能网络技术就像是建房子,超稳虚拟化平台是支撑房子的地基,而网关则是贯穿房子墙面的的钢筋骨架。
“网络架构的元素会简化,要减少集中式网关的使用,核心是边界的高性能网关,以及高性能稳定的虚拟化底层平台”, 金峰现场说道。
金峰表示,超稳虚拟化平台,腾讯云内部有一个专门的云基项目去支撑。这个项目对网络虚拟化,存储虚拟化和计算虚拟化都做了大量的重构和优化,计算虚拟化大幅度优化KVM性能损耗,为社区贡献了超过100个核心patch,在全球的互联网厂商中都名列前茅,可以保证在大多数场景下实现虚拟化相比物理机单核性能损耗在5%以内。
网络虚拟化优化了各种不同场景的处理性能,不局限于优化快转表的性能,对于纯粹的包转发模式也做了大量的查询匹配优化,性能能做到2M PPS以上,此外vswitch可以自动判断每个数据包应该采用的转发模式,分别使用包转发,基于软件的快转表转发,和基于硬件的快转表转发, 为每种不同场景提供最适合的转发模式来保障性能。云基项目支撑的高稳虚拟化平台在腾讯内部的自研上云业务中大规模使用,支撑了QQ,微信等核心业务的苛刻性能要求。值得一提的,业界支撑自研上云大多使用baremetal方案,腾讯云完全用虚拟化支撑了核心业务的自研上云。
有了超稳虚拟化这个扎实的房子地基,作为“钢筋骨架网络”的网关就可以持续演进,表现在三个方面:1、业务网关NFV;2、内部服务去网关;3、边界网关硬件化。
首先,基于超稳的虚拟化平台,腾讯云可以将LB, NAT等业务网关放在虚拟化平台上,复用虚拟化平台本身的资源池优势,无感知调度迁移,高性能网络,优先级QOS等能力,保障自身的性能和稳定性。此外集中式网关变为分散的虚拟化网关,故障域大大缩小,对整体的可用性也有很大的收益。
其次,去除物理网关。对于用户访问对象存储,数据库等基础服务,此前会有一个有状态网关来做overlay-underlay转换,自研上云之后,几百T的内网带宽让这种集中式有状态网关的成本和可用性难以承受,将overlay和underlay的边界从网关移到每台提供基础服务的物理服务器上,每台物理服务器插入一个内核模块,提供VPC的被动访问接入能力。
第三,就是边界网关的硬件化,腾讯云已经在和一些合作伙伴进行这方面的预研,一台硬件网关可以提供5-10个100G软件网关集群提供的性能,在大网络吞吐时代对于边界网关的规模可控具有非常大的意义。
金峰表示,除了VPC网络之外,100G网络当前最大的场景来自于大数据、AI带来的低延迟高吞吐网络需求,这对于RDMA网络有非常强烈的诉求。
腾讯云采取VPC overlay rdma underlay双网络的方式来承载基于GPU direct的AI多机训练业务;目前100G rdma网络已经在腾讯的云上GPU算力平台上得到应用,服务了腾讯内部的诸多AI类业务。
“下一代的高性能网络,腾讯云期望是一个结构简单的网络,它并不一定是绝对数值最好的,但是一定是对客户有保障的,能够满足客户各种不同场景的性能和可用性诉求”, 腾讯云IAAS专家工程师金峰总结道。