x86 架构如今广泛用于许多嵌入式应用程序中。工程师和产品经理认识到,这些设备为其产品提供了市场领先的计算性能、具有向后兼容性的频繁创新、低风险的供应连续性、高效的功耗、支持的开发工具和软件以及一系列价格选择。
利用这些优势增长最快的领域是嵌入式网络和通信设计。在这方面,x86 处理器非常适合 10/100 Mbps 和 1 Gbps 应用。然而,随着网络扩展到 10G、40G 和 100G,需要一种新的架构来增强 x86 的高性能应用程序。
要求强调 x86 能力
新设计有几个强调 x86 架构功能的关键要求:
更高的性能:永远不变的一个要求是对更高性能的需求。随着更多用户和更多在线设备、更多需要带宽的应用(如视频)以及用于移动和云计算应用的新网络,对网络带宽的需求是无法满足的。看不到尽头,网络已经从 10/100/1000 以太网转移到 Nx1G 和 10G,40G 和 100G 即将到来。性能要求不仅限于增加原始带宽,还必须提供非常低的延迟来处理实时应用程序。最后,正在引入复杂的流量管理,以在数千种类型的应用程序之间提供流量排队、调度、整形和监管。
安全处理:网络安全曾经是罕见的,设计通过带外或后备异常路径上的专用安全处理器来解决这个问题。在现代设计中,用于计算密集型批量加密功能的线速安全处理和加速有望在每个数据包上在线提供。
深度数据包检测:深度数据包检测和 L4-L7 数据包处理在历史上也被视为异常,由单独的外部处理器和正则表达式引擎处理。现代设计中的许多用例需要能够对数据包中包含的信息做出安全和网络处理决策,远远超出原始 L2-L3 标头信息。
可编程性:可以在网络上找到的应用程序和威胁列表每天都在增加。网络基础设施和安全设备的产品设计必须是高度可编程的,以适应新的要求,而没有很大的成本或时间限制。
功率效率:为了满足新的绿色计算要求,增加带宽和每个数据包的计算量并不能驱动功率的线性或指数增长。新设计必须扭转功耗的增长率,推动每瓦指令的新水平。
有状态处理:几乎所有关于深度数据包检查、负载平衡和安全处理的要求都需要对整个通信会话有状态、基于流的视图。简单的数据包处理不再足够好,当前的 OpenFlow 规范定义了 10 元组匹配标准。
这些新要求的结合产生了对更大带宽的需求,并且每个数据包的处理量显着增加。这些项目中的任何一项都可能成为通用处理器的挑战,而这些新要求的结合给 x86 在嵌入式通信设计中带来了巨大压力,这些设计超出了几千兆位的性能。
x86 硬缓存墙
x86 处理器非常适合许多网络和安全应用程序的通用计算要求。不幸的是,它也成为高性能设计的瓶颈。x86 以及其他基于缓存的架构(如 MIPS)无法同时处理高数据包速率 I/O、安全处理和深度数据包检测等操作。
在 10G、40G 和 100G 中,这种动作组合为每个数据包定义了非常高的接触率和指令,这些数据包定义了流的越来越多的有状态系列数据包。在这些场景中,内存事务率和网络吞吐量之间的差距很明显。隐藏内存延迟的标准方法(例如多层缓存)变得无效。
如果保守地假设只需要 500 字节 (0.5 KB) 的内存来维护流的状态信息,这意味着需要 0.5 GB 来保持缓存的有用性。这比当前顶级 x86 CPU 中提供的 12 MB 缓存高出几个数量级。
最近公布的测试结果如图 1 所示,清楚地说明了当今领先的基于 x86 的 CPU 的局限性。
结果表明,随着有状态流数量的增加,通用 CPU 的性能会大幅下降。
一种新的架构
流处理威廉希尔官方网站 的最新进展使设计人员能够利用 x86 提供的众多优势,并将其扩展到 10G、40G 和 100G 设计中。图 2 所示的新架构提供了多个特定于工作负载的处理器,可最大限度地提高每个关键设计任务的性能。它具有专门的网络优化协处理器,通过消除不适合的低效和繁重的工作负载来增强 x86。该设计保留了 x86 对所有应用程序和控制平面处理的优势和熟悉度。同时,它提供了一系列功能强大的专用多核 RISC 处理器,这些处理器针对网络和安全工作负载进行了优化。
图 2:典型的异构多核设计将 x86 处理器集中在应用程序和控制平面处理上,将繁重的网络和安全工作负载留给专用协处理器。
这些流处理器处理较低层的数据包处理并加速较高层的流和应用程序级处理。这种加速架构利用网络优化核心进行交换和路由、数据包分类、过滤、状态流分析、深度数据包检测和基于动态流的负载平衡。还可以执行其他网络处理功能,例如 TCP 终止和 SSL 卸载,进一步卸载通用 CPU。流量可以清晰地结构化,以便从流处理器传输到通用核心以进行应用程序处理,从而提高主机性能。最后,数据平面流处理器与应用程序和控制平面处理器之间的所有通信都可以通过虚拟化、
异构多核设计的应用
许多网络和安全产品都非常适合这种异构多核设计,它提供一流的 x86 处理和新的状态流处理。流和活动状态的概念可以在防火墙、会话边界控制器、入侵防御系统、负载平衡器以及许多其他网络和安全设备中找到。
审核编辑:郭婷
-
处理器
+关注
关注
68文章
19286浏览量
229873 -
控制器
+关注
关注
112文章
16367浏览量
178122 -
cpu
+关注
关注
68文章
10863浏览量
211799
发布评论请先 登录
相关推荐
评论