新华三EnGiant 660可编程交换芯片的分析

昨天看到新闻,新华三出了一款交换芯片智擎(Engiant)660。这是2019年成立的新华三半导体技术有限公司(新华三投资50亿,成都)推出的首款芯片,这是一款NP芯片,吞吐量1.2Tbps,开始还以为是P4可编程,看介绍居然是C语言可编程(后知是噱头)。这个芯片是台积电代工的16nm芯片,超过180亿晶体管。看起来新华三没有上实体清单。芯片可以用于各种交换设备,是一款高端芯片。简要调研了一下,网上没有太多的资料,知乎作者jacob基于这些做了一些分析,如下:

Engiant 660集成了256个CTOP处理器,每个CTOP支持16个硬件线程,共4096个硬件线程。从这一点看,应该是采用了RTC(Run To Completion)架构,即传统的NP架构。所谓CTOP(C programmable Task Optimized Processors),即C可编程任务优化处理器,也有点宣传的味道。因为NP的Core,基本上都需要定制,因为转发流程使用很多专有指令,比如Checksum计算、LPM查找指令、ACL查找指令等等。这里的专为C语言任务优化,不知道添加了什么特性

第一个特性称为革命性 – C语言完全可编程,这个有点噱头的意味。NP(Network Processor – 网络处理器)早已经从最初的类似汇编的微码演进到类C的语言编程,所谓类C语言,基本上就是C语言,只是有很多的定制指令,抛弃了一些路由器/交换机转发不会用到的C语言特性

Engiant 660集成了256个CTOP处理器,每个CTOP支持16个硬件线程,共4096个硬件线程。从这一点看,应该是采用了RTC(Run To Completion)架构,即传统的NP架构。所谓CTOP(C programmable Task Optimized Processors),即C可编程任务优化处理器,也有点宣传的味道。因为NP的Core,基本上都需要定制,因为转发流程使用很多专有指令,比如Checksum计算、LPM查找指令、ACL查找指令等等。这里的专为C语言任务优化,不知道添加了什么特性。

支持专业的智擎操作系统,实现快速网络业务开发,同时支持Linux操作系统。Linux系统,应该是运行在一个用于管理的Core上,比如使用ARM Core。

Engiant 660支持1.2Tbps接口吞吐,按照给出的应用示例,最高支持960Gbps带宽。按照960Gbps计算,对于64B小包,每个线程支持348Kpps的处理能力。对于但Core的处理能力来说,问题不大,关键是LPM查找是否能够支持1.43G/s的查找。当然,也可以使用多个查找引擎并行处理,只是需要更大的内存。

Engiant 660集成了查找引擎单元(Search Engine),可实现IPv4、IPv6的快速查找,没有说线速查找。另外,没有说有ACL查找引擎,估计对于小规格的ACL,应该是片内有TCAM,对于大规格ACL,可能需要片外TCAM。

Engiant 660集成了TM,支持1M队列、5级调度,这个规格还是很大的,需要大量的片内SRAM。当然,还要看每一级支持的调度算法和Shaping能力情况,这一点并没有公布细节。

整体来说,这款芯片从规格和性能上来看,都是不错的一款NP。

【来源:jacob:https://www.zhihu.com/question/458199968/answer/1876739086

2年多就完成高端NP的研发和投产,感觉速度很快,Engiant是自主研发还是收购合作的?进一步研究发现了Engiant的来源,收购了高通在华的合资公司:华芯通,这下就可以理解了,这个芯片我在贵州数博会上看到过,是ARM处理器,但是无疾而终,没料到被新华三收购了研发团队,知乎作者钱力克斯有些评价

新华三半导体实际是买了一家倒闭的半导体公司,这家公司的名称叫贵州华芯通,服务器芯片有两个方向 一个是基于arm的,一个是基于x86。华芯通最早是贵州zf和高通的合资公司,主要走的是基于arm的路线。新华三主要研发班底也是来自此前的华芯通。新华三第一颗商用量产芯片还没有投片,应该是近期。工艺是16nm,此前应该是做了一款testchip (测试芯片),如果你让我评价新华三半导体的技术实力,个人认为还是中上等,另外不同于紫光下属的其他芯片公司,新华三自己做设备同时做底层的芯片,对于芯片设计的推动和商用空间都是巨大的。至于竞争力其实它是自产自用,只要做的好 不断迭代就没问题,芯片公司最难的部分不是做不出芯片而是做了没人用!!!
【来源:钱力克斯:
https://xueqiu.com/9069585133/164665201?ivk_sa=1024320u

