圖計算-----學習筆記
阿新 • • 發佈:2019-02-11
特點:
資料關聯性強;
常常表現出比較差的記憶體訪問區域性性
針對單個頂點的處理工作過少
計算過程中伴隨著並行度的改變
大型圖計算主要包括兩種:
基於遍歷演算法的、實時的圖資料庫,如Neo4j、OrientDB、DEX和 Infinite Graph;
以圖頂點為中心的、基於訊息傳遞批處理的並行引擎,如GoldenOrb、Giraph、Pregel和Hama,這些圖處理軟體主要是基於BSP模型實現的並行圖處理系統;
BSP:一次BSP(Bulk Synchronous Parallel Computing Model,又稱“大同步”模型)計算過程包括一系列全域性超步(所謂的超步就是計算中的一次迭代),每個超步主要包括三個元件:
區域性計算:每個參與的處理器都有自身的計算任務
通訊:處理器群相互交換資料
柵欄同步(Barrier Synchronization):當一個處理器遇到“路障”(或柵欄),會等到其他所有處理器完成它們的計算步驟
“三駕馬車”:
Caffeine:大規模網頁索引構建
Dremel:實時互動
Pregel:基於BSP並行圖計算處理
Pregel是一種基於BSP模型實現的並行圖處理系統
為了解決大型圖的分散式計算問題,Pregel搭建了一套可擴充套件的、有容錯機制的平臺,該平臺提供了一套非常靈活的API,可以描述各種各樣的圖計算
Pregel作為分散式圖計算的計算框架,主要用於圖遍歷、最短路徑、PageRank計算等等