NFV应用中的硬件加速,提升媒体面处理性能

发布时间:2019-05-17 作者:刘小华 中兴通讯 阅读量 :

NFV,即电信网络功能虚拟化。NFV通过使用X86等通用性COTS硬件以及虚拟化技术来承载网络功能的软件处理,从而降低网络昂贵的设备成本。NFV通过软硬件解耦及功能抽象,使网络设备功能不再依赖于专用硬件,资源可以充分灵活共享,实现新业务的快速开发和部署,并基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。NFV架构是ETSI(欧洲电信标准化协会)最新定义的通信网络架构,5G新建网络必将采用NFV架构。同时,现网的部分存量网络做网络架构改造时(如4G网络的CU面分离部署),通常也会采用NFV架构。

NFV硬件加速技术的产生

技术的发展如同历史的发展一样,总是螺旋式上升的。NFV从专业硬件向通用硬件发展,面向5G网络应用及4G网络的CU面分离应用时,却发现以X86服务器为主的COTS硬件并不能满足5G及4G CU分离的网络性能要求。

-通用X86 CPU保证通用性,而丧失了专用性,即不擅长处理特定任务,比如处理编解码转换、报文转发、加解密等并行处理任务。

-X86通用处理器性能再无法按照摩尔定律进行增长,而电信业务特性对计算性能的要求超过了按“摩尔定律”增长的速度。

5G网络中,为满足5G网络的大带宽和低时延特性,5G RAN、5G Core都有非常大的性能提升需求,只靠X86处理器性能难以满足;位于边缘DC的MEC,受制于机房空间、散热、成本等因素限制,使用纯X86处理器难以满足高性能计算的要求。

4G CU分离场景,用户对报文的转发吞吐量及时延有很高的要求,而通用的X86处理器在报文转发方面并不专业。

NFV所采用的通用硬件在特定任务处理上的性能或成本方面存在的不足,使得X86处理器配备FGPA、GPU等协处理器(加速卡)的方案重新出现在NFV架构中。电信网络经历了从专用硬件到通用COTS硬件再到通用COTS硬件+专用加速卡硬件的螺旋式发展历程。最新的ETSI NFV架构也将硬件加速引入到NFV架构,如图1所示。

在新的NFV架构中,对NFVI进行了增强,增加了加速资源虚拟化能力:将加速器进行抽象,以逻辑加速资源的方式呈现,统一提供全面的加速服务;虚拟化层提供统一接口,适配不同形态的加速设备形态,如加速器等。 

NFV应用中的硬件加速方案现状

我们从两个方面来说明硬件加速方案的现状:标准及开源组织的硬件加速研究现状和硬件加速方案的应用现状。

标准及开源组织的硬件加速研究现状

这里主要介绍ETSI和OpenStack对硬件加速的研究现状。

-ETSI除了在NFV架构中定义了硬件加速模块功能外,也定义了硬件加速的两种实现方案——pass-through方案和抽象模型方案。

-Pass-through方案,即PCI/PCIe-pass-through,它将PCI插槽上的硬件加速卡直接pass through给某个特定的虚拟机(VM)使用。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子团队主要参与者,积极参与Cyborg文档团队相关工作。

可以看到,目前硬件加速方案,尤其是硬件加速抽象方案尚不成熟。加速硬件的使用涉及加速卡厂家、云平台厂家和网元厂家的配合与联动,这需要针对相应的加速卡产品,在云平台层集成驱动并虚拟化、提供相应的加速库或SDK,网元层进行调用。

硬件加速方案的应用现状

硬件加速方案在NFV中的应用现状,可以总结如下:

-使用方式简单

当前主要使用方式为虚拟机直接使用相应加速硬件,硬件加速卡无法弹性或多虚拟机之间进行共享使用,导致资源利用不均衡。

-通用加速硬件和接口无规范

每个硬件厂家的加速芯片都是特定的加速驱动,云平台厂家提供的SDK差异较大,网元层需要进行适配和定制开发,规范化程度低。

-需要对MANO进行扩展

硬件加速的使用可以分为感知、分配、调度、释放等四个阶段。感知需要云平台对硬件类型进行识别,分配需要VNFM和NFVO支持网元对加速硬件资源请求的解析,调度需要云平台进行加速资源的监控和部署,释放则需要云平台对加速硬件资源进行重新编程。这些都需要对MANO进行扩展。

中兴通讯NFV硬件加速方案

中兴通讯作为全球领先的综合通信解决方案提供商,在5G领域处于行业领先地位。硬件加速是5G网络中提升网络性能的重要方案,中兴通讯积极参与ETSI及OpenStack的硬件加速标准及方案,同时推出了自己的硬件加速方案。中兴通讯硬件加速方案架构如图2所示。

 

中兴通讯硬件加速方案具有如下特点:

-计算节点是加速卡虚拟化管理的最重要节点,它提供以下能力:通过FPGA或GPU驱动,发现硬件加速板卡,记录本机硬件加速能力(集),并将驱动集成到通用驱动中,上报能力到VIM;

-生成具有特定加速能力的虚拟机,加载对应加速硬件,并提供通用虚拟机前端驱动;VIM节点主要管理计算节点的加速能力,上报加速能力到NFVM/NFVO或者其他应用编排器如HEAT,并完成具有加速能力的虚拟机的部署。

中兴通讯硬件加速方案目前已经支持基于FPGA的GTP业务加速,基于GPU的视频音频业务加速及QAT加解密加速。中兴通讯将携手行业伙伴,以先进技术助力网络转型,全面提升5G网络能力。