什么是用于并行处理的二叉树分区的“m-bridge技术”?

时间:2010-09-03 01:00:48

标签: algorithm parallel-processing binary-tree partitioning

它是如何工作的?请用英语或伪代码详细解释,以便我可以用任何语言实现。

本文提到并简要描述: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.4.3643&rep=rep1&type=pdf

但是没有足够的细节来实现自己。 (图2b中的权重看似错误?并且不清楚他们如何决定在图2c中进行切割的位置。)

我也查阅了原始的原始论文(http://www-2.cs.cmu.edu/~glmiller/Publications/Papers/ReMiMo93.pdf),但也无法从中找出答案。

是否有更好的算法可以满足相同的需求?具体来说,任何可以保证“几乎相同大小”(但更多)的分区树的东西?本文建议m-bridge保证没有分区树大于4n / p,如果你只有4个处理器,那就没有多少保证了!

1 个答案:

答案 0 :(得分:0)

进行一次切割:

  1. 对于树中的每个节点,计算该节点具有的后代数。
  2. 具有> n / 2后代的节点形成下行路径。下降到路径的底部。
  3. 其中一个孩子有n / 3到n / 2个后代。把它从树的其余部分切下来。
  4. 要进行多次切割,请反复切割剩余的最大树。