另一個來自Google的重要工具,看起來超越了Hadoop MR——Pregel框架實現了圖形計算(Malewicez et al.2010)。 在Pregel中的計算是由一系列反覆運算組成的,被稱為supersteps。 圖上的每個頂點都與一個使用者定義的計算函數相關聯; Pregel確保每個superstep在圖的每條邊上併發調用使用者定義的計算函數。 頂點可通過邊發送消息,並且頂點間可交換值。 這也是個全域同步——所有操作必須在使用者定義的函數結束後才能繼續。 熟悉BSP的讀者可以看出為什麼Pregel是BSP優秀的例子——一組實體在使用者定義的函數中使用全域鎖平行計算,並且能夠進行消息交換。
HTTP://www.aliyun.com/zixun/aggregation/14417.html">Apache Hama (Seo et al. 2010)相當於開源的Pregel,一種BSP的實現。 Hama在HDFS和微軟的Dryad引擎之上 實現了BSP。 大概是因為他們不希望被認為他們與Hadoop的社區之間有所不同。 但重要的是,BSP本質上是一種適合反覆運算計算的範例,而且Hama擁有CGD的並行實現,這是Hadoop不容易實現的。 必須指出的是,Hama的BSP引擎是在MPI之上實現的,這是並行程式設計文學的鼻祖( www.mcs.anl.gov/research/projects/mpi/ )。 Apache Giraph, Golden Orb, 還有Stanford GPS專案的靈感也來自Pregel。
GraphLab (Gonzalez et al. 2012)已經成為現代化圖形處理的範例。 GraphLab起源于華盛頓大學和卡內基梅隆大學(CMU)的學術專案。 GraphLab提供跨集群節點處理圖形的有用抽象。 PowerGraph,GraphLab的後續版,使得它有效地處理自然圖形或冪律圖——這是有大量不良連接點和少量良好連接點的圖。 Twitter上關於頁面排名和三角形計數問題的性能評估已驗證GraphLab比其他方法更有效率。 本書的重點主要是Giraph,GraphLab及其相關方面。
表1.1對各種範例的非功能特性進行了比較,如可擴充性、容錯機制和已實現的演算法。 由此可推斷出,儘管傳統工具只工作在單個節點上,不可能做橫向擴展,也有可能出現單點故障,近期重構方面的努力搶劫它們跨代遷移。 值得注意的是,大多數圖形處理範例並沒有容錯機制,然而Spark和Hadoop是其中提供容錯機制的第三代工具。
(全文完)如果您喜歡此文請點贊,分享,評論。
原創文章轉載請注明出處:HTTP://outofmemory.cn/wr/?u=HTTP%3A%2F%2Fifeve.com%2Fbigdataanalyticsbeyondhadoop_graphprocessingdimension%2F