2010-06-29 14 views
2

我正在尋求在集羣上實現'分支和綁定'(就像亞馬遜的說法),因爲我希望它能夠水平擴展,而不限於單個CPU。 Judith Hippold和Gudula Runger有一篇論文「任務池團隊:SMP集羣不規則算法的混合編程環境」。它基本上是一個自下而上的任務竊取框架,比如英特爾的TBB,除了專用網絡而不是共享內存。如果這個庫可用,我會使用它(用TBB替換本地,螺紋部分)。不幸的是,他們似乎沒有將它提供給我可以找到的任何地方,所以我想知道是否有其他實現或類似的庫?用於MPI(或其他)中的任務分配的庫?

它看起來並不像微軟的任務並行庫具有相同的功能,可以從中竊取。我嘗試在'threadpool'之後創建一個'taskpool'標籤,這是最常用的變體('thread-pool'之前),但沒有足夠的分數。任何足夠重的人認爲值得添加?)

編輯:

我還沒有嘗試過,但它PEBBL(下這裏:software.sandia.gov/trac/acro/wiki/Packages)號稱規模非常高。回答者在Wiley出版的「平行分枝限界算法」一書中提到的論文,Crainic,Le Cun和Roucairol,2006年,由El-Ghazali Talbi編輯的2006年的「Parallel Combinatorial Optimization」,是我發現它的地方,還有其他圖書館上市;有些可能會更好,我保留更新這個:)的權利。有趣的是,谷歌沒有找到這些庫,無論是我的谷歌搜索軟件還是谷歌本身都無法成爲魔術。

+0

給自我(以及其他任何人)的提示:「並行和分佈式計算機系統上的任務分配:基礎知識,數學模型和算法 - 2010」 - http://www.amazon.com/Assignment-Parallel-Distributed -Computer-Systems/dp/3639300629 – JDonner 2010-11-06 21:01:05

回答

2

當你說「over a cluster」時,這聽起來像你的意思是分佈式內存,並行化分支和綁定是分佈式內存的一個衆所周知的難題 - 至少在保證可擴展性的方式上是這樣。關於這個主題的開創性論文可以從here獲得,關於主題here的一本威利書的摘錄。

共享內存分支綁定是一個更容易的問題,因爲您可以實現全局任務隊列。有關如何執行共享內存和消息傳遞實現的很好的高級描述可用here。如果沒有別的,參考部分值得提出想法和現有實現。

+0

謝謝,我在這裏找到了PEBBL:https://software.sandia.gov/trac/acro/wiki/Packages 查看我的修改主題了解詳情(這裏沒有足夠的空間)。 在你最後提到的論文中,它們分佈節點master - > worker,並且master成爲一個瓶頸。更新的體系結構可以爲master-hub-worker(任意數量的集線器層)或任務竊取提供幫助,我開始使用'Task Pool Teams ...'。所以,我會看到這個或其他人做得如何,但他們提出了很好的要求。 – JDonner 2010-07-14 04:56:29

2

一兩件事正在調查像RabbitMQ的共享消息隊列。它是一個AMQP服務器(由分佈式應用程序開發的消息傳遞協議可以相互發送消息)。

相關問題