當前位置:編程學習大全網 - 源碼下載 - 分布式計算的概念及框架

分布式計算的概念及框架

Hello各位old鐵,卑微小張在線分享技術觀念,以下是今日份讀解。

關於分布式計算、並行計算的理解

壹提到分布式計算就不得不區分壹下它與並行計算的相關概念。

……之前壹直被問到並行計算和分布式計算有什麽區別,當時腦子裏就在想What……

這不是壹個東西?壹直分布式並行計算叫著。之後有過相關的學習以及查閱資料,發現二者確實存在壹定的聯系,但其實還真不是壹個東西。

並行計算 ,相對於串行計算而言,壹般可分為時間並行和空間並行。時間並行可以看做是流水線操作,類似CPU執行的流水線,而空間並行則是目前大多數研究的問題,例如壹臺機器擁有多個處理器,在多個CPU上執行計算,例如MPI技術,通常可分為數據並行和任務並行。

分布式計算 ,則是相對單機計算而言的,利用多臺機器,通過網絡連接和消息傳遞協調完成計算。把需要進行大量計算的工程數據分區成小塊,由多臺計算機分別計算,再上傳運算結果後,將結果統壹合並得出最終結果。

總而言之現在人們更比較關心的是二者之間的重疊部分,例如:Hadoop。Spark等等。

關於分布式計算框架

Hadoop 是分布式計算框架的基礎,其中的HDFS提供文件存儲,Yarn進行資源管理。在這上面可以運行MapReduce、Spark、Tez等計算框架。

MapReduce :是壹種離線計算框架,將壹個算法抽象成Map和Reduce兩個階段進行處理,非常適合數據密集型計算。

Spark :Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的並行計算框架,Spark基於map reduce算法實現的分布式計算,擁有Hadoop MapReduce所具有的優點;但不同於MapReduce的是Job中間輸出和結果可以保存在內存中,從而不再需要讀寫HDFS,因此Spark能更好地適用於數據挖掘與機器學習等需要叠代的map reduce的算法。

Storm :MapReduce也不適合進行流式計算、實時分析,比如廣告點擊計算等。Storm是壹個免費開源、分布式、高容錯的實時計算系統。Storm令持續不斷的流計算變得容易,彌補了Hadoop批處理所不能滿足的實時要求。Storm經常用於在實時分析、在線機器學習、持續計算、分布式遠程調用和ETL等領域。

Tez : 是基於Hadoop Yarn之上的DAG(有向無環圖,Directed Acyclic Graph)計算框架。它把Map/Reduce過程拆分成若幹個子過程,同時可以把多個Map/Reduce任務組合成壹個較大的DAG任務,減少了Map/Reduce之間的文件存儲。同時合理組合其子過程,也可以減少任務的運行時間。

  • 上一篇:如何下載流媒體軟件?
  • 下一篇:RMI 如何實現同步數據傳遞
  • copyright 2024編程學習大全網