云計(jì)算技術(shù)深度國(guó)內(nèi)領(lǐng)先的云計(jì)算教材_第1頁(yè)
云計(jì)算技術(shù)深度國(guó)內(nèi)領(lǐng)先的云計(jì)算教材_第2頁(yè)
云計(jì)算技術(shù)深度國(guó)內(nèi)領(lǐng)先的云計(jì)算教材_第3頁(yè)
云計(jì)算技術(shù)深度國(guó)內(nèi)領(lǐng)先的云計(jì)算教材_第4頁(yè)
云計(jì)算技術(shù)深度國(guó)內(nèi)領(lǐng)先的云計(jì)算教材_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第1章結(jié)論

很少有一種技術(shù)可以像“云計(jì)算”這樣,在短短tl勺兩年間就產(chǎn)生巨大的影響力。

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

品的普及,某些學(xué)術(shù)活動(dòng)迅速將云計(jì)算提上議事日程,支持和反對(duì)H勺聲音不絕于耳。那

么,云計(jì)算究竟是什么?發(fā)展現(xiàn)實(shí)狀況怎樣?它的實(shí)現(xiàn)機(jī)制是什么?它與網(wǎng)格計(jì)算是什么

關(guān)系?。本章將分析這些問(wèn)題,目H勺是協(xié)助讀者對(duì)云計(jì)算形成一種初步認(rèn)識(shí)。

1.1云計(jì)算日勺概念

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

月多,其受到關(guān)注H勺程度就超過(guò)了網(wǎng)格計(jì)算(GridComputing),如圖1-1所示。

圖1-1云計(jì)算和網(wǎng)格計(jì)算在Google中日勺搜索趨勢(shì)

然而,對(duì)于究竟什么是云計(jì)算,至少可以找到100種解釋,目前還沒(méi)有公認(rèn)的定義。

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

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

客可以按需獲取計(jì)算力、存儲(chǔ)空間和信息服務(wù)。

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

些大型服務(wù)器集群,包括計(jì)算服務(wù)器、存儲(chǔ)服務(wù)器和寬帶資源等。云計(jì)算將計(jì)算資源集中

起來(lái),并通過(guò)專門軟件實(shí)現(xiàn)自動(dòng)管理,無(wú)需人為參與。顧客可以動(dòng)態(tài)申請(qǐng)部分資源,支持

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

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

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

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

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

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

規(guī)??梢詣?dòng)態(tài)伸縮,它的邊界是模糊的;云在空中飄忽不定,無(wú)法也無(wú)需確定它的詳細(xì)位

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

家曾經(jīng)稱為網(wǎng)格計(jì)算日勺東西,取了一種新名稱“彈性計(jì)算云”(ElasticComputing

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

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

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

最大的不一樣在于,它是通過(guò)互聯(lián)網(wǎng)進(jìn)行傳播時(shí)。

云計(jì)算是并行計(jì)算(ParallelComputing)>分布式計(jì)算(DistributedComputing)和網(wǎng)

格計(jì)算(GridComputing)日勺發(fā)展,或者說(shuō)是這些計(jì)算科學(xué)概念的商業(yè)實(shí)現(xiàn)。云計(jì)算是虛

擬化(Virtualization)、效用計(jì)算(UtilityComputing)、將基礎(chǔ)設(shè)施作為服務(wù)laaS

(InfrastructureasaService)s將平臺(tái)作為服務(wù)PaaS(PlatformasaService)和將軟件作為

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

從研究現(xiàn)實(shí)狀況上看,云計(jì)算具有如下特點(diǎn)。

1)超大規(guī)模?!霸啤本哂邢喾Q的規(guī)模,Google云計(jì)算已經(jīng)擁有100多萬(wàn)臺(tái)服務(wù)器,

亞馬遜、IBM、微軟和Yahoo等企業(yè)的“云”均擁有幾十萬(wàn)臺(tái)服務(wù)器。“云”能賦予顧客

前所未有的計(jì)算能力。

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

自“云”,而不是固定的有形的實(shí)體。應(yīng)用在“云”中某處運(yùn)行,但實(shí)際上顧客無(wú)需理解

應(yīng)用運(yùn)行的詳細(xì)位置,只需要一臺(tái)筆記本或一種PDA,就可以通過(guò)網(wǎng)絡(luò)服務(wù)來(lái)獲取多種

能力超強(qiáng)的服務(wù)。

3)高可靠性?!霸啤笔褂昧藬?shù)據(jù)多副本容錯(cuò)、計(jì)算節(jié)點(diǎn)同構(gòu)可互換等措施來(lái)保障服務(wù)

的高可靠性,使用云計(jì)算比使用當(dāng)?shù)赜?jì)算機(jī)愈加可靠。

4)通用性。云計(jì)算不針對(duì)特定的應(yīng)用,在“云”的支撐下可以構(gòu)造出千變?nèi)f化的應(yīng)

用,同一片“云”可以同步支撐不一樣日勺應(yīng)用運(yùn)行。

5)高可擴(kuò)展性。“云”的規(guī)??梢詣?dòng)態(tài)伸縮,滿足應(yīng)用和顧客規(guī)模增長(zhǎng)的需要。

6)按需服務(wù)?!霸啤笔且环N龐大的I資源池,顧客按需購(gòu)置,像自來(lái)水、電和煤氣那樣

計(jì)費(fèi)。

(7)極其廉價(jià)?!霸啤钡奶厥馊蒎e(cuò)措施使得可以采用極其廉價(jià)H勺節(jié)點(diǎn)來(lái)構(gòu)成云;“云”

的自動(dòng)化管理使數(shù)據(jù)中心管理成本大幅減少;“云”的公用性和通用性使資源的運(yùn)用率大

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

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

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

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

時(shí)間就能完畢此前需要數(shù)萬(wàn)美元、數(shù)月時(shí)間才能完畢的數(shù)據(jù)處理任務(wù)。

