NFV,即电信网络功能虚拟化,通过使用X86等通用性COTS硬件以及虚拟化技术来承载网络功能的软件处理,从而降低网络昂贵的设备成本。NFV可以通过软硬件解耦及功能抽象,使网络设备功能不再依赖于专用硬件,资源可以充分灵活共享,实现新业务的快速开发和部署,并基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。NFV架构作为ETSI最新定义的通讯网络架构,5G新建网络必将采用NFV架构。同时,现网的部分存量网络做网络架构改造,比如4G网络的CU面分离部署时,通常也会采用NFV架构。
然而技术的发展如同历史的发展一样,总是螺旋式上升的。NFV刚从专业硬件向通用硬件发展,面向5G网络应用及4G网络的CU面分离应用时,却发现以X86服务器为主的COTS硬件并不能满足5G及4G C U分离的网络性能要求。这主要有两个原因:
一是通用X86 CPU保证通用性,而丧失了专用性,即不擅长特定任务处理。比如处理编解码转换、报文转发、加解密等并行处理任务。
二是X86通用处理器性能再无法按照摩尔定律进行增长,而电信业务特性对计算性能要求,超过了按“摩尔定律”增长的速度。
以5G网络而言,为满足5G网络的大带宽和低时延特性,5G RAN、5G CORE都有非常大的性能提升需求,只靠X86处理器性能难以满足; 位于边缘DC的MEC,受制于机房空间、散热、成本等因素限制,使用纯X86处理器难以满足高性能计算的要求。
以4G CU分离而言,用户面面对报文的转发吞吐量及时延有很高的要求,而通用的X86处理器在报文转发方面并不专业。
在4G CU分离及5G网络应用场景中,因为NFV所采用的通用硬件在特定任务处理上的性能或成本方面具有缺陷性,从而让X86处理器配备FGPA、GPU等协处理器(加速卡)的方案重新出现在NFV的架构中。电信网络也经历了从专用硬件到通用COTS硬件再到通用COTS硬件+专用加速卡硬件的螺旋式发展历程。最新的ETSI NFV架构也将硬件加速引入到NFV架构之中。
在新的VNF架构中,对NFVI进行了增强,增加了加速资源虚拟化能力:将加速器进行抽象,以逻辑加速资源的方式呈现,统一提供全面的加速服务。虚拟化层提供统一的接口,适配不同形态的加速设备形态,如加速器等。
NFV应用中的硬件加速方案现状
硬件加速方案现状主要是两部分:标准及开源组织的硬件加速研究现状和硬件加速方案的应用现状。
首先说标准及开源组织的硬件加速研究现状,这里介绍两个主要的研究(或者开源)组织——ETSI、OpenStack对硬件加速的研究现状。
ETSI,它除了在NFV架构中定了硬件加速模块功能外,也定义了硬件加速的两种实现方案——pass-through方案以及抽象模型方案。
Pass-through 方案,即PCI/PCIe-pass-through,它将PCI插槽上的硬件加速卡直接pass through给某个特定的虚拟机使用。Pass-through方案是目前最通用的方案。其缺点是硬件被虚机独占,上层应用或者虚机需要自我维护不同加速卡的硬件驱动等。
抽象模型方案:在NFVI中,也就是hypervisor中维护“Backend/HW Driver”模块;在VNF层,在VNFC中维护“Generic Driver”模块。NFVI负责加速卡的扫描和驱动加载,加速卡硬件虚拟化管理,并将虚拟加速卡挂载给虚拟机上。其优点是一个加速卡资源可以被多个虚机使用,加速资源可以被加载或者释放。并且VM针对各种加速卡,只使用一个通用的加速卡驱动程序,虚机维护很简单。
在ETSI定义硬件加速框架及实现方案的同时,开源社区OpenStack也启动了Cyborg项目,它的主要目标是管理各种加速器的安装驱动程序、依赖关系、安装和卸载。它能够将加速器和nova创建的虚机实例建立连接,旨在提供通用的硬件加速管理框架。OpenStack主要面向基础设施中对加速硬件的驱动集成和VIM对加速硬件的感知,不涉及上层MANO。目前Cyborg项目仍然是一个框架,还没有有效代码。中兴通讯积极参与OpenStack Cyborg社区工作,主要致力于开发Cyborg Driver用于支持未来用于5G、边缘等高可靠低时延场景的高精度时钟同步卡。同时,作为Cyborg子团队sub-team lead,积极参与Cyborg文档团队相关工作。
从上述标准及开源社区对加速方案的介绍可以看出,目前硬件加速方案,尤其是硬件加速抽象方案尚不成熟。同时加速硬件的使用涉及加速卡厂家、云平台厂家和网元厂家的配合与联动。这需要针对相应的加速卡产品,在云平台层集成驱动并虚拟化、提供相应的加速库或SDK,网元层进行调用。
而硬件加速方案在NFV中的应用现状,就可以总结如下:
1、使用方式简单。当前主要使用方式为VM直通使用相应加速硬件,硬件加速卡无法弹性或多VM之间进行共享使用,导致资源利用率不均衡;
2、通用加速硬件和接口无规范。每个硬件厂家的加速芯片都是特定的加速驱动,云平台厂家提供的SDK差异较大,网元层需要进行适配和定制开发,规范化程度低;
3、需要对MANO进行扩展。硬件加速的使用可以分为感知、分配、调度、释放等四个阶段。感知需要云平台对硬件类型进行识别、分配需要VNFM和NFVO支持网元对加速硬件资源请求的解析、调度需要云平台进行加速资源的监控和部署、释放则需要云平台对加速硬件资源进行重新编程。这些都需要对MANO进行扩展。
中兴通讯NFV硬件加速方案
中兴通讯作为全球领先的综合通信解决方案提供商,在5G领域处于行业领先地位。硬件加速是5G网络中提升网络性能的重要方案,中兴通讯积极参与ETSI及OpenStack的硬件加速标准及方案,同时已经推出了自己的硬件加速方案。
中兴硬件加速方案具有如下优势:
计算节点是加速卡虚拟化管理的最重要节点,它提供以下能力:
·通过FPGA或者GPU驱动,发现硬件加速板卡,记录本机硬件加速能力(集),并将驱动集成如通用驱动之列,上报能力到VIM;
·生成具有特定加速能力的虚机,加载对应加速硬件,并提供提供通用虚机前端驱动;
VIM节点主要管理计算节点的加速能力,上报加速能力到NFVM/NFVO或者其他应用编排器如HEAT及完成具有加速能力的虚机的部署。
中兴硬件加速方案目前已经支持基于FPGA的GTP业务加速,基于GPU的视频音频业务加速及QAT加解密加速。中兴通讯将携手行业伙伴,以先进技术助力网络转型,全面提升5G网络能力。