【系列】Matei Zaharia(Spark系統作者)博士論文-0 摘要

隨着處理器提升速度下降和數據量的不斷增長,很多公司和組織(既有互聯網公司也有傳統的企業還有一些研究機構)都要求他們的應用能夠Scale out到更大的分佈式系統上(比如整個數據中心)。這些應用又分爲以下幾種類型:

  1. 機器學習類型的應用(machine learning algorithms)
  2. 查詢類型應用 (simple queries)
  3. 圖處理類型應用 (graph analysis)
  4. 批處理應用 (batch processing)
  5. 實時流分析應用 (real-time streaming analysis)
新的計算平臺不僅要能夠支持傳統的計算負載,還能支撐未來的新興的各種複雜的應用。

本文爲集羣計算系統提出一種架構,既能解決傳統的批處理應用,還能再保證可擴展性和容錯的前提下處理交互式查詢流式應用。當前大部分系統僅僅支持簡單的單趟計算(one-pass computations),我們的系統可以支持多趟計算(如機器學習算法中的迭代計算)。最後,我們的架構支持多種計算組合,這使得大量的的新應用可以混合。

我們主要是通過對MapReduce增加一個共享數據的原語(primitive),稱之爲RDD,實現以上的效果。我們將說明RDD足以解決大量不同的工作負載。Spark系統是RDD的具體實現,我們使用大量的Benchmark和真實用戶應用對其進行評估。對於大量的應用,Spark的性能都超過了運行它們的專有系統,同時還能支持這些負載之間相互組合,同時還能保證容錯。接下來,我們將從理論和實踐兩個角度來探討爲什麼RDD可以有效的支持大量的應用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章