2011-09-20 105 views
3

假設我們用Erlang實現了Pregel。爲什麼我們實際上需要超級步驟?從一個主管發送消息到代表節點的進程是不是更好?他們可以將計算函數應用於自己,相互發送消息,然後向主管發送「完成」消息。是否可以在沒有supersteps的情況下在Erlang中實現Pregel?

Pregel的併發Erlang實現中超級步驟的全部用途是什麼?

+0

嘿馬丁..我無法回覆你的評論在我的博客出於某種原因。 –

+0

嘿,阿倫......我會等你的博客上的回覆。 – skanatek

+0

請刪除phoebus文件夾並重新從git中重新使用它。確保你已經下載了rebar可執行文件,並且可以在你的PATH中找到它。 「生成」應該起作用 –

回答

3
  • Pregel模型提出的SuperStep概念可以被看作是並行執行實體的屏障。在每個superstep結束時,每個worker將其刷新到持久存儲。
  • 該算法在每個SuperStep的末尾進行檢查指向,以便在出現故障的情況下,當新節點必須接管發生故障的對等方的功能時,它有一個從頭開始的點。 Pregel保證,由於節點的數據在SuperStep啓動之前已經刷新到磁盤,因此它可以從該點開始可靠地啓動。
  • 它也以某種方式表示算法的「進展」。預膠凝體算法/作業可以提供「最大超級步數」,之後該算法應該終止。

你在你的問題中指定什麼(約superisors發送工人計算功能,並等待「完成」)絕對可以實現的(雖然我不認爲與OTP打包當前的超級能做到這樣的東西出來的盒子),但我想SuperStep的概念只是Pregel模型的一個要求。另一方面,如果你正在實現類似於平行映射器的東西(就像喬在他的書中實現的那樣),你不需要超級步驟/

相關問題