Hadoop MapReduce概念学习系列之MPI和MapReduce(十三)

 在当前最流行的高性能并行体系结构中比较常用的并行编程环境分为两类:消息传递和共享存储。MPI是基于消息传递的经典代表,是消息传递井行程序设计的标准,用于构建高可靠的、可伸缩的、灵活的分布式应用程消息传递井行处理开销比较大,适合于大粒度的进程级并行计算,相对其他并行编程环境,它具有很好的可移植性,几乎能被所有的并行环境支持;还具有很好的可扩展性,具有完备的异步通信功能,能按照用户的要求很好地分解问题,组织不同进程之间进行数据交换,适合大规模可扩展性的并行算法。
MPI模式在学术研究领域应用较多,而在商业领域,云计算系统大多采用的是Google云计算系统中的MapReduce并行编程模型。云计算强调的就是简单的编程模型,而MapReduce就是一种高效的、简单的并行编程模式,也是一种高效的任务调度器。MapReduce这种编程模型不仅适用于云计算,在多核和多处理器、Cell processor以及异构机群上同样有良好的性能。利用MapReduce ,程序员能够轻松地编写紧耦合的程序,在运行时能高效地调度和执行任务,在实现时,在Map函数中指定对各分块数据的处理过程,在Reduce函数中指定如何对分块数据处理的中问结果进行归约。用户只需要指定Map和Reduce函数来编写分布式的并行程序,不需要关心如何将输人的数据分块、分配和调度,同时系统还将处理集群内节点失败及节点间通信的管理等。而MPI仅仅是一个并行计算标准,没有相应的分布式文件系统的支撑,在大数据场景下大文件的存储及访问都会成为一个问题,同时用户还需要考虑集群节点之间的通信协调、容错等问题,这些使得MPI的编程难度比较大,集群本身的规模也很难做到像MapReduce那样的超大规模。

 

 

本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5080596.html,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法面试题汇总(更新中)

1、根据数字返回相应位置数字 def get_digit(num, i):# i0 个位 1 十位 2 百位...return num // (10 ** i) % 10# print(get_digit(12345, 6)) 2、列表反转,不用内置函数 def reverse_list(li):n len(li)for i in range(n // 2):li[i], li[n-i-1] li[n-i-1], …

在python中os_在Python中使用os.execvp

我有一个关于在 Python中使用os.execvp的问题.我有以下用于创建参数列表的代码: args [ "java" , classpath , "-Djava.library.path" lib_path() , ea , "-Xmx1000m" , "-server" , "code_swarm" , params ] …

WEBGL学习【四】模型视图矩阵

<html lang"zh-CN"><!--服务器运行地址&#xff1a;http://127.0.0.1:8080/webgl/LearnNeHeWebGL/NeHeWebGL4.html--> <head><title>NeHes WebGL</title><meta charset"UTF-8"/><!--引入需要的库文件--><scr…

使用Jmeter对mysql进行性能测试入门

使用Jmeter对mysql进行性能测试入门 第一步&#xff1a;测试环境准备&#xff1a; 1&#xff09;、mysql> select version(); ----------- | version() | ----------- | 5.5.13 | ----------- ms数据库数据&#xff1a; mysql> select count(*) from account; ----------…

算法基础之数据结构

whats the 数据结构 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。 简单来说&#xff0c;数据结构就是设计数据以何种方式组织并存储在计算机中。 比如&#xff1a;列表、集合与字典等都是一种数据结构。 通常情况下&#xff…

soap接口怎么不返回tuple python_Python 中的接口

Python 是动态类型语言, 只在运行时做 Duck Typing 检查.利: 灵活, 方便弊: 代码混乱, 缺少规范标准自带两类接口支持: abc 和 typing.Protocol, 有他们协助给天马行空的程序员套上枷锁, Python 的大工程才可以"上道"abcabc 就是 Abstract Base Class, 虚基类. 跟 Ja…

java 第11次作业:你能看懂就说明你理解了——this关键字

this 代表当前对象 转载于:https://www.cnblogs.com/qingyundian/p/7736699.html

c#多线程操作界面控件的简单实现

一个小功能&#xff0c;早有人实现了。自己在一个项目中用到&#xff0c;觉得有必要记录一下&#xff0c;写下来。代码 从上面你可能已经看出如何多线程操作同一个控件的&#xff0c;就是通过一个委托&#xff0c;然后定义委托方法&#xff0c;判断控件的InvokeRequired属性&am…

