从P4到DSA,SDN终于回到硬件定义时代

2021-09-16 14:51:12 浏览数 (1)

人人都在谈论SDN的后续发展,是时候将眼光从软件定义拉回到硬件重构了。这里的硬件重构不仅仅是网络架构的解耦,我们更需要关注设计范式在大变局下的应对-DSA。

捕捉趋势

每隔几年,都会有一个演讲影响人们对网络技术的思考方式。2011年,Nick McKeown在斯坦福的Open Networking Summit上奉献《SDN将如何塑造网络》,它开启了一种设计和运维网络的全新方式,次年Nicira就被VMware高价收购。如今,软件定义网络和网络解耦的概念被广泛使用。

最近的一个例子是John Hennessy和David Patterson在2017年ACM A.M.图灵奖的演讲。他们的演讲名为《计算机架构的新黄金时代》。他们获得图灵奖的原因是开创性地采用系统化和量化的方法来设计更快和更低功耗的RISC微处理器。在演讲中,他们介绍了如何将挫折(摩尔定律的终结)转化为机遇(计算机科学的新研究领域)。他们认为,摩尔定律终结后的解决方案将会是特定领域架构(DSA:Domain-Specific Architectures),包括针对特定领域指令集架构的处理器、相应的特定领域编程语言以及安全性。在他们看来,这需要一个了解应用、编译器技术、处理器架构和安全等领域的多学科团队。这就开辟了新的研究领域,这也是为什么他们预测计算机架构将迎来新的黄金时代。

DSA特定领域架构

摩尔定律和Dennard缩放定律(Dennard scaling表明,随着晶体管变得越来越小,它们的功率密度保持不变,因此功率的使用与面积成比例)在近几年已经趋于平缓,这意味着仅仅依靠缩放效应,我们无法再奢望计算机每两年左右性能就能提升一倍,我们需要寻找其它方法来提高计算机的性能。

仔细分析现有算法的复杂程度,为当前工作选择高效的编程语言就变得很重要。除此之外还必须考虑采用针对特定应用领域的芯片来“弥补”通用CPU的不足,目前这种针对特定领域的架构已经有很多成果。无论是GPU还是谷歌的TensorFlow处理单元(TPU)都是类似的思路,他们都是专门针对特定问题设计的硬件和编程语言。

谷歌最新TPU v4一个pod由4096颗TPU v4单芯片组成,可以达到1 exaflop级的算力,这相当于1000万台笔记本电脑之和。

网络领域的DSA

特定领域DSA架构也已进入了网络领域。传统上路由器和交换机使用专门的网络ASIC芯片来高速转发网络流量。这些ASIC的功能在生产制造后一直是固定的,在现场是无法改变的,只有通过设计一个新的ASIC才能增加新的协议,但这个过程很容易就浪费很长的时间。

最近几年某些ASIC也具备现场可编程的能力,但大部分设备厂商只是用来更新交换机和路由器芯片的内部版本,通过封闭的专有固件在内部使用这种可编程性,客户还是只能通过CLI和API看到新功能。一些大厂比如Arista和Cisco也为客户提供了有限的自行编程转发芯片的能力,通过在其设备上运行的固件中添加额外的功能,以一种有限的方式来实现客户可编程和灵活性。

随着Tofino以太网ASIC的出现,客户拥有了完全的编程控制权。类似于在x86 CPU上运行程序,Tofino芯片可以通过开放的特定领域语言即P4进行编程。P4具有类似于C语言的语法,P4程序由包头定义组成,它描述了包头中的字段以及这些字段有多少位,包解析器可以分析(可以是用户定义的)协议和查找表,它决定了对包做什么动作。针对可编程的硬件架构有配套的P4 SDK,这样用户就可以在交换机上设计和实现自己的数据平面。

网络世界中特定领域架构涉足的另一个方向就是在服务器中使用的智能网卡或网络加速器。目前这一领域非常火爆,也因此同一概念有若干名称和缩写:

· 智能网卡(SmartNIC)

· 数据处理器(DPU)

· 基础设施处理器(IPU)

· 功能加速卡(FAC)

· 特点领域加速器(DSA)

· 网络加速器

· 数据中心加速器

这些加速器主要用于卸载服务器主CPU的任务,校验和和分段卸载早前已经比较常见,近年来已经逐步扩展到网络和存储的其它功能,比如加密功能、BPF卸载、OVS卸载等等。

开启全新黄金时代

John Hennessy和David Patterson描绘了计算机架构新的黄金时代和领域特定架构的重要性。对于网络工程师而言,无论是核心网关还是边缘计算都需要考虑充分利用网络的可编程性。从可编程交换机、智能网卡到服务器上的网络协议栈,在这个生态系统中,智能网卡占据得天独厚的位置。它既是服务器网络的延伸,也是DCN网络的终结;它既要面对网络的高带宽,又要加速主机的网络处理。

因此火爆已经不足以形容近几年来“智能网卡”“DPU”的炙手可热。

【转载须知】

若转载文章为原创文章,可在相应文章下或公众号后台留言;其他非转载类文章须在文首以不小于14号字体标明转载自SDNLAB

【投稿】

欢迎SDN、NFV、边缘计算、SD-WAN、TSN、5G 网络切片等网络方向的观点类、新闻类、技术类稿件。

联系人:kk__wu(微信号)

投稿邮箱:pub@sdnlab.com

详情请参考:SDNLAB原创文章奖励计划

0 人点赞