研发细节不可查,但可以查到Ansys公司的一条发布:为Engiant提供了仿真工具,支持了芯片设计、电源设计、电磁设计、热设计、结构可靠性设计等。

新华三半导体采用Ansys 仿真解决方案推出首颗支持路由交换、AI、5G回传和网络安全等应用的先进网络处理器芯片——智擎660。设计人员通过使用Ansys前沿的多物理场仿真平台提高产品签核效率,推动产品研发并满足严苛的测试要求。针对先进工艺研发大规模复杂网络处理器芯片,需要解决众多繁杂的设计问题且要求节约研发成本,新华三半导体设计人员此次采用了包含多款软件的Ansys多物理场仿真解决方案。该方案帮助设计人员从芯片设计到签核全面开展电源噪声、信号完整性、热可靠性以及结构可靠性分析,同时确保这款网络处理器芯片高度可靠,且符合严苛的设计标准,加快芯片、封装和系统的研发速度。将Ansys仿真流程融入到新华三半导体原有工作流程,设计人员成功实现降低硬件成本,加快支持路由交换、AI、5G回传和网络安全等应用的新一代芯片投产速度。设计人员通过使用基于云端弹性计算Ansys SeaScape架构的Ansys® Redhawk-SC™,验证全芯片的电源完整性,并将分析速度提升10倍。此外,他们还采用Ansys® SIwave™分析信号完整性,通过Ansys® HFSS™优化3D电磁性能,并使用Ansys® Mechanical™和Ansys® Icepak®解决热与结构可靠性方面的难题。

image

官方公布的指标参数。这里面有不少知识点,关注其中的2个。

1、首先是用C语言开发NP业务。还是在Bell Labs Research时期调研过NP,那时候写NP程序还是很费劲。注意到在2004年之后,开始有论文和书籍开始讨论C语言开发NP程序。2006年《OpenNP: A Generic Programming Model for Network Processors》博士论文中提到NP规模发展最大的痛点就是开发问题,虽然开发一个基于NP的产品比ASIC便宜,但是全局看,NP的开发人员并非NP应用开发人员,研发难度很大。论文中提到了一个NP-Click系统,这个是针对Intel IXP1200NP的开发工具,通过扩展C和调整语言来实现NP中特殊资源的管理,例如用malloc()分配NP的微引擎、和LIFO队列。下面是一段OpenNP代码,用来连接总线和处理器

image

《High-Level Portable Programming Language for Optimized Memory Use of Network Processors》是日立研究院2015年发表的论文,设计了一种Phonepl可移植开发语言,可以帮助开发人员对NP内存不感知的情况下开发NP应用,基本可以达到10Gbps线速。A common NP hardware feature is that a whole packet is stored in DRAM, but the header is cached in SRAM. Phonepl has a hardware-independent abstraction of this feature so that it allows programmers mostly unconscious of this hardware feature. To
implement the abstraction, four representations of packet data type that cover all the packet operations (including substring, concatenation, input, and output) are  ntroduced. Phonepl have been implemented on Octeon NPs used in plug-ins for a network-virtualization environment called the VNode Infrastructure, and several packet-handling programs were evaluated. As for the evaluation result, the conversion throughput is close to the wire rate, i.e., 10 Gbps, and no packet loss (by cache miss) occurs when the packet size is 256 bytes or larger. 下面是处理IPv4 MAC包头的代码,很简洁。其中substring是改写过的系统函数。

image

从上面两篇论文看,扩展C语言来开发NP应用已经是一种比较普遍的现象了,十几年前就这样了,目前显然已经很成熟了。因此说Engiant提出用C语言开发NP应用,并不是什么新玩意儿,确实是个噱头!

