让英特尔和AMD都趋之若鹜的P4可编程是什么技术?

微观人 2022-04-11

英特尔云计算数据中心

3948 字丨阅读本文需 9 分钟

2013年的SIGCOMM大会,当时由Nick McKeown领导的斯坦福大学的研究团队发表论文:Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN,提出了RMT可编程网络包处理架构模型。

2014年,Nick团队在SIGCOMM Computer Communication Review上进一步发表了论文,P4: Programming Protocol-Independent Packet Processors,提出了P4网络编程语言。P4语言如今已经成为了行业标准语言。

之后在Nick的带领下,成立了Barefoot公司,实现了基于RMT模型的可编程交换机架构PISA(Protocol Independent Switch Architecture,协议无关的交换架构),以及基于此架构的Tofino系列可编程交换机芯片。

2019年Intel收购Barefoot,用于加强其数据中心芯片的网络通信能力,Intel希望解决数据激增问题,这些数据对更高的计算能力提出巨大需求。同时,还需要提供必要的网络基础设施,以便信息能够在不同数据中心之间进行传输。而Barefoot在云网络架构、P4可编程高速数据路径、交换机芯片开发和各种其他网络组件方面具有非常强的能力,这有助于Intel实现其网络愿景。

Tofino的PISA架构,是网络领域的可编程DSA,其资源利用率要高,整体的资源效率反而是高于ASIC的。

可编程网元的现状

随着数据面可编程交换芯片及P4语言的出现,转发网元的数据面也变的“善解人意”起来,可以根据用户的业务场景和流量模型进行定制。

比如,传统的IP类转发网元,对5G用户面网元UPF所采用的GTP报文的封装和解封装并不支持。数据面不可编程时代,要支持GTP就需要重新设计硬件,重走一遍传统产品需求调研、立项、研发、测试等环节,这个周期想想都很长。

可编程数据面硬件的出现,运行在设备侧的P4 Runtime代理(如stratum)与控制面通过P4 Runtime交互,动态切换或改变转发逻辑(如转换为支持GTP的数据面)成为可能。这种网元,属于“全可编程网元”。

转发网元数据面可编程,其实也不是可编程交换芯片的专属。

软件实现的虚拟网元、网络多核处理器NP、FPGA等实现的网元,都可以作为P4语言的运行target(目标)。而且,这些网元的可编程能力较之可编程交换芯片往往更好。

不过,论带宽、功耗、成本之类的硬指标,胜出的还是可编程交换芯片。

网元的控制面、转发面全可编程带来的直接好处,是网络的拥有者不再受设备和芯片商的锁定。

全可编程网元及由这些网元构成的可编程网络,能够极大激发产学研各界对网元、网络创新的热情,同时,也通过P4语言等降低了创新的门槛。

P4可编程设备能干啥

P4可编程设备的到来,似乎要给数据面或转发面不可编程这段历史画上一个句号。

数据面可编程,为网络创新提供了一片沃土;P4语言,为在这片沃土上耕作(创新)提供了易用的农具。这样一来,在这片沃土上硕果累累也就合乎情理,意料之中。下面这幅图对学术界的成果进行了一个很好的总结,包括INT、QoS、拥塞控制、多播、负载均衡、加速计算、聚合、网络测量、安全、测试等领域。

但是学术界的研究要真正落地,还需要考虑很多其他因素,如可运维性、占用资源情况、多租户共享支持、异常场景处理、平滑演进等等。

要体验新事物、尝尝新甜头,克服一些挑战也不是不可以。工业界使用P4可编程交换机的场景目前还不算多,主要集中在Overlay分流分发、INT网络测量、无线回传设备设备白盒化等领域,但星星之火,可以燎原。学术界的硕果转化为工业界的硕果,以不是完全没有可能。

事实上,一些前卫的企业,已经尝到了数据面可编程带来的甜头。比如:

1、Ucloud-一致性哈希网关

NAT64 Access 是 Ucloud 基于Intel 可编程芯片 Tofino 设计的一致性哈希网关,以旁挂的方式连接物理交换机,通过Maglev一致性哈希算法将去往 NAT64 服务器集群的流量进行分发,同时实现限速与DDoS保护功能。

NAT64 Access 与物理交换机组成三层网络,通过BGP发布地址,物理交换机将网络流量分发到多个NAT64 Access,实现NAT64 Access集群的负载均衡与高可用。

NAT64 Access 与 NAT64服务器组成二层网络,服务器通过BGP向NAT64 Access发布VIP,NAT64 Access获得VIP对应的下一跳信息(MAC地址),通过Maglev算法将流量分发到集群的不同服务器。每个NAT64服务器配置不同的源IPv4地址,实现返程流量的正确到达。