云計(jì)算按照服務(wù)類型大體可以分為三類:將基礎(chǔ)設(shè)施作為服務(wù)laaS、將平臺(tái)作為服務(wù)

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

laaS將硬件設(shè)備等基礎(chǔ)資源封裝成服務(wù)供顧客使用,如亞馬遜云計(jì)算AWS(Amazon

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

用裸機(jī)和磁盤,既可以讓它運(yùn)行Windows,也可以讓它運(yùn)行Linux,因而幾乎可

將軟件作為服務(wù)

如:SalesforceonlineCRM

SaaS(SoftwareasaService)

將平臺(tái)作為服務(wù)@1:Google/XppEngine

PiaS(PlatformasaService)MicrosoftWindowsAzure

將基礎(chǔ)設(shè)施作為股務(wù)

如:AmazonEC2/S3

laaS(InfrastructureasaService)

圖i-2云計(jì)算的服務(wù)類型

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

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

在于它容許顧客動(dòng)態(tài)申請(qǐng)或釋放節(jié)點(diǎn),按使用量計(jì)費(fèi)c運(yùn)行l(wèi)aaS日勺服務(wù)器規(guī)模到達(dá)幾十

萬(wàn)臺(tái)之多,顧客因而可以認(rèn)為可以申請(qǐng)的資源幾乎是無(wú)限的。同步,laaS是由公眾共享

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

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

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

自身負(fù)責(zé)資源的動(dòng)態(tài)擴(kuò)展和容錯(cuò)管理,顧客應(yīng)用程序不必過(guò)多考慮節(jié)點(diǎn)間的配合問(wèn)題。但

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

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

GoogleAppEngine只容許使用Python和Java語(yǔ)言、基于稱為DjangoH勺Web應(yīng)用框架、

調(diào)用GoogleAppEngineSDK來(lái)開發(fā)在線應(yīng)用服務(wù)。

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

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

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

境,它只提供某些專門用途的服務(wù)供應(yīng)用調(diào)用。

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

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

提供的1彈性MapReduce服務(wù)模仿了GoogleMapReduce,簡(jiǎn)樸數(shù)據(jù)庫(kù)服務(wù)SimpleDB模

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

DevPay以及網(wǎng)站訪問(wèn)記錄服務(wù)AlexaWeb服務(wù),則屬于SaaS/、J范圍。

1.2云計(jì)算發(fā)展現(xiàn)實(shí)狀況

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

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

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

亞馬遜研發(fā)了彈性計(jì)算云EC2(ElasticComputingCloud)和簡(jiǎn)樸存儲(chǔ)服務(wù)S3

(SimpleStorageService)為企業(yè)提供計(jì)算和存儲(chǔ)服務(wù)。收費(fèi)的服務(wù)項(xiàng)目包括存儲(chǔ)空間、帶

寬、CPU資源以及月租費(fèi)。月租費(fèi)與月租費(fèi)類似,存儲(chǔ)空間、帶寬按容量收費(fèi),CPU

根據(jù)運(yùn)算量時(shí)長(zhǎng)收費(fèi)。在誕生不到兩年日勺時(shí)間內(nèi),亞馬遜日勺注冊(cè)顧客就多達(dá)44萬(wàn)人,其

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

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

點(diǎn)、超過(guò)100萬(wàn)臺(tái)的服務(wù)器的支撐之上,并且這些設(shè)施出勺數(shù)量正在迅猛增長(zhǎng)。GoogleW、J

一系列成功應(yīng)用平臺(tái),包括Google地球、地圖、Gmail、Docs等也同樣使用了這些基礎(chǔ)

設(shè)施。采用GoogleDocs之類口勺應(yīng)用,顧客數(shù)據(jù)會(huì)保留在互聯(lián)網(wǎng)上口勺某個(gè)位置,可以通過(guò)

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

第三方在Google日勺云計(jì)算中通過(guò)GoogleAppEngine運(yùn)行大型并行應(yīng)用程序。Google值得

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

M叩Reduce和Bigtable,并在美國(guó)、中國(guó)等高校開設(shè)怎樣進(jìn)行云計(jì)算編程日勺課程。對(duì)應(yīng)

內(nèi),模仿者應(yīng)運(yùn)而生,Hadoop是其中最受關(guān)注口勺開源項(xiàng)目。

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

即用的云計(jì)算平臺(tái)。它包括一系列自我管理和自我修復(fù)的虛擬化云計(jì)算軟件,使來(lái)自全球

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

算。IBM正在與17個(gè)歐洲組織合作開展名為RESERVOIR的云計(jì)算項(xiàng)目,以“無(wú)障礙口勺

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

布將投資約4億美元用于其設(shè)在北卡羅來(lái)納州和日本東京的云計(jì)算數(shù)據(jù)中心改造,并計(jì)劃

2023年在1()個(gè)國(guó)家投資3億美元建設(shè)13個(gè)云計(jì)算中心。

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

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

架構(gòu)上打造新云計(jì)算平臺(tái),讓W(xué)indows真正由PC延伸到“藍(lán)天”上。Azure的底層是微

軟全球基礎(chǔ)服務(wù)系統(tǒng),由遍及全球的第四代數(shù)據(jù)中心構(gòu)成。目前.,微軟已經(jīng)配置了22()個(gè)

集裝箱式數(shù)據(jù)中心,包括44萬(wàn)臺(tái)服務(wù)器。

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

中心;世紀(jì)互聯(lián)推出了CloudEx產(chǎn)品線,提供互聯(lián)網(wǎng)主機(jī)服務(wù)、在線存儲(chǔ)虛擬化服務(wù)等;

中國(guó)移動(dòng)研究院已經(jīng)建立起1024個(gè)CPU的云計(jì)算試驗(yàn)中心;解放軍理工大學(xué)研制了云存

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

算技術(shù)日勺一種分支,云安全技術(shù)通過(guò)大量客戶端的參與和大量服務(wù)器端的記錄分析來(lái)識(shí)別

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

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

想,與早在2023年就提出的反垃圾郵件網(wǎng)格北??拷伞?023年11月25日,中國(guó)電子學(xué)

會(huì)專門成立了云計(jì)算專家委員會(huì)。2023年5月22日,中國(guó)電子學(xué)會(huì)隆重舉行首屆中國(guó)云計(jì)

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

“2023云計(jì)算產(chǎn)業(yè)峰會(huì)二2023年12月,中國(guó)電子學(xué)會(huì)舉行了中國(guó)首屆云計(jì)算學(xué)術(shù)會(huì)議。

2023年5月,中國(guó)電子學(xué)會(huì)將舉行第二屆中國(guó)云計(jì)算大會(huì)。

1.3云計(jì)算實(shí)現(xiàn)機(jī)制

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

方案,目前還沒(méi)有一種統(tǒng)一的技術(shù)體系構(gòu)造,對(duì)讀者理解云計(jì)算H勺原理構(gòu)成了障礙。為

此,本書綜合不一樣廠家日勺方案,構(gòu)造了一種供參照日勺云計(jì)算體系構(gòu)造。這個(gè)體系構(gòu)造如

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

能,或許也尚有部分相對(duì)次要功能尚未概括進(jìn)來(lái)。

SOA構(gòu)建層

(服務(wù)接口)(服務(wù)注冊(cè))(服務(wù)查找)(服務(wù)訪問(wèn))(服務(wù)工作流

管理中間件

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

全訪問(wèn)授權(quán)

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

理綜合防護(hù)

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

云計(jì)算技術(shù)體系構(gòu)造分為四層:物理資源層、資源池層、管理中間件層和SOA

(Scrvicc-OricntcdArchitecture,面向服務(wù)/、J體系構(gòu)造)構(gòu)建層。物理資源層包括計(jì)算機(jī)、

存儲(chǔ)器、網(wǎng)絡(luò)設(shè)施、數(shù)據(jù)庫(kù)和軟件等。資源池層是將大量相似類型口勺資源構(gòu)成同構(gòu)或靠近

同構(gòu)日勺資源池,如計(jì)算資源池、數(shù)據(jù)資源池等。構(gòu)建資源池更多的是物理資源日勺集成和管

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

點(diǎn)替代日勺問(wèn)題并減少能耗。管理中間件層負(fù)責(zé)對(duì)云計(jì)算的資源進(jìn)行管理,并對(duì)眾多應(yīng)用任

務(wù)進(jìn)行調(diào)度,使資源可以高效、安全地為應(yīng)用提供服務(wù)。SOA構(gòu)建層將云計(jì)算能力封裝

成原則的WebServices服務(wù),并納入到SOA體系進(jìn)行管理和使用,包括服務(wù)接口、服務(wù)

注冊(cè)、服務(wù)查找、服務(wù)訪問(wèn)和服務(wù)工作流等。管理中間件層和資源池層是云計(jì)算技術(shù)口勺最

關(guān)鍵部分,SOA構(gòu)建層的功能更多依托外部設(shè)施提供。

云計(jì)算的管理中間件層負(fù)責(zé)資源管理、任務(wù)管理、顧客管理和安全管理等工作。資源

管理負(fù)責(zé)均衡地使用云資源節(jié)點(diǎn),檢測(cè)節(jié)點(diǎn)日勺故障并試圖恢復(fù)或屏蔽之,并對(duì)資源的使用

狀況進(jìn)行監(jiān)視記錄;任務(wù)管理負(fù)責(zé)執(zhí)行顧客或應(yīng)用提交的任務(wù),包括完畢顧客任務(wù)映象

(Image)的布署和管理、任務(wù)調(diào)度、任務(wù)執(zhí)行、任務(wù)生命期管理等;顧客管理是實(shí)現(xiàn)云計(jì)

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

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

包括身份認(rèn)證、訪問(wèn)授權(quán)、綜合防護(hù)和安全審計(jì)等。

基于上述體系構(gòu)造,本書以laaS云計(jì)算為例,簡(jiǎn)述云計(jì)算的實(shí)現(xiàn)機(jī)制,如圖1-4

所示。

顧客交互接口向應(yīng)用以WebServices方式提供訪問(wèn)接口,獲取顧客需求。服務(wù)目錄是

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

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

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

目錄中選用并調(diào)用一種服務(wù),該祈求傳遞給系統(tǒng)管理模塊后,它將為顧客分派恰當(dāng)?shù)馁Y

源,然后調(diào)用配置工具為顧客準(zhǔn)備運(yùn)行環(huán)境。

1.4網(wǎng)格計(jì)算與云計(jì)算

網(wǎng)格(Grid)是20世紀(jì)90年代中期發(fā)展起來(lái)口勺下一代互聯(lián)網(wǎng)關(guān)鍵技術(shù)。網(wǎng)格技術(shù)的

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

題”⑹。網(wǎng)格是在網(wǎng)絡(luò)基礎(chǔ)之上,基于SOA,使用互操作、按需集成等技術(shù)手段,將分散

在不一樣地理位置的資源虛擬成為一種有機(jī)整體,實(shí)現(xiàn)計(jì)算、存儲(chǔ)、數(shù)據(jù)、軟件和設(shè)備等

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

國(guó)際網(wǎng)格界致力于網(wǎng)格中間件、網(wǎng)格平臺(tái)和網(wǎng)格應(yīng)用建設(shè)。就網(wǎng)格中間件而言,國(guó)外

著名『、J網(wǎng)格中間件有GlobusTuulkil、UNICORE、ConduitgLilc等,其中GlubusTuulkil得

到了廣泛采納。就網(wǎng)格平臺(tái)而言,國(guó)際著名日勺網(wǎng)格平臺(tái)有TeraGrid、EGEE、CoreGRID、

D-Grid、ApGrid、Grid3、GIG等。美國(guó)TeraGrid是由美國(guó)國(guó)家科學(xué)基金會(huì)計(jì)劃資助構(gòu)建

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

試驗(yàn)設(shè)施。目前TeraGrid已經(jīng)集成了超過(guò)每秒75()萬(wàn)億次計(jì)算能力、30PB數(shù)據(jù),擁有超

過(guò)100個(gè)面向多種領(lǐng)域的網(wǎng)格應(yīng)用環(huán)境。歐盟e-Science促成網(wǎng)格EGEE(EnablingGrids

forE-sciencE),是另一種超大型、面向多種領(lǐng)域的網(wǎng)格計(jì)算基礎(chǔ)設(shè)施。目前已經(jīng)有120多

種機(jī)構(gòu)參與,包括分布在48個(gè)國(guó)家口勺250個(gè)網(wǎng)格站點(diǎn)、68000個(gè)CPU、20PB數(shù)據(jù)資源,

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

言,著名的網(wǎng)格應(yīng)用系統(tǒng)數(shù)以百計(jì),應(yīng)用領(lǐng)域包括大氣科學(xué)、林學(xué)、海洋科學(xué)、環(huán)境科

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

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

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

的上海網(wǎng)格(ShanghaiGrid)等。中國(guó)國(guó)家網(wǎng)格擁有包括香港地區(qū)在內(nèi)的10個(gè)節(jié)點(diǎn),聚合

計(jì)算能力為每秒18萬(wàn)億次,目前擁有408個(gè)顧客和360個(gè)應(yīng)用。中國(guó)教育科研網(wǎng)格

ChinaGrid連接了20所高校的計(jì)算設(shè)施,運(yùn)算能力達(dá)每秒3萬(wàn)億次以上,開發(fā)并實(shí)現(xiàn)了生

物信息、流體力學(xué)等五個(gè)科學(xué)研究領(lǐng)域日勺網(wǎng)格經(jīng)典應(yīng)用。十一五期間,國(guó)家對(duì)網(wǎng)格支持的

力度更大,通過(guò)973和863、自然科學(xué)基金等途徑對(duì)網(wǎng)格技術(shù)進(jìn)行了大力支持。973計(jì)劃

有“語(yǔ)義網(wǎng)格的基礎(chǔ)理論、模型與措施研究”等,863計(jì)劃有“高效能計(jì)算機(jī)及網(wǎng)格服務(wù)

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

“網(wǎng)絡(luò)計(jì)算應(yīng)用支撐中間件”等項(xiàng)目。

就像云計(jì)算可以分為laaS、PaaS和SaaS三種類型同樣,網(wǎng)格計(jì)算也可以分為三種類

型:計(jì)算網(wǎng)格、信息網(wǎng)格和知識(shí)網(wǎng)格⑹。計(jì)算網(wǎng)格日勺目的是提供集成多種計(jì)算資源的、虛

擬化的計(jì)算基礎(chǔ)設(shè)施。信息網(wǎng)格的目的是提供一體化的智能信息處理平臺(tái),集成多種信息

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

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

智能知識(shí)處理和理解平臺(tái),使得顧客能以便地公布、處理和獲取知識(shí)。

需要闡明的是,目前大家對(duì)網(wǎng)格的認(rèn)識(shí)存在一種誤解,認(rèn)為只有使用Globus

Toolkit等著名網(wǎng)格中間件的應(yīng)用才是網(wǎng)格。我們認(rèn)為,只要是遵照網(wǎng)格理念,將一定

范圍內(nèi)分布的異構(gòu)資源集成為有機(jī)整體,提供資源共享和協(xié)同工作服務(wù)的平臺(tái),均可以

認(rèn)為是網(wǎng)格。這是由于,由于網(wǎng)格技術(shù)非常復(fù)雜,必然有一種從不規(guī)范到規(guī)范化的過(guò)

程,應(yīng)當(dāng)承認(rèn)差異存在的客觀性。雖然網(wǎng)格界從一開始就致力于構(gòu)造可以實(shí)現(xiàn)全面互操

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

復(fù)雜導(dǎo)致易用性差等原因,既有網(wǎng)格系統(tǒng)多針對(duì)詳細(xì)應(yīng)用采用合用口勺、個(gè)性化日勺框架設(shè)

計(jì)和實(shí)現(xiàn)技術(shù)等,導(dǎo)致網(wǎng)格系統(tǒng)之間互操作困難,這也是開放網(wǎng)格論壇OGF(Open

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

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

網(wǎng)格技術(shù)在多種詳細(xì)的應(yīng)用系統(tǒng)中發(fā)揮重要的作用。

網(wǎng)格計(jì)算與云計(jì)算日勺關(guān)系如表1-1所示。

表1-1網(wǎng)格計(jì)算與云計(jì)算的比較

網(wǎng)格“算Nil算

目的共享高性能計(jì)算力和數(shù)據(jù)資源,實(shí)現(xiàn)資源共享和協(xié)同工作提供通用的計(jì)算平臺(tái)和存:儲(chǔ)空間,提供多種軟件服務(wù)

資源來(lái)源不一樣機(jī)構(gòu)同一機(jī)構(gòu)

資源類型異構(gòu)資源同構(gòu)資源

資源節(jié)點(diǎn)高性能計(jì)算機(jī)服務(wù)器/PC

虛擬化視圖虛擬組織虛擬機(jī)

計(jì)算類型緊耦合問(wèn)題為主松耦合問(wèn)題

應(yīng)用類型科學(xué)計(jì)算為主數(shù)據(jù)處理為主

顧客類型科學(xué)界商業(yè)社會(huì)

付費(fèi)方式免費(fèi)(政府山資)按量計(jì)贄

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

網(wǎng)格計(jì)算在概念上爭(zhēng)論數(shù)年,在體系構(gòu)造上有三次大日勺變化,在原則規(guī)范上花費(fèi)了大

量口勺人力,所設(shè)定的目口勺又非常遠(yuǎn)大——要在跨平臺(tái)、跨組織、跨信任域的極其復(fù)雜的異

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

數(shù)據(jù)庫(kù)、設(shè)備到軟件,甚至知識(shí)。云計(jì)算臨時(shí)不管概念、不管原則,Google云計(jì)算與亞

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

的存儲(chǔ)和計(jì)算資源臨時(shí)僅限于某個(gè)企業(yè)內(nèi)部,省去了許多跨組織協(xié)調(diào)的問(wèn)題。以Google

為代表的云計(jì)算在內(nèi)部管理運(yùn)作方式上日勺簡(jiǎn)潔一如其界面,能省的功能都省略,Google

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

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

網(wǎng)格計(jì)算與云計(jì)算的關(guān)系,就像是OSI與TCP/IP之間的關(guān)系:國(guó)際原則化組織

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

前就考慮到了會(huì)話層和表達(dá)層的問(wèn)題。雖然很有遠(yuǎn)見(jiàn),但過(guò)于理想,實(shí)現(xiàn)的難度和代價(jià)非

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

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

日程,開始為TCP/IP補(bǔ)課,增長(zhǎng)其會(huì)話和表達(dá)日勺能力。因此,可以說(shuō)OSI是學(xué)院派,

TCP/IP是現(xiàn)實(shí)派;OSI是TCP/IP的基礎(chǔ),TCP/IP又推進(jìn)了OSI的發(fā)展。兩者不是“成者

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

沒(méi)有網(wǎng)格計(jì)算打下的基礎(chǔ),云計(jì)算也不會(huì)這樣快到來(lái)。云計(jì)算是網(wǎng)格計(jì)算的一種簡(jiǎn)化

實(shí)用版,一般意義的網(wǎng)格是指此前實(shí)現(xiàn)日勺以科學(xué)研究為主的網(wǎng)格,非常重視原則規(guī)范,也

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

是網(wǎng)格H勺成功。網(wǎng)格不僅要集成異構(gòu)資源,還要處理許多非技術(shù)的協(xié)調(diào)問(wèn)題,也不像云計(jì)

算有成功的商業(yè)模式推進(jìn),因此實(shí)現(xiàn)起來(lái)要比云計(jì)算難度大諸多。但對(duì)于許多高端科學(xué)或

軍事應(yīng)用而言,云計(jì)算是無(wú)法滿足需求的,必須依托網(wǎng)格來(lái)處理。

目前,許多人聲稱網(wǎng)格計(jì)算失敗了,云計(jì)算取而代之了,這其實(shí)是一種錯(cuò)覺(jué)。網(wǎng)格計(jì)

算已經(jīng)有十?dāng)?shù)年歷史,不如剛興起時(shí)那樣引人注目是正常的。實(shí)際上,有些政府主導(dǎo)、范

圍較窄、用途特定日勺網(wǎng)格,已經(jīng)獲得了決定性H勺勝利。代表性H勺有美國(guó)日勺TeraGrid和歐洲

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

立在網(wǎng)格計(jì)算之上。在軍事領(lǐng)域,美軍的全球信息網(wǎng)格GIG已經(jīng)囊括超過(guò)700萬(wàn)臺(tái)計(jì)算

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

相信很快口勺未來(lái),建立在云計(jì)算之上的I“商業(yè)2.0”與建立在網(wǎng)格計(jì)算之上的“科學(xué)

2.0”都將獲得成功。

參照文獻(xiàn)

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

ViewofCloudComputing,mimeo,UCBerkeley,RADLaboratory,2023

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

VirtualOrganizations.InternationalJournalofHighPerformanceComputingApplications,

15(3),2023

[3]劉鵬.提出一種實(shí)用H勺網(wǎng)格實(shí)現(xiàn)方式——網(wǎng)格計(jì)算池模型,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]李國(guó)杰.信息服務(wù)網(wǎng)格——第三代Internet.計(jì)算機(jī)世界,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加云計(jì)算原理

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

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

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

存儲(chǔ)和迅速處理問(wèn)題。Google口勺訣竅在于它發(fā)展出簡(jiǎn)樸而又高效的技術(shù),讓多達(dá)百萬(wàn)臺(tái)

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

命名為Google云計(jì)算技術(shù)。Google云計(jì)算技術(shù)詳細(xì)包括:Google文獻(xiàn)系統(tǒng)GFS、分布式

計(jì)算編程模型MapReduce>分布式鎖服務(wù)Chubby和分布式構(gòu)造化數(shù)據(jù)存儲(chǔ)系統(tǒng)Bigtable

等二中,GFS提供了海量數(shù)據(jù)的存儲(chǔ)和訪問(wèn)的能力OdapReduce使得海量信息時(shí)并行

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

數(shù)據(jù)的管理和組織.1?分以本章將對(duì)這四種關(guān)鍵技術(shù)進(jìn)行詳細(xì)簡(jiǎn)介。

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

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

Google云計(jì)算提供海量存儲(chǔ),并且與Chubby>M叩Reduce以及Bigtable等技術(shù)結(jié)合十分

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

Google公布的技術(shù)文檔來(lái)獲得一點(diǎn)理解,而無(wú)法進(jìn)行深入的研究。文獻(xiàn)[1]是Google公布

的有關(guān)GFS的最為詳盡日勺技術(shù)文檔,它從GFS產(chǎn)生的背景、特點(diǎn)、系統(tǒng)框架、性能測(cè)試

等方面進(jìn)行了詳細(xì)日勺論述。

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

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

較高。以Lustre文獻(xiàn)系統(tǒng)為例,它只對(duì)元數(shù)據(jù)管理器MDS提供容錯(cuò)處理方案,而對(duì)于詳

細(xì)日勺數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)OST來(lái)說(shuō),則依賴其自身來(lái)處理容錯(cuò)的問(wèn)題。例如,Lustre推薦OST

節(jié)點(diǎn)采用RAID技術(shù)或SAN存儲(chǔ)區(qū)域網(wǎng)來(lái)容錯(cuò),但由于Lustre自身不能提供數(shù)據(jù)存儲(chǔ)日勺

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

而大大增長(zhǎng)了存儲(chǔ)的成本,并且成本會(huì)伴隨規(guī)模的擴(kuò)大線性增長(zhǎng)。

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

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

于它采用了多么令人驚訝日勺技術(shù),而在于它采用廉價(jià)的商用機(jī)器構(gòu)建分布式文獻(xiàn)系統(tǒng),同

步將GFS的設(shè)計(jì)與Google應(yīng)用的特點(diǎn)緊密結(jié)合,并簡(jiǎn)化其實(shí)現(xiàn),使之可行,最終到達(dá)創(chuàng)

意新奇、有用、可行的完美組合。GFS使用廉價(jià)的商用機(jī)器構(gòu)建分布式文獻(xiàn)系統(tǒng),將容錯(cuò)

的任務(wù)交由文獻(xiàn)系統(tǒng)來(lái)完畢,運(yùn)用軟件口勺措施處理系統(tǒng)可靠性問(wèn)題,這樣可以使得存儲(chǔ)的

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

至都不應(yīng)當(dāng)將其視為異?,F(xiàn)象,那么怎樣在頻繁的故障中保證數(shù)據(jù)存儲(chǔ)的安全、保證提供

不間斷的數(shù)據(jù)存儲(chǔ)服務(wù)是GFS最關(guān)鍵的問(wèn)題。GFS的精彩在于它采用了多種措施,從多

種角度,使用不一樣的

2.1.1系統(tǒng)架構(gòu)

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

端)、Master(主服務(wù)器)和ChunkServer(數(shù)據(jù)塊服務(wù)器)。Client是GFS提供應(yīng)應(yīng)用程

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

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

有一種,它保留系統(tǒng)日勺元數(shù)據(jù),負(fù)責(zé)整個(gè)文獻(xiàn)系統(tǒng)的管理,是GFS文獻(xiàn)系統(tǒng)中的大腦。

ChunkServer負(fù)責(zé)詳細(xì)『寸存儲(chǔ)工作。數(shù)據(jù)以文獻(xiàn)內(nèi))形式存儲(chǔ)在ChunkServer上,Chunk

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

進(jìn)行分塊,默認(rèn)是64MB,每一塊稱為一種Chunk(數(shù)據(jù)塊),每個(gè)Chunk均有一種對(duì)應(yīng)

的索引號(hào)(Index)。

圖2-1GFS體系構(gòu)造

客戶端在訪問(wèn)GFS時(shí),首先訪問(wèn)Master節(jié)點(diǎn),獲取將要與之進(jìn)行交互的Chunk

Server信息,然后直接訪問(wèn)這些ChunkServer完畢數(shù)據(jù)存取。GFSH勺這種設(shè)計(jì)措施實(shí)現(xiàn)了

控制流和數(shù)據(jù)流時(shí)分離。Client與Master之間只有控制流,而無(wú)數(shù)據(jù)流,這樣就極大地減

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

播數(shù)據(jù)流,同步由于文獻(xiàn)被提成多種Chunk進(jìn)行分布式存儲(chǔ),Client可以同步訪問(wèn)多種

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

相對(duì)于老式H勺分布式文獻(xiàn)系統(tǒng),GFS針對(duì)Google應(yīng)用的特點(diǎn)從多種方面進(jìn)行了簡(jiǎn)

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

特點(diǎn)。

1.采用中心服務(wù)器模式

GFS采用中心服務(wù)器模式來(lái)管理整個(gè)文獻(xiàn)系統(tǒng),可以大大簡(jiǎn)化設(shè)計(jì),從而減少實(shí)現(xiàn)難

度。Master管理了分布式文獻(xiàn)系統(tǒng)中的所有元數(shù)據(jù)。文獻(xiàn)劃分為Chunk進(jìn)行存儲(chǔ),對(duì)于

Master來(lái)說(shuō),每個(gè)ChunkServer只是一種存儲(chǔ)空間。Client發(fā)起的!所有操作都需要先通過(guò)

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

ChunkServer只需要注冊(cè)到Master上即可,ChunkServer之間無(wú)任何關(guān)系。假如采用完全

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

Server,會(huì)是設(shè)計(jì)口勺一種難點(diǎn),而這也將在一定程度上影響系統(tǒng)的擴(kuò)展性。Master維護(hù)了

一種統(tǒng)一日勺命名空間,同步掌握整個(gè)系統(tǒng)內(nèi)ChunkServer的狀況,據(jù)此可以實(shí)現(xiàn)整個(gè)系統(tǒng)

范圍內(nèi)數(shù)據(jù)存儲(chǔ)口勺負(fù)載均衡。由于只有一種中心服務(wù)器,元數(shù)據(jù)的一致性問(wèn)題自然處理。

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

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

對(duì)Master進(jìn)行遠(yuǎn)程備份、控制信息和數(shù)據(jù)分流等。

2.不緩存數(shù)據(jù)

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

要實(shí)現(xiàn)復(fù)雜的緩存(Cache)機(jī)制。GFS文獻(xiàn)系統(tǒng)根據(jù)應(yīng)用的特點(diǎn),沒(méi)有實(shí)現(xiàn)緩存,這是

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

在大量日勺反復(fù)讀寫,緩存這部分?jǐn)?shù)據(jù)對(duì)系統(tǒng)整體性能日勺提高作用不大;而對(duì)于Chunk

Server,由于GFS的I數(shù)據(jù)在ChunkServer上以文獻(xiàn)的形式存儲(chǔ),假如對(duì)某塊數(shù)據(jù)讀取頻

