雲計算

雲計算與分佈式、並行處理以及網格計算的關係

上一篇 / 下一篇  2008-09-04 06:16:40

“雲計算”(Cloud Computing)是分佈式處理(Distributed Computing)、並行處理(Parallel Computing)和網格計算(Grid Computing)的發展,或者說是這些計算機科學概念的商業實現。

最近,大公司如MS、Google、IBM等都在炒作一個概念就是雲計算,如IBM跟歐盟 合作開展雲計算,歐盟撥款1.7億萬歐元;Google與IBM 聯合力推雲計算模式;Yahoo! 也把寶押在了雲計算上;我國也在無錫 跟IBM公司聯合建立了一個雲計算中心;有人說微軟收購Yahoo!一個重要的考慮就是在Yahoo在雲計算方面的領先地位,多少有點兒道理。那麼,什麼是雲計算哪?我看到有一位推廣自由開源的老先生把雲計算(Cloud Computing)翻譯成“雲霧計算”着實是可笑,好多網友也在問什麼是雲計算,什麼是霧計算,說明好多人對於雲計算是一頭霧水。雲計算可不是“雲雨”,可不是雲山霧罩。

“雲計算”(Cloud Computing)是分佈式處理(Distributed Computing)、並行處理(Parallel Computing)和網格計算(Grid Computing)的發展,或者說是這些計算機科學概念的商業實現。許多跨國信息技術行業的公司如IBM、Yahoo和Google等正在使用雲計算的概念兜售自己的產品和服務。

雲計算這個名詞可能是借用了量子物理中的“電子雲”(Electron Cloud),強調說明計算的瀰漫性、無所不在的分佈性和社會性特徵。量子物理上有“電子雲(electron cloud)”,在原子核周圍運動的電子不是一個經驗世界的軌道例如像天體一樣的運行軌道,而是瀰漫空間的、雲狀的存在,描述電子的運動不是牛頓經典力學而是一個概率分佈的密度函數,用薛定諤波動方程來描述,特定的時間內粒子位於某個位置的概率有多大,這跟經典力學的提法完全不同。電子雲有以下特性,概然性、瀰漫性、同時性等等,雲計算可能的確是來自電子雲的概念,前今年就有所謂“無所不在的計算”,IBM有一個無所不在的計算叫“Ubiquitous “,MS(Bill)不久也跟着提出一個無所不在的計算“Pervade“,現在人們對無所不在的計算又有了新的認識,現在說是”Omnipresent “。但是,雲計算的確不是純粹的商業炒作,的確會改變信息產業的格局,現在許多人已經用上了Google Doc和Google Apps,用上了許多遠程軟件應用如Office字處理而不是用自己本地機器上安裝這些應用軟件,以後誰還會花錢買Office軟件哪?還有許多企業應用如電子商務應用,例如要寫一個交易程序,Google的企業方案就包含了現成的模板,一個銷售人員根本沒學習過Netbeanr也能做出來。這種計算和產業動向是符合開源精神的,符合SaaS(Software as a Service)趨勢。現在有這樣的說法,當今世界只有五臺計算機,一臺是Google的,一臺是IBM的,一臺是Yahoo的,一臺是Amazon的,一臺是微軟的,因爲這五個公司率先在分佈式處理的商業應用上捷足先登引領潮流。Sun公司很早就提出說“網絡就是計算機”是有先見之明的。

有以下五個主要原因使得分佈式計算必然會越來越普遍,逐漸發展成主流的計算模式而取代集中式的大型計算機:

◆現在分佈式系統的第一個原因就是因爲他具有比集中式系統更好的性能價格比。你不要花幾十萬美元就能獲得高效能計算。

◆多數應用本身就是分佈式的。如工業企業應用,管理部門和現場不在同一個地方。

◆高可靠性。冗餘不僅是生物進化的必要條件,而且也是信息技術。現代分佈式系統具有高度容錯機制,控制核反應堆主要採用分佈式來實現高可靠性。

◆可擴展性。買一臺性能更高的大型機,或者再買一臺性能相同的大型機的費用都比添加幾臺PC的費用高得多。

◆高度靈活性。能夠兼容不同硬件廠商的產品,兼容低配置機器和外設而獲得高性能計算

粗略地計算,目前的個人計算機每個CPU芯片的處理能力是200MIPS,就是每秒種執行200M也就是兩億次指令,而最近Yahoo!公司報道他們已經實現了有一萬個節點(node)就是一萬臺PC計算機連接的分佈式系統,總的處理能力是 2,000,000MIPS,最快的芯片也達不到這個速度,因爲在一定面積上設計的芯片的速度是存在一個極限的,不可逾越。而當前世界著名的超級計算機所謂的TOP500,達到每秒幾百萬億次指令執行,都是採用分佈式設計的,世界第一的IBM BlueGene超級計算機採用了32部機架,每部機架部署有768個PowerPC440 CPU。順便說一句,這TOP500基本都是使用Linux操作系統的!現在社會和家庭擁有的個人計算機就是PC,只有30%的計算能力被利用,甚至更低,而其餘70%的實際上是被閒置的,這些閒置的計算機資源和計算能力只有通過分佈式系統才能得到有效的利用,這樣可以大大提高一個國家的計算能力,而計算能力是衡量一個國家國力和科學研究能力的指標,這一點現在還沒有被國人充分認識到。一個國家和地區的計算能力現在已經成爲一種重要的戰略資源,不亞於石油和其他戰略物資的重要性。雲計算就是把普通的服務器或者個人計算機連接起來以獲得超級計算機也叫高性能和高可用性計算機的功能,但是成本更低。這在世界上也是個先進的項目。雲計算模式必定能大大提高我國科學計算機和商業計算能力,使得我國經濟競爭力大大提升。美國和歐洲有許多社會分佈的分佈式計算系統,他們動員和使用這些社會計算能力進行人類基因組學(Genomics)的研究、天文學問題研究、數學難題研究以及其他的科學問題研究。去年的一個研究報告估計我國個人計算機PC保有量接近兩億臺。

按照計算機操作系統的宗師Andrew S. Tanenbaum(AST)給分佈式系統的的定義:“分佈式系統是這樣的系統,它運行在不具有共享內存的多臺機器上,但在用戶的眼裏卻像是一臺計算機”。(引自《現代操作系統》,機械工業出版社,1999年中文版)。它的目標是讓每個用戶感覺聯網的計算機是一個分時系統——就像使用個人計算機一樣 ——而不是一個由許多計算機聯合起來的集體,即使由五個節點組成的分佈式系統也應該讓用戶感覺自己是在使用一臺價值20萬美元的大型計算機,唯一不尋常的感覺是處理速度提高了許多,別的沒有什麼不同。例如,這裏有一個簡單的例子,在機器A的用戶要使用安裝在機器B上用戶的目錄裏的文件,A用戶要使用遠程登錄命令rlogin B登錄到機器B的目錄上,那麼這就不是一個真正的分佈式系統,因爲用戶A意識到了另外一臺機器的存在,分佈式系統必須要做到,用戶A登錄到一個目錄上的時候不知道自己是在本地機器上還是在遠程機器上的目錄上,對於用戶A來說機器B是透明的,這就是分佈式系統設計時考慮的“透明性”要求。其他有關的問題包括:分佈式文件系統的問題,目錄和文件訪問機制以及一致性問題,分佈式系統進程的通信問題等等。目前的雲計算嚴格說還沒有到達真正的分佈式計算的語義學水平。

發佈了82 篇原創文章 · 獲贊 15 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章