1. 分布式計算
分布式計算這個研究領域,主要研究分散系統如何進行計算。分散系統是一組計算機,通過計算機網路相互鏈接與通信后形成的系統。把需要進行大量計算的工程資料磁區成小塊,由多臺計算機分別計算,在上傳運算結果后,將結果統一合并得出資料結論的科學。
目前常見的分布式計算專案通常使用世界各地上千萬志愿者計算機的閑置計算能力,通過互聯網進行資料傳輸。
分布式計算比起其它演算法具有以下幾個優點:
1、稀有資源可以共享。
2、通過分布式計算可以在多臺計算機上平衡計算負載。
3、可以把程式放在最適合運行它的計算機上。其中,共享稀有資源和平衡負載是計算機分布式計算的核心思想之一。
2. 并行計算
并行計算或稱平行計算是相對于串行計算來說的。并行計算是指同時使用多種計算資源解決計算問題的程序。為執行并行計算,計算資源應包括一臺配有多處理機(并行處理)的計算機、一個與網路相連的計算機專有編號,或者兩者結合使用。并行計算的主要目的是快速解決大型且復雜的計算問題。
并行計算可以劃分成時間并行和空間并行。時間并行即流水線技術,空間并行使用多個處理器執行并發計算,當前研究的主要是空間的并行問題。以程式和演算法設計人員的角度看,并行計算又可分為資料并行和任務并行。資料并行把大的任務化解成若干個相同的子任務,處理起來比任務并行簡單。
空間上的并行導致兩類并行機的產生,按照Michael Flynn(費林分類法)的說法分為單指令流多資料流(SIMD)和多指令流多資料流(MIMD),而常用的串行機也稱為單指令流單資料流(SISD)。MIMD類的機器又可分為常見的五類:并行向量處理機(PVP)、對稱多處理機(SMP)、大規模并行處理機(MPP)、作業站機群(COW)、分布式共享存盤處理機(DSM)
3. 并行計算與分布式計算的區別
并行計算與分布式計算都是運用并行來獲得更高性能,化大任務為小任務。簡單說來,如果處理單元共享記憶體,就稱為并行計算,反之就是分布式計算。也有人認為分布式計算是并行計算的一種特例。
但是分布式的任務包互相之間有獨立性,上一個任務包的結果未回傳或者是結果處理錯誤,對下一個任務包的處理幾乎沒有什么影響。因此,分布式的實時性要求不高,而且允許存在計算錯誤(因為每個計算任務給好幾個參與者計算,上傳結果到服務器后要比較結果,然后對結果差異大的進行驗證。
分布式要處理的問題一般是基于“尋找”模式的。所謂的“尋找”,就相當于窮舉法!為了嘗試到每一個可能存在的結果,一般從0~N( 某一數值)被一個一個的測驗,直到我們找到所要求的結果。事實上,為了易于一次性探測到正確的結果,我們假設結果是以某個特殊形式開始的。在這種型別的搜索里,我們也許幸運的一開始就找到答案;也許不夠走運以至于到最后才找到答案,這都很公平。
這么說,并行程式并行處理的任務包之間有很大的聯系,而且并行計算的每一個任務塊都是必要的,沒有浪費的分割的,就是每個任務包都要處理,而且計算結果相互影響,就要求每個的計算結果要絕對正確,而且在時間上要盡量做到同步,而分布式的很多任務塊可以根本就不處理,有大量的無用資料塊,所以說分布式計算的速度盡管很快,但是真正的“效率”是低之再低 的,可能一直在尋找,但是永遠都找不到,也可能一開始就找到了;而并行處理不同,它的任務包個數相對有限,在一個有限的時間應該是可能完成的。
分布式的撰寫一般用的是C++(也有用JAVA的,但是都不是主流),基本不用MPI介面。并行計算用MPI或者OpenMP。
4.網格計算
網格計算是分布式計算的一種,也是一種與集群計算非常相關的技術。如果我們說某項作業是分布式的,那么,參與這項作業的一定不只是一臺計算機,而是一個計算機網路,顯然這種“螞蟻搬山”的方式將具有很強的資料處理能力。網格計算的實質就是組合與共享資源并確保系統安全。
網格計算通過利用大量異構計算機的未用資源(CPU周 期和磁盤存盤),將其作為嵌入在分布式電信基礎設施中的一個虛擬的計算機集群,為解決大規模的計算問題提供一個模型。網格計算的焦點放在支持跨管理域計算 的能力,這使它與傳統的計算機集群或傳統的分布式計算相區別。網格計算的目標是解決對于任何單一的超級計算機來說仍然大得難以解決的問題,并同時保持解決 多個較小的問題的靈活性。這樣,網格計算就提供了一個多用戶環境。
5. 云計算
云計算是最新開始的新概念,它不只是計算等計算機概念,還有運營服務等概念了。它是分布式計算、并行計算和網格計算的發展,或者說是這些概念的商業實作。云計算不但包括分布式計算還包括分布式存盤和分布式快取。分布式存盤又包括分布式檔案存盤和分布式資料存盤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/22333.html
標籤:網絡
上一篇:openstack配置Nova
下一篇:第二章 分布式計算范型
