gpt4 book ai didi

scala - 对于在映射器之间共享信息的增强版 MapReduce,什么是好的应用程序?

转载 作者:可可西里 更新时间:2023-11-01 14:19:24 25 4
gpt4 key购买 nike

我正在构建 Spark 框架 (http://www.spark-project.org/) 的增强版。 Spark 是加州大学伯克利分校的一个项目,可以在 RAM 中快速执行 MapReduce。 Spark 是用 Scala 构建的。

我正在构建的增强功能允许映射器在计算时共享一些数据。这可能很有用,例如,如果每个映射器都在寻找最佳解决方案,并且他们都希望共享当前最佳解决方案(以尽早剔除不良解决方案)。该解决方案在传播时可能会稍微过时,但这仍应加快解决方案的速度。通常,这称为分支定界方法。

我们可以共享单调递增的数字,也可以共享数组和字典。

我们也在研究机器学习应用,其中映射器描述局部自然梯度信息,然后在所有节点之间共享一个新的当前最佳最优解。

这种增强的其他一些好的实际应用是什么?什么样的真实有用的应用程序可能会受益于 Map Reduce 计算,只需在映射器之间共享一点点信息。哪些应用程序现在使用 MapReduce 或 Hadoop,但由于 Map 阶段的独立性限制而速度有点太慢?

好处可以是加快映射阶段或改进解决方案。

最佳答案

The enhancement I'm building allows some data to be shared between the mappers while they are computing.

Apache Giraph基于 Google Pregel这是基于 BSP并用于图形处理。在BSP中,进程间在通信阶段进行数据共享。

Giraph 的实现依赖于 Hadoop。一般来说,MapReduce 中的映射器之间没有通信,但在 Giraph 中,映射器在 BSP 的通信阶段相互通信。

您可能也对 Apache Hama 感兴趣它实现了 BSP,不仅可以用于图形处理。

映射器不在 MR 中进行通信的原因可能有一些。您在增强功能时考虑过这些因素吗?

What are some other good real-world applications of this kind of enhancement?

图处理是我能想到的一种,类似于Giraph。检查 BSP 的不同用例,有些可能适用于这种增强。我也很感兴趣其他人对此有何评论。

关于scala - 对于在映射器之间共享信息的增强版 MapReduce,什么是好的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8844148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com