論文閱讀筆記 – Pregel

來源:互聯網
上載者:User

作者:劉旭暉 Raymond 轉載請註明出處

Email:colorant at 163.com

BLOG:http://blog.csdn.net/colorant/

更多論文閱讀筆記 http://blog.csdn.net/colorant/article/details/8256145


閱讀筆記Pregel: A System for Large-Scale
GraphProcessing

 

關鍵字

分散式運算,圖,迭代

 

==目標問題 ==

 

設計一種解決圖(Graph)類問題的大規模分布式並行運算架構,提供一個通用的API介面。

 

==核心思想 ==

 

Pregel將靶心圖表類問題的運算模型歸結為在圖的拓撲節點(Vertex)上迭代執行特定的演算法。每次迭代稱為一個superstep

 

在Pregel中,資料模型的主要概念包括節點,邊(Edge)和訊息(Message)。在每個superstep步驟中,各個節點執行相同的使用者定義函數來處理資料,更新自身的狀態乃至更改整個圖的拓撲結構(如增減節點,邊等)。每個節點的邊則用來連結相關的目標節點,通過發送訊息給其它節點來傳遞資料。

 

整個處理流程中,資料的接收和處理是以superstep為節拍來同步的,在一個superstep中各個節點所發送的訊息,直到下一個superstep裡才會被目標節點所接收和處理並觸發狀態變更。這種基於節拍的處理流程,很大程度上簡化了資料同步的處理。

 

每個節點在當前superstep中處理完資料後,會投票決定自身是否停止處理,如果沒有被訊息再次觸發,在以後的superstep中就不會調度該節點進行運算。當所有節點都停止後,整個迭代過程結束。

 

==實現 ==

 

進程模型

在實現中,Pregel的進程也分為Master和Worker,每個Worker負責處理一部分的節點(以特定的演算法對節點進行分區Partition),Master則負責調度superstep

 

各種最佳化和特定Feature

 

為了減少Worker之間資料轉送的開銷,一方面Worker內部所有節點的訊息會被放入隊列中批量傳輸,另一方面,Combiner類在一些場合裡(如Sum)可以被用來在訊息傳遞前進行訊息(也就是資料)合并。

 

此外Pregel還提供了Aggregator類來實現全域的通訊,資料同步,統計等工作,每個Worker先在本地做Reduction,再將結果發送給master,master做完全域Reduction後會在下一個superstep開始的時候將結果再分發給各個節點使用。

 

Master是以Partition而非節點為單位管理相關Worker,因此可以處理大規模的圖拓撲結構

 

容錯

 

目前的容錯方案是基於Checkpoint的,Master在一個superstep開始時可以要求各個worker儲存目前狀態到實體儲存體裝置中,當檢測到某個worker
fail的時候,從最近的checkpoint開始重新迭代運算整個圖。目標的改進方案是額外記錄每個節點發送的訊息,便於單獨迭代恢複單個節點的最新狀態。

 

Future Work

 

包括放寬資料同步模型,改進在大規模叢集中速度快的worker在Superstep之間等待資料同步的過程。

 

==相關研究,項目等 ==

 

Bagel:Spark內建的一個Pregel模型的實現,應該基本上就是利用了Spark自身的RDD可以常駐記憶體,適合於迭代運算的特性,額外加上對Pregel迴圈調度演算法和使用者API介面的實現。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.