IO Visor:又一個開源項目橫空出世

日前,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

相關文章
相關標籤/搜索