繁,當(dāng)?shù)氐奈墨I(xiàn)系統(tǒng)自然會(huì)將其緩存。從可行性上講,怎樣維護(hù)緩存與實(shí)際數(shù)據(jù)之間H勺一

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

絡(luò)等多種不確定原因,一致性問(wèn)題尤為復(fù)雜。此外由于讀取的數(shù)據(jù)量巨大,以目前的內(nèi)存

容量無(wú)法完仝緩存。對(duì)于存儲(chǔ)在Master中的元數(shù)據(jù),GFS采用了緩存方略,GFS中Client

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

作日勺效率,Master日勺元數(shù)據(jù)都是直接保留在內(nèi)存中進(jìn)行操作;同步采用對(duì)應(yīng)的壓縮機(jī)制減

少元數(shù)據(jù)占用空間口勺大小,提高內(nèi)存的運(yùn)用率。

3.在.顧客態(tài)下實(shí)現(xiàn)

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

例,無(wú)論是當(dāng)?shù)匚墨I(xiàn)系統(tǒng)如Ext3文獻(xiàn)系統(tǒng),還是分布式文獻(xiàn)系統(tǒng)如Lustre等,都是在內(nèi)

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

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

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

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

2)POSIX接口提供日勺功能更為豐富,在實(shí)現(xiàn)過(guò)程中可以運(yùn)用更多的特性,而不像內(nèi)

核編程那樣受限。

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

4)顧客態(tài)下,MasterChunkServer都以進(jìn)程的方式運(yùn)行,單個(gè)進(jìn)程不會(huì)影響到整

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

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

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

GFS自身和內(nèi)核H勺單獨(dú)升級(jí)。

4.只提供專用接口

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

程序可以通過(guò)操作系統(tǒng)日勺統(tǒng)一接口來(lái)透明地訪問(wèn)文獻(xiàn)系統(tǒng),而不需要重新編譯程序。GFS

在設(shè)計(jì)之初,是完全面向Google口勺應(yīng)用的,采用了專用的文獻(xiàn)系統(tǒng)訪問(wèn)接口。接口以庫(kù)

文獻(xiàn)日勺形式提供,應(yīng)用程序與庫(kù)文獻(xiàn)一起編譯,Google應(yīng)用程序在代碼中通過(guò)調(diào)用這些

庫(kù)文獻(xiàn)的IAPI,完畢對(duì)GFS文獻(xiàn)系統(tǒng)口勺訪問(wèn)。采用專用接口有如下好處。

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

GFS是在應(yīng)用層實(shí)現(xiàn)口勺。

2)采用專用接口可以根據(jù)應(yīng)用日勺特點(diǎn)對(duì)應(yīng)用提供某些特殊支持,如支持多種文獻(xiàn)并

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

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

的切換,減少了復(fù)雜度,提高了效率。

2.1.2容錯(cuò)機(jī)制

1.Master容錯(cuò)

詳細(xì)來(lái)說(shuō),Master上保留了GFS文獻(xiàn)系統(tǒng)H勺三種元數(shù)據(jù)。

1)命名空間(NameSpace),也就是整個(gè)文獻(xiàn)系統(tǒng)的目錄構(gòu)造。

2)Chunk與文獻(xiàn)名的映射表。

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

首先就單個(gè)Master來(lái)說(shuō),對(duì)于前兩種元數(shù)據(jù),GFS通過(guò)操作日志來(lái)提供容錯(cuò)功能。

第三種元數(shù)據(jù)信息則直接保留在各個(gè)ChunkServer」:,當(dāng)Master啟動(dòng)或ChunkServer向

Master注冊(cè)時(shí)自動(dòng)生成。因此當(dāng)Master發(fā)生故障時(shí),在磁盤數(shù)據(jù)保留完好的狀況下,可

以迅速恢復(fù)以上元數(shù)據(jù)。為了防止Master徹底死機(jī)的狀況,GFS還提供了Master遠(yuǎn)程日勺

實(shí)時(shí)備份,這樣在目前的GFSMaster出現(xiàn)故障無(wú)法工作H勺時(shí)候,此外一臺(tái)GFSMaster可

以迅速接替其工作。

2.ChunkServer容錯(cuò)

GFS采用副本的I方式實(shí)現(xiàn)ChunkServer日勺容錯(cuò)。每一種Chunk有多種存儲(chǔ)副本(默

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

如網(wǎng)絡(luò)的拓?fù)?、機(jī)架時(shí)分布、磁盤日勺運(yùn)用率等。對(duì)于每一種Chunk,必須將所有的副本所

有寫入成功,才視為成功寫入。在其后日勺過(guò)程中,假如有關(guān)的副本出現(xiàn)丟失或不可恢復(fù)等

狀況,Master會(huì)自動(dòng)將該副本復(fù)制到其他ChunkServer,從而保證副本保持一定口勺個(gè)數(shù)。

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

盤口勺成本不停下降,采用副本無(wú)疑是最簡(jiǎn)樸、最可靠、最有效,并且實(shí)現(xiàn)的難度也最小口勺

一種措施。

GFS中的每一種文獻(xiàn)被劃提成多種Chunk,Chunk時(shí)默認(rèn)大小是64MB,這是由于

Google應(yīng)用中處理的文獻(xiàn)都比較大,以64MB為單位進(jìn)行劃分,是一種較為合理的選

擇。ChunkServer存儲(chǔ)的|是Chunk『寸副本,副本以文獻(xiàn)形式進(jìn)行存儲(chǔ)。每一種Chunk以

Block為單位進(jìn)行劃分,大小為64KB,每一種Block對(duì)應(yīng)一種32bit的校驗(yàn)和。當(dāng)讀取一

種Chunk副本時(shí),ChunkServer會(huì)將讀取的數(shù)據(jù)和校驗(yàn)和進(jìn)行比較,假如不匹配,就會(huì)返

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

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

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

除了上面提到日勺GFS的某些關(guān)鍵技術(shù)外,尚有對(duì)應(yīng)的系統(tǒng)管理技術(shù)來(lái)支持整個(gè)GFS的應(yīng)

