日前,Linux组织宣布成立开源项目IO Visor,该项目主要针对Linux内核的输入/输出请求任务。这个项目听上去彷佛很深奥,事实上该项目与网络有很大的相关性。IO Visor无需借助网络硬件就能够建立整个网络的拓扑。html
在实际应用场景中,IO Visor经过增长Linux内核中运行的元件数量能够有效地提升虚拟交换机等网络元件的性能。在去年VMware主办的 Open vSwitch大会上就讨论过这个问题,当时围绕“将一些数据包处理移出Linux内核是否会更好?”展开讨论。安全
建立IO Visor项目获得了业内不少公司的支持,其中包括 Barefoot Networks、Broadcom、Canonical、 Cavium、Cisco、Huawei、Intel、PLUMgrid以及SUSE。其中PLUMgrid是核心成员,向IO Visor项目贡献了初始代码。网络
相较于涉及整个云计算的OpenStack,IO Visor更加侧重于Linux内部,内核做为中枢神经将应用的输入/输出请求与硬件进行链接。Linux组织的执行董事Jim Zemlin认为,不管是内核中仍是内核上层都有大量的代码开发和创新研究工做。而相关设备商正试图集体完成这项工做。分布式
以下图所示,其余开放网络项目可能更加深刻堆栈,尤为是开放计算项目,已经深刻到硬件层面了,可是IO Visor项目倒是其中最深奥的。工具
IO Visor面对的挑战是Linux内核没有虚拟化,由于Linux内核与内存、CPU等硬件元件直接对话,其性能远胜于Linux用户空间。可是没有虚拟化就意味着Linux内核一次只能处理一个请求。为了适应一个新的请求——一个新的IO模块——须要从新编译内核。性能
IO Visor但愿虚拟机能够自发的添加到内核空间中,这就须要修改内核中的Berkeley Packet Filter (BPF)。顾名思义,BPF就是设置一个过滤器只容许肯定类型的数据经过。开发工具
这样一来,网络功能虚拟化(NFV)就可能受到必定的影响。能够在一个内核中运行多个虚拟网络功能(VNFs),在内核中运行一个完整的服务链,从而享受到相应的性能优点。一样受到影响的还有安全应用,想象一下,虚拟防火墙和安全防护系统能够在内核中自动运行,而且无需进行重编译。思科的软件战略的高级主管 Lauren Cooney说道“在IO Visor帮助下就能够实现真正的实时处理,而不是启动-关闭-重启。”云计算
若是规模足够大,就能够借助IO Visor建立一个包含多个计算结点的完整虚网,内核会负责数据层面全部的处理工做。实现这项工做的机制称为IO Visor引擎,IO Visor项目的主要工做就是开发这样的引擎、与之配套的插件和开发工具。spa
不能否认IO Visor确实能够提升应用性能,可是如何将大量的任务移动到内核空间中也是一个不小的问题,毕竟目前几乎全部虚拟机都运行在用户空间中。PLUMgrid产品与市场副总裁Wendy Cartee说道:“我相信开发人员通过一段时期的琢磨后必定能够判断出哪些任务适合在内核空间中运行,哪些任务适合在用户空间运行,这两个空间确定都会获得充分的利用。”插件
PLUMgrid 如何邂逅IO Visor
自PLUMgrid成立之初就向Linux组织提出虚拟化内核的想法。早期在进行虚拟网络堆栈开发的时候PLUMgrid就发现了其中的局限性。尤为是添加路由、交换机后问题更为明显,Cartee说道“在部署过程当中常常会出现一个集中结点,全部的流量都经过这个集中结点,这样一来就不是彻底的分布式了。”
PLUMgrid一直在钻研这个问题,事实上不少开发者就是被PLUMgrid的这个想法所吸引而加入这家公司。
本文转载自SDNLAB,原文连接:http://www.sdnlab.com/13144.html