首页IT科技分布式计算技术叫什么(《分布式技术原理与算法解析》学习笔记Day13)

分布式计算技术叫什么(《分布式技术原理与算法解析》学习笔记Day13)

时间2025-05-06 00:11:57分类IT科技浏览3192
导读:分布式计算模式:MapReduce...

分布式计算模式:MapReduce

什么是分治法?

分治法是将一个复杂         、难以直接解决的大问题         ,分割成一些规模小                  、可以比较简单或者直接求解的子问题                  ,这些子问题之间相互独立且与原问题形式相同      ,递归的求解这些子问题      ,然后将子问题的解合并得到原问题的解         。

适合采用分治法的问题有以下特征:

问题规模比较大或者复杂                 ,且问题可以分解为几个规模较小的      、简单的同类型问题进行求解                  。 子问题之间相互独立         ,不包含公共子问题      。 子问题的解可以合并得到原问题的解      。

采用分治法的核心步骤:

分解原问题 求解子问题 合并解

什么是MapReduce?

Google提出的MapReduce分布式计算模型    ,是分治法的典型代表                ,它一开始被应用于搜索领域            ,后来被广泛应用到解决各种海量数据的计算问题                 。

MapReduce分为Map和Reduce两个核心阶段  ,其中Map对应         ”分“               ,即把复杂的任务分解为若干                  ”简单的任务“来执行               ,Reduce对应着      ”合“,即对Map阶段的结果进行汇总         。

MapReduce拆分后的任务具有以下特征:

相对于原始任务来说            ,拆分后的子任务和原任务是同质的    。 多个子任务之间没有依赖                  ,可以独立运行      、并行计算                。

MapReduce包括三大组件:

Master   ,负责分配任务                 、协调任务         ,并未Mapper分配map()函数操作         、为Reducer分配reduce()函数操作            。 Mapper worker                  ,负责Map函数功能      ,执行子任务  。 Reducer worker      ,负责Reduce函数功能                 ,汇总各个子任务的结果               。

整个MapReduce的工作流程可以以分为5个阶段:输入    、拆分                、映射            、化简和输出               。

什么是Fork-Join模式?

Fork-Join是Java等语言或者库提供的原生多线程并行处理框架         ,采用线程级的分而治之的计算模式    ,充分利用多核CPU的优势                ,以递归的方式把一个任务拆分成多个“小任务      ”            ,把多个“小任务                 ”放在多个处理器上运行  ,即Fork操作               ,当多个“小任务         ”执行完成后               ,在将这些直结果合并起来即可得到原始任务的结果,即Join操作。

Fork-Join模式不能大规模扩展            ,只适用于在单个Java虚拟机运行                  ,多个小任务虽然运行在不同的处理器上   ,但是可以互相通信            。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
文章如何百度收录率(百度快速收录教程)