作者:
朱河清,Intel网络平台集团,前DPDK中国开发团队负责人,现在美国负责网络技术开源产品规划。
许炜华,Intel 网络软件工程师 ,主要从事DPDK软件开发和FPGA网络加速开发工作。
背景
DPDK在专注数据面报文处理的同时,一直紧跟着网络发展的脉搏以开放的姿态融合不断涌现的各种新的网络设备。从最初的普通网卡,到集成虚拟化和交换功能的高级网卡,再到各种网络SoC(片上系统)设备,到现在最热的基于FPGA的Smart NIC,DPDK一直走在软件定义网络技术发展的最前沿。近年来,数据中心异构化的趋势出现,基于云的数据中心如何使用加速器来进行存储,网络以及人工智能的加速,能为炙手可热的话题,在刚结束的APNET’18,华为与腾讯都分享了技术方向与实践演进过程,基于Linux Foundation的开源项目,对这种架构的支持,在软件的持续性与高质量保证上至关重要。
本文首先分析FPGA在网络加速中的优势,阐述了FPGA部署的软件基础架构的支撑,然后介绍了英特尔FPGA加速开发栈,最后详细说明DPDK 18.05版本中发布新特性,这是第一款支持FPGA加速的通用网络软件框架。
FPGA为网络业务提供卓越的性能加速
毋庸置疑,FPGA(Field Programmable Gate Array)早已是数据中心计算和网络加速的宠儿,灵活地通过软件更改、配置器件内部连接结构和逻辑单元,完成既定设计功能的数字集成电路芯片不仅可以达到近似ASIC的性能,而且可在不到一秒的时间进行再编程。其数据路径可精确匹配、灵活多变的适应用户工作负载,并提升数据中心的性能、功效和利用率。长期看,还可以有效降低数据中心的总体运维成本, 减少基于专用ASIC加速的重复投资。微软是这方面的先行者,微软发表了大量论文与学界、工业界分享进展