摘 要:針對一些網絡設備在設計時面臨的技術和市場挑戰,討論了應對網絡設備挑戰的幾種解決方案,如調整軟件適應多處理器平臺,超虛擬化技術以及全透明實時虛擬化技術。著重探討基于Intel虛擬化技術的實時虛擬化軟件解決方案是如何簡化這樣的挑戰以及與其他解決方案相比,基于Intel虛擬技術的實時虛擬技術解決方案的優勢。應用結果表明,該方案可行且高效。
關鍵詞:網絡基礎設施; 多核處理器; 均衡多處理器; 虛擬化技術
中圖分類號:TP393 文獻標識碼:B
文章編號:1004-373X(2010)10-0140-03
Service of Network Infrastructure Improved byVirtualization Technology
LI Fang-she
(Beijing University of Civil Engineering and Architecture, Beijing 100044, China)
Abstract:Several solutions to address the challenges from network device are doscissed, such as adjustment of the existed. software for multi-core processor platform, para virtualization technology and full transparent real-time virtualization technology, aiming at the challenges from technology and market in the design of network device.The methods of simplifying the challenges byreal-time virtual software solution based on Intel virtualization technology,and theadvantages of real-time virtual software solution by comparing with other solutions are discussed. The result of application shows that the solution is feasible and effective.
Keywords:network infrastructure; multi-core processor; symmetric multi-processor; virtulization technology
電信運營商通常要求網絡設備制造商為其提供的設備要能處理更多的呼叫,又要消耗較少的功率,并且要支持越來越多的增值服務。以往,通過增加處理器的處理能力,或者提高設備密度來滿足這些需求。隨著硬件技術的發展,現在利用多核處理器就可以實現更高的密度、更強的處理能力而且功耗更低。這里首先分析網絡設備設計遇到的挑戰,然后介紹應對的措施。
1 網絡設備設計面臨的挑戰
1.1 降低運營商的成本
每個移動電話運營商都需要部署很多天線以提供有競爭力的地理覆蓋。天線需要基站(BTS)運作。從經濟上考慮,一個運營商和其他運營商分擔公共基站成本而不是建造自己的基站是明智的。多個運營商之間共享一個基站就要求能夠在惟一的基站上安全地響應不同的運營商,要求每個運營商保持完全控制和管理他們自己的那一部分。換而言之,不同運營商使用的軟件必須安全地彼此隔離,必須嚴格地加強訪問共享或公共資源的規則,一個共享資源潛在的故障不能危及其他共享資源提供的服務。
強大的硬件允許處理更多的呼叫,支持更多的最終用戶和更大的流量,因此在一定流量下可減少處理所需板子的數目,也就意味著降低了功耗?,F在,提高處理器速度不再依賴增加功率,而是通過多核處理器和均衡多處理(SMP)刀片。但是,該技術的進化給軟件設置了新的約束,例如在SMP硬件之上或當核數增加時運行軟件的伸縮問題。
1.2 為終端用戶提供增值服務
傳統電話系統(POTS)已經穩定運行了數年,它和IP網絡融合存在一些新問題。IP族協議是面向通用操作系統如Linux而開發的,而電話信令軟件主要基于專用實時操作系統(RTOS)。融合和產品面市時間要求其能夠遵從IP相關協議的進化,在原有的OS中集成IP協議棧沒有負擔。同時,還要利用原有OS中已實現的信令協議。
移動電話設施在幾年中已經歷了:從GSM到GPRS到UMTS到HSDPA及更遠(LTE, 4G,…),為終端提供了更高的帶寬,提供了傳輸高質量多媒體流和其他增值服務。新設計設備必須以無成本或很低的成本利用已有軟件,同時要能適應網絡設施的未來進化。
在用戶終端提供新的用戶服務不僅要求強大的內容提供服務器,而且要求通信網絡的支持,以便正確地支持用戶預訂的服務質量(QoS)和安全級別。用戶設備管理也要求與通信網絡的某些緊密集成。更豐富與更靈活的軟件環境有助于解決這樣的需求。因此,需要在電信運營商要求的有較高處理能力的新硬件上容納這些不同軟件環境。
1.3 縮短產品面市時間
對于一個提供增強處理能力和較高密度的新硬件平臺,產品面市時間主要由軟件開發,調試和驗證決定。所以,重用已有的、已經驗證了的軟件是很重要的。要使產品面市時間盡可能短,需要環境重用而不做更改。這有助于繼續支持先前確保的服務質量,驗證階段可無縫地進行,并更快地進入市場部署。
1.4 提高可靠性和安全性
電信網絡必須高度可靠。萬一出故障,運營商就不得不付出高昂代價。因此,制造商提供的軟硬件設備的可用性必須維持至少5個9(即99.999%),意味著每年計劃的和非計劃的不可用時間小于5 min。
要滿足這樣的性能且不降低當前系統的可用性。軟件必須設計成限制出現故障。實際上,無論什么情況,必須提高可用性,允許更好的故障隔離和檢測,更快的故障恢復和更靈活的運行、管理、維護和預防,允許更靈活的升級。一個理想的設計應該能使多個無需修改的已有軟件同時運行在多核架構上,在安全隔離分區之間共享硬件資源。
1.5 多核處理器提供增強的處理能力減少了物理尺寸和功耗
在單個處理器內聚集多核是提供更高處理能力、減少功耗的有效途徑。這要求以前從多個不同板子訪問I/O外設現在變成了從單個板上訪問。支持1個四核處理器的板子所需的功率遠少于4個單處理器板子所需的功率??偟纳嵋矔档?。
1.6 已有的軟件必須不加修改地運行在多核處理器上
要使原先為單核架構設計的實時軟件適應多核SMP架構是一件困難的事。實時環境中用的調度策略針對單核處理器。考慮到面市時間和成本因素,一個理想的解決方案就是重用實時軟件而無需任何修改。這要求隱藏硬件的多核屬性,為軟件設計提供常用的單核硬件屬性。
對于通用操作系統,為了適應SMP架構,可能遇到類似的要求。整合獨立硬件和軟件的系統意味著在單一環境中聚集幾個軟件。把不同的系統版本合并為單一的系統,這是一個痛苦和長期的任務。它增加了產品的上市時間和成本。
針對上述挑戰,目前的解決方案有:使軟件適應多核環境,通過超虛擬化隱藏多核以及全透明實時虛擬化。
2 幾個解決方案比較
2.1 使軟件適應多核
由于同類多核SMP處理器可降低總體成本,如果軟件能適應這樣的處理能力,這種方法無疑具有吸引力,一旦適應,在多核處理器上運行的軟件可發揮硬件提供的全部好處。但是,這種方法有幾個缺點:把操作系統從單處理器移植到SMP硬件架構是一件復雜的工作,需要很多繁瑣的分析,需要調整系統以達到期望的性能水平(即雙核性能接近單核性能的2倍)。
這個問題不僅與操作系統有關,而且從單處理器移植會影響應用軟件,尤其是實時軟件。實時環境的調度屬性通?;贔IFO策略。移植到多核后,使得較低優先級的任務和較高優先級的任務并行運行,很可能破壞很多同步假設。所以,應用需要調整并完全驗證。
把多個運行在不同刀片的獨立系統整合到單個SMP系統可能會失去某些配置的靈活性。某些低端硬件配置或許仍需要不同種類操作系統(有些運行RTOS,有些運行通用OS)的單處理器刀片,或者運行同一系統的不同OS分區。移到單一SMP操作系統環境可能會失去配置的靈活性。在4個獨立處理器上運行一個系統環境的4個例程,從物理上分割了這個系統。這有一些優勢:系統的一個例程故障不影響其他例程。系統一個例程的安全問題不會自動地影響其他三個例程。當移植到四核平臺上成為單一軟件系統時,就會喪失這個優勢。
2.2 超虛擬化
超虛擬化提供了由虛擬機監控器控制底層硬件的客體系統。每個客體系統彼此分離地運行在自己的分區內,不能干擾運行在同一平臺上其他分區中的系統。此外,為實時系統提供了一個貌似單處理器的情景,避免了調整應用的負擔。這樣,實時環境可以運行在處理器的每一個核上。在同一個硬件平臺上并行運行不同的系統或不同的系統版本,不必經歷繁瑣、復雜的系統集成工作。把物理資源(包括多核處理器)劃分成不同的軟件環境,在軟件級有多個故障域。從安全角度上看,有多個安全域,一個域安全出問題不會波及其他域。不過,這種超虛擬化方法的某些方面有待改進:
如果要維持良好的性能,所付出的代價是客戶系統的硬件抽象層要適應虛擬機監控器接口。盡管在一定范圍內這是可以理解的,但是在適應OS中引入了延遲,可能需要重新驗證一部分軟件。超虛擬化通常由改變客體系統運行環境實現:在Intel X86體系結構上改變執行環(環壓縮),改變可用地址空間(地址空間壓縮)。
當目標處理器不提供虛擬化支持時,超虛擬化是最好的解決方案。一個例子是,當某些訪問機器狀態的指令在用戶模式中執行時,不會引起異常。
隨這種透明虛擬化的支持,可使用一個更好的解決方案。
2.3 全透明實時虛擬化
全透明虛擬處理器與適當的虛擬機監控器結合能實現目前所確定的所有需求。基于Intel虛擬化技術的新處理器能使虛擬機監控器透明地在單個處理器上,也可以在多核處理器上運行多個無需修改的客體OS。如圖1所示。
圖1 全透明實時虛擬化系統框圖
這種解決方案的好處在于:
(1) 多個RTOS例程可以并行運行在一個SMP多核處理器上而不會影響所支持的應用,可重用二進制代碼,無需修改客體 OS,所以使得產品能在最短時間面市,開發成本最小。另外,可實現實時操作系統(RTOS)與通用操作系統(GPOS)混用,即一個或多個GPOS如Linux 或 Windows可以同時運行在多核處理器,既可以運行在一個專用核上,也可以運行在與其他OS(甚至與一個或幾個RTOS)共享的多核上。
(2) 設備可以有效地、安全地在不同的客戶操作系統之間共享。
(3) 可以透明地監控客體系統,萬一出現故障,依據配置可以自動重新啟動。因此,系統的整體可靠性增強了,無需修改客體操作系統。在多核處理器內多個客體 OS可能共享同一個核。如果多個客體 OS運行在同一個核上,以這樣的方法調度客體 OS,即維持RTOS的實時屬性。這種方法可用于嵌入式和實時系統。
(4) 把物理內存分區,每一個內存分區分配給一個指定的客體 OS。這樣,每個客體 OS就使用自己的內存管理機制和策略,而不會干擾其他客體OS。保護內存分區且彼此隔離以便沒有OS能讀出或寫入到其他OS內存分區。這種方法允許使用MMU的OS,如Linux或 Windows CE,和不使用MMU的OS,如Nucleus 或 VxWorks,協同運行在一個單核上。
每個客體 OS使用的I/O設備惟一地分配給該客體 OS。原來的設備驅動程序可以不加修改的重用。
(5) 把幾個客體 OS所需的硬件資源,如CPU和實時時鐘,虛擬化以便在所有需要訪問它們的客體 OS之間共享。
(6) 在同一處理器上同時運行不同的OS僅是問題的一部分??腕w OS也需要通信和共享設備或其他硬件資源。典型的OS支持多進程,為進程提供內存分配和調度策略,提供同步,共享訪問系統,網絡接口,以及進程間通信等服務。
這種解決方案不僅能使一個RTOS的幾個例程運行在多核處理器上,無需修改它們,而且允許在設備上運行Linux系統例程,無需專用刀片或處理器。因此,這就給原來系統帶來全新的性能。
3 基于Intel技術的實時虛擬化技術在位置查找注冊 (HLR)系統中的應用
在含有2個雙核低電壓Intel@Xeon處理器的ATCA Intel NetStructure@MPCBL0040板上,能使多個RTOS和1個Linux例程同時運行在同一板上。RTOS及它們的應用無需修改運行,好像運行在一個單處理器機器上。建立這樣的系統要做的就是為每個分區配置適當的物理資源。如圖2所示。
圖2 實時虛擬化技術在位置查找注冊 (HLR)系統中的應用
由于每個OS獨立于其他OS,且有1個專用的核(除了與Linux共享處理器的核外),沒有明顯的同步開銷,系統能提供接近4倍于單核處理器的處理能力。該系統能同時訪問4個數據庫,最優化地使用了高性能多核處理器,不會影響原HLR應用特性。4個未做修改的數據庫可以通過運行在1個核上的標準Linux(Red Hat Enterprise Linux ES 4)用網絡文件系統進行通信。系統與其數據庫服務器的獨立意味著4個系統中1個系統出故障不會妨礙其余3個系統的運行務。
4 結 語
基于Intel虛擬化技術能夠解決許多網絡基礎設備遇到的挑戰,能使設備制造廠家基于多核處理器設計設備,從而提供較高的處理密度,降低材料費和總成本。在一個多核處理器上通過簡單配置,整合多個無需修改的實時軟件,保持了它們的QoS屬性。運行已有的、實時和通用軟件,無需復雜的、長時間的重新設計和集成。在同一多核處理器上整合不同版本的通用軟件,無需經歷軟件環境集成過程,便使系統最優化,進而使產品具有特色且性能卓越。
參考文獻
[1]NEUMANN Dean, KULKARNI Dileep, KUNZE Aaron, et al.Intel virtualization technology in embedded and communications infrastructure applications[J].Intel Technology Journal, 2006, 10(3): 191-195.
[2]李芳社.虛擬化技術在通信基礎設施中的應用[J].現代電子技術,2009,32(8):149-151.
[3]魯松.計算機虛擬化技術及應用[M].北京:機械工業出版社,2008.
[4]英特爾開源軟件技術中心,復旦大學并行處理研究所.系統虛擬化:原理與實現[M].北京:清華大學出版社,2009.
[5][美]DONALD J REIFER.軟件復用實踐[M].北京:機械工業出版社,2005.
[6]IVAR JACOBSON.軟件復用結構、過程和組織[M].北京:機械工業出版社,2003.
[7]鄧濤.虛擬化技術在高校中的應用[J].金華職業技術學院學報,2007,7(6):39-41.
[8]ZHANG Xian-tao, DONG Yao-zu. Optimizing Xen VMM based on Intel virtualization technology[C]. Harbin: Professional Communication Conference, 2008.
[9]UETANI Takaaki, GULER Baris, SEPEHRNOORI Kamy. Parallel reservoir simulation on high performance clusters[J]. 6th World Multiconference on Systemics, Cybernetics and Informatics, 2002, 5(13): 39-42.
[10]OGUCHI Yoshihiko, YAMAMOTO Tetsu. Server vir-tualization technology and its latest trends[J]. FUJITSU Sci. Tech., 2008,44(6): 37-41.