如何使用FPGA来设计智能网卡(SmartNIC)以提高服务器的计算能力(第二章下)

Achronix 昨天


(文件编号:WP017)

在本文的上一篇中,我们介绍了如何用FPGA来一步一步地构建智能网卡,并介绍了八种设计示例;今天我们将继续介绍剩下的五种设计示例,以帮助读者根据自己的实际需求快速地开发所需的智能网卡。

一步一步地构建智能网(下)

示例9添加一个TCP卸载引擎来处理TCP堆栈的全部/部分工作,这样可以在不消耗更多CPU周期的情况下提高智能网卡性能。

10示例9 TCP卸载引擎

示例10将部分/全部安全引擎添加到智能网卡中,以每个流为基础从主处理器卸载加密和解密任务。

11示例10 –添加安全引擎以卸载加密和解密任务

示例11添加了一个单独的QoS引擎,以允许智能网卡管理服务等级协议(SLA),而无需服务器CPU的干预。

12示例11 –添加单独的QoS引擎以管理SLA

示例12添加一个可编程的数据包解码器,该解码器将类似P4的可编程性集成到智能网卡中。P4是一种标准的网络编程语言,专门用于描述和编程分组数据包转发面的操作。

1312 –添加可编程分组数据包解码器

示例13添加一个或多个板载处理器,它们为智能网卡提供了完整的软件可编程性(用于诸如OAM等任务),进一步实现服务器处理器的任务卸载。

14示例13 –带有板载处理器的智能网卡

在数据中心引入带有FPGA的智能网卡设计的最大障碍之一是基于软件的多核智能网卡在10G时代获得的巨大成功所带来的工程惯性。网络卸载和加速技术已经在API接口协议采用并标准化,这些API接口协议允许服务器任务与某些多核智能网卡交互。每个服务器软件栈都以几个特定的网卡和智能网卡为目标。为现有网卡和智能网卡开发的API驱动程序被硬编码到在服务器CPU上运行的软件栈中。除非使用FPGA设计的智能网卡可以支持这些现有API并模拟现有接口协议,否则将这些智能网卡在投入使用时需要修改软件栈。

点击“阅读原文”,以了解前面已经介绍的八种智能网卡设计示例。

Achronix见面:作为Arm的生态合作伙伴,Achronix将参加“2019 Arm年度科技论坛”北京站活动,将于10月23在北京金隅喜来登酒店会议现场中展出和介绍包括Speedster7t独立FPGA芯片、Speedcore eFPGA IP、Speedchip基于FPGA的多芯片chiplet封装和ACE FPGA设计工具套件等产品和应用。届时,将有来自Achronix的技术专家来到现场,与您共同探讨和分享创新FPGA技术给网络与数据中心、5GADAS自动驾驶边缘计算人工智能物联网、下一代多媒体等领域未来技术创新带来的机遇。
预约会议与交流,请发邮件到:dawson.guo@achronix.com

长按识别二维码,欢迎您关注“Achronix”微信公众号

    已同步到看一看