我希望在集群上实现“分支和绑定”(就像亚马逊所说的那样),因为我希望它能够水平扩展,而不仅限于单个 CPU。Judith Hippold 和 Gudula Runger 有一篇论文“Task Pool Teams: A Hybrid Programming Environment for Irregular Algorithms on SMP Clusters”。它基本上是一个自下而上的任务窃取框架,类似于英特尔的 TBB,除了 ad-hoc 网络而不是共享内存。如果这个库可用,我会使用它(用 TBB 替换本地的螺纹部分)。不幸的是,他们似乎没有在我能找到的任何地方下载它,所以我想知道那里有其他实现或类似的库吗?
看起来微软的任务并行库也没有类似的东西可以窃取。
(我试图在'threadpool'之后制作一个标签'taskpool',这是最常用的变体(在'thread-pool'之前)但是没有足够的分数。任何足够重的人认为值得添加?)
编辑:
我还没有尝试过,但它 PEBBL(在这里:software.sandia.gov/trac/acro/wiki/Packages)声称可以扩展非常高。回答者从 El-Ghazali Talbi 编辑的 2006 年“Parallel Combinatorial Optimization”中的 Wiley 书籍“Parallel Branch-and-Bound Algorithms”,Crainic,Le Cun 和 Roucairol,2006 年提到的论文是我找到它的地方,并且列出了其他库;有些可能会更好,我保留更新此内容的权利:)。有趣的是谷歌没有找到这些库,要么我的谷歌搜索很弱,要么谷歌本身有时并不神奇。