gpt4 book ai didi

algorithm - MapReduce 是否适合解决单机多核内存环境中的问题?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:39:51 25 4
gpt4 key购买 nike

即使在一台机器上,MapReduce 抽象是否也能很好地处理问题?例如,我有一台 12 核机器,我必须计算数千个文件中的单词数(经典的 MapReduce 示例)。

在多线程中使用带有 Mappers 和 Reducers 的 MapReduce 实现是解决这个问题的好方法,考虑到我们是在一台只有一个硬盘驱动器的机器上工作?

我想我的问题可以归结为:MapReduce 范式是否只适合在机器集群中工作?

最佳答案

一般有两种情况:

  1. 您的问题足够小,可以放入您的单个系统的内存中,并且您的单个系统有足够的 CPU 能力在规定的时间内解决问题。
  2. 你的问题太大了。2.1 运行时间太大(磁盘IO和/或CPU时间)2.2 太大而无法放入内存 (RAM)。

对于 2.1 和 2.2,MapReduce 范例有助于将工作分成许多较小的 block 。如果您需要更多 CPU,只需添加 CPU。

因此,如果您只有一个系统,但事实证明您的问题太大而无法放入内存(第 2.2 点),您仍然可以受益于 MapReduce 可以轻松地将问题的一部分放在磁盘上,直到该部分被解决为止待处理。

重要的事实是,如果您的问题小到足以放入内存并且小到可以在单个系统上处理,那么专用(非 MapReduce)解决方案可能会快得多。

关于algorithm - MapReduce 是否适合解决单机多核内存环境中的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6473242/

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