概念区分:并行、分布式、集群、云、超算
并行計算(Parallel Computing)
并行計算的主要目的是快速解決大型且復雜的計算問題。
并行計算可以劃分成時間并行和空間并行。時間并行即流水線技術,空間并行使用多個處理器執行并發計算,當前研究的主要是空間的并行問題。
以程序和算法設計人員的角度看,并行計算又可分為數據并行和任務并行。數據并行把大的任務化解成若干個相同的子任務,處理起來比任務并行簡單。
空間上的并行導致兩類并行機的產生,按照Michael Flynn(費林分類法)的說法分為單指令流多數據流(SIMD)和多指令流多數據流(MIMD),而常用的串行機也稱為單指令流單數據流(SISD)。
MIMD類的機器又可分為常見的五類:并行向量處理機(PVP)、對稱多處理機(SMP)、大規模并行處理機(MPP)、工作站機群(COW)、分布式共享存儲處理機(DSM)。
分布式計算(Distributed Computing)
分布式計算,把需要進行大量計算的工程數據分區成小塊,由多臺計算機分別計算,在上傳運算結果后,將結果統一合并得出數據結論。
目前常見的分布式計算項目通常使用世界各地上千萬志愿者計算機的閑置計算能力,通過互聯網進行數據傳輸。如分析計算蛋白質的內部結構和相關藥物的Folding@home項目。
并行計算與分布式計算的區別
并行計算的任務包之間相互影響,要求每個的計算結果要絕對正確,而且在時間上要盡量做到同步。
而分布式的任務包互相之間有獨立性,上一個任務包的結果未返回或者是結果處理錯誤,對下一個任務包的處理幾乎沒有什么影響。因此,分布式的實時性要求不高,而且允許存在計算錯誤(因為每個計算任務給好幾個參與者計算,上傳結果到服務器后要比較結果,然后對結果差異大的進行驗證。
集群計算(Cluster Computing)
計算機集群將一組松散集成的計算機軟件或硬件連接起來高度緊密地協作完成計算工作。在某種意義上,他們可以被看作是一臺計算機。集群系統中的單個計算機通常稱為節點,通常通過局域網連接。
根據組成集群系統的計算機之間體系結構是否相同,集群可分為同構與異構兩種。集群計算機按功能和結構可以分為:
高可用性集群(High-availability (HA) clusters)一般是指當集群中有某個節點失效的情況下,其上的任務會自動轉移到其他正常的節點上。某節點進行離線維護再上線,也并不影響整個集群的運行。
負載均衡集群(Loadbalancing clusters),又稱服務器群(Server Farm),一般通過一個或者多個前端負載均衡器,將工作負載分發到后端的一組服務器上。一般會同時具有高可用性與負載均衡的特點。
高性能計算集群(High-performance (HPC)clusters)主要用于科學計算,適合完成并行運算,在計算中各計算節點之間會發生大量數據通訊。
網格計算(Grid Computing)
組合與共享資源并確保系統安全,利用大量異構計算機的未用資源(CPU周期和磁盤存儲),將其作為嵌入在分布式電信基礎設施中的一個虛擬的計算機集群,為解決大規模的計算問題提供一個模型。
集群計算與網格計算的區別
網格與傳統集群的主要差別是網格是連接一組相關并不信任的計算機,它的運作更像一個計算公共設施而不是一個獨立的計算機。
網格本質上就是動態的,集群包含的處理器和資源的數量通常都是靜態的。在網格上,資源則可以動態出現或從網格中刪除。集群互連技術可以產生非常低的網絡延時,而網格由于動態特性,可以提供很好的高可擴展性。很多網格都在自己管理的資源中采用了集群。
云計算(Cloud Computing)
云計算除了計算概念,還有運營服務等概念,應用分布式存儲和分布式緩存、虛擬化等技術。主要面向社交網絡、企業IT建設和信息化等領域,以數據密集型、I/O密集型應用為主。它是分布式計算、并行計算和網格計算的發展,或者說是這些概念的商業實現。
超算 (HPC)
超級計算機,主要面向科學計算、工程模擬等領域,大多屬于計算密集型的應用。
超算與云計算的區別
超級計算機就好比是F1,而云就好比是公共汽車。F1可以非常快地把一個人帶到目的地,而公共汽車擅長同時為多個乘客服務。云使用虛擬化技術提高CPU和IO利用率,而超級計算機生來就是為了跑滿CPU的,使用虛擬化技術反而拖后腿。
總結
以上是生活随笔為你收集整理的概念区分:并行、分布式、集群、云、超算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【技术综述】万字长文详解Faster R
- 下一篇: GPU 图像并行处理