1. 程式人生 > >圖計算-----學習筆記

圖計算-----學習筆記

特點:

資料關聯性強;

常常表現出比較差的記憶體訪問區域性性

針對單個頂點的處理工作過少

計算過程中伴隨著並行度的改變

大型圖計算主要包括兩種:

基於遍歷演算法的、實時的圖資料庫,如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計算等等