NAT64 Access 通过数据面的查找表与控制面Maglev Hash Engine实现Maglev哈希算法。同时,数据面对每个EIP针对TCP SYN报文进行入向和出向PPS限速(目前单个EIP的SYN报文的速率限制在50000,超过50000时会进行丢包,参数可调)实现DDoS安全防护。

NAT64 Access 在Tofino 数据面,主要使用了pipeline串联、减少表依赖/合表、ingress/egress同时使用等优化操作对Tofino表项进行优化,以应对 Tofino SRAM 受限的问题。

2、阿里云-流量分发网关

XGW 是阿里云基于Intel 可编程芯片 Tofino 设计的流量分发网关,如上图所示,其负责公网、专线、跨Region之间流量汇聚与分发,支持IPv6。

典型产品有:EIP和共享带宽限制、专线(比如天猫双11或某大客户数10Tbps专线上云流量)、CEN等。

XGW 设备类似于2U服务器,主要部件如下:1)Intel Tofino 芯片:负责大流量转发;2) 网卡芯片:负责打表项转发;3)CPU:业务编排、智能调度。

XGW 在Tofino 数据面,主要使用了pipeline串联、合表等优化操作对Tofino表项进行优化,以应对 Tofino SRAM 受限的问题。

3、京东云-ToR、汇聚交换机流量可视化

京东云将部分数据中心网络的ToR、汇聚交换机替换为了P4白盒交换机。

同时,在边缘云场景,也对白盒交换机进行了一定规模的部署。

京东云使用P4可编程设备实现网络的可视化方案。由于现阶段无法实现传统设备的全P4可编程化,京东云采用混合部署方案(部分P4可编程设备、部分传统设备),使用Postcards模式部署INT,实现实时的网络丢包探测、拥塞、时延抖动以及路径的可视化。

除了流量可视化,京东云还通过P4可编程实现了LAG/ECMP的链路优先级功能。在进行网络流量转发时,优先使用高优先级的链路,当高优先级链路满载时,选择低优先级的链路分担流量。

京东云未来将会进一步对IDC、DCI、边缘节点的网络设备P4可编程化,已让网络更加的可视化、运维自动化,实现高级的流量调度、拥塞控制、虚拟网络功能(LB、NAT)卸载等。

4、中国电信-回传设备白盒化

中国电信拥有100多人的SONiC开发团队,正在使用P4可编程设备开发运营商的无线回传设备(4G时代,中国电信有5-10万台这种设备),预计今年将在此场景进行P4可编程设备的部分落地。

另外,P4可编程设备目前实现了小规模的数据中心网络TOR、汇聚交换机部署,运营商回传设备的部署。据说,80%的做网络安全的厂商都在使用P4可编程芯片在开发设备。

“红绿蓝”厂云端布局忙

云服务是一个比拼综合实力的战场。芯片企业要将架构、处理、加速、负载、软件等方方面面做优做细,才能让云计算这种涉及分布式计算、并行计算、存储、虚拟化、负载均衡等多个维度的复杂算力系统,变成用户眼里像用水用电一样简单的黑盒。

对云的支持,贯穿了英特尔的DCG(数据中心解决方案事业部)、PSG(可编程解决方案事业部)、NSG(非易失性存储器解决方案事业部)等部门。DCG提供面向云服务提供商等细分市场的工作负载优化平台,以及CPU、IPU、AI加速器等硬件产品。PSG面向云等市场,提供FPGA和结构化ASIC等可编程半导体产品。NSG提供基于英特尔 3D NAND 技术的下一代内存和存储产品,客户包括企业和基于云的数据中心等。

后摩尔时代的新宠异构计算,在云服务市场有着充足的施展空间,而英特尔也为此更新、出新了一揽子芯片产品。首先是作为主心骨的数据中心CPU,2021年,英特尔推出代号“Ice Lake”的第三代至强可扩展处理器,面向云端工作负载的要求进行了设计和优化,谷歌云、亚马逊等云服务提供商已经推出了基于Ice Lake的服务器、云主机、虚拟机等服务。为了减轻CPU负载,英特尔公布了两种专门处理基础设施任务的IPU,分别基于FPGA和ASIC架构。为进一步提升计算效率,英特尔还推出了面向数据中心AI解决方案的Habana Gaudi加速器,亚马逊云计算服务在EC2(弹性计算云服务)中推出了采用 HabanaGaudi 的实例,用于训练深度学习模型。

在收购赛灵思、Pensando之后,AMD也将形成较为全面的异构计算版图,包括霄龙系列作为数据处理处理器、AMD Instinct MI200 系列GPU加速器、赛灵思提供的FPGA以及Pensando的数据专用处理器。至2021年第四季度,亚马逊EC2、IBM云、微软Azure 云服务提供商已经推出130 多个由AMD驱动的公共实例。

