卜淮原,曹琦,王文政
(后勤工程學院,重慶401311)
自20世紀90年代以來,Internet把人類帶進了一個新的信息時代。信息時代最顯著的特征就是技術不停地飛速進步,產品更新換代周期極短,站立在技術和市場潮頭的,總是一些創新能力強、技術實力雄厚的企業,他們不斷地推出新技術,促使信息時代日新月異。云計算是當前信息技術領域的研究熱點,也必將成為軍事信息技術爭奪的制高點。
之所以說“云計算”會成為引領信息技術下一輪進步的潮頭,原因主要有兩個:
一是計算機硬件技術發展舉步維艱。時至今日,硅片上半導體器件的集成度已經接近提高的極限。隨著硅片上線路的密度越來越高,其復雜性和差錯率也會急劇增加,同時,對這樣高集成度的芯片,也不再可能進行全面的性能測試;可以預見,當芯片上線路的光刻寬度達到納米級時,硅片的物理、化學性能將發生質的變化,最終會導致硅片上的半導體器件無法正常工作,著名的“摩爾定律”也就無奈地被徹底終結。另外,由于硅片集成度的提高會導致生產成本呈指數級增長,導致繼續對其投入人力和財力將變得得不償失。所以,計算機計算能力的提高無法再依賴于硬件能力的提升,而不得不從軟件上尋求出路,也只有從軟件上才能找到出路。
二是當今的人類社會已離不開計算機網絡。在信息資源爆炸性增長和海量累積的今天,為什么會出現“信息危機”呢?原因并不在于信息的匱乏,而是在于很難從海量信息中有效地得到和使用所需要的信息,即信息能力需要提升。同時,任何政府、軍隊、組織、企業和個人都處在競爭甚至對抗的環境中,單打獨斗的運作模式逐漸被協同工作所取代,結成體系或伙伴是必然的選擇。處理協同聯盟關系、業務鏈上下游關系、友鄰關系、對手關系等許多復雜關系,使得溝通、處理、存取信息的能力成為生存、發展的必要條件。而信息能力必須依賴計算機網絡的支持。因此,提高網絡計算能力是增強信息能力的基礎和關鍵。
其實,“云計算”就是網絡計算,只不過是新型的大規模分布式并行網絡計算。它更多地是從網絡軟件的角度提升計算能力,因此,“云計算”不僅是破解“摩爾定律”極限的有效途徑,也是解決“信息危機”的唯一出路。
如今,所有現代軍人都懂得“無網而不勝”的道理,作戰實驗也早已步入了網絡時代。因此,如果說當今網絡技術的“制高點”就是云計算的話,那么,作戰實驗沒有理由不進入云計算時代。
在云計算的概念中,有三種不同的服務模式(XaaS):基礎架構即服務(1nfrastructure as a Service,IaaS)、平臺即服務(Platform as a Service,PaaS)、軟件即服務(Software as a Service,SaaS)。如果再按照發布服務的公開程度來看,又可以把云分為三類,即公有云(Public Cloud)、混合云(Hybrid Cloud)和私有云(Private Cloud),私有云有時也稱企業云或者內部云。
公有云和私有云的區別在于運營和使用對象不同,公有云是指許多組織共用同一個服務運營商提供的云平臺服務,私有云則是組織獨立使用、運營自己的云平臺服務。它們在技術上并沒有本質的差異,而混合云則混合使用公有云和私有云。
一個組織到底使用哪種云合適,要考慮這幾個因素:一是數據安全性。私有云審計能力可控,防止攻擊和防止泄密能力都較強,適合對數據安全性和隱私要求高的組織使用,公有云則反之。二是服務連續性。私有云受外界因素影響很小,適合對業務連續性高的組織使用,公有云則反之。三是綜合使用成本。從經濟性角度看,公有云服務適合對計算資源(即計算機的配置)要求不高的中小型組織使用;而私有云則反之。
因此,就作戰實驗而言,可將全軍性的公共信息網、教育訓練網建成公有云,各軍兵種和各大單位可構建混合云,各個試驗基地、訓練基地、院校、研究機構則構建自己的私有云。最終形成完整的云計算服務體系。這種云計算服務體系并不同于目前使用的軍網環境,按照云計算技術構建的網已經不是傳統意義上的網絡了,它從技術上改變了傳統的網絡平臺服務模式。
下面,簡單分析一下云計算的三種新型服務模式(XaaS):
(1)基礎架構即服務(IaaS)。服務機構(運營商)提供虛擬硬件資源,如虛擬主機/存儲/網絡/數據庫管理等資源。用戶無需購買服務器、網絡設備、存儲設備,只需通過網絡(如軍網或民用互聯網)申請、審批、付費(或租賃)即可搭建自己的應用系統。服務機構提供海量數據存儲、數據計算、信息處理和查詢、消息傳遞等可靠、低成本的服務。
對于作戰實驗來說,該服務類型可以有效避免硬件建設的重復投資,降低資源使用成本和推廣應用“門檻”,從而促進作戰實驗的普及,它與云計算的軟件技術相結合,將把作戰實驗這一高深的現代科技“平民化”。
(2)平臺即服務(PaaS)。服務機構(運營商)提供應用服務引擎,如網絡(互聯網)應用編程接口/運行平臺等。用戶基于該應用服務引擎,可以構建該類應用。
對于作戰實驗來說,該服務類型適宜搭建全軍參與的實驗體系。試想,如果上級機構或技術實力很強的研究機構能夠提供作戰實驗系統的數據服務引擎、模型構建引擎、模型運行引擎、平臺管理服務引擎、系統集成架構與接口等標準化、規范化,甚至一體化的解決方案和服務,那不僅會提高作戰實驗系統的建設質量和應用水平,而且會顯著提高全軍上下參與作戰實驗建設的積極性,發揮更多人的聰明才智,且能從大大減少的重復研發中有效降低作戰實驗系統的建設成本。
(3)軟件即服務(SaaS)。用戶不必購買軟件,只需按需租用軟件,通過網絡(或Internet)來使用服務機構(運營商)提供的服務軟件。這類服務軟件不僅是通用型的,如報表制作、日程安排、文檔制作等,而且還會是支持協同工作的“在線”軟件。這就給軟件升級、維護和使用帶來了極大的便利和成本的降低。
對于作戰實驗來說,該服務類型是統一技術體制,提高信息共享程度的極佳途徑;也是減少“煙囪”、“孤島”的有效手段。
綜上所述,云計算技術應用于作戰實驗,其特點和優勢在于能夠提供強大的基礎架構資源、平臺和軟件三類服務,可快速搭建各類滿足作戰實驗系統需求的硬件環境,有效降低建設成本,提高資源利用和管理效率,符合綠色節能的科學發展理念;也能極大地提高作戰實驗網絡應用的用戶參與度和應用體驗度,更能提升作戰實驗的建設質量和效益。
云計算是以數據為中心的一種數據密集型的超級計算,在數據存儲、數據管理、編程模式、并發控制、系統管理等方面具有自身獨特的技術,主要包括虛擬化技術、海量分布式數據存儲與管理技術、并行編成模式、云計算平臺管理技術、多粒度和變粒度計算支持技術等。本文簡要闡述云計算的虛擬化技術、分布式資源管理技術,以及并行編程模式對作戰實驗的影響和支持。
虛擬化技術是一種調配計算資源的方法,傳統的虛擬化技術是分離單獨使用的技術,如服務器虛擬化、存儲虛擬化、網絡虛擬化、應用虛擬化、客戶端虛擬化、操作系統虛擬化、CPU虛擬化、某種外設虛擬化等等。云計算的虛擬化技術不同于傳統的單一虛擬化,它是涵蓋整個IT架構的,包括資源、網絡、應用和桌面在內的全系統虛擬化。它的優勢在于能夠把所有硬件設備、軟件應用和數據隔離開來,打破硬件配置、軟件部署和數據分布的界限,實現IT架構的動態化,實現資源集中管理,使應用能夠動態地使用虛擬資源和物理資源,提高系統適應需求和環境的能力。
對于作戰實驗來說,云計算虛擬化技術的應用意義并不僅僅在于提高資源利用率并降低IT成本,更大的意義是虛擬化技術所提供的強大計算能力。眾所周知,作戰實驗系統是一種具有超大計算量的復雜系統,計算能力對于系統運行效率、精度和可靠性影響很大,而虛擬化技術可以將大量分散的、沒有得到充分利用的計算能力,整合到計算高負荷的計算機或服務器上,實現全網資源統一調度使用,從而在存儲、傳輸、運算等多個計算方面達到高效。
作戰實驗系統在大多數情況下會處在多節點并發執行環境中,要保證系統狀態的正確性,必須依賴分布式資源管理系統。作戰實驗系統的狀態需要在多節點之間同步(比如多架戰機協同的攻擊行動),關鍵節點出現故障時需要遷移服務(作戰任務)。分布式資源管理技術通過鎖機制來協調多任務對于資源的使用,從而能夠保證數據操作的一致性。
分布的一致性問題是分布式算法中的一個經典問題,也是作戰實驗系統經常需要處理的問題。比如,在一個等待起飛的機群中,多臺戰機都向塔臺提出了要求起飛的請求,指揮所只能選中其中的一架飛機擔任首飛任務,當這架飛機被選出來以后,所有其他的飛機都需要被通知到。表面上看,這個問題很非常容易解決。塔臺發布一道通知給所有的待飛戰機即可。但是在分布式系統中是不那么簡單的,會有各種意想不到的問題發生,例如,塔臺電臺發生故障了怎么辦?所以,可能需要有不止一個備用的指揮所來共同實行指揮。還有,各架戰機提交起飛請求的時間都不一樣,網絡傳輸過程中會出現延遲,使得這些請求到達塔臺和其他備用指揮所的順序不一致。
為了分布的一致性問題,計算機界的很多公司和研究人員提出了各種各樣的協議,這些協議即是一些需要遵循的規則。也就是說,在云計算出現之前,解決分布的一致性問題是靠眾多協議的。但對于大規模、甚至超大規模的分布式系統來說,無法保證各個分系統、子系統都使用同樣的協議,也就無法保證分布的一致性問題得到解決。在作戰實驗系統中,聯合作戰的軍兵種戰術動作協同問題尤其需要解決分布一致性問題。
云計算中的分布式資源管理技術圓滿解決了這一問題。其中Google公司的Chubby是最著名的分布式資源管理系統。該系統實現了Chubby服務鎖機制,使得解決分布一致性問題的不再僅僅依賴一個協議或者是一個算法,而是有了一個統一的服務(service)。
云計算采用MapReduce編程模式,它是Google公司發明的并行編程系統,同時,也是一種作業調度和資源映射模型。另一個著名的并行編程系統就是開源化的Hadoop系統,該系統沿襲了Google發明的這種基于GFS和MapReduce的分布式并行編程模式。
MapReduce系統簡化了分布式系統的編程,應用程序編寫人員只需將精力放在程序本身,而關于集群的處理問題,包括可靠性和可擴展性,則交由平臺來處理。在MapReduce編程模式下,并發處理、容錯、數據分布、負載均衡等細節都被抽象到一個函數庫(lib)中,通過MapReduce接口,用戶大尺度的計算任務被自動并發和分布執行,即將一個任務自動分成多個子任務,通過“Map(映射)”和“Reduce(化簡)”這樣兩個簡單的概念來構成運算基本單元,用戶只需分兩步提供自己的Map函數以及Reduce函數,即可實現任務在大規模計算節點中的調度與分配,并行地處理海量數據。對此,中國移動通信研究院的張為民先生有一個形象比喻,他說:“整個MapReduce的編程模式,恰如我們國家體育總局在一個新的運動項目上組建國家隊,假設這個項目是柔道。這是一個很復雜的問題,為了快速高效地解決這一問題,我們需要把這個任務Map到各省,每一個省有一個伯樂去選運動員,他需要到他負責的省了解尖子運動員,了解他們的優點和缺點,然后依據統一的標準鍵值,即選拔國家隊隊員的要求,進行Reduce,寫出一份那個省的選擇報告,最后,國家體育總局把這幾十份報告再進行篩選,選出運動員組成國家隊。”
對于作戰實驗這種復雜系統的編程來說,MapReduce模式是一種顛覆性的革命。它第一步Map任務,體現了系統工程的“分而治之”思想,而且使之成為多節點并行“治之”的海選過程,從而用“群智慧”取代了個體或少數人的思維,變閉門造車為開門納賢,使程序設計“草根化”;它第二步Reduce體現了選優的思想,最終在選優的基礎上“集成”則體現了系統最優化的策略。由于它是在網絡計算(如Web2.0技術)一系列優秀成果上發展而來的,所以更加淋漓盡致地體現了面向服務的體系架構(SOA)技術。可以預見,如果將這一并行編程模式引入作戰實驗領域,定會帶來作戰實驗軟件建設的跨越式進步。
云計算是引領信息技術下一輪進步的潮頭,必將成為軍事信息技術爭奪的制高點,作戰實驗也將走進云計算時代。云計算給計算機網絡技術和應用服務帶來了許多新的變化,它的服務模式和關鍵技術對作戰實驗影響很大。分析研究這些影響,對我軍作戰實驗建設和應用具有很強的現實意義。
1 張為民,唐劍峰,羅治國,等.云計算深刻改變未來[M].北京:科學出版社,2009.
2 MILLER MICHAEL.Cloud Computing:Web-Based Applications that Change the Way You Work and Collaborate Online[M].USA:Que Publisher,2008.
3 李德毅.超出圖靈機的云計算[R].云計算時代的IT應用論壇,2009.
4 陳全,鄧倩妮.云計算及其關鍵技術[J].計算機應用,2009,29(9):2562-2567.