分佈式計算基礎課程:分佈式計算入門數據庫
(課程針對大數據分步式計算中的相關技術進行講解,核心講解流式計算和內存計算技術,闡述阿里雲在處理這些功能時所使用的技術,並對阿里在這裏的技術優化方式進行了詳細的講解。)安全
分佈式計算是一種計算方法,和集中式計算是相對的。隨着計算技術的發展,有些應用須要很是巨大的計算能力才能完成,若是採用集中式計算,須要耗費至關長的時間來完成。分佈式計算將該應用分解成許多小的部分,分配給多臺計算機進行處理。這樣能夠節約總體計算時間,大大提升計算效率。服務器
分佈式計算定義 網絡
分佈式計算是一門計算機科學,主要研究對象是分佈式系統。併發
分佈式系統是由若干經過網絡互聯的計算機組成的軟硬件系統[1],且這些計算機互相配合以完成一個共同的目標(每每這個共同的目標稱爲「項目」);
分佈式計算指在分佈式系統上執行的計算。分佈式計算是將一個大型計算任務分紅不少部分分別交給其餘的計算機處理,並將全部的計算結果合併爲原問題的解決方案。
注意: 這裏與並行計算不一樣的是,並行計算是使用多個處理器並行執行單個計算。並行運算與分佈式計算的區別是:分佈式計算強調的是任務的分佈執行,而並行計算強調的是任務的併發執行 框架
優缺點less
意義格局分佈式
因爲現代人類各個課題學科繁多,涉及面廣,而分類又細。而當今的每一個學科彷佛都須要進行大量的計算。天文學研究組織須要計算機來分析太空脈衝(pulse),星位移動;生物學家須要計算機來模擬蛋白質的摺疊(protein folding)過程;藥物學家想要研製克服艾滋病(AIDS)或非典(SARS)的藥物;數學家想計算最大的質數和圓周率的更精確值;經濟學家要用計算機分析計算在幾萬種因素考慮下某個企業/城市/國家的發展方向從而宏觀調控。因而可知,人類將來的科學,時時刻刻離不開計算。而分佈式計算(Distributed Computing),以其獨特的優勢——便宜、高效而愈來愈受到社會的關注。學習
就目前來看,全球的各類分佈式計算已有約百種,這些計算大多互無聯繫、獨立管理、獨立使用本身的一套軟件。這種分佈式計算互相割據的格局很不利於發展的須要。好比,某個生物學研究機構須要利用世界各地誌願者的計算機來模擬蛋白質摺疊的過程,那個生物學研究機構沒有分佈式計算方面的專業人才,而可是社會上也並無任何公司能夠提供這樣的服務,他們就不得不本身花費大量精力用於開發分佈式計算的服務器、客戶端。這樣一來,原來能夠用於研究生物的時間用在了別的地方。剛纔提到的生物學研究機構就是美國斯坦福大學的PANDE小組。大數據
爲了改變這種雜亂無章的割據,美國加州大學伯克利分校(UC Berkeley)首先提出了創建BOINC的想法。BOINC的中文全稱是伯克利開放式網絡計算平臺(Berkeley Open Infrastructure for Network Computing),他可以把許多不一樣的分佈式計算項目聯繫起來統一管理。並對計算機資源進行統一分配(比方您對研究艾滋病藥物和探索地外文明同時感興趣,您就能夠同時選擇兩個運行,並設置優先級)。對統計評分系統進行統一管理(不管你在爲哪一個項目工做,只要你奉獻CPU時間長,就積分高)。有了這樣的統一管理,的確給PANDE小組這樣的科學研究機構提供了便利!
BOINC已經成熟,多個項目已經成功運行於BOINC平臺之上,如SETI@home,LHC@home等。
安全性
對用戶方來講,加入任何一個項目以前,您必須確保您能夠信任項目的研製方,主要涉及兩方面:
您從項目方下載的計算程序,運行在本機,並且能夠訪問網絡,所以,只有可靠的項目方纔能保證您計算機上的隱私數據不會惡意的取走、修改等。
雖然分佈式計算的計算程序通常運行在最低優先級,不會對您的平常使用形成影響,但計算程序全負荷運行時仍會對計算機的各個部件形成必定壓力,要了解更多請查看分佈式計算對計算機軟硬件的影響。
對項目方來講,參加分佈式計算的志願者畢竟不是項目方本身的人員,並非全體可信任,所以必須引入必定的冗餘計算機制,才能防止計算錯誤、惡意做弊等。
課時介紹
課程目標
適合人羣
更多精品課程:
阿里雲大學官網(阿里雲大學 - 官方網站,雲生態下的創新人才工場)