13

阿里云飞天洛神2.0:高性能网络软硬一体化技术实践

 3 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzI0NTE4NjA0OQ%3D%3D&%3Bmid=2658364162&%3Bidx=1&%3Bsn=8714651b12bed696418e3c61559ad1a0
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

云网络架构

云计算从9年前被质疑为新瓶装旧酒,到经过多年的高速发展,正在成为水电煤一样的基础设施。云网络构建在物理网络之上,为云计算提供灵动、智能的网络连接。云网络的性能和稳定性是云计算的基石。

VPC是云网络的基础,VPC的基础组件主要包括2部分:Gateway,vSwitch。

MzEFJfe.png!web Gateway是VPC的流量入口,负责公网/专线和跨region流量的汇聚和分发。vSwitch负责ECS的虚拟交换,和Gateway一起为客户搭建一张虚拟专用网。

CPU软转发

物理网络经过几十年的发展,接口和协议相对标准和成熟,所以物理网络的各类交换机基本都是基于switch芯片(其中大部分是Broadcom的)做硬转发的。

云网络的发展是这几年的事,业务和需求都在快速变化中,缺乏行业标准,基本都是在按需做定制,所以云网络的各类业务基本都是基于CPU在做软转发。

DPDK是Intel针对x86开发的数据面优化技术,作为一个开源软件,DPDK也可以用于其它的CPU架构,比喻说ARM和Power。DPDK运行在用户态,通过大页/轮询/CPU亲和性等技术,达到减少内存拷贝/减少cache miss/减少中断调用/减少进程和线程切换等优化目标,进而实现CPU软转发的性能优化。

在DPDK出现之前,软转发通常是采用带加速引擎的NP,x86主要用于控制。DPDK出现之后,基于x86的转发从内核态迁移到用户态,性能有了大幅提升。

阿里是最早把DPDK产品化的公司之一,目前阿里云网络的各个组件已经全面切到DPDK。以vSwitch为例,通过DPDK,vSwitch的性能得到了数倍的提升。

软硬件一体化

基于CPU的软转发主要面临2个问题:一是CPU的单core性能瓶颈,在大流和攻击场景下比较容易被打爆,导致故障;二是CPU的摩尔定律逐步失效,CPU的频率和核数提升空间越来越小,靠CPU软转做进一步性能提升的空间有限。

以太网的接口速率正在飞速发展中,25G NRZ已经普及,50G PAM4已经成熟,单模块400G已经成为现实。PCIE的接口速率也在快速发展中,单lane 16Gb的PCIE Gen4还未规模上线,单lane 32Gb的PCIE Gen5的规范已经发布。

随着云计算的发展,云网络的流量出现了爆发式增长。游戏/视频/NFV化对ECS网络性能提出了更高的要求,vSwitch的网络正在朝百Gbps迈进。混合云的发展带来了专线和跨region流量的激增,Gateway的流量正在朝百Tbps迈进。

为了提升云网络的性能和稳定性,满足云计算的技术发展需求和业务发展需求,阿里云网络团队对VPC的基础组件做了全链路的软硬一体化设计,Gateway以超大流量+百万表项为目标,vSwitch以超大表项+百Gbps为目标。经过一年多的努力,2款产品都已顺利上线,把阿里云网络产品的竞争力提升了一个台阶。

R3Uriy7.png!web

vSwitch硬件加速

网络的业务可以理解为各种route + ACL的组合,一次报文转发要经过多次表项查找和head update。快慢速分离的思路就是让Slowpath负责复杂的业务逻辑,首包上送Slowpath生成Session/Flow,后续报文就不需要把整个业务流程再走一遍,直接在Fastpath里基于Session/Flow做Match/Action,提升转发性能。

Q7FjyeM.png!web 软转发里,快慢速都是通过CPU实现的。为了提升vSwitch的性能和稳定性,阿里云网络团队经过一年多的努力,成功通过AISC实现了Fastpath的硬件化。

通过硬件化,vSwitch的性能对比软转发提升了10倍以上,延时大幅降低。

Gateway硬件加速

Gateway是VPC所有流量的入口,也是云网络带宽和稳定性压力最大的一环。随着搬站和企业上云的推进,专线流量出现了数量级的增长,达到几十Tbps。这么大的流量,通过堆服务器来提升转发能力基本成了不可能完成的任务。

传统交换芯片的数据面对客户是固定的pipeline;云网络由于业务和需求变化快,没有业界通用标准,方案基本都是按需做定制,没法使用固定转发的交换芯片。可编程交换芯片的出现给云网络打开了一扇窗,让Gateway硬件化成为可能。

为应对超大流量的挑战,阿里云网络团队启动了基于可编程交换芯片的Gateway设计。经过一年多的努力,成功实现了Gateway的软硬结合设计

NzqiQrQ.png!web 通过可交换芯片的加速,Gateway单机bps性能提升20倍以上,单机pps性能提升近百倍,延时降低数十倍,整体Capex和Opex大幅降低。

客户价值

技术创新的目的是为了更好的客户体验,实现客户第一的目标。通过软硬一体化的技术,阿里云可以给客户提供更大带宽/更低延时/更加可靠的网络连接。

m6v2emA.png!web

持续演进

可编程交换芯片的转发能力强,但片内SRAM/TCAM容量有限。阿里云体量大/客户多,表项规格大,没法全量下发到硬件里。解决方法之一是对表项做水平拆分,但云网络的业务复杂,客户的配置变化快,水平拆分的难度大/成本高。解决方法之二是软硬结合+动态调整,通过速率计算动态检测大象流/长尾流,长尾流动态调整到软转发,大象流动态调整到硬转发,软硬一体/动态优化。

RjAFjyi.png!web

云网络的二八原则明显,长尾流的表项大/流量小,大象流的流量大/表项小。通过软硬结合+动态调整的方式,一个集群可以容纳全量配置。软转发弥补硬件的表项容量问题,硬转发弥补软件的转发能力问题,相互配合/相得益彰。

M7nAzyj.png!web

 动动小手指 了解更多详情 !

R3Ufaay.gif


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK