云計算技術深度國內領先的云計算教材_第1頁
云計算技術深度國內領先的云計算教材_第2頁
云計算技術深度國內領先的云計算教材_第3頁
云計算技術深度國內領先的云計算教材_第4頁
云計算技術深度國內領先的云計算教材_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章結論

很少有一種技術可以像“云計算”這樣,在短短tl勺兩年間就產生巨大的影響力。

Google.亞馬遜、IBM和微軟等IT巨頭們此前所未有的速度和規(guī)模推進云計算技術和產

品的普及,某些學術活動迅速將云計算提上議事日程,支持和反對H勺聲音不絕于耳。那

么,云計算究竟是什么?發(fā)展現實狀況怎樣?它的實現機制是什么?它與網格計算是什么

關系?。本章將分析這些問題,目H勺是協(xié)助讀者對云計算形成一種初步認識。

1.1云計算日勺概念

云計算(CloudComputing)是在2023年第3季度才誕生H勺新名詞,但僅僅過了六個

月多,其受到關注H勺程度就超過了網格計算(GridComputing),如圖1-1所示。

圖1-1云計算和網格計算在Google中日勺搜索趨勢

然而,對于究竟什么是云計算,至少可以找到100種解釋,目前還沒有公認的定義。

本書給出一種定義,供讀者參照。

云計算是一種商業(yè)計算模型,它將計算任務分布在大量計算機構成H勺資源池上,使顧

客可以按需獲取計算力、存儲空間和信息服務。

這種資源池稱為“云二“云”是某些可以自我維護和管理的虛擬計算資源,一般是某

些大型服務器集群,包括計算服務器、存儲服務器和寬帶資源等。云計算將計算資源集中

起來,并通過專門軟件實現自動管理,無需人為參與。顧客可以動態(tài)申請部分資源,支持

多種應用程序的運轉,無需為啰嗦的細節(jié)而煩惱,可以愈加專注于自己的業(yè)務,有助于提

高效率、減少成本和技術創(chuàng)新。云計算的關鍵理念是資源池,這與早在2023年就提出的

網格計算池(CompellingPool)日勺概念非常相似⑶【支網格計算池將計算和存儲資源虛擬成

為一種可以任意組合分派H勺集合,池的規(guī)模可以動態(tài)擴展,分派給顧客的處理能力可以動

態(tài)回收重用。這種模式可以大大提高資源的運用率,提高平臺日勺服務質量。

之因此稱為“云。是由于它在某些方面具有現實中云日勺特性:云一般都較大;云的

規(guī)模可以動態(tài)伸縮,它的邊界是模糊的;云在空中飄忽不定,無法也無需確定它的詳細位

置,但它確實存在于某處。之因此稱為“云。還由于云計算的鼻祖之一亞馬遜企業(yè)將大

家曾經稱為網格計算日勺東西,取了一種新名稱“彈性計算云”(ElasticComputing

Cloud),并獲得了商業(yè)上的成功。

有人將這種模式比方為從單臺發(fā)電機供電模式轉向了電廠集中供電的模式。它意味著

計算能力也可以作為一種商品進行流通,就像煤氣、水和電同樣,取用以便,費用低廉。

最大的不一樣在于,它是通過互聯(lián)網進行傳播時。

云計算是并行計算(ParallelComputing)>分布式計算(DistributedComputing)和網

格計算(GridComputing)日勺發(fā)展,或者說是這些計算科學概念的商業(yè)實現。云計算是虛

擬化(Virtualization)、效用計算(UtilityComputing)、將基礎設施作為服務laaS

(InfrastructureasaService)s將平臺作為服務PaaS(PlatformasaService)和將軟件作為

服務SaaS(SoftwareasaService)等概念混合演進并躍升日勺成果。

從研究現實狀況上看,云計算具有如下特點。

1)超大規(guī)模?!霸啤本哂邢喾Q的規(guī)模,Google云計算已經擁有100多萬臺服務器,

亞馬遜、IBM、微軟和Yahoo等企業(yè)的“云”均擁有幾十萬臺服務器?!霸啤蹦苜x予顧客

前所未有的計算能力。

2)虛擬化。云計算支持顧客在任意位置、使用多種終端獲取服務。所祈求口勺資源來

自“云”,而不是固定的有形的實體。應用在“云”中某處運行,但實際上顧客無需理解

應用運行的詳細位置,只需要一臺筆記本或一種PDA,就可以通過網絡服務來獲取多種

能力超強的服務。

3)高可靠性?!霸啤笔褂昧藬祿喔北救蒎e、計算節(jié)點同構可互換等措施來保障服務

的高可靠性,使用云計算比使用當地計算機愈加可靠。

4)通用性。云計算不針對特定的應用,在“云”的支撐下可以構造出千變萬化的應

用,同一片“云”可以同步支撐不一樣日勺應用運行。

5)高可擴展性。“云”的規(guī)??梢詣討B(tài)伸縮,滿足應用和顧客規(guī)模增長的需要。

6)按需服務。“云”是一種龐大的I資源池,顧客按需購置,像自來水、電和煤氣那樣

計費。

(7)極其廉價。“云”的特殊容錯措施使得可以采用極其廉價H勺節(jié)點來構成云;“云”

的自動化管理使數據中心管理成本大幅減少;“云”的公用性和通用性使資源的運用率大

幅提高;“云”設施可以建在電力資源豐富日勺地區(qū),從而大幅減少能源成本。因此“云”

具有前所未有日勺性能價格比。Google中國區(qū)前總裁李開復稱,Google每年投入約16億美

元構建云計算數據中心,所獲得的I能力相稱于使用老式技術投入640億美元,節(jié)省了40

倍日勺成本。因此,顧客可以充足享有“云”日勺低成本優(yōu)勢,需要時,花費幾百美元、一天

時間就能完畢此前需要數萬美元、數月時間才能完畢的數據處理任務。

云計算按照服務類型大體可以分為三類:將基礎設施作為服務laaS、將平臺作為服務

PaaS和將軟件作為服務SaaS,如圖1-2所示。

laaS將硬件設備等基礎資源封裝成服務供顧客使用,如亞馬遜云計算AWS(Amazon

WebServices)的彈性計算云EC2和簡樸存儲服務S3。在laaS環(huán)境中,顧客相稱于在使

用裸機和磁盤,既可以讓它運行Windows,也可以讓它運行Linux,因而幾乎可

將軟件作為服務

如:SalesforceonlineCRM

SaaS(SoftwareasaService)

將平臺作為服務@1:Google/XppEngine

PiaS(PlatformasaService)MicrosoftWindowsAzure

將基礎設施作為股務

如:AmazonEC2/S3

laaS(InfrastructureasaService)

圖i-2云計算的服務類型

以做任何想做的事情,但顧客必須考慮怎樣才能讓多臺機器協(xié)同工作起來。AWS提供了

在節(jié)點之間互通消息的接口簡樸隊列服務SQS(SimpleQueueService)olaaS最大口勺優(yōu)勢

在于它容許顧客動態(tài)申請或釋放節(jié)點,按使用量計費c運行l(wèi)aaS日勺服務器規(guī)模到達幾十

萬臺之多,顧客因而可以認為可以申請的資源幾乎是無限的。同步,laaS是由公眾共享

的,因而具有更高日勺資源使用效率。

PaaS對資源的抽象層次取深入,它提供顧客應用程序的J運行環(huán)境,經典的如Google

AppEngine0微軟H勺云計算操作系統(tǒng)MicrosoftWindowsAzure也可大體歸入這一類。PaaS

自身負責資源的動態(tài)擴展和容錯管理,顧客應用程序不必過多考慮節(jié)點間的配合問題。但

與此同步,顧客H勺自主權減少,必須使用特定的編程環(huán)境并遵照特定的編程模型。這有點

像在高性能集群計算機里進行MPI編程,只合用于處理某些特定的計算問題。例如,

GoogleAppEngine只容許使用Python和Java語言、基于稱為DjangoH勺Web應用框架、

調用GoogleAppEngineSDK來開發(fā)在線應用服務。

SaaS的針對性更強,它將某些特定應用軟件功能封裝成服務,如Salesforce企業(yè)提供

的在線客戶關系管理CRM(ClientRelationshipManagement)服務。SaaS既不像PaaS同

樣提供計算或存儲資源類型的服務,也不像laaS同樣提供運行顧客自定義應用程序的環(huán)

境,它只提供某些專門用途的服務供應用調用。

需要指出的是,伴隨云計算的深化發(fā)展,不一樣云計算處理方案之間互相滲透融合,

同一種產品往往橫跨兩種以上類型。例如,AmazonWebServices是以laaS發(fā)展的,但新

提供的1彈性MapReduce服務模仿了GoogleMapReduce,簡樸數據庫服務SimpleDB模

仿了Google的JBigtable,這兩者屬于PaaS日勺范圍,而它新提供日勺電子商務服務FPS和

DevPay以及網站訪問記錄服務AlexaWeb服務,則屬于SaaS/、J范圍。

1.2云計算發(fā)展現實狀況

由于云計算是多種技術混合演進的I成果,其成熟度較高,又有大企業(yè)推進,發(fā)展極為

迅速。Google>亞馬遜、IBM、微軟和Yahoo等大企業(yè)是云計算的先行者。云計算領域H勺

眾多成功企業(yè)還包括VMware、Salesforce>Facebook>YouTube>MySpace等。

亞馬遜研發(fā)了彈性計算云EC2(ElasticComputingCloud)和簡樸存儲服務S3

(SimpleStorageService)為企業(yè)提供計算和存儲服務。收費的服務項目包括存儲空間、帶

寬、CPU資源以及月租費。月租費與月租費類似,存儲空間、帶寬按容量收費,CPU

根據運算量時長收費。在誕生不到兩年日勺時間內,亞馬遜日勺注冊顧客就多達44萬人,其

中包括為數眾多的企業(yè)級顧客。

Google是最大的云計算技術日勺使用者。Google搜索引擎就建立在分布在200多種站

點、超過100萬臺的服務器的支撐之上,并且這些設施出勺數量正在迅猛增長。GoogleW、J

一系列成功應用平臺,包括Google地球、地圖、Gmail、Docs等也同樣使用了這些基礎

設施。采用GoogleDocs之類口勺應用,顧客數據會保留在互聯(lián)網上口勺某個位置,可以通過

任何一種與互聯(lián)網相連的終端十分便利地訪問和共享這些數據。目前,Google已經容許

第三方在Google日勺云計算中通過GoogleAppEngine運行大型并行應用程序。Google值得

稱頌口勺是它不保守,它早已以刊登學術論義的形式公開其云計算三大法寶:GFS、

M叩Reduce和Bigtable,并在美國、中國等高校開設怎樣進行云計算編程日勺課程。對應

內,模仿者應運而生,Hadoop是其中最受關注口勺開源項目。

IBM在2023年11月推出了“變化游戲規(guī)則”日勺“藍云”計算平臺,為客戶帶來即買

即用的云計算平臺。它包括一系列自我管理和自我修復的虛擬化云計算軟件,使來自全球

的應用可以訪問分布式的大型服務器池,使得數據中心在類似于互聯(lián)網日勺環(huán)境下運行計

算。IBM正在與17個歐洲組織合作開展名為RESERVOIR的云計算項目,以“無障礙口勺

資源和服務虛擬化”為口號,歐盟提供了1.7億歐元作為部分資金。2023年8月,IBM宣

布將投資約4億美元用于其設在北卡羅來納州和日本東京的云計算數據中心改造,并計劃

2023年在1()個國家投資3億美元建設13個云計算中心。

微軟緊跟云計算步伐,于2023年10月推出了WindowsAzure操作系統(tǒng)。Azure(譯

為“藍天”)是繼Windows取代DOS之后,微軟的又一次顛覆性轉型一通過在互聯(lián)網

架構上打造新云計算平臺,讓Windows真正由PC延伸到“藍天”上。Azure的底層是微

軟全球基礎服務系統(tǒng),由遍及全球的第四代數據中心構成。目前.,微軟已經配置了22()個

集裝箱式數據中心,包括44萬臺服務器。

在我國,云計算發(fā)展也非常迅猛。2023年,IBM先后在無錫和北京建立了兩個云計算

中心;世紀互聯(lián)推出了CloudEx產品線,提供互聯(lián)網主機服務、在線存儲虛擬化服務等;

中國移動研究院已經建立起1024個CPU的云計算試驗中心;解放軍理工大學研制了云存

儲系統(tǒng)MassCloud,并以它支撐基于3G口勺大規(guī)模視頻監(jiān)控應用和數字地球系統(tǒng)。作為云計

算技術日勺一種分支,云安全技術通過大量客戶端的參與和大量服務器端的記錄分析來識別

病毒和木馬,獲得了巨大成功。瑞星、趨勢、卡巴斯基、McAfee>Symantec,江民、

Panda、金山、360安全衛(wèi)士等均推出了云安全處理方案。值得一提的是,云安全日勺關鍵思

想,與早在2023年就提出的反垃圾郵件網格北??拷?。2023年11月25日,中國電子學

會專門成立了云計算專家委員會。2023年5月22日,中國電子學會隆重舉行首屆中國云計

算大會,1200多人與會,盛況空前。2023年11月2日,中國互聯(lián)網大會專門召開了

“2023云計算產業(yè)峰會二2023年12月,中國電子學會舉行了中國首屆云計算學術會議。

2023年5月,中國電子學會將舉行第二屆中國云計算大會。

1.3云計算實現機制

由于云計算分為laaS、PaaS和SaaS三種類型,不一樣的廠家又提供了不一樣日勺處理

方案,目前還沒有一種統(tǒng)一的技術體系構造,對讀者理解云計算H勺原理構成了障礙。為

此,本書綜合不一樣廠家日勺方案,構造了一種供參照日勺云計算體系構造。這個體系構造如

圖1-3所示,它概括了不一樣處理方案H勺重要特性,每一種方案或許只實現了其中部分功

能,或許也尚有部分相對次要功能尚未概括進來。

SOA構建層

(服務接口)(服務注冊)(服務查找)(服務訪問)(服務工作流

管理中間件

用戶管理[賬號管理)即環(huán)境配置)(用戶交互管理K使用計施

全訪問授權

任務管理械像部署和管理)衽務調度,任務執(zhí)行)他命期管理'管

理綜合防護

資源管理口菽均衡)(故障檢質](故障恢復)(監(jiān)視統(tǒng)計)](安全審計)

云計算技術體系構造分為四層:物理資源層、資源池層、管理中間件層和SOA

(Scrvicc-OricntcdArchitecture,面向服務/、J體系構造)構建層。物理資源層包括計算機、

存儲器、網絡設施、數據庫和軟件等。資源池層是將大量相似類型口勺資源構成同構或靠近

同構日勺資源池,如計算資源池、數據資源池等。構建資源池更多的是物理資源日勺集成和管

理工作,例如研究在一種原則集裝箱的空間怎樣裝下2023個服務器、處理散熱和故障節(jié)

點替代日勺問題并減少能耗。管理中間件層負責對云計算的資源進行管理,并對眾多應用任

務進行調度,使資源可以高效、安全地為應用提供服務。SOA構建層將云計算能力封裝

成原則的WebServices服務,并納入到SOA體系進行管理和使用,包括服務接口、服務

注冊、服務查找、服務訪問和服務工作流等。管理中間件層和資源池層是云計算技術口勺最

關鍵部分,SOA構建層的功能更多依托外部設施提供。

云計算的管理中間件層負責資源管理、任務管理、顧客管理和安全管理等工作。資源

管理負責均衡地使用云資源節(jié)點,檢測節(jié)點日勺故障并試圖恢復或屏蔽之,并對資源的使用

狀況進行監(jiān)視記錄;任務管理負責執(zhí)行顧客或應用提交的任務,包括完畢顧客任務映象

(Image)的布署和管理、任務調度、任務執(zhí)行、任務生命期管理等;顧客管理是實現云計

算商業(yè)模式的一種必不可少的環(huán)節(jié),包括提供顧客交互接口、管理和識別顧客身份、創(chuàng)立

顧客程序的執(zhí)行環(huán)境、對顧客H勺使用進行計費等;安全管理保障云計算設施H勺整體安全,

包括身份認證、訪問授權、綜合防護和安全審計等。

基于上述體系構造,本書以laaS云計算為例,簡述云計算的實現機制,如圖1-4

所示。

顧客交互接口向應用以WebServices方式提供訪問接口,獲取顧客需求。服務目錄是

顧客可以訪問的服務清單。系統(tǒng)管理模塊負責管理和分派所有可用日勺資源,其關鍵是負載

均衡。配置工具負責在分派的節(jié)點上準備任務運行環(huán)境。監(jiān)視記錄模塊負責監(jiān)視節(jié)點口勺運

行狀態(tài),并完畢顧客使用節(jié)點狀況的記錄。執(zhí)行過程并不復雜,顧客交互接口容許顧客從

目錄中選用并調用一種服務,該祈求傳遞給系統(tǒng)管理模塊后,它將為顧客分派恰當的資

源,然后調用配置工具為顧客準備運行環(huán)境。

1.4網格計算與云計算

網格(Grid)是20世紀90年代中期發(fā)展起來口勺下一代互聯(lián)網關鍵技術。網格技術的

開創(chuàng)者IanFoster將之定義為“在動態(tài)、多機構參與的虛擬組織中協(xié)同共享資源和求解問

題”⑹。網格是在網絡基礎之上,基于SOA,使用互操作、按需集成等技術手段,將分散

在不一樣地理位置的資源虛擬成為一種有機整體,實現計算、存儲、數據、軟件和設備等

資源的共享,從而大幅提高資源的運用率,使顧客獲得前所未有的計算和信息能力。

國際網格界致力于網格中間件、網格平臺和網格應用建設。就網格中間件而言,國外

著名『、J網格中間件有GlobusTuulkil、UNICORE、ConduitgLilc等,其中GlubusTuulkil得

到了廣泛采納。就網格平臺而言,國際著名日勺網格平臺有TeraGrid、EGEE、CoreGRID、

D-Grid、ApGrid、Grid3、GIG等。美國TeraGrid是由美國國家科學基金會計劃資助構建

內超大規(guī)模開放的科學研究環(huán)境。TeraGrid集成了高性能計算機、數據資源、工具和高端

試驗設施。目前TeraGrid已經集成了超過每秒75()萬億次計算能力、30PB數據,擁有超

過100個面向多種領域的網格應用環(huán)境。歐盟e-Science促成網格EGEE(EnablingGrids

forE-sciencE),是另一種超大型、面向多種領域的網格計算基礎設施。目前已經有120多

種機構參與,包括分布在48個國家口勺250個網格站點、68000個CPU、20PB數據資源,

擁有8000個顧客,每天平均處理30000個作業(yè),峰值超過150000個作業(yè)。就網格應用而

言,著名的網格應用系統(tǒng)數以百計,應用領域包括大氣科學、林學、海洋科學、環(huán)境科

學、生物信息學、醫(yī)學、物理學、天體物理、地球科學、天文學、工程學、社會行為學等。

我國在十五期間有863支持口勺中國國家網格(CNGrid,863-10主題)和中國空間信

息網格(SIG,863-13主題)、教育部支持的中國教育科研網格(ChinaGrid)、上海市支持

的上海網格(ShanghaiGrid)等。中國國家網格擁有包括香港地區(qū)在內的10個節(jié)點,聚合

計算能力為每秒18萬億次,目前擁有408個顧客和360個應用。中國教育科研網格

ChinaGrid連接了20所高校的計算設施,運算能力達每秒3萬億次以上,開發(fā)并實現了生

物信息、流體力學等五個科學研究領域日勺網格經典應用。十一五期間,國家對網格支持的

力度更大,通過973和863、自然科學基金等途徑對網格技術進行了大力支持。973計劃

有“語義網格的基礎理論、模型與措施研究”等,863計劃有“高效能計算機及網格服務

環(huán)境”、“網格地理信息系統(tǒng)軟件及其重大應用”等,國家自然科學基金重大研究計劃有

“網絡計算應用支撐中間件”等項目。

就像云計算可以分為laaS、PaaS和SaaS三種類型同樣,網格計算也可以分為三種類

型:計算網格、信息網格和知識網格⑹。計算網格日勺目的是提供集成多種計算資源的、虛

擬化的計算基礎設施。信息網格的目的是提供一體化的智能信息處理平臺,集成多種信息

系統(tǒng)和信息資源,消除信息孤島,使得顧客能按需獲取集成后的精確信息,即服務點播

(ServiceonDemand)和一歲到位口勺服務(OneClickisEnough)。知識網格⑻研究一體化日勺

智能知識處理和理解平臺,使得顧客能以便地公布、處理和獲取知識。

需要闡明的是,目前大家對網格的認識存在一種誤解,認為只有使用Globus

Toolkit等著名網格中間件的應用才是網格。我們認為,只要是遵照網格理念,將一定

范圍內分布的異構資源集成為有機整體,提供資源共享和協(xié)同工作服務的平臺,均可以

認為是網格。這是由于,由于網格技術非常復雜,必然有一種從不規(guī)范到規(guī)范化的過

程,應當承認差異存在的客觀性。雖然網格界從一開始就致力于構造可以實現全面互操

作的環(huán)境,但由于網格處在信息技術前沿、許多領域尚未定型、已公布的個別規(guī)范過于

復雜導致易用性差等原因,既有網格系統(tǒng)多針對詳細應用采用合用口勺、個性化日勺框架設

計和實現技術等,導致網格系統(tǒng)之間互操作困難,這也是開放網格論壇OGF(Open

GridForum)提出建立不一樣網格系統(tǒng)互通機制計劃GIN(GridInteroperationNow)的

原因。從另一種角度看,雖然建立全球統(tǒng)一的網格平臺尚有很長的路要走,但并不阻礙

網格技術在多種詳細的應用系統(tǒng)中發(fā)揮重要的作用。

網格計算與云計算日勺關系如表1-1所示。

表1-1網格計算與云計算的比較

網格“算Nil算

目的共享高性能計算力和數據資源,實現資源共享和協(xié)同工作提供通用的計算平臺和存:儲空間,提供多種軟件服務

資源來源不一樣機構同一機構

資源類型異構資源同構資源

資源節(jié)點高性能計算機服務器/PC

虛擬化視圖虛擬組織虛擬機

計算類型緊耦合問題為主松耦合問題

應用類型科學計算為主數據處理為主

顧客類型科學界商業(yè)社會

付費方式免費(政府山資)按量計贄

原則化有統(tǒng)一I向國際原則OGSA/WSRF尚無原則,但己經有了開放云計算聯(lián)盟OCC__________

網格計算在概念上爭論數年,在體系構造上有三次大日勺變化,在原則規(guī)范上花費了大

量口勺人力,所設定的目口勺又非常遠大——要在跨平臺、跨組織、跨信任域的極其復雜的異

構環(huán)境中共享資源和協(xié)同處理問題,所要共享的資源也是五花八門一從高性能計算機、

數據庫、設備到軟件,甚至知識。云計算臨時不管概念、不管原則,Google云計算與亞

馬遜云計算日勺差異非常大,云計算只是對它們此前所做事情新日勺共同日勺時髦叫法,所共享

的存儲和計算資源臨時僅限于某個企業(yè)內部,省去了許多跨組織協(xié)調的問題。以Google

為代表的云計算在內部管理運作方式上日勺簡潔一如其界面,能省的功能都省略,Google

文獻系統(tǒng)甚至不容許修改已經存在的文獻,只容許在文獻后追加數據,大大減少了實現難

度,并且借助其無與倫比日勺規(guī)模效應釋放了前所未有的能量。

網格計算與云計算的關系,就像是OSI與TCP/IP之間的關系:國際原則化組織

(ISO)制定的OSI(開放系統(tǒng)互聯(lián))網絡原則,考慮得非常周到,也異常復雜,在數年之

前就考慮到了會話層和表達層的問題。雖然很有遠見,但過于理想,實現的難度和代價非

常大。當OSIH勺一種簡化版一TCP/IP誕生之后,將七層協(xié)議簡化為四層,內容也大大

精簡,因而迅速獲得了成功。在TCP/IP一統(tǒng)天下之后數年,語義網等問題才被提上議事

日程,開始為TCP/IP補課,增長其會話和表達日勺能力。因此,可以說OSI是學院派,

TCP/IP是現實派;OSI是TCP/IP的基礎,TCP/IP又推進了OSI的發(fā)展。兩者不是“成者

為王、敗者為寇”,而是滾動發(fā)展。

沒有網格計算打下的基礎,云計算也不會這樣快到來。云計算是網格計算的一種簡化

實用版,一般意義的網格是指此前實現日勺以科學研究為主的網格,非常重視原則規(guī)范,也

非常復雜,但缺乏成功的商業(yè)模式。云計算是網格計算的一種簡化形態(tài),云計算日勺成功也

是網格H勺成功。網格不僅要集成異構資源,還要處理許多非技術的協(xié)調問題,也不像云計

算有成功的商業(yè)模式推進,因此實現起來要比云計算難度大諸多。但對于許多高端科學或

軍事應用而言,云計算是無法滿足需求的,必須依托網格來處理。

目前,許多人聲稱網格計算失敗了,云計算取而代之了,這其實是一種錯覺。網格計

算已經有十數年歷史,不如剛興起時那樣引人注目是正常的。實際上,有些政府主導、范

圍較窄、用途特定日勺網格,已經獲得了決定性H勺勝利。代表性H勺有美國日勺TeraGrid和歐洲

的EGEE等,這些網格每天均有幾十萬個作業(yè)在上面執(zhí)行。未來的I科學研究主戰(zhàn)場,將建

立在網格計算之上。在軍事領域,美軍的全球信息網格GIG已經囊括超過700萬臺計算

機,規(guī)模超過既有日勺所有云計算數據中心計算機總和。

相信很快口勺未來,建立在云計算之上的I“商業(yè)2.0”與建立在網格計算之上的“科學

2.0”都將獲得成功。

參照文獻

[1]MichaelArmbrust,ArmandoFox,andReanGriffith,etal.AbovetheClouds:ABerkeley

ViewofCloudComputing,mimeo,UCBerkeley,RADLaboratory,2023

[2]IanFoster,CarlKesselman,andSteveTuecke.TheAnatomyoftheGrid:EnablingScalable

VirtualOrganizations.InternationalJournalofHighPerformanceComputingApplications,

15(3),2023

[3]劉鵬.提出一種實用H勺網格實現方式——網格計算池模型,2023

[4]PengLiu,YaoShi,San-liLi,ComputingPool——aSimplifiedandPracticalComputational

GridModel,theSecondInternationalWorkshoponGridandCooperativeComputing(GCC

2023),Shanghai,Dec7-10,2023,publishedinLectureNotesinComputerScience(LNCS),

Vol.3032,Heidelberg:Springer-Verlag,2023

[5]PengLiu,YaoShi,FrancisC.M.Lau,Cho-LiWang,San-LiLi,GridDemoProposal:

AntiSpamGrid,IEEEInternationalConferenceonClusterComputing,HongKong,Dec1-4,

2023,selectedasoneoftheexcellentGridresearchprojectsfortheGridDcmosession

[6]李國杰.信息服務網格——第三代Internet.計算機世界,2023年第40期

[7]Foster,L,C.Kesselman,andS.Tuecke,TheAnatomyoftheGrid:EnablingScalable

VirtualOrganizations.InternationalJournalofHighPerformanceComputingApplications,

2023.15(3):p.200-222

[8]H.Zhuge,TheKnowledgeGrid,WorldScientificPublishingCo.,Singapore,2023

第2章Goog加云計算原理

Google擁有全球最強大aI搜索引擎。除了搜索業(yè)務以外,Google尚有GoogleMaps、

GoogleEarth、Gmail、YouTube等多種業(yè)務,包括剛誕生的GoogleWave。這些應用的共

性在于數據量巨大,并且要面向全球顧客提供實時服務,因此Google必須處理海量數據

存儲和迅速處理問題。Google口勺訣竅在于它發(fā)展出簡樸而又高效的技術,讓多達百萬臺

的廉價計算機協(xié)同工作,共同完畢這些前所未有H勺任務,這些技術是在誕生幾年之后才被

命名為Google云計算技術。Google云計算技術詳細包括:Google文獻系統(tǒng)GFS、分布式

計算編程模型MapReduce>分布式鎖服務Chubby和分布式構造化數據存儲系統(tǒng)Bigtable

等二中,GFS提供了海量數據的存儲和訪問的能力OdapReduce使得海量信息時并行

處理變得簡樸易行,Chubby保證了分布式環(huán)境下并發(fā)操作的同步問題,Biglable使得海量

數據的管理和組織.1?分以本章將對這四種關鍵技術進行詳細簡介。

2.1Google文獻系統(tǒng)GFS

Google文獻系統(tǒng)(JGoogleFileSyslem,GFS)是一種大型的分布式文獻系統(tǒng)。它為

Google云計算提供海量存儲,并且與Chubby>M叩Reduce以及Bigtable等技術結合十分

緊密,處在所有關鍵技術的底層。由于GFS并不是一種開源的系統(tǒng),我們僅僅能從

Google公布的技術文檔來獲得一點理解,而無法進行深入的研究。文獻[1]是Google公布

的有關GFS的最為詳盡日勺技術文檔,它從GFS產生的背景、特點、系統(tǒng)框架、性能測試

等方面進行了詳細日勺論述。

目前主流分布式文獻系統(tǒng)有RedHat日勺GFS131(GlobalFileSyslem)、IBM的GPFS⑷、

Sun的Lustre⑸等。這些系統(tǒng)一般用于對硬件設施條件規(guī)定

較高。以Lustre文獻系統(tǒng)為例,它只對元數據管理器MDS提供容錯處理方案,而對于詳

細日勺數據存儲節(jié)點OST來說,則依賴其自身來處理容錯的問題。例如,Lustre推薦OST

節(jié)點采用RAID技術或SAN存儲區(qū)域網來容錯,但由于Lustre自身不能提供數據存儲日勺

容錯,一旦OST發(fā)生故障就無法恢復,因此對OST的穩(wěn)定性就提出了相稱高H勺規(guī)定,從

而大大增長了存儲的成本,并且成本會伴隨規(guī)模的擴大線性增長。

正如李開復所說日勺那樣,創(chuàng)新當然重要,但有用日勺創(chuàng)新更重要。創(chuàng)新的I價值,取決于

一項創(chuàng)新在慚獷、?小和可行■這三個方面日勺綜合體現。GoogleGFS的新奇之處并不在

于它采用了多么令人驚訝日勺技術,而在于它采用廉價的商用機器構建分布式文獻系統(tǒng),同

步將GFS的設計與Google應用的特點緊密結合,并簡化其實現,使之可行,最終到達創(chuàng)

意新奇、有用、可行的完美組合。GFS使用廉價的商用機器構建分布式文獻系統(tǒng),將容錯

的任務交由文獻系統(tǒng)來完畢,運用軟件口勺措施處理系統(tǒng)可靠性問題,這樣可以使得存儲的

成本成倍下降。由于GFS中服務器數目眾多,在GFS中服務器死機是常常發(fā)生事情,甚

至都不應當將其視為異?,F象,那么怎樣在頻繁的故障中保證數據存儲的安全、保證提供

不間斷的數據存儲服務是GFS最關鍵的問題。GFS的精彩在于它采用了多種措施,從多

種角度,使用不一樣的

2.1.1系統(tǒng)架構

GFS的系統(tǒng)架構如圖2-1⑴所示。GFS將整個系統(tǒng)日勺節(jié)點分為三類角色:Client(客戶

端)、Master(主服務器)和ChunkServer(數據塊服務器)。Client是GFS提供應應用程

序日勺訪問接口,它是一組專用接口,不遵守POSIX規(guī)范,以庫文獻的形式提供。應用程

序直接調用這些庫困數,并與該庫鏈接在一起。Master是GFSW、J管理節(jié)點,在邏輯上只

有一種,它保留系統(tǒng)日勺元數據,負責整個文獻系統(tǒng)的管理,是GFS文獻系統(tǒng)中的大腦。

ChunkServer負責詳細『寸存儲工作。數據以文獻內)形式存儲在ChunkServer上,Chunk

Server的個數可以有多種,它的數目直接決定了GFS日勺規(guī)模。GFS將文獻按照固定大小

進行分塊,默認是64MB,每一塊稱為一種Chunk(數據塊),每個Chunk均有一種對應

的索引號(Index)。

圖2-1GFS體系構造

客戶端在訪問GFS時,首先訪問Master節(jié)點,獲取將要與之進行交互的Chunk

Server信息,然后直接訪問這些ChunkServer完畢數據存取。GFSH勺這種設計措施實現了

控制流和數據流時分離。Client與Master之間只有控制流,而無數據流,這樣就極大地減

少了MasterH勺負載,使之不成為系統(tǒng)性能的一種瓶頸。Client與ChunkServer之間直接傳

播數據流,同步由于文獻被提成多種Chunk進行分布式存儲,Client可以同步訪問多種

ChunkServer,從而使得整個系統(tǒng)I/O高度并行,系統(tǒng)整體性能得到提高。

相對于老式H勺分布式文獻系統(tǒng),GFS針對Google應用的特點從多種方面進行了簡

化,從而在一定規(guī)模下到達成本、可靠性和性能日勺最佳平衡。詳細來說,它具有如下幾種

特點。

1.采用中心服務器模式

GFS采用中心服務器模式來管理整個文獻系統(tǒng),可以大大簡化設計,從而減少實現難

度。Master管理了分布式文獻系統(tǒng)中的所有元數據。文獻劃分為Chunk進行存儲,對于

Master來說,每個ChunkServer只是一種存儲空間。Client發(fā)起的!所有操作都需要先通過

Master才能執(zhí)行。這樣做有許多好處,增長新的ChunkServer是一件十分輕易的事情,

ChunkServer只需要注冊到Master上即可,ChunkServer之間無任何關系。假如采用完全

對等日勺、無中心的I模式,那么怎樣將ChunkServer日勺更新信息告知到每一種Chunk

Server,會是設計口勺一種難點,而這也將在一定程度上影響系統(tǒng)的擴展性。Master維護了

一種統(tǒng)一日勺命名空間,同步掌握整個系統(tǒng)內ChunkServer的狀況,據此可以實現整個系統(tǒng)

范圍內數據存儲口勺負載均衡。由于只有一種中心服務器,元數據的一致性問題自然處理。

當然,中心服務器模式也帶來某些固有歐J缺陷,例如極易成為整個系統(tǒng)日勺瓶頸等。GFS采

用多種機制來防止Master成為系統(tǒng)性能和可靠性上的瓶頸,如盡量控制元數據口勺規(guī)模、

對Master進行遠程備份、控制信息和數據分流等。

2.不緩存數據

緩存機制是提高文獻系統(tǒng)性能日勺一種重要手段,通用文獻系統(tǒng)為了提高性能,一一般需

要實現復雜的緩存(Cache)機制。GFS文獻系統(tǒng)根據應用的特點,沒有實現緩存,這是

從必要性和可行性兩方面考慮日勺。從必要性上講,客戶端大部分是流式次序讀寫,并不存

在大量日勺反復讀寫,緩存這部分數據對系統(tǒng)整體性能日勺提高作用不大;而對于Chunk

Server,由于GFS的I數據在ChunkServer上以文獻的形式存儲,假如對某塊數據讀取頻

繁,當地的文獻系統(tǒng)自然會將其緩存。從可行性上講,怎樣維護緩存與實際數據之間H勺一

致性是一種極其復雜的問題,在GFS中各個ChunkServer的穩(wěn)定性都無法保證,加之網

絡等多種不確定原因,一致性問題尤為復雜。此外由于讀取的數據量巨大,以目前的內存

容量無法完仝緩存。對于存儲在Master中的元數據,GFS采用了緩存方略,GFS中Client

發(fā)起的所有操作都需要先通過Master。Master需要對其元數據進行頻繁操作,為了提高操

作日勺效率,Master日勺元數據都是直接保留在內存中進行操作;同步采用對應的壓縮機制減

少元數據占用空間口勺大小,提高內存的運用率。

3.在.顧客態(tài)下實現

文獻系統(tǒng)作為操作系統(tǒng)的重要構成部分,其實現一般位于操作系統(tǒng)底層。以Linux為

例,無論是當地文獻系統(tǒng)如Ext3文獻系統(tǒng),還是分布式文獻系統(tǒng)如Lustre等,都是在內

核態(tài)實現的。在內核態(tài)實現文獻系統(tǒng),可以更好地和操作系統(tǒng)自身結合,向上提供兼容的

POSIX接口。然而,GFS卻選擇在顧客態(tài)下實現,重要基于如下考慮。

1)在顧客態(tài)下實現,直接運用操作系統(tǒng)提供日勺POSIX編程接口就可以存取數據,無

需理解操作系統(tǒng)的內部實現機制和接口,從而減少了實現的難度,并提高了通用性。

2)POSIX接口提供日勺功能更為豐富,在實現過程中可以運用更多的特性,而不像內

核編程那樣受限。

3)顧客態(tài)下有多種調試工具,而在內核態(tài)中調試相對比較困難。

4)顧客態(tài)下,MasterChunkServer都以進程的方式運行,單個進程不會影響到整

個操作系統(tǒng),從而可以對其進行充足優(yōu)化。在內核態(tài)下,假如不能很好地掌握其特性,效

率不僅不會高,甚至還會影響到整個系統(tǒng)運行日勺穩(wěn)定性。

5)顧客態(tài)下,GFS和操作系統(tǒng)運行在不一樣日勺空間,兩者耦合性減少,從而以便

GFS自身和內核H勺單獨升級。

4.只提供專用接口

一般的分布式文獻系統(tǒng)一般都會提供一組與POSIX規(guī)范兼容的接口。其長處是應用

程序可以通過操作系統(tǒng)日勺統(tǒng)一接口來透明地訪問文獻系統(tǒng),而不需要重新編譯程序。GFS

在設計之初,是完全面向Google口勺應用的,采用了專用的文獻系統(tǒng)訪問接口。接口以庫

文獻日勺形式提供,應用程序與庫文獻一起編譯,Google應用程序在代碼中通過調用這些

庫文獻的IAPI,完畢對GFS文獻系統(tǒng)口勺訪問。采用專用接口有如下好處。

1)減少了實現的難度。一般與POSIX兼容的接口需要在操作系統(tǒng)內核一級實現,而

GFS是在應用層實現口勺。

2)采用專用接口可以根據應用日勺特點對應用提供某些特殊支持,如支持多種文獻并

發(fā)追加的接口等。

3)專用接口直接和Client、Master>ChunkServer交互,減少了操作系統(tǒng)之間上下文

的切換,減少了復雜度,提高了效率。

2.1.2容錯機制

1.Master容錯

詳細來說,Master上保留了GFS文獻系統(tǒng)H勺三種元數據。

1)命名空間(NameSpace),也就是整個文獻系統(tǒng)的目錄構造。

2)Chunk與文獻名的映射表。

3)Chunk副本H勺位置信息,每一種Chunk默認有三個副本。

首先就單個Master來說,對于前兩種元數據,GFS通過操作日志來提供容錯功能。

第三種元數據信息則直接保留在各個ChunkServer」:,當Master啟動或ChunkServer向

Master注冊時自動生成。因此當Master發(fā)生故障時,在磁盤數據保留完好的狀況下,可

以迅速恢復以上元數據。為了防止Master徹底死機的狀況,GFS還提供了Master遠程日勺

實時備份,這樣在目前的GFSMaster出現故障無法工作H勺時候,此外一臺GFSMaster可

以迅速接替其工作。

2.ChunkServer容錯

GFS采用副本的I方式實現ChunkServer日勺容錯。每一種Chunk有多種存儲副本(默

認為三個),分布存儲在不一樣叢JChunkServer±0副本『、J分布方略需要考慮多種原因,

如網絡的拓撲、機架時分布、磁盤日勺運用率等。對于每一種Chunk,必須將所有的副本所

有寫入成功,才視為成功寫入。在其后日勺過程中,假如有關的副本出現丟失或不可恢復等

狀況,Master會自動將該副本復制到其他ChunkServer,從而保證副本保持一定口勺個數。

盡管一份數據需要存儲三份,仿佛磁盤空間日勺運用率不高,但綜合比較多種原因,加之磁

盤口勺成本不停下降,采用副本無疑是最簡樸、最可靠、最有效,并且實現的難度也最小口勺

一種措施。

GFS中的每一種文獻被劃提成多種Chunk,Chunk時默認大小是64MB,這是由于

Google應用中處理的文獻都比較大,以64MB為單位進行劃分,是一種較為合理的選

擇。ChunkServer存儲的|是Chunk『寸副本,副本以文獻形式進行存儲。每一種Chunk以

Block為單位進行劃分,大小為64KB,每一種Block對應一種32bit的校驗和。當讀取一

種Chunk副本時,ChunkServer會將讀取的數據和校驗和進行比較,假如不匹配,就會返

回錯誤,從而使Client選擇其他ChunkServer上日勺副本。

2.1.3系統(tǒng)管理技術

嚴格意義上來說,GFS是一種分布式文獻系統(tǒng),包括從硬件到軟件日勺整套處理方案。

除了上面提到日勺GFS的某些關鍵技術外,尚有對應的系統(tǒng)管理技術來支持整個GFS的應

用,這些技術也許并不一定為GFS所獨有。

1.大規(guī)模集群安裝技術

安裝GFSH勺集群中一般有非常多的節(jié)點,文獻⑴中最大日勺集群超過1000個節(jié)點,而

目前的Google數據中心動輒有萬臺以上的機器在運行。那么,迅速地安裝、布署一種

GFS出J系統(tǒng),以及迅速地進行節(jié)點的系統(tǒng)升級等,都需要對應的技術支撐。

2.故障檢測技術

GFS是構建在不可靠的廉價計算機之上的文獻系統(tǒng),由于節(jié)點數目眾多,故障發(fā)生十

分頻繁,怎樣在最短的時間內發(fā)現并確定發(fā)生故障日勺ChunkServer,需要有關的集群監(jiān)控

技術。

3.節(jié)點動態(tài)加入技術

當有新的ChunkServer加入時,假如需要事先安裝好系統(tǒng),那么系統(tǒng)擴展將是一件十

分啰嗦的事情。假如可以做到只需將裸機加入,就會自動獲取系統(tǒng)并安裝運行,那么將會

大大減少GFS維護的工作量。

4.節(jié)能技術

有關數據表明,服務器的耗電成本不小于當時日勺購置成本,因此Google采用了多種

機制來減少服務器口勺能耗,例如對服務器主板進行修改,采用蓄電池替代昂貴的UPS(不

間斷電源系統(tǒng)),提高能量的運用率。RichMiller在一篇有關數據中心的博客文章中表

達,這個設計讓Google的UPS運用率到達99.9%,而一般數據中心只能到達92%?

95%。

2.2并行數據處理MapReduce

MapReduce是Google提出的一種軟件架構,是一種處理海量數據日勺并行編程模式,

用于大規(guī)模數據集(一般不小于1TB)日勺并行運算。“M叩(映射)”、“Reduce(化簡)”

的概念和重要思想,都是從函數式編程語言和矢量編程語言借鑒來日勺⑸。正是由于

M叩Reduce有函數式和矢量編程語言的共性,使得這種編程模式尤其適合于非構造化和構

造化的海量數據的搜索、挖掘、分析與機器智能學習等。

2.2.1產生背景

MapReduce這種并行編程模式思想最早是在1995年提出的,文獻[6]初次提出了

“map”和“fold”日勺概念,和目前Google所使用的“Map”和“Reduce”思想是相吻

合電

與老式口勺分布式程序設計相比,MapReduce封裝了并行處理、容錯處理、當地化計

算、負載均衡等細節(jié),還提供了一種簡樸而強大日勺接口。通過這個接口,可以把大尺度歐I

計算自動地并發(fā)和分布執(zhí)行,從而使編程變得非常輕易。還可以通過由一般PC構成的巨

大集群來到達極高日勺性能。此外,MapReduce也具有很好H勺通用性,大量不一樣的問題都

可以簡樸地通過MapReduce來處理。

MapReduce把對數據集日勺大規(guī)模操作,分發(fā)給一種主節(jié)點管理下日勺各分節(jié)點共同完

畢,通過這種方式實現任務的可靠執(zhí)行與容錯機制。在每個時間周期,主節(jié)點都會對分節(jié)

點日勺工作狀態(tài)進行標識,一旦分節(jié)點狀態(tài)標識為死亡狀態(tài),則這個節(jié)點的所有任務都將分

派給其他分節(jié)點重新執(zhí)行。

據有關記錄,每使用一次Google搜索引擎,Google的后臺服務器就要進行10"次運

算。這樣龐大的運算量,假如沒有好的負載均衡機制,有些服務器日勺運用率會很低,有些

則會負荷太重,有些甚至也許死機,這些都會影響系統(tǒng)對顧客H勺服務質量。而使用

MapReduce這種編程模式,就保持了服務器之間的均衡,提高了整體效率。

2.2.2編程模型

M叩Reduce日勺運行模型如圖2-2所示。圖中有M個Map操作和R個Reduce操作。

簡樸地說,一種Map函數就是對一部分原始數據進

行指定的操作。每個Map操作都針對不一樣日勺原始數

據,因此M叩與M叩之間是互相獨立的,這就使得它們

可以充足并行化。一種Reduce操作就是對每個M叩所產

生日勺一部分中間成果進行合并操作,每個Reduce所處理

的Map中間成果是互不交叉日勺,所有Reduce產生歐|最終

圖2-2MapReduceR勺運行模型

止果通過簡樸連接就形成了完整的成果集,因此Reduce也可以在并行環(huán)境下執(zhí)行。

在編程的時候,開發(fā)者需要編寫兩個重要函數:

Map:(in_key,in_value)玲{(key;,value。\j=1…攵}

Reduce:(key,[valuei,...,value,,;])玲(key,final_value)

Map和Reduce的I輸入參數和輸出成果根據應用Htl不一樣而有所不一樣。Map日勺輸入

參數是in_key和in_value,它指明了Map需要處理口勺原始數據是哪些。M叩的輸出成果

是一組vkey,value〉對,這是通過M叩操作后所產生日勺中間成果。在進行Reduce操作之

前,系統(tǒng)已經將所有Map產生W、J中間成果進行了歸類處理,使得相似key對應的一系列

value可以集結在一起提供應一種Reduce進行歸并處理,也就是說,Reduce日勺輸入參數

是(key,[value1,…,value加]Reduce的I工作是需要對這些對應相似keyH勺value值進行歸

并處理,最終形成(key,final_value)的I成果。這樣,一種Reduce處理了一種key,所有

Reduce的成果并在一起就是最終止果。

例如,假設我們想用M叩Reduce來計算一種大型文本文獻中各個單詞出現的次數,

M叩口勺輸入參數指明了需要處理哪部分數據,以〈在又本

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論