2、集成了96个SerDes,支持PAM4和NRZ编码,涵盖XXXX频点。第一眼看到频点,首先想到了无线通信,想想这个NP也不是用来干这事的。查了一下,才知道这个是物理层协议的内容,许多以太网连接都基于不归零(NRZ)线路代码,该代码每个时钟符号传送 1 位。到目前为止,此速度已用于高达 25 Gbps 的 SerDes 速度。 当前标准定义的100 Gbps 以太网连接聚合在四个 25 Gbps SerDes 上,甚至更老的标准也定义了在 10 Gbps SerDes 上发送100GbE。 通过以更多 25 Gbps SerDes 的较高倍数发送信号,可以实现更高的传输速率。 但是减少频谱
带宽和减少用于信号的 SerDes 数量的愿望为高速信号带来了新的线路代码: PAM4(脉冲幅度调制 ),它通过使用 4 个信号电平在单个符号中编码两位。这样可以提供 53.125 Gbps 的 SerDes,其符号率(或波特率)为 26.5625 GBaud。 为简单起见,这些通常称为 50 Gbps 或 25 GBaud SerDes。下面这个眼图一眼就能看明白PAM4和NRZ的差别,而且其中哪些XX频点也就清楚了:把频率做了调制,增加了带宽

image

image

官方公布的芯片集成接口

image

官方公布的pizza box方案,主要就是说明了外部带宽960Gbps,12个内存用满,最大8G PCIe(?)

image

官方公布的line card方案,这里面提到了TCAM,从吞吐率看,TCAM查表能力似乎低于传输吞吐率,考虑到查表主要是关键字,在查表频次没有那么高的应用应该还是可以的

新闻提到还有三个相关的发布:

  1. 面向网络业务处理而打造的专用操作系统——智擎操作系统(Engiant OS)。全新发布的智擎OS拥有超轻量化、超快速响应、管理模块丰富的三大核心优势
  2. 擎完整开发套件。开发套件涵盖SDK开发包(Software Development Kit)、PDK开发包(Packet-processing Development Kit)、集成仿真器,同时提供可视化编程工具——智擎IDE集成开发环境,支持C语言编程,可根据用户需求自动生成推荐代码,开发者可以在智擎的框架代码上根据不同业务开发不同功能特性,满足不同应用场景,大幅提升研发效率、降低研发成本。
  3. 基于智擎660芯片打造的智擎BOX(EngiantBOX)将于今年Q4开始销售,智擎BOX是一款具备48个10GE/25GE端口 + 8个100GE端口的设备,用户通过加载不同的软件应用,可以作为路由器、交换机、安全网关、无线控制器等不同的网络设备应用,智擎BOX的推出宣告开启软件定义设备的新时代,助力行业自由定义网络设备。

考虑到新华三本身就是网络设备供应商,如果提供芯片业务给其他设备商,其他设备商是否愿意采用还确实是个问题,芯片和设备两个业务存在一定的互斥关系。但是EngiantBOX的发布可能有一些推动作用,这个是白盒设备,可以由有研发能力的运营单位,例如云计算服务商,但是多少有些晚了,很多大型云计算服务商已经建立了生态链。

相关信息:

  1. 如果点评新华三推出的智擎网络芯片——engiant 660?
  2. 新华三杀入芯片市场,推出首颗网络处理芯片
  3. https://www.h3c.com/cn/Products_And_Solution/InterConnect/Products/Semiconductor_chip/
  4. https://www.sohu.com/a/480992258_120181749
  5. https://zhuanlan.zhihu.com/p/368225547
  6. https://xueqiu.com/9069585133/164665201?ivk_sa=1024320u
  7. https://file.scirp.org/pdf/CN_2015021610370569.pdf
  8. https://www.sciencedirect.com/science/article/pii/B9780121981570500118
  9. https://www.sciencedirect.com/science/article/pii/B9780121981570500234
  10. https://nplang.org/
  11. https://ieeexplore.ieee.org/document/1353202

新华三EnGiant 660可编程交换芯片的分析》有1个想法

  1. 这颗芯片是华三买了NP大厂EZchip的现成IP做的,研发来自于倒闭后的华芯通,所以什么C语言编程,什么传统NP架构,都是EZchip早年做好的。华三这几年就是消化,如果能消化好也许3年后能自己做一颗。但是问题是EZchip NP架构也是自己做不下去才被卖掉的,H3C又是个设备商,所以最大的可能性就是自产自用,传统NP用来做路由器还是可以的。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注