分布式计算 网格计算 并行计算 云计算
轉自:http://www.cnblogs.com/oldhorse/archive/2009/11/14/1603027.html
先說分布式計算和并行計算的異同:
解決對象上:都是大任務化為小任務,這是他們共同之處。
但是分布式的任務包互相之間有獨立性,上一個任務包的結果未返回或者是結果處理錯誤,對下一個任務包的處理幾乎沒有什么影響。因此,分布式的實時性要求不高,而且允許存在計算錯誤(因為每個計算任務給好幾個參與者計算,上傳結果到服務器后要比較結果,然后對結果差異大的進行驗證,我個人感覺這樣有助于發現科學家們真正想要找的)!
分布式要處理的問題一般是基于“尋找”模式的。所謂的“尋找”,就相當于窮舉法!為了嘗試到每一個可能存在的結果,一般從0~某一數值被一個一個的測試,直到我們找到所要求的結果。事實上,為了易于一次性探測到正確的結果,我們假設結果是以某個特殊形式開始的。在這種類型的搜索里,我們也許幸運的一開始就找到答案;也許不夠走運以至于到最后才找到答案,這都很公平。
這么說,并行程序并行處理的任務包之間有很大的聯系,而且并行計算的每一個任務塊都是必要的,沒有浪費的分割的,就是每個任務包都要處理,而且計算結果相互影響,就要求每個的計算結果要絕對正確,而且在時間上要盡量做到同步,而分布式的很多任務塊可以根本就不處理,有大量的無用數據塊,所以說分布式計算的速度盡管很快,但是真正的“效率”是低之再低的,可能一直在尋找,但是永遠都找不到,也可能一開始就找到了;而并行處理不同,它的任務包個數相對有限,在一個有限的時間應該是可能完成的。
分布式計算提出了一個讓工作站端能夠在后臺持許工作的方法,而用戶完全不需關心任何東西。這種實現基于兩個原則,其一是任務連續分配和空閑優先權,其二是寫一個屏幕保護程序。現在的調度程序已經不錯了,而空閑優先任務將在人們完全不用關心任何東西的情況下自動執行。利用屏幕保護程序可以利用計算機閑置的時間計算工作任務。
分布式的編寫一般用的是C++(也有用JAVA的,但是都是娛樂性質的項目了,不是主流),基本不用MPI接口。并行計算用MPI或者OpenMP。如果把網格計算算做分布式計算(網格計算是分布式計算的一種特例,但是有區別,區別僅僅在編程方法和實際應用的范圍上),網格計算使用中間件!而且對聯網的各臺計算機的操作系統的要求比較特殊。
?
?
網格計算是分布式運算的進化型,每個人打開電腦,網格就像電力網一樣,可以用起來,你把CPU能力貢獻出來,那么你可以用全世界的CPU之和。詳細的說,就是:計算機組成的網格類似于輸電網:當我們使用電器的時候,從來沒有關心電力來自哪個發電廠,以及經過了什么電壓變換。我們只是簡單的把電器插入墻壁上的電源插座。然而隱藏在插座后面的則是許多發電廠和把它們連接在一起的輸電線路。計算機網格模仿了輸電網。當你把一臺電腦接入計算機網格的時候,就相當于尋求使用計算機網格的“計算力”。你不用關心數據是由什么計算機儲存和計算的,正如你并不關心電源插座后面的故事。網格計算就如同建立計算機的輸電網。一個發電廠多余的發電能力可以通過輸電網傳送給遠方的城市用戶,一臺計算機多余的計算能力遠可以通過計算網格,讓遠方的用戶加以利用。
照上面的說法,我個人的理解是,分布式計算是將大任務化分為小任務,各臺參與計算的電腦之間是在物理地域上的分布,一般有服務器作為“中央”,參與計算的電腦不用了解工作原理,僅僅只是就自己感興趣的項目做貢獻而已,注意,是“向別人”無償的做貢獻,不是自己“直接”受益;而網格計算是自己“直接”受益的,她通過一個平臺允許你調用別人計算機的處理資源,而別人根本就不知道你在用他的資源!這就是說,分布式計算是你和其他人一起組成“一臺”專供某些科研組織使用的超級處理機,網格計算是將所有網內其他人的電腦組成一臺專供你自己使用的超級處理機。
分布式計算強調參與的計算機自愿參與!!!網格計算平臺暗箱操作,不管別人是否愿意,只要聯入網內,就要成為另外某人的“處理機”!!!
分布式更偏向于計算任務的分解!將計算任務化整為零,將大家的處理能力化零為整;網格計算更偏向于計算能力的集中!相當于集百家之精華,融你一人之薈粹!!
分布式系統的最主要的特點是整個系統中的各計算機對用戶都是透明的。也就是說,對用戶來說,這種分布式計算機系統就好像只有一個計算機一樣。用戶通過鍵入命令就可以運行程序,但用戶并不知道是哪一個計算機在為他運行程序。是操作系統為用戶選擇一個最合適的計算機來運行其程序,并將運行的結果傳送到合適的地方。這些都不需要用戶的干預。
?
?
Wikipedia的解釋:?
云計算(cloud computing,分布式計算技術的一種,其最基本的概念,是透過網絡將龐大的計算處理程序自動分拆成無數個較小的子程序,再交由多部服務器所組成的龐大系統經搜尋、計算分析之后將處理結果回傳給用戶。透過這項技術,網絡服務提供者可以在數秒之內,達成處理數以千萬計甚至億計的信息,達到和“超級計算機”同樣強大效能的網絡服務。?
最簡單的云計算技術在網絡服務中已經隨處可見,例如搜尋引擎、網絡信箱等,使用者只要輸入簡單指令即能得到大量信息。?
未來如手機、GPS等行動裝置都可以透過云計算技術,發展出更多的應用服務。?
進一步的云計算不僅只做資料搜尋、分析的功能,未來如分析DNA結構、基因圖譜定序、解析癌癥細胞等,都可以透過這項技術輕易達成[1]。?
稍早之前的大規模分布式計算技術即為“云計算”的概念起源?
IT專家網的解釋:?
“云計算”(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的,一臺是Microsoft的,因為這五個公司率先在分布式處理的商業應用上捷足先登引領潮流。Sun公司很早就提出說“網絡就是計算機”是有先見之明的。?
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.?
“云計算”是一個很時尚的概念,它既不是一種技術,也不是一種理論。準確說,云計算僅描述了一類棘手的問題,因為現在這個階段,“計算與數據”蹺蹺板的平衡已發生變化,即已經到“移動計算要比移動數據要便宜的多(Moving computation is cheaper than moving data)”。?
“數據”變得越來越臃腫,用經濟的眼光看,“數據”應該“固定”下來。想像一下,復制1PiB(1PiB = 1024TiB)數據的成本以及存儲這些數據的成本,數據變來變去而導致的“一致性”問題。諸如搜索、推薦和社會關系網絡等這些“新興”的服務是很耗費“數據”的,例如,看似一個簡單搜索請求,卻依賴于一個規模極為龐大的索引數據,處理后輸出卻很小。輸入輸出的數據規模遠遠小于計算的數據處理規模,幾百個KiB相對幾個PiB,保守點“1 : 1000,000”。?
比例問題還好理解,然而問題關鍵卻是云內的數據與數據之間的關系,即“數據的劃分問題”。盡管“分而治之”是一個古老的原則,而且分布計算也已經發展了四十多年,然而對這一點,我們的認識依然淺的很。?
“云計算”代表了一個時代需求,反映了市場關系的變化,誰擁有更為龐大的數據規模,誰就可以提供更廣更深的信息服務,而軟件和硬件影響相對縮小。
?
以上摘錄之分布式計算論壇
總結
以上是生活随笔為你收集整理的分布式计算 网格计算 并行计算 云计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库系统概论 (王珊.第五版)第七章数
- 下一篇: 2017 Top 10 Web 应用安全