分布式计算 网格计算 并行计算 云计算
轉(zhuǎn)自:http://www.cnblogs.com/oldhorse/archive/2009/11/14/1603027.html
先說分布式計算和并行計算的異同:
解決對象上:都是大任務(wù)化為小任務(wù),這是他們共同之處。
但是分布式的任務(wù)包互相之間有獨立性,上一個任務(wù)包的結(jié)果未返回或者是結(jié)果處理錯誤,對下一個任務(wù)包的處理幾乎沒有什么影響。因此,分布式的實時性要求不高,而且允許存在計算錯誤(因為每個計算任務(wù)給好幾個參與者計算,上傳結(jié)果到服務(wù)器后要比較結(jié)果,然后對結(jié)果差異大的進(jìn)行驗證,我個人感覺這樣有助于發(fā)現(xiàn)科學(xué)家們真正想要找的)!
分布式要處理的問題一般是基于“尋找”模式的。所謂的“尋找”,就相當(dāng)于窮舉法!為了嘗試到每一個可能存在的結(jié)果,一般從0~某一數(shù)值被一個一個的測試,直到我們找到所要求的結(jié)果。事實上,為了易于一次性探測到正確的結(jié)果,我們假設(shè)結(jié)果是以某個特殊形式開始的。在這種類型的搜索里,我們也許幸運的一開始就找到答案;也許不夠走運以至于到最后才找到答案,這都很公平。
這么說,并行程序并行處理的任務(wù)包之間有很大的聯(lián)系,而且并行計算的每一個任務(wù)塊都是必要的,沒有浪費的分割的,就是每個任務(wù)包都要處理,而且計算結(jié)果相互影響,就要求每個的計算結(jié)果要絕對正確,而且在時間上要盡量做到同步,而分布式的很多任務(wù)塊可以根本就不處理,有大量的無用數(shù)據(jù)塊,所以說分布式計算的速度盡管很快,但是真正的“效率”是低之再低的,可能一直在尋找,但是永遠(yuǎn)都找不到,也可能一開始就找到了;而并行處理不同,它的任務(wù)包個數(shù)相對有限,在一個有限的時間應(yīng)該是可能完成的。
分布式計算提出了一個讓工作站端能夠在后臺持許工作的方法,而用戶完全不需關(guān)心任何東西。這種實現(xiàn)基于兩個原則,其一是任務(wù)連續(xù)分配和空閑優(yōu)先權(quán),其二是寫一個屏幕保護(hù)程序。現(xiàn)在的調(diào)度程序已經(jīng)不錯了,而空閑優(yōu)先任務(wù)將在人們完全不用關(guān)心任何東西的情況下自動執(zhí)行。利用屏幕保護(hù)程序可以利用計算機(jī)閑置的時間計算工作任務(wù)。
分布式的編寫一般用的是C++(也有用JAVA的,但是都是娛樂性質(zhì)的項目了,不是主流),基本不用MPI接口。并行計算用MPI或者OpenMP。如果把網(wǎng)格計算算做分布式計算(網(wǎng)格計算是分布式計算的一種特例,但是有區(qū)別,區(qū)別僅僅在編程方法和實際應(yīng)用的范圍上),網(wǎng)格計算使用中間件!而且對聯(lián)網(wǎng)的各臺計算機(jī)的操作系統(tǒng)的要求比較特殊。
?
?
網(wǎng)格計算是分布式運算的進(jìn)化型,每個人打開電腦,網(wǎng)格就像電力網(wǎng)一樣,可以用起來,你把CPU能力貢獻(xiàn)出來,那么你可以用全世界的CPU之和。詳細(xì)的說,就是:計算機(jī)組成的網(wǎng)格類似于輸電網(wǎng):當(dāng)我們使用電器的時候,從來沒有關(guān)心電力來自哪個發(fā)電廠,以及經(jīng)過了什么電壓變換。我們只是簡單的把電器插入墻壁上的電源插座。然而隱藏在插座后面的則是許多發(fā)電廠和把它們連接在一起的輸電線路。計算機(jī)網(wǎng)格模仿了輸電網(wǎng)。當(dāng)你把一臺電腦接入計算機(jī)網(wǎng)格的時候,就相當(dāng)于尋求使用計算機(jī)網(wǎng)格的“計算力”。你不用關(guān)心數(shù)據(jù)是由什么計算機(jī)儲存和計算的,正如你并不關(guān)心電源插座后面的故事。網(wǎng)格計算就如同建立計算機(jī)的輸電網(wǎng)。一個發(fā)電廠多余的發(fā)電能力可以通過輸電網(wǎng)傳送給遠(yuǎn)方的城市用戶,一臺計算機(jī)多余的計算能力遠(yuǎn)可以通過計算網(wǎng)格,讓遠(yuǎn)方的用戶加以利用。
照上面的說法,我個人的理解是,分布式計算是將大任務(wù)化分為小任務(wù),各臺參與計算的電腦之間是在物理地域上的分布,一般有服務(wù)器作為“中央”,參與計算的電腦不用了解工作原理,僅僅只是就自己感興趣的項目做貢獻(xiàn)而已,注意,是“向別人”無償?shù)淖鲐暙I(xiàn),不是自己“直接”受益;而網(wǎng)格計算是自己“直接”受益的,她通過一個平臺允許你調(diào)用別人計算機(jī)的處理資源,而別人根本就不知道你在用他的資源!這就是說,分布式計算是你和其他人一起組成“一臺”專供某些科研組織使用的超級處理機(jī),網(wǎng)格計算是將所有網(wǎng)內(nèi)其他人的電腦組成一臺專供你自己使用的超級處理機(jī)。
分布式計算強(qiáng)調(diào)參與的計算機(jī)自愿參與!!!網(wǎng)格計算平臺暗箱操作,不管別人是否愿意,只要聯(lián)入網(wǎng)內(nèi),就要成為另外某人的“處理機(jī)”!!!
分布式更偏向于計算任務(wù)的分解!將計算任務(wù)化整為零,將大家的處理能力化零為整;網(wǎng)格計算更偏向于計算能力的集中!相當(dāng)于集百家之精華,融你一人之薈粹!!
分布式系統(tǒng)的最主要的特點是整個系統(tǒng)中的各計算機(jī)對用戶都是透明的。也就是說,對用戶來說,這種分布式計算機(jī)系統(tǒng)就好像只有一個計算機(jī)一樣。用戶通過鍵入命令就可以運行程序,但用戶并不知道是哪一個計算機(jī)在為他運行程序。是操作系統(tǒng)為用戶選擇一個最合適的計算機(jī)來運行其程序,并將運行的結(jié)果傳送到合適的地方。這些都不需要用戶的干預(yù)。
?
?
Wikipedia的解釋:?
云計算(cloud computing,分布式計算技術(shù)的一種,其最基本的概念,是透過網(wǎng)絡(luò)將龐大的計算處理程序自動分拆成無數(shù)個較小的子程序,再交由多部服務(wù)器所組成的龐大系統(tǒng)經(jīng)搜尋、計算分析之后將處理結(jié)果回傳給用戶。透過這項技術(shù),網(wǎng)絡(luò)服務(wù)提供者可以在數(shù)秒之內(nèi),達(dá)成處理數(shù)以千萬計甚至億計的信息,達(dá)到和“超級計算機(jī)”同樣強(qiáng)大效能的網(wǎng)絡(luò)服務(wù)。?
最簡單的云計算技術(shù)在網(wǎng)絡(luò)服務(wù)中已經(jīng)隨處可見,例如搜尋引擎、網(wǎng)絡(luò)信箱等,使用者只要輸入簡單指令即能得到大量信息。?
未來如手機(jī)、GPS等行動裝置都可以透過云計算技術(shù),發(fā)展出更多的應(yīng)用服務(wù)。?
進(jìn)一步的云計算不僅只做資料搜尋、分析的功能,未來如分析DNA結(jié)構(gòu)、基因圖譜定序、解析癌癥細(xì)胞等,都可以透過這項技術(shù)輕易達(dá)成[1]。?
稍早之前的大規(guī)模分布式計算技術(shù)即為“云計算”的概念起源?
IT專家網(wǎng)的解釋:?
“云計算”(Cloud Computing)是分布式處理(Distributed Computing)、并行處理(Parallel Computing)和網(wǎng)格計算(Grid Computing)的發(fā)展,或者說是這些計算機(jī)科學(xué)概念的商業(yè)實現(xiàn)。許多跨國信息技術(shù)行業(yè)的公司如IBM、Yahoo和Google等正在使用云計算的概念兜售自己的產(chǎn)品和服務(wù)。?
云計算這個名詞可能是借用了量子物理中的“電子云”(Electron Cloud),強(qiáng)調(diào)說明計算的彌漫性、無所不在的分布性和社會性特征。量子物理上有“電子云(electron cloud)”,在原子核周圍運動的電子不是一個經(jīng)驗世界的軌道例如像天體一樣的運行軌道,而是彌漫空間的、云狀的存在,描述電子的運動不是牛頓經(jīng)典力學(xué)而是一個概率分布的密度函數(shù),用薛定諤波動方程來描述,特定的時間內(nèi)粒子位于某個位置的概率有多大,這跟經(jīng)典力學(xué)的提法完全不同。?
電子云有以下特性,概然性、彌漫性、同時性等等,云計算可能的確是來自電子云的概念,前今年就有所謂“無所不在的計算”,IBM有一個無所不在的計算叫“Ubiquitous “,MS(Bill)不久也跟著提出一個無所不在的計算“Pervade“,現(xiàn)在人們對無所不在的計算又有了新的認(rèn)識,現(xiàn)在說是”O(jiān)mnipresent “。但是,云計算的確不是純粹的商業(yè)炒作,的確會改變信息產(chǎn)業(yè)的格局,現(xiàn)在許多人已經(jīng)用上了Google Doc和Google Apps,用上了許多遠(yuǎn)程軟件應(yīng)用如Office字處理而不是用自己本地機(jī)器上安裝這些應(yīng)用軟件,以后誰還會花錢買Office軟件呢?還有許多企業(yè)應(yīng)用如電子商務(wù)應(yīng)用,例如要寫一個交易程序, Google的企業(yè)方案就包含了現(xiàn)成的模板,一個銷售人員根本沒學(xué)習(xí)過Netbeanr也能做出來。這種計算和產(chǎn)業(yè)動向是符合開源精神的,符合SaaS(Software as a Service)趨勢。?
現(xiàn)在有這樣的說法,當(dāng)今世界只有五臺計算機(jī),一臺是Google的,一臺是IBM的,一臺是Yahoo的,一臺是Amazon的,一臺是Microsoft的,因為這五個公司率先在分布式處理的商業(yè)應(yīng)用上捷足先登引領(lǐng)潮流。Sun公司很早就提出說“網(wǎng)絡(luò)就是計算機(jī)”是有先見之明的。?
Adaptive In Organizations的解釋?
??? “Computing in the cloud” is one name for services that run in a Web browser and store information in a provider’s data center — ranging from adaptations of familiar tools such as email and personal finance to new offerings such as virtual worlds and social networks.?
“云計算”是一個很時尚的概念,它既不是一種技術(shù),也不是一種理論。準(zhǔn)確說,云計算僅描述了一類棘手的問題,因為現(xiàn)在這個階段,“計算與數(shù)據(jù)”蹺蹺板的平衡已發(fā)生變化,即已經(jīng)到“移動計算要比移動數(shù)據(jù)要便宜的多(Moving computation is cheaper than moving data)”。?
“數(shù)據(jù)”變得越來越臃腫,用經(jīng)濟(jì)的眼光看,“數(shù)據(jù)”應(yīng)該“固定”下來。想像一下,復(fù)制1PiB(1PiB = 1024TiB)數(shù)據(jù)的成本以及存儲這些數(shù)據(jù)的成本,數(shù)據(jù)變來變?nèi)ザ鴮?dǎo)致的“一致性”問題。諸如搜索、推薦和社會關(guān)系網(wǎng)絡(luò)等這些“新興”的服務(wù)是很耗費“數(shù)據(jù)”的,例如,看似一個簡單搜索請求,卻依賴于一個規(guī)模極為龐大的索引數(shù)據(jù),處理后輸出卻很小。輸入輸出的數(shù)據(jù)規(guī)模遠(yuǎn)遠(yuǎn)小于計算的數(shù)據(jù)處理規(guī)模,幾百個KiB相對幾個PiB,保守點“1 : 1000,000”。?
比例問題還好理解,然而問題關(guān)鍵卻是云內(nèi)的數(shù)據(jù)與數(shù)據(jù)之間的關(guān)系,即“數(shù)據(jù)的劃分問題”。盡管“分而治之”是一個古老的原則,而且分布計算也已經(jīng)發(fā)展了四十多年,然而對這一點,我們的認(rèn)識依然淺的很。?
“云計算”代表了一個時代需求,反映了市場關(guān)系的變化,誰擁有更為龐大的數(shù)據(jù)規(guī)模,誰就可以提供更廣更深的信息服務(wù),而軟件和硬件影響相對縮小。
?
以上摘錄之分布式計算論壇
總結(jié)
以上是生活随笔為你收集整理的分布式计算 网格计算 并行计算 云计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库系统概论 (王珊.第五版)第七章数
- 下一篇: 2017 Top 10 Web 应用安全