2017年5月3日, Linux /开源

可预测的性能是OpenStack电信部署成功的关键

查理阿什顿

C.Ashton

这是几年的时间,但电信行业似乎终于接受了OpenStack在需要高水平的网络中的部署方面可行,绩效可用性,性能和安全性。关键是选择右初始鼠标:您需要一个已正确硬化,包装和压力测试,以确保其满足服务提供商的严格要求。

17974-White-Paper-Windriver1-212x300

基于风河的电信云钛云已被证明建筑以解决部署在广泛的核心,边缘和访问用例中提出的关键挑战。

如果您想了解有关钛核和钛业的虚拟化平台如何解决虚拟CPE,白皮书的一些非常关键问题的问题克服OpenStack在vCPE中的障碍提供了一个深入的解释。

有关VCPE主题的更多,您也可能有兴趣观看我们的录音网络广播Peter Willis来自英国电信,Peter讨论了英国电信发现的OpenStack具体问题,我们回顾了风河公司的产品是如何解决这些问题的。

现在来看看OpenStack的另一个重要主题:如何保证电信网络等应用程序的可预测性能,这些应用程序的性能要求比OpenStack最初为之设计的企业应用程序更具挑战性。

本月在波士顿的Openstack峰会上,Wind River的领先的OpenStack专家将呈现出标题的文件“幕后:Nova的可预测性能”。Ian Jolliffe和Chris Friesen将提供详细的见解,不仅包括实现可预测性能的技术,还包括在出现问题时如何进行故障排除。如果你打算参加OpenStack峰会,你会想看看这个环节,如果没有,你可以稍后观看录像。

OpenStack.

正如Ian和Chris将在他们的演讲中解释的那样,为了开发一个能够交付真正可预测性能的OpenStack实现,有五个基本问题领域必须解决:CPU、内存、PCI总线、网络和存储。(实际上,在本次峰会上,他们只会介绍前四种,您需要在后续的活动中加入我们来了解存储。)

与cpu相关的主要挑战都与争用有关。多个客户机争夺相同的资源可能导致所有客户机的性能无法预测,因此必须采用各种技术来防止这种情况。其中包括减少或禁用CPU超额使用、设置正确的CPU线程策略以及为每个客户机使用专用CPU。通过使用适当的CPU线程策略和利用Intel的缓存分配技术,可以避免CPU缓存争用。通过避免系统管理中断(System Management interrupt, SMIs)以及控制主机进程和内核线程的CPU“窃取”,应该消除主机和客户机之间的CPU争用。

有三个内存相关的区域需要解决,以避免性能问题。通过完全或通过启用巨大页面,可以通过减少覆盖来避免内存争用。内存带宽争用可以更加复杂:确保将每个客户Numa节点映射到唯一的主机Numa节点,同时还将虚拟机(VM)分发以跨NUMA节点分发以传播存储器访问。最后,可以通过使用巨大页面以及专用CPU来最小化主机TLB争用(其中TLB将虚拟页面映射到物理页面映射)。

通过确保每个PCI总线连接到单个主机NUMA节点来消除PCI总线争用,因此使用PCI设备的实例将被带到与设备本身相同的NUMA节点。

还必须考虑网络。重要的是要避免跨NUMA流量,因此vm应该位于与它们所连接的物理交换机相同的NUMA上,而虚拟交换机(vSwitch)进程应该配置NUMA感知其物理NIC PCI终止和NUMA实例放置。PCI PassThrough和SR-IOV也会受到NUMA节点的影响。为了避免网络带宽冲突,所有连接到同一个主机网络的实例都应该使用同一个主机网卡,最好是10G或更好的网卡。

有几种方法应该考虑,以解决主机网络带宽中的限制。由于访客支持它们,模拟NIC很慢,虚拟化的NIC速度更快。PCI Passthrough和SR-IOV仍然更快,因为它们确保PCI设备“通过”进入客人,尽管他们需要在客户中存在合适的设备驱动程序,但仍然具有虚拟中断的开销,并且可能具有挑战性最初配置。最快的客人将是一个基于DPDK的客人,并利用轮询模式驱动程序(PMD),尽管这确实消耗了更多的电源,因为访客运行紧密的循环。

最后,增强的平台意识(EPA)对于确保应用程序本身的可预测性能至关重要。EPA通过包括NUMA,内存要求,NIC支持,加速引擎和超线程意识的技术,可以通过技术进行优化的VM放置。

通过实现所有这些技术和更多钛云体系结构已经被证明能够提供电信网络所需的可预测性能水平,这也是它在服务提供商向网络虚拟化过渡时被广泛采用的原因之一。

作为OpenStack社区的主要贡献者,并专注于解决Nova的电信相关问题,风河很高兴有机会与社区的其他成员分享这些性能技术的更多细节。我们希望你能加入Ian和Chris他们即将到来的Openstack峰会会议如果您无法制造它,我们会鼓励您之后观看录音。

以前的Java on VxWorks using Micro Runtime
下一个确保启用电子的飞机