所以,問題是: 1.對於以下問題,mapreduce開銷太高了嗎?有沒有人知道每個地圖/縮小週期(例如迪斯科)需要多長時間才能完成一項非常輕鬆的工作? 2.對於這個問題,有沒有比mapreduce更好的選擇?mapreduce vs其他並行處理解決方案
在地圖縮小術語中,我的程序由60個地圖階段和60個縮小階段組成,所有這些階段一起需要在1秒內完成。我需要以這種方式解決的問題之一是具有約64000個變量的最小搜索。用於搜索的Hessian矩陣是塊矩陣,沿着對角線1000個大小爲64×64的塊,以及在極右和底部的一行塊。最後一部分:block matrix inversion algorithm顯示了這是如何完成的。每個Schur補充S_A和S_D可以在一個mapreduce步驟中計算。逆的計算需要更多的步驟。
從我的研究到目前爲止,mpi4py似乎是一個不錯的選擇。每個進程都可以執行一個計算步驟,並在每個步驟後向客戶端報告,並且客戶端可以使用新的狀態變量進行報告以使循環繼續。這樣,進程狀態不會丟失,計算可以繼續進行任何更新。 http://mpi4py.scipy.org/docs/usrman/index.html
本維基持有一些建議,但沒有人對最發達的解決方案方向: http://wiki.python.org/moin/ParallelProcessing
謝謝!
map-reduce和MPI是根本不同的方法,不是嗎?哪一個更適合這個問題? – 2011-09-07 21:08:40
是的,他們是不同的,問題是如果一個人明顯比另一個更好。另外,對於這個特殊問題,最爲發達的替代方案是什麼? – fodon