找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 网络接口加速器可能是助力也可能是阻力

[复制链接]
admin 发表于 2013-4-1 02:02:54 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
从校验和验证(checksum validation)到TCP及更高层协议的卸载,网络接口架构包含的加速功能日益增多。这些加速功能有部分可以利用软件来有效执行。在某些环境中,复杂加速功能的使用实际上可能降低性能,损害系统完整性和安全性。        正如过去30年中以太网标准取得了众多进步一样,这种主网络接口架构也不断有重大创新,其中许多旨在使操作系统和应用软件能够以更高的链路速度更有效地处理数据。在网络链路速度提高给服务器I/O性能带来挑战的同时,新的加速功能出现,这并非巧合。某些加速功能经受住了时间的考验,另一些因CPU和内核芯片组性能增益的稳定进步而渐被淘汰。      研究如何在一个系统环境中运用某一特定加速功能,将有利于我们了解该功能的长期效用。       普通的网络接口不执行链路层协议以上的数据包处理。例如,以太网接口可以处理以太网帧校验和(FCS),执行第二层多点传送滤波。一个能够基于包含在单帧的高层协议中的本地状态提供最优化的适配器被定义为无状态卸载适配器。能够基于更高级协议被执行的无状态卸载包括数据包包头分离和TCP/IP校验和计算及验证。       即使检验和这样的简单卸载,也可能在系统中引入运算冲突。例如,未经以太网FCS检测的网络故障根源的研究发现了硬件(如网络接口适配器内部的直接存储器存取(DMA)控制器)中的系统性错误。在硬件中,当在硬件中验证检验和时,应用没有被保护免受这些故障的损害。鉴于这个原因,在引入复杂的硬件或进行故障检修时,应该谨慎地中止加速功能,以避免它们成为故障源头。不过,随着卸载技术和网络适配器日益复杂,这可能不再是一个选择。       例如,远程DMA(RDMA)协议激活网络接口,直接向应用缓冲器传送数据。因此,整个软件堆栈需要作大量改变。在这种模型中,检验和必然在网络适配器中产生并验证。关于为了解决可靠性问题而在整个数据中心禁用(Infiniband)RDMA这样的事件报告就不足为奇了。       关于卸载技术前景需考虑的另一个权衡问题是,加速由硬件还是软件实现最好。TCP段卸载(TSO) 即是一个好例子。TSO是无状态卸载,其中TCP层经堆栈把一个非常大的段(比连接的最大的段尺寸还要大)传送到网络接口,再由网络接口把它分割为大量数据包。       这种方法降低了网络堆栈内每个数据包的软件开销,从而提高了性能。这种分割工作通常由网络适配器执行,并需要复杂的硅技术或嵌入式处理器来为每个数据包产生包头。或者,也可以利用软件在堆栈最低层执行,如同在Linux普通段卸载(GSO)中所做的那样。同期测量结果显示,除了无硅成本之外,其获得的性能与采用硬件实现的几无差别。
          图:基于软件的TCP段卸载(TSO)实现方案的效率几乎能够与基于硬件的实现方案相当。          状态卸载是一种网络接口加速技术,基于包含在帧序列内高层协议中的状态。若TCP是较高级别的协议,则状态卸载被称为TCP卸载引擎(TOE)。由于在网络接口上处理更高层协议的固有要求,状态卸载需要一个功能强大的嵌入式CPU,适配器上需要大量存储器。额外的成本和功耗将使加速带来的任何好处大打折扣。          TOE还包含了一个完整的TCP/IP堆栈实现方案,其与主操作系统的截然不同。这引发了OS领域的担忧。我们对一个10Gbps的TOE的TCP一致性测量结果显示,其一致性级别低于Linux 2.6.9内核。特别地,包含选择性确认(SACK)技术的TCP算法不由TOE执行。这一缺陷预计将在生产网络环境中显着降低性能,因为TCP对丢包的响应性能较低。          虽然每一个TOE供应商都可能会逐步提高自己的TCP堆栈质量,但任何打算部署TOE器件的集成商都不应该只基于微基准方法来进行测试。终端用户也应该对他们的TOE驱动器、固件甚至硅芯片做定期的更新,以修补缺陷,提高一致性。          基于硬件的加速应该慎用。基于软件的算法通常受益于摩尔定律,且任何加速都遵循Amdahl定律,因为应用层加速的范围比微基准的小得多。终端用户必须谨慎何时使用状态卸载设备,这些设备不可以工作在OS卸载时的一致性级或性能级上。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2025-1-10 17:42 , Processed in 0.056468 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表