其中,霄龙处理器的最新版本将强化对云的支持。2021年,AMD得益于云和企业客户越来越多地采用霄龙处理器,数据中心收入同比增长一倍。在第四代霄龙处理器中,预计2023年推出的“Bergamo”将采用新的“Zen 4c”处理器内核,该内核专为云原生工作负载而设计。

同时,作为主力GPU厂商之一,AMD还面向云游戏提供视觉处理能力。其Radeon PRO V620 GPU将为云游戏提供数据中心视觉性能。英伟达正在采用 Ryzen Threadripper PRO 推动下一代云游戏体验。

云计算的计算挑战,甚至让以GPU加速器在数据中心市场站稳脚跟的英伟达,推出了用于HPC 和云计算的高性能 CPU,代号“Grace”。加上英伟达力推的BlueField DPU系列,包含CPU、GPU、DPU的异构计算格局正在显现。

作为可交付的异构计算产品,蓝、绿、红厂也在尝试CPU+GPU的计算架构。英特尔通过Falcon Shores架构,将x86与Xe显卡集成在服务器的同一插槽,将在每瓦性能、计算密度、内存容量与带宽方面实现超过5倍的性能提升。英伟达推出了CPU+GPU的超级芯片Grace Hopper,通过互连技术实现CPU 和 GPU 之间的 900 GB/s 双向带宽。另据媒体报道,AMD在论文中探讨了一种高性能芯片,包含CPU芯片、GPU芯片和HBM内存堆栈。

新格局下计算挑战日趋严峻

随着企业和个人用户对于计算和存储的需求越来越大,以及新冠肺炎疫情防控期间数字经济加速发展,云计算市场正在加速扩充,为芯片企业带来了更多的机遇。艾媒咨询数据显示,2021年全球云计算(IAAS+PAAS+SAAS)市场规模为2654亿美元,预计2022年达3105亿美元。

芯谋研究高级分析师张彬磊向《中国电子报》记者表示,云计算对CPU、GPU、BMC(基板管理控制器)、存储芯片、交换机芯片和光芯片都有需求,其中存储芯片和光芯片的需求量体量将大增。而CPU、GPU、BMC、交换机芯片需要主要体现在技术发展上,当下业内提出来的DPU、TPU都是在CPU等基础上加速数据处理的芯片,未来需求也会增加。

但也需注意的是,云计算市场的竞争格局也处于变化中,对于芯片企业提出了新的要求。

从竞合关系来看,芯片企业和云厂商已不再是单纯的卖方和卖方关系。云厂商也在进行芯片开发,以提升硬件基础与业务本身的契合性。亚马逊、谷歌、阿里等云厂商都发布了自研的数据中心芯片。

“过去云计算服务厂商是数据中心芯片的主要买家,如今云厂商纷纷自研芯片,一方面可以减少对第三方芯片厂商的依赖;另一方面在特定需求领域,云计算厂商自研芯片可以达到价格、能效的最佳平衡,在软硬一体化上进行更快的创新并提高安全性和灵活性。” 赛迪顾问集成电路产业研究中心总经理滕冉向《中国电子报》表示。

尤其与主力芯片企业不同的是,许多头部云厂商选择用Arm架构自研芯片,亚马逊研发的Graviton 处理器、阿里巴巴旗下半导体公司平头哥自研的倚天710等芯片,都采用了ARM架构。

“可以看到,多种架构正在争相进入数据中心芯片领域。ARM处理器的ISA复杂度更低,开发成本更低。很多的云计算厂商都在大力投入ARM架构产品,未来更多的数据和应用将在边缘产生和处理。终端与云同构、低功耗、高效能的ARM芯片或将成为更多服务器厂商的选择。”滕冉说。

不过,云厂商往往会将研发资源投入到核心处理器上,而非像芯片企业一样开发多种类型的芯片,并通过封装、互连技术和软件栈形成平台化的计算资源池。如何提升架构兼容性,并通过接口和软件平台,使云厂商的自研芯片便捷接入异构计算平台,获取定制化的计算服务,将成为芯片企业在云市场的重要课题。

“芯片企业在云市场的竞争主要聚焦在应用端和技术端两个方向。在应用端以客户粘性为基础与更多的应用场景结合,从而获得更多企业客户认可,逐渐建立起B2C和B2B2C的商业应用模式。在技术端,更低的延时更高的数据处理能力是云计算业务能否快速占领市场的关键。” 张彬磊说。

文章来源:软硬件融合,技术甜甜圈,中国电子报,鲜枣课堂

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处本网。非本网作品均来自其他媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如您发现有任何侵权内容,请依照下方联系方式进行沟通,我们将第一时间进行处理。

0赞 好资讯,需要你的鼓励
来自:微观人
0

参与评论

登录后参与讨论 0/1000

为你推荐

加载中...