[心得] doRedis, 可以動態管理worker的平行運算

看板R_Language作者 (拒看低質媒體)時間11年前 (2013/06/30 01:06), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
[關鍵字]: parallel computing, redis, foreach 這是一個利用job queue實作平行化運算的套件, 並且利用redis*來進行process之間的溝通。 原理如下: - worker可以自行去redis server註冊 - master將工作打包成數個task放到redis給worker領去計算 - master在運算結束後可以設定merger 和其他parallel computing的環境比較,doRedis有以下的特性: - worker和master不一定需要process間的相依關係。以Rmpi來說, 一個點 crash ==> 所有worker 一定要關掉再開,但是doRedis不用。 master掛了,worker不用關,只要再註冊後就可以繼續運作。 我目前的環境,每次讀取資料就占了80%時間,所以這個特性對我很方便。 - worker可以在運算過程中,動態的加進去。Rmpi需要在分配工作前就要知道總worker 數,doRedis不用。所以你可以先用少量worker試試看,如果發現工作太多,可以直接 在開機器後註冊到redis server來增加worker。 redis*: 是一種memory database 實際運作請參考: <http://cran.r-project.org/web/packages/doRedis/vignettes/doRedis.pdf> -- 歡迎到ptt R_Language版分享R 的相關知識 歡迎加入 Taiwan R User Group : http://www.facebook.com/Tw.R.User 聚會報名 http://www.meetup.com/Taiwan-R/ 聚會影片 https://www.youtube.com/user/TWuseRGroup -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.111.239
文章代碼(AID): #1HpnG3Jj (R_Language)
文章代碼(AID): #1HpnG3Jj (R_Language)