2015年7月15日 网络

今天要做的是:提高我的VNF性能,然后及时下班以避开交通堵塞

由查理·阿什顿

C.Ashton

我们最近发表了几篇关于集成到风河中的加速vSwitch (AVS)的好处的文章钛服务器NFV基础设施平台。自从这两篇文章发表后,我们的几个虚拟网络功能(VNF)合作伙伴钛云生态系统已经完成了使用Titanium Server验证其VNFs的过程,并利用了AVS的性能特性。在这篇文章中,我们将利用他们的经验来描述在Titanium Server上托管一个VNF是多么快速、简单和有益,并在现实世界中实现高达40倍的性能提升。

回顾一下:

AVSblog1

第一篇文章,我们解释了AVS如何使服务提供商能够实现基于nfv服务所需的性能水平,而不必使用PCI直通和单根I/O虚拟化(SR-IOV)等绕过技术。后一种方法不支持代表电信和有线网络关键需求的基础设施安全性和可靠性特性。

第二个帖子,我们讨论了AVS提供的高交换性能如何直接转化为虚拟机(VM)密度的提高,进而为服务提供商带来可量化的运营成本节省。

现在:

当我们与合作伙伴现有VNF,他们想钛服务器上运行,通常他们的第一个目标是去做功能测试,确保钛服务器上的应用程序功能相同,而它如何运行在另一个虚拟交换机如Open vSwitch (ov)。只要VNF使用标准的VirtIO Linux驱动程序(它们都是),这是一个快速的步骤。AVS与VirtIO完全兼容,因此现有的VNF无需修改就可以在Titanium Server上运行。不需要任何代码更改,不需要任何重新编译。

第一步的结果是在Titanium Server上运行良好的VNF,但它不能带来性能提升。为了利用AVS中的性能特性,需要额外的步骤,具体细节取决于VNF的体系结构。

VNF使用标准的Linux内核I/O,非常简单。同样,不需要对VNF代码进行更改,也不需要重新编译。开发人员只需使用加速虚拟端口(AVP)内核可加载模块(KLM),它是专门为AVS编写的。这是荷航的开源软件,可以在风河的开源资源库免费。不需要维护VNF的特殊版本来与AVS一起使用:AVP KLM仍然作为标准加载的一部分,并在运行时动态加载到客户操作系统中,就像可能包含在VNF中的其他KLM一样。唯一实际加载的驱动程序是那些与承载VNF的NFVI平台中的设备相对应的驱动程序。

将AVP KLM添加到VNF中通常会交付一个性能改进高达9x与使用VirtIO驱动程序相比,当然这取决于VNF本身的细节及其实际带宽需求。

如果VNF已经被设计为使用Intel®DPDK库来加速I/O,在使用AVS时,只需链接一个AVS感知驱动程序,就可能获得更高的性能,而在我们的经验中,这需要15分钟左右。在这种情况下,开发人员使用AVS DPDK轮询模式驱动程序(PMD),也可以在风河的开源资源库免费。同样,也不需要维护VNF的特殊版本来与AVS一起使用:一旦AVS DPDK PMD被编译到VNF中,当VNF运行在被检测为Titanium Server的NFVI平台上时,它会根据需要在运行时进行初始化。

将AVS DPDK PMD添加到VNF中通常会交付一个性能提高高达40倍与使用VirtIO驱动程序相比,当然这取决于VNF本身的细节及其实际带宽需求。

AVS DPDK PMD也提供了另一个重要的好处:与ov系统使用DPDK版本不同,如OVDK停止,系统基于AVS的DPDK版本的不需要客人VNF (s)是一样的版本DPDK在主机平台(在这种情况下,钛服务器)。这为服务提供商带来了极大的灵活性,他们现在可以自由地从广泛的基于DPDK的VNFs中选择,而不受各自使用的DPDK版本的限制。

AVSblog2

在与几个VNF合作伙伴密切合作后,我们看到了基于AVS带来的性能改进,AVS支持是无缝的、快速的和高价值的。初始启动/功能测试步骤不需要更改VNF。不需要修改任何代码就可以实现高达9x的性能(与VirtIO相比),只需在VNF的映像中包含AVP KLM,以便在运行时根据需要进行动态加载。直接重新编译以添加AVS DPDK PMD可以使基于DPDK的VNFs获得高达40倍的性能。

通过使用这两种开源驱动程序中的任何一种,我们的VNF合作伙伴可以充分利用AVS的性能特性,允许他们向在其基础设施中部署NFV的服务提供商提供具有引人注目的性能的VNFs。

我们期待着欢迎新的VNF合作伙伴加入钛云并与他们合作,为电信和有线服务提供商提供一流的端到端解决方案。

以前的如何开始使用嵌入式虚拟化
下一个你的实验室在云端吗