微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 下一代数据包处理技术架构选择

下一代数据包处理技术架构选择

时间:06-08 来源:互联网 点击:

,而数据流架构是完全确定性的(表2)。通过降低复杂度并面向2-4层包处理充分优化架构,数据流架构的设计可扩展到数百个处理器核,从而能以强大的线速保证支持100Gbps的速率和每秒1.5亿个数据包的操作。

  

  虽然原始处理器的性能非常重要,但在数据流架构中,程序员将处理器性能发挥到极致的能力是衡量架构实际效用的另一关键因素。从原子操作到表存储的一系列公共存储器操作允许高效编码和代码复用,这些操作独立于存储器类型(片上或外部存储器)和贯穿整个流水线的通用处理器核。

  在多核架构中,每一级都需要处理能力的冗余配置,在实践中,这对于总是感到处理资源短缺的程序员来说是个重大挑战。因此,为恢复丢失的时钟周期,数据平面程序员会陷入“测试-性能优化-再测试-再性能优化”这样一个无尽的循环中。

  针对数据包处理比较数据流与多核架构,两款架构在效率上的差异显而易见。下面让我们借助两款当今最先进的处理器来比较2-4层包处理的各项指标。

  第一款处理器是Xelerated基于数据流架构的HX 330 NPU。它工作在300MHz,拥有448个处理器核,每个内核可同时进行5项操作。每两个时钟周期就有一个新数据包可以进入流水线。

  这相当于每秒可处理1.5亿个数据包,也就是说即使是最小的64字节以太网数据包,也需要确保能提供100Gbps的线速操作支持。每个数据包可确保5×448 =2240个操作。

  当然,2240个操作是理论上的数值。真实的数据平面应用并不会用到全部的潜能。经优化的数据平面代码大约用到50%的资源,这允许很高的服务密度。

  第二款处理器是市场上性能最高的多核处理器之一。它拥有64个处理器核、工作在700 MHz。将该处理器用于100Gbps的数据包处理应用时,需要每四个时钟周期调度一个新的数据包。平均而言,每个数据包理论上将获得256个时钟周期的处理能力。

  同步挑战以及管理共享数据所耗费的性能会将整体性能降低到利用率最多为50%。这相当于每个数据包128个操作,或者HX NPU的13%处理资源。此外,这些操作的性能得不到保证。

  如果再考虑功耗因素,则两者的差异更为显著。基于数据流架构的NPU,其每瓦性能(在线速下)是多核处理器架构NPU的15至20倍。

  不同需求,不同架构

  对于2-4层数据包处理来说,数据流架构具有明显优势。但其它比较却会产生不同结果。因此,起初看起来具有竞争力的方法实际上也许要大打折扣。

  对面向服务的应用来说,由于多核架构能很好地协调共同工作,因此它们能够有效地扩展。在一个分离的架构中,系统供应商可以利用基于数据流的处理器执行2-4层处理并通过运行多核处理器完成内容识别、加密和完成服务等操作。

  本文小结

  有关架构的争论在不断循环往复。十年前,在10Gbps以上领域业内有30多家NPU供应商。这些公司的研发大多基于多核架构。

  而今天,我们知道这种架构在进行2-4层数据包处理时,无法与专用数据流架构媲美。数据流架构的能效要比多核架构高出15至20倍,且严格保证线速。

  当就网络处理对架构进行比较时,不要被其所支持的接口带宽所误导,因为如果不考虑服务密度,则这一指标没有意义。当服务提供商评估网络平台时,真正有价值的是在线速操作下同时支持的服务数量。系统供应商需要在研发阶段的早期就密切关注服务密度。

  虽然在2-4层处理的服务密度上达不到要求,但新一代多核处理器仍可满足巨大且不断增长的网络市场的需求。这是对基于网络的服务和安全处理应用的大力推动,它为现代多核处理器和数据流架构的结合创造了新的机会(表3)。

  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top