分布式,集群,并行,串行
来源:互联网 发布:全国省市区小区数据库 编辑:程序博客网 时间:2024/05/21 11:28
分布式与集群
小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群
作者:张鹏飞
链接:https://www.zhihu.com/question/20004877/answer/112124929
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
一个配菜师因故请假了,但是其余的配菜师还是该啥就干啥,可能没请假的配菜师任务会被均匀的加量了,但是他们的任务和职责是不变的。
相对于MapReduce来讲,它是一个分布式计算框架,体现在 Map与Reduce是分开, 先做Map,在做Reduce。
并行与串行:
并行计算:并行计算是相对于串行计算来说的。可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。并行计算的目的就是提供单处理器无法提供的性能(处理器能力或存储器),使用多处理器求解单个问题。
总结:并行的主体 – 处理器;进程/线程级并行。
对于并行计算与串行计算:举一个例子来说明
{
1+1=
2+2=
3+3=
4+4=
}
请王小明同学来计算4道题目。
小明每次算一道题花费1s,总共耗时4s。
请第二组的韩梅梅,李雷来计算4道题目。
小两口相视一笑花费0.1s
然后每个人做两道题,花费2s
总共花费2.1s
并行计算 是多个串行计算在时间上的并行,可以理解为多个处理器(CPU,GPU)同时工作与单个处理器工作的对比, 可以看到,因为需要相互协作通信(相视一笑),协作通信可以通过MPI来进行,所以不可能效率翻倍。
并行执行的程序实际上没这么简单。在工作的切割、结合上,也是要多花时间的,所以在现实中,即使最佳状况,双核心的效能也不会是 1 + 1 = 2 这样的理想化。除此之外,也不是所有工作都是可以切割的!很多工作是有关联性的,这样如果直接切割给不同的处理核心各自去平行运算,出来的结果是肯定有问题的。而且,多执行绪的程式在编写、维护上,也都比单一执行绪的程式复杂上不少。
MPI是一种基于信息传递的并行编程技术。消息传递接口是一种编程接口标准,而不是一种具体的编程语言。简而言之,MPI标准定义了一组具有可移植性的编程接口。
关于并行与串行的例子可以参考下面这篇文章:
串行&并行程序在效率上的简单比较
- 分布式,集群,并行,串行
- 串行、并发、并行、分布式概念的简单解释
- 如何区分分布式/集群/并行文件系统?
- 如何区分分布式/集群/并行文件系统?
- 分布式文件系统/集群文件系统/并行文件系统
- 如何区分分布式/集群/并行文件系统?
- 如何区分分布式/集群/并行文件系统?
- 如何区分分布式/集群/并行文件系统?
- 如何区分分布式/集群/并行文件系统?
- 集群分布式并行图形绘制基本概念
- 如何区分分布式-集群-并行文件系统
- 如何区分分布式/集群/并行文件系统?
- 并行和串行通信
- 并行和串行计算
- 并行传输,串行传输
- 串行与并行
- 串行与并行
- 串行和并行区别
- 10.24......送你10个快速提升技术水平的公众号
- jquery获取父节点,子节点。兄弟节点
- 完美兼容React-Native View缩放和左右滑动
- TCP三次握手及四次挥手详细图解
- CStdioFile的ReadString在 debug下面行,release下面不行的解决方法
- 分布式,集群,并行,串行
- Eclipse中替换代码中的回车、空行、空格、注释
- Android开发之MVVM新姿势探索
- 数据结构与算法(Java描述)-12、串的模式匹配算法(Brute-Force与KMP算法)
- ROS使用记录
- SpringBoot 使用properties配置文件实现多环境配置
- 图数据库-Neo4j介绍与Cypher入门
- JMeter--配置元件之参数元件
- java 23种设计模型详解