用,這些技術(shù)也許并不一定為GFS所獨(dú)有。

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

安裝GFSH勺集群中一般有非常多的節(jié)點(diǎn),文獻(xiàn)⑴中最大日勺集群超過(guò)1000個(gè)節(jié)點(diǎn),而

目前的Google數(shù)據(jù)中心動(dòng)輒有萬(wàn)臺(tái)以上的機(jī)器在運(yùn)行。那么,迅速地安裝、布署一種

GFS出J系統(tǒng),以及迅速地進(jìn)行節(jié)點(diǎn)的系統(tǒng)升級(jí)等,都需要對(duì)應(yīng)的技術(shù)支撐。

2.故障檢測(cè)技術(shù)

GFS是構(gòu)建在不可靠的廉價(jià)計(jì)算機(jī)之上的文獻(xiàn)系統(tǒng),由于節(jié)點(diǎn)數(shù)目眾多,故障發(fā)生十

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

技術(shù)。

3.節(jié)點(diǎn)動(dòng)態(tài)加入技術(shù)

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

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

大大減少GFS維護(hù)的工作量。

4.節(jié)能技術(shù)

有關(guān)數(shù)據(jù)表明,服務(wù)器的耗電成本不小于當(dāng)時(shí)日勺購(gòu)置成本,因此Google采用了多種

機(jī)制來(lái)減少服務(wù)器口勺能耗,例如對(duì)服務(wù)器主板進(jìn)行修改,采用蓄電池替代昂貴的UPS(不

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

達(dá),這個(gè)設(shè)計(jì)讓Google的UPS運(yùn)用率到達(dá)99.9%,而一般數(shù)據(jù)中心只能到達(dá)92%?

95%。

2.2并行數(shù)據(jù)處理MapReduce

MapReduce是Google提出的一種軟件架構(gòu),是一種處理海量數(shù)據(jù)日勺并行編程模式,

用于大規(guī)模數(shù)據(jù)集(一般不小于1TB)日勺并行運(yùn)算?!癕叩(映射)”、“Reduce(化簡(jiǎn))”

的概念和重要思想,都是從函數(shù)式編程語(yǔ)言和矢量編程語(yǔ)言借鑒來(lái)日勺⑸。正是由于

M叩Reduce有函數(shù)式和矢量編程語(yǔ)言的共性,使得這種編程模式尤其適合于非構(gòu)造化和構(gòu)

造化的海量數(shù)據(jù)的搜索、挖掘、分析與機(jī)器智能學(xué)習(xí)等。

2.2.1產(chǎn)生背景

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

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

合電

與老式口勺分布式程序設(shè)計(jì)相比,MapReduce封裝了并行處理、容錯(cuò)處理、當(dāng)?shù)鼗?jì)

算、負(fù)載均衡等細(xì)節(jié),還提供了一種簡(jiǎn)樸而強(qiáng)大日勺接口。通過(guò)這個(gè)接口,可以把大尺度歐I

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

大集群來(lái)到達(dá)極高日勺性能。此外,MapReduce也具有很好H勺通用性,大量不一樣的問(wèn)題都

可以簡(jiǎn)樸地通過(guò)MapReduce來(lái)處理。

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

畢,通過(guò)這種方式實(shí)現(xiàn)任務(wù)的可靠執(zhí)行與容錯(cuò)機(jī)制。在每個(gè)時(shí)間周期,主節(jié)點(diǎn)都會(huì)對(duì)分節(jié)

點(diǎn)日勺工作狀態(tài)進(jìn)行標(biāo)識(shí),一旦分節(jié)點(diǎn)狀態(tài)標(biāo)識(shí)為死亡狀態(tài),則這個(gè)節(jié)點(diǎn)的所有任務(wù)都將分

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

據(jù)有關(guān)記錄,每使用一次Google搜索引擎,Google的后臺(tái)服務(wù)器就要進(jìn)行10"次運(yùn)

算。這樣龐大的運(yùn)算量,假如沒(méi)有好的負(fù)載均衡機(jī)制,有些服務(wù)器日勺運(yùn)用率會(huì)很低,有些

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

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

2.2.2編程模型

M叩Reduce日勺運(yùn)行模型如圖2-2所示。圖中有M個(gè)Map操作和R個(gè)Reduce操作。

簡(jiǎn)樸地說(shuō),一種Map函數(shù)就是對(duì)一部分原始數(shù)據(jù)進(jìn)

行指定的操作。每個(gè)Map操作都針對(duì)不一樣日勺原始數(shù)

據(jù),因此M叩與M叩之間是互相獨(dú)立的,這就使得它們

可以充足并行化。一種Reduce操作就是對(duì)每個(gè)M叩所產(chǎn)

生日勺一部分中間成果進(jìn)行合并操作,每個(gè)Reduce所處理

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

圖2-2MapReduceR勺運(yùn)行模型

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

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

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

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

Map和Reduce的I輸入?yún)?shù)和輸出成果根據(jù)應(yīng)用Htl不一樣而有所不一樣。Map日勺輸入

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

是一組vkey,value〉對(duì),這是通過(guò)M叩操作后所產(chǎn)生日勺中間成果。在進(jìn)行Reduce操作之

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

value可以集結(jié)在一起提供應(yīng)一種Reduce進(jìn)行歸并處理,也就是說(shuō),Reduce日勺輸入?yún)?shù)

是(key,[value1,…,value加]Reduce的I工作是需要對(duì)這些對(duì)應(yīng)相似keyH勺value值進(jìn)行歸

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

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

例如,假設(shè)我們想用M叩Reduce來(lái)計(jì)算一種大型文本文獻(xiàn)中各個(gè)單詞出現(xiàn)的次數(shù),

M叩口勺輸入?yún)?shù)指明了需要處理哪部分?jǐn)?shù)據(jù),以〈在又本

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論