聚焦Open vSwitch性能大提速


SDNLAB独家译稿】Open vSwitch(OVS)项目的开发人员对其性能稍加改进,正如他们所说已经将其提升到了惊人的速度。

这项工作已经持续了一段时间,但具体细节直到今天才在Network Heresy博客上得以总结。这个团队也会在今天的Open vSwitch会议上进一步阐述细节方面做的改进,该会议在VMware总部—加州的Palo Alto举行。

OVS的核心问题,也是过去一到两年中这个团队优先考虑的问题,即它在处理Linux用户空间上花费太多时间,这也被称为慢路径。(另一种是在内核空间中的快速路径。)此前,该小组表示能够小幅度提高性能——“尽管提升10%或者20%,也是值得表扬的。”Pettit在接受SDNCentral的采访时说,但仍需要加大力度。

问题的焦点是,OVS扫描整个数据包报头,并且在数据流缓存中查找精确匹配。换句话说,这对数据流的处理十分严格;任何没有精确匹配的数据流都会被移到慢路径里去。

这个问题在OVS1.11版本中得到了解决。(OVS现在已更新至2.3版本。)该版本提出了megaflow的概念——在缓存字段使用通配符的能力,从根本上来说,这样的OVS可以更快速的决定如何处理数据流。

用户空间也是单线程的,因此在OVS2.0版本中引入了多线程。这有助于交换机实时解决流量问题,内核缓存也从以前的1000条流增加到了200000条。

这两种改进方案使得OVS团队提高了分类程序,这些代码决定了哪些OpenFlow规则适用于数据包。增加的功能包括搜索结果的优先级排序和分段查找,这些都是能适用于包头子集的策略。

这些措施都提高了软件的性能。究竟怎样算是惊人的速度,这取决于用户,或者说取决于几周前在OpenStack峰会上提到的术语Rackspace。该OVS团队并没有给出具体的数字,但是Network Heresy博客列举了该团队在Linux桥上的一项测试结果。

随着对性能的关注,OVS下一步的发展将会涉及到升级堆栈。“我们在2-3层的表现还算不错,但是人们对4-7层更有兴趣。”Pettit说。

具体来说,Pettit和与会同事正在探讨增加状态防火墙(预计在明年年初的OVS2.4版本中体现),网络地址转换(NAT),和深度包检测的方法。

他们遇到的挑战是将这些有状态的功能导入到无状态的OpenFlow中去。“我们如何在OpenFlow可以使用它的情况下给它下定义?”Pettit说。OVS团队的回答侧重于在Linux中使用连接跟踪机制;相关代码可以在Github下载。

其他OVS未来发展方向除了涉及到Linux的KVM之外,还涉及到配套环境支持,例如微软的Hyper-Vhypervisor和Intel的Data Plane Developer Kit(DPDK)。

译自:https://www.sdncentral.com/news/open-vswitch-gets-boosted-ludicrous-performance/2014/11/

 


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/3796.html
分享到:
相关文章
条评论

登录后才可以评论

崔佰贵 发表于14-11-20
6