MPI與Hadoop的區別

2021-07-05 12:46:13 字數 999 閱讀 7758

1.hadoop與mpi的主要區別體現在資料儲存和資料處理在系統中位置不同。

mpi是計算與儲存分離,hadoop是計算向儲存遷移。這一點體現出,hadoop系統中資料儲存的位置更重要。

mpi是一種基於訊息傳遞機制的並行程式設計標準,它為程式設計者提供了豐富而方便的通訊函式,在程式設計上非常簡單而且符合普通程式設計師的程式設計習慣。然而mpi有乙個比較大的缺陷,即底層沒有乙個分布式的檔案系統對其進行支援。在mpi中資料儲存的節點和資料處理的節點往往是不同的,一般在每次計算開始時mpi需要從資料儲存節點讀取需要處理的資料分配給各個計算節點,然後進行資料處理,即mpi的資料儲存和資料處理是分離的。對於計算密集型的應用mpi能表現出良好的效能,但對於處理tb級資料的資料密集型應用,大量的資料在節點間進行交換,網路通訊時間將成為影響系統效能的重要因素,效能會大大降低。用「計算換通訊」也是mpi並行程式設計中的基本原則 。

在hadoop中有hdfs檔案系統的支援,資料是分布式儲存在各個節點的,計算時各節點讀取儲存在自己節點的資料進行處理,從而避免了大量資料在網路上的傳輸,實現「計算向儲存的遷移」。這對處理tb級的海量資料有很大的優勢。

hadoop從上層架構上看是一種典型的主從式結構,主從式的結構在mpi並行程式設計中也是一種重要的並行程式設計方法,主節點負責對整個系統的資料和工作進行管理和分發。而hadoop與mpi最根本的區別在於,hadoop有乙個主從式的檔案系統hdfs在底層支撐其map/reduce的資料處理功能。有了hdfs,hadoop可以方便地實現「計算向資料儲存位置的遷移」,從而大大提高了系統計算效率。主從式基礎儲存和主從式資料處理構成了hadoop的基本架構模型。

2.mpi無法應對節點的失效。

如果mpi在執行過程出現節點失效及網路通訊中斷,則只有返回並退出,mpi沒有提供一套機制處理節點失效後的備份處理方案問題,所以如果中途出現問題,所有的計算將重新開始,這是非常耗時的。hadoop為應對伺服器的失效,在資料備份上下了很大的功夫,資料塊會形成多個副本儲存在不同的地方,一般會有3個副本,採用簡單化的跨機架資料塊儲存,最大限度避免了資料丟失,資料的安全性得到了保證。

傳統架構與Hadoop的區別

很多人不明白傳統架構和hadoop的區別,下面一張圖讓你清晰的了解傳統架構和hadoop的區別。上圖已經表達的很清楚了我就不再一一講解,主要講以下橫向擴充套件和擴充套件。橫向擴充套件 mpp 是hash分布,具有20節點 新增新的裝置和現有的裝置一起提供負載能力。hadoop中系統擴容時,系統平台增...

Hadoop與spark的區別 draft

一 hadoop架構 hadoop提供了在集群機器中實現容錯 並行處理框架,具有兩個關鍵能力 hdfs 分布式儲存 mapreduce 分布式計算 二 spark架構 spark建立在hadoop概念之上。三 spark與hadoop的區別 1.spark在雞群中每個機器節點上的記憶體 ram 中儲...

Hadoop1 0與Hadoop2 0的區別

hadoop1.0即第一代hadoop,指的是版本為apache hadoop 0.20.x 1.x或者cdh3系列的hadoop,核心主要由hdfs和mapreduce兩個系統組成,其中mapreduce是乙個離線處理框架,由程式設計模型 新舊api 執行時環境 jobtracker和tasktr...