ssh 免密_Linux下配置SSH免密通信 “sshkeygen”的基本用法

利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序&#xff0c;后来又迅速扩展到其他操作平台。1 什么是SSH引用百度百科的说明:SSH 为 Secure Shell的缩写&#xff0c;由 IETF 的网络小组(Network Working Group)所制定&#xff1b;它是…

Python 第三方模块之 NumPy - 科学计算

NumPy 简介 NumPy 发展历史 1995年 Jim HugUNin开发了Numeric。随后&#xff0c;Numarray包诞生。Travis Oliphants整合Numeric和Numarray&#xff0c;开发Numpy&#xff0c;于2006年发布第一个版本。Numpy&#xff08;Numeric Python&#xff09;提供了许多高级的数值编程工…

keepalived与lvs结合使用配置实例

keepalived可以实现两大功能是&#xff1a;健康检测和故障转移 keepalived.conf的配置 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950global_defs {notification_email { acassenfirewall.loc failoverfirewall.loc sysadminf…

保证你现在和未来不失业的十种关键技术

在当今的IT就业市场&#xff0c;有人欢喜有人忧。有人对目前的工作和薪水很满意&#xff0c;有人目前正面临着下岗&#xff0c;或者已经下岗…… 可能你是公司里唯一谙熟某项关键技术的高手&#xff0c;缺了你&#xff0c;公司便玩不转了&#xff1b;也可能你所在的公司对你现…

python设置时间步长与时间离散格式_python怎么定义时间

Python 的 Decorator在使用上和Java/C#的Annotation很相似&#xff0c;就是在方法名前面加一个XXX注解来为这个方法装饰一些东西。但是&#xff0c;Java/C#的Annotation也很让人望而却步&#xff0c;太TMD的复杂了&#xff0c;你要玩它&#xff0c;你需要了解一堆Annotation的类…

Python 第三方模块之 matplotlib - 绘图库

简介 matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用&#xff0c;MATLAB中可以轻松的利用一行命令来绘制直线&#xff0c;然后再用一系列的函数调整结果。 matplotlib有一套完全仿照MATLAB的函数形式…

python 笔记(三) 断言(assert)

用来调试程序的时候用&#xff0c;当程序有误时&#xff0c;强制抛出异常转载于:https://www.cnblogs.com/wangkeblog/p/7746022.html

网站程序员的程序员成长之路大概分几个阶段 和未来的发展

信息技术的更新速度是惊人的&#xff0c;程序员的职业生涯则是一个要求不断学习的过程&#xff0c;如何才能成为一名合格的程序员&#xff0c;一名合格的程序员需要掌握哪些技能呢&#xff1f;为此天天招生网采访到几位孳生的程序工作人员&#xff0c;就如何做好一名成功的程序…

微软P2V工具之Disk2VHD

虚拟化经过最近几年的发展&#xff0c;已经有很多的应用和服务迁移到了虚拟化的平台上了。在实施虚拟化的过程中就会涉及到将原来老旧的服务器来迁移到虚拟化平台的运行&#xff0c;这就是P2V&#xff0c;物理机转换为虚拟机。谈到P2V大家会想到很多的工具&#xff0c;例如Vmwa…

生成n套数位加减乘除_leetcode 算法汇总(四)位运算

一、 运算符& 与运算&#xff1a; 两个位都是 1 时&#xff0c;结果才为 1&#xff0c;否则为 0| 或运算&#xff1a; 两个位都是 0 时&#xff0c;结果才为 0&#xff0c;否则为 1^ 异或运算&#xff1a; 两个位相同则为 0&#xff0c;不同则为 1~ 取反运算&#xff1a;0 …

机器学习算法之 K-means、层次聚类,谱聚类

k-means 和层次聚类都属于划分聚类&#xff0c;实际中最常用的是k-means&#xff0c;k-means效果不好的情况下才会采用其他聚类 K-means算法 K-means算法&#xff0c;也称为K-平均或者K-均值&#xff0c;是一种使用广泛的最基础的聚类算法 假设输入样本为TX1,X2,…,Xm;则算法…

vue数据请求

我是vue菜鸟&#xff0c;第一次用vue做项目&#xff0c;写一些自己的理解&#xff0c;可能有些不正确&#xff0c;欢迎纠正。 vue开发环境要配置本地代理服务。把config文件加下的index.js里的dev添加一些内容&#xff0c; dev: {env: require(./dev.env),port: 8090,autoOpenB…