分佈式計算入門知識

分佈式計算是一種計算方法,和集中式計算是相對的。隨着計算技術的發展,有些應用須要很是巨大的計算能力才能完成,若是採用集中式計算,須要耗費至關長的時間來完成。分佈式計算將該應用分解成許多小的部分,分配給多臺計算機進行處理。這樣能夠節約總體計算時間,大大提升計算效率。算法

定義
廣義定義
所謂分佈式計算是一門計算機科學,它研究如何把一個須要很是巨大的計算能力才能解決的問題分紅許多小的部分,而後把這些部分分配給許多計算機進行處理,最後把這些計算結果綜合起來獲得最終的結果。 最近的分佈式計算項目已經被用於使用世界各地成千上萬位志願者的計算機的閒置計算能力,經過因特網,您能夠分析來自外太空的電訊號,尋找隱蔽的黑洞,並探索可能存在的外星智慧生命;您能夠尋找超過1000萬位數字的梅森質數;您也能夠尋找並發現對抗艾滋病病毒的更爲有效的藥物。這些項目都很龐大,須要驚人的計算量,僅僅由單個的電腦或是我的在一個能讓人接受的時間內計算完成是決不可能的。
中國科學院的定義
分佈式計算是一種新的計算方式。所謂分佈式計算就是在兩個或多個軟件互相共享信息,這些軟件既能夠在同一臺計算機上運行,也能夠在經過網絡鏈接起來的多臺計算機上運行。分佈式計算比起其它算法具備如下幾個優勢:
一、稀有資源能夠共享。
二、經過分佈式計算能夠在多臺計算機上平衡計算負載。
三、能夠把程序放在最適合運行它的計算機上。
其中,共享稀有資源和平衡負載是計算機分佈式計算的核心思想之一。
意義格局
分佈式計算與人類
因爲現代人類各個課題學科繁多,涉及面廣,而分類又細。而當今的每一個學科彷佛都須要進行大量的計算。天文學研究組織須要計算機來分析太空脈衝(pulse),星位移動;生物學家須要計算機來模擬蛋白質的摺疊(protein folding)過程;藥物學家想要研製克服艾滋病(AIDS)或非典(SARS)的藥物;數學家想計算最大的質數和圓周率的更精確值;經濟學家要用計算機分析計算在幾萬種因素考慮下某個企業/城市/國家的發展方向從而宏觀調控。因而可知,人類將來的科學,時時刻刻離不開計算。而分佈式計算(Distributed Computing),以其獨特的優勢——便宜、高效而愈來愈受到社會的關注。
分佈式計算格局
就目前來看,全球的各類分佈式計算已有約百種,這些計算大多互無聯繫、獨立管理、獨立使用本身的一套軟件。這種分佈式計算互相割據的格局很不利於發展的須要。好比,某個生物學研究機構須要利用世界各地誌願者的計算機來模擬蛋白質摺疊的過程,那個生物學研究機構沒有分佈式計算方面的專業人才,而可是社會上也並無任何公司能夠提供這樣的服務,他們就不得不本身花費大量精力用於開發分佈式計算的服務器、客戶端。這樣一來,原來能夠用於研究生物的時間用在了別的地方。剛纔提到的生物學研究機構就是美國斯坦福大學的PANDE小組。
BOINC一統大局
爲了改變這種雜亂無章的割據,美國加州大學伯克利分校(UC Berkeley)首先提出了創建BOINC的想法。BOINC的中文全稱是伯克利開放式網絡計算平臺(Berkeley Open Infrastructure for Network Computing),他可以把許多不一樣的分佈式計算項目聯繫起來統一管理。並對計算機資源進行統一分配(比方您對研究艾滋病藥物和探索地外文明同時感興趣,您就能夠同時選擇兩個運行,並設置優先級)。對統計評分系統進行統一管理(不管你在爲哪一個項目工做,只要你奉獻CPU時間長,就積分高)。有了這樣的統一管理,的確給PANDE小組這樣的科學研究機構提供了便利!
BOINC已經成熟,多個項目已經成功運行於BOINC平臺之上,如SETI@home,LHC@home等。
安全性
對用戶方來講,加入任何一個項目以前,您必須確保您能夠信任項目的研製方,主要涉及兩方面:
計算機上的隱私數據
您從項目方下載的計算程序,運行在本機,並且能夠訪問網絡,所以,只有可靠的項目方纔能保證您計算機上的隱私數據不會惡意的取走、修改等。
我的計算機的壽命
雖然分佈式計算的計算程序通常運行在最低優先級,不會對您的平常使用形成影響,但計算程序全負荷運行時仍會對計算機的各個部件形成必定壓力,要了解更多請查看分佈式計算對計算機軟硬件的影響。數據庫

對項目方來講,參加分佈式計算的志願者畢竟不是項目方本身的人員,並非全體可信任,所以必須引入必定的冗餘計算機制,才能防止計算錯誤、惡意做弊等。安全

下面附帶分佈式計算入門教程
教學課程:分佈式計算入門服務器

(課程針對大數據分步式計算中的相關技術進行講解,核心講解流式計算和內存計算技術,闡述阿里雲在處理這些功能時所使用的技術,並對阿里在這裏的技術優化方式進行了詳細的講解。)網絡

教程資料

教程課時併發

課時1:流式計算概述 27:45負載均衡

課時2:流計算與批量計算的區別 07:16框架

課時3:流式計算典型系統技術分析 19:09分佈式

課時4:阿里計算核心技術概述 25:49學習

課時5:有狀態計算實現方式 17:35

課時6:StreamSQL 14:11

課時7:大數據和數據庫的結合 33:12

課時8:分析型數據庫服務ADS 05:55

課時9:統一計算框架 16:01

課程目標

  • 學習分步式計算相關技術

適合人羣

  • 大數據開發者、愛好者

 

更多精品課程:

7天玩轉雲服務器

雲數據庫的Redis版使用教程

玩轉雲存儲對象存儲OSS使用入門

阿里雲CDN使用教程

負載均衡入門與產品使用指南

阿里雲大學官網(阿里雲大學 - 官方網站,雲生態下的創新人才工場

相關文章
相關標籤/搜索