今年6月,英特尔宣告收购一家名为“Barefoot”的公司,旨在帮助英特尔的数据中央部门“更好的应对云数据中央客户的不断变革的各种需求”。伴随着收购,Barefoot的CEO兼总裁,Craig Barratt博士(下图右一)被任命为英特尔数据中央部门旗下“互联奇迹部(connectivity group)”的总经理,卖力英特尔以太网掌握器、网卡、交流芯片等一系列网络互联产品。
(图片来自英特尔)

很多读者大概并没有听说过Barefoot这个公司。事实上,它的飞速发展已经对诸如博通和英特尔等传统网络交流芯片厂商形成了逼宫之势,大有一种“光脚的不怕穿鞋的”之感。

在这篇文章中,将详细解读这家“赤脚”公司的四大核心竞争科技:
1.一种编程措辞:P4
2.一种可编程芯片架构:PISA
3.一种编译器与工具链:P4 Studio
4.一种可编程网络芯片:Tofino
一种编程措辞:P4
早在2014年,Barefoot与英特尔、谷歌、微软,以及斯坦福大学和普林斯顿大学联合揭橥了一篇名为《P4:Programming Protocol-Independent Packet Processors》的论文,这也代表着P4编程措辞的正式出身。
P4实质上是一门针对网络数据包处理的领域专用措辞(Domain Specific Language)。从它的全称可以看出,P4最紧张的特点便是与详细的网络协议无关,这与当前正在发达兴起的SDN(软件定义网络)观点不谋而合。
在一个SDN网络中,常日可以将其划分成掌握平面和数据平面两部分,这也是它有别于普通网络的最实质特点。个中,掌握平面卖力对数据平面的各种网络设备进行集中管理和配置,二者通过标准化的接口进行互联。掌握平面每每基于标准CPU实现,因此有着很强的可编程性。而数据平面的传统实现,则是基于各家网络设备厂商、针对不同网络功能供应的各种设备。这样的实现办法,说好听一点是“百花齐放”,说现实一点便是“凌乱无章”、“各自为战”。由于各种设备和网络协议之间的兼容性和通用性不敷,极大的限定了SDN数据平面在规模和功能上的扩展能力。
在现有的SDN网络中,掌握和数据两个平面之间的标准化接口常日利用OpenFlow,很多网络设备供应商也相继推出了很多支持OpenFlow编程的网络硬件。然而,OpenFlow标准与网络协议紧密干系,它的多次版本更迭都是为了增加对更多协议的支持,见下图。
随着网络流量的爆炸性增长,各种新的网络协议层出不穷,比如在云数据中央里,各种隧道和封装协议(如VXLAN等)已经被普遍采取。除此之外,很多网络设计者也希望利用自定义或非公开的网络协议,以更好的知足自己和客户的定制化需求。这些新型的运用处景,一方面须要OpenFlow不断更新标准,另一方面须要硬件厂商不断更新硬件,以支持这些新兴协议。而这不管从本钱还是韶光上看,显然不能知足网络的发展须要。
事实上,P4出身的最紧张目的便是为SDN的数据平面供应协议无关的可编程能力。如下图所示,网络设计者可以通过P4定义数据平面的转发和处理规则,例如报头解析、匹配、表项配置等,然后通过编译器在目标交流机上进行实现。
P4作为一个开源的领域专用措辞,发展至本日已有相称的规模,拥有包括英特尔、赛灵思、微软、谷歌、思科、阿里、腾讯等几十家科技公司和大学的代码贡献和支持。
值得把稳的是,OpenFlow和P4均出自一个大师的手笔,那便是斯坦福大学教授Nick McKeown。作为SDN的提出者和先驱,他先后发起成立了开放网络基金会(ONF),以及卖力制订P4标准的P4.org。此外,他也是多个初创企业的创始人,个中就包括这篇文章中先容的Barefoot:McKeown教授在Barefoot公司担当联合创始人和首席科学家。
业界有“一流的企业做标准”的说法。Barefoot公司作为P4措辞的紧张发起者,又由SDN领域最有威信的大牛创办,因此在业界的影响力不言而喻。
一种可编程芯片架构:PISA
Barefoot的核心竞争力之一,便是提出了一种通用的、协议无关的、可编程的交流机芯片架构:PISA(Protocol Independent Switch Architecture)。
PISA的架构示意图如下所示。它的紧张数据通路是由大量“匹配-动作”单元以流水线的办法组合而成。在流水线入口,有一个可编程的包头解析器,卖力对数据包进行预处理和解析。此外,流水线还有一条回流路径,适用于数据包须要进行多次解析和反馈处理的情形。
对付每个“匹配-动作”单元,它的微架构如下图所示。可以看到,它里包含多个并行的由SRAM和TCAM组成的查找表单元,可以同时进行大量的精确匹配和三元匹配。查找后的表项再通过ALU进行打算和修正,组合成新的包头通报到下一级流水线。
PISA这种架构由通用的逻辑单元和流水线组成,因此与详细协议无关,并且可以通过编程实现各种标准或自定义的网络包处理规则,而无需进行架构修正,如下图。
一种编译器和工具链:P4 Studio
有了编程措辞P4和底层架构PISA,自然须要编译器将二者进行映射。为此,Barefoot有着名为P4 Studio的编译器和开拓套件。它的功能便是将P4措辞描述的数据包处理规则,完全、精确的映射到PISA架构上。其功能架构如下图所示。
P4 Studio紧张包含以下几个紧张部件:
1. P4编译器、调试器和IDE。
2. P4措辞的仿真环境和测试框架。
3. 底层硬件的通用接口和驱动。
4. 对开源网络操作系统的支持,如HPE的OpenSwitch、微软Azuere的SONiC和Facebook的FBOSS等。
有了全新的编程措辞、编译器和系统架构,一款全新的可编程网络芯片就出身了。
一种可编程网络芯片:Tofino
Tofino是Barefoot推出的首款可编程交流芯片,它基于台积电16nm FinFET+工艺制造。在推出之时,Barefoot称这款芯片是天下上最快的交流芯片,性能可以达到6.5Tb/s,与博通等公司的旗舰产品性能不相上下。同时,Tofino基于PISA架构,能通过P4措辞进行现场编程,又有着ASIC基本的功耗和本钱数据,这也是它有别于其他“传统”网络交流芯片的最大特点和上风。
Tofino的芯片架构示意图如下所示。可以看到,Tofino有着4条PISA架构的流水线,并通过同一个TM卖力四条流水线之间的流量调度和管理,最多可以支持130万条IPv4路由。在每条流水线里,包含16个100G MAC,也可以配置成10G/25G/40G/50G等多种模式。
目前,Barefoot又推出了第二代Tofino芯片,它基于7纳米工艺制造,性能提升了一倍,最高支持12.8Tb/s的数据包处理速率。
基于P4的可编程网络芯片对FPGA的影响
网络数据处理和加速一贯是FPGA最紧张的运用领域,在之前文章中曾先容过,英特尔近期刚刚进行了组织架构调度,将FPGA和网络平台部门合二为一,足可见对FPGA在网络领域的重视。在SDN和NFV的运用中,也有很多实用FPGA进行网络功能卸载和加速的案例,在老石之前的文章中也详细先容过的智能网卡等等。
不过,FPGA的开拓难度一贯是制约其广泛利用的最大障碍之一。因此,利用诸如OpenCL等高层次措辞对FPGA进行编程开拓就成了业界和学术界研究的热点之一。
近年来,这类研究的重点开始转向对领域专用措辞的探索,正如网络领域的P4措辞。前文提到,英特尔和赛灵思都是P4.org的成员和代码贡献者之一,两家公司都在进行利用P4措辞编程FPGA的干系研究。
在2019年的FPGA大会上,赛灵思和Nick McKeown教授以及剑桥大学联合揭橥了一篇谈论P4编程FPGA的论文,它利用了赛灵思的P4-SDNet编译器天生底层Verilog代码模块,然后映射到名为“NetFPGA”的参考设计上,见下图。
对付英特尔,在收购Barefoot之前,它就也已经开始了P4编程FPGA的研究,在最近揭橥的一篇白皮书中(下图),英特尔和Netcope公司互助开拓了一款利用P4编程FPGA智能网卡,并得到100G吞吐量的运用实例。此外,P4措辞的最初作者之一Dan Daly,一贯在英特尔担当主任工程师。在收购Barefoot之后,相信对无论是FPGA还是ASIC在内的各种英特尔芯片采取P4编程会是极大的促进。
结语
Barefoot作为一个“出身名门”的初创公司,很好的把握了现在网络体系架组成长的最大痛点,提出了已经成为业界标准的P4措辞,开拓了对应的PISA芯片架构和编译器,并做出了两款可以完备编程的高性能网络交流芯片,可以说构建了完全的技能闭环。如今被英特尔收购,对双方都有极大的好处。Barefoot的全体创业过程和理念,值得各家芯片创业公司借鉴。
免责声明:本文由作者原创。文章内容系作者个人不雅观点,半导体行业不雅观察转载仅为了传达一种不同的不雅观点,不代表半导体行业不雅观察对该不雅观点赞许或支持,如果有任何异议,欢迎联系半导体行业不雅观察。
本日是《半导体行业不雅观察》为您分享的第2076期内容,欢迎关注。
半导体行业不雅观察
『半导体第一垂直媒体』
实时 专业 原创 深度
AI|射频|华为|CMOS|晶圆|苹果|存储|WiFi 6
回答 投稿,看《如何成为“半导体行业不雅观察”的一员 》
回答 搜索,还能轻松找到其他你感兴趣的文章!







