人工智能、数据中心等技术热点对CPU的计算性能提出了更高的挑战,而传统CPU处理器面对此挑战明显已经无法满足其性能要求。CPU性能的缺口使政府部门、互联网企业不断斥重金来新建以及扩建数据中心,但仍无法满足迅速增长的数据处理需求。因此众多企业开始寻求新的技术来对其某一应用进行加速。
随着FPGA工艺以及技术的不断更新FPGA从最初的逻辑器件发展成为现在的包含SOC、DSP以及高速串口信号等技术的全方位的处理平台,从而越来越被广泛的应用于电力、高新能计算、工业、航天等领域。2013年微软采用FPGA来加速Bing搜索引擎,使服务器总体成本下降40%;Facebook采用FPGA主控PCIE解决大数据的存储需求。
一、解决方案
1.1算法加速
本方案是基于FAST的软硬件架构实现,如图1所示,软件用户程序可以通过简单的程序接口即读写命令实现与FPGA加速算法的数据通信。基于FPGA硬件并行的处理特点,在算法实现时可以同时并行运行多种不同的实现算法,已达到多应用并行处理的需求。另外,在硬件实现单算法时,根据算法的功能特点可以将算法进行流水化或并行化处理,从而加速数据处理效率。

图1 FAST软硬件架构
1.2网络功能卸载加速
在提供算法加速的方案同时,本公司还提供对网络功能的卸载加速,如TCP协议栈的卸载,1588时间同步算法的卸载等加速。其中TCP协议栈卸载加速方案参见本公司TOE解决方案;1588时间同步算法卸载参考OpenTSN的解决方案。
另外,本公司还提供特定软件功能硬件加速定制功能,其中特定功能是指具有特殊规则并且功能独立的网络功能,例如:
1. 网络报文规则深度解析/过滤;
2. 硬件高速查表匹配;
3. 高效的报文决策处理;
4. 精准的输出调度及转发策略执行等。
这些功能可以通过将一些确定处理规则通过硬件实现,来缓解软件处理以及软件与硬件数据通路的压力,使得部分通用功能基于硬件处理控制,而复杂的任务在交由软件处理,从而缓解系统的处理负载以及提高系统的处理效率,实现结构如图2所示。

图2 网络功能卸载架构