当前位置:  开发笔记 > 大数据 > 正文

Fork/Join和Map/Reduce之间的区别

如何解决《Fork/Join和Map/Reduce之间的区别》经验,为你挑选了2个好方法。

Fork/Join和Map/Reduce之间的主要区别是什么?

它们的分解和分布类型(数据与计算)有何不同?



1> tucuxi..:

一个关键的区别是FJ似乎被设计为在单个Java VM上工作,而MR明确地设计为在大型机器集群上工作.这些是非常不同的场景.

FJ提供了以递归方式将任务划分为多个子任务的工具; 更多层次,现阶段"跨叉"通信的可能性,更传统的编程.不延伸(至少在论文中)超出单个机器.非常适合利用您的八核.

MR只进行了一次大的拆分,映射的拆分根本没有在彼此之间进行通信,然后将所有内容减少在一起.单层,在减少之前没有交叉间通信,并且可以大规模扩展.非常适合利用您的云份额.


更具体地说,FJ允许工作人员从彼此的队列中窃取子任务.如果工作线程在不同的机器上(因此没有共享内存),则这是不可能的.
根据[MapReduce Wikipedia条目](http://en.wikipedia.org/wiki/MapReduce),MR不一定限于单层分叉任务.

2> Per Quested ..:

关于这个主题有一篇完整的科学论文,比较Fork/Join和MapReduce.

本文比较了三种并行范例的性能,可伸缩性和可编程性:fork/join,MapReduce和混合方法.

什么,他们发现基本上是爪哇叉/加入具有低启动延迟和良好的小型输入(<5MB)秤,但它不能处理由于共享存储器,单个节点架构的大小的限制较大的输入.在另一方面,具有的MapReduce显著启动延迟(几十秒),但很好地进行扩展为计算群集上大得多的输入(> 100MB).

但是,如果你想要它,还有很多东西可以在那里阅读.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有