并行计算或称平行计算是相对于串行计算来说的。
所谓并行计算可分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。
并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程。
为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。并行计算的主要目的是快速解决大型且复杂的计算问题。

分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。
最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过1000万位数字的梅森质数;您也可以寻找并发现对抗艾滋病病毒的更为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。
所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。
分布式计算比起其它算法具有以下几个优点:
1、稀有资源可以共享。
2、通过分布式计算可以在多台计算机上平衡计算负载。
3、可以把程序放在最适合运行它的计算机上。其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。

解决对象上:都是大任务化为小任务,这是他们共同之处。

但是分布式的任务包互相之间有独立性,上一个任务包的结果未返回或者是结果处理错误,对下一个任务包的处理几乎没有什么影响。因此,分布式的实时性要求不高,而且允许存在计算错误(因为每个计算任务给好几个参与者计算,上传结果到服务器后要比较结果,然后对结果差异大的进行验证)

分布式要处理的问题一般是基于“寻找”模式的。所谓的“寻找”,就相当于穷举法!为了尝试到每一个可能存在的结果,一般从0~N( 某一数值)被一个一个的测试,直到我们找到所要求的结果。事实上,为了易于一次性探测到正确的结果,我们假设结果是以某个特殊形式开始的。在这种类型的搜索里,我们也许幸运的一开始就找到答案;也许不够走运以至于到最后才找到答案,这都很公平。

这么说,并行程序并行处理的任务包之间有很大的联系,而且并行计算的每一个任务块都是必要的,没有浪费的分割的,就是每个任务包都要处理,而且计算结果相互影响,就要求每个的计算结果要绝对正确,而且在时间上要尽量做到同步,而分布式的很多任务块可以根本就不处理,有大量的无用数据块,所以说分布式计算的速度尽管很快,但是真正的“效率”是低之再低 的,可能一直在寻找,但是永远都找不到,也可能一开始就找到了;而并行处理不同,它的任务包个数相对有限,在一个有限的时间应该是可能完成的。

分布式计算提出了一个让工作站端能够在后台持许工作的方法,而用户完全不需关心任何东西。这种实现基于两个原则,其一是任务连续分配和空闲优先权,其二是写一个屏幕保护程序。现在的调度程序已经不错了,而空闲优先任务将在人们完全不用关心任何东西的情况下自动执行。利用屏幕保护程序可以利用计算机闲置的时间计算工作任务。

分布式的编写一般用的是C++(也有用JAVA的,但是都不是主流),基本不用MPI接口。

并行计算用MPI或者OpenMP。
如果把网格计算算做分布式计算(网格计算是分布式计算的一种特例,但是有区别,区别仅仅在编程方法和实际应用的范围上),网格计算使用中间件!而且对联网的各台计算机的操作系统的要求比较特殊。

并行计算与分布式处理的区别?相关推荐

  1. 并行计算与分布式处理的区别

    一.一些概念 1.1 物理处理器:      一个单核CPU,多核CPU的某个内核,都是一个物理处理器:   1.2 逻辑处理器:     通过超线程技术可以将一个物理处理器模拟成多个逻辑处理器,   ...

  2. Redis与Zookeeper实现分布式锁的区别

    Redis与Zookeeper实现分布式锁的区别 1.分布式锁解决方案 1.采用数据库 不建议 性能不好 jdbc 2.基于Redis实现分布式锁(setnx)setnx也可以存入key,如果存入ke ...

  3. FPGA中Block RAM和分布式RAM的区别?分别适用的场景是什么?

    FPGA中Block RAM和分布式RAM的区别?分别适用的场景是什么? 1 Block RAM 2 查找表存储器--分布式RAM 3 嵌入式存储器的使用方法 FPGA芯片内有两种存储器资源:一种叫b ...

  4. 集中式版本管理系统和分布式管理系统的区别-集中式vs分布式

    集中式:版本库是集中存放在中央服务器的,本地是没有版本库的修改记录的.干活的时候,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.所以集中式版本控制系统最大的 ...

  5. 花5min就能搞清楚redis和zookeeper分布式锁的区别,太有必要读一下了

    今天有个师弟问到了我这个问题,我说网络上文章有很多,自己查一下吧,他说读了好几篇还是不太清楚,于是我就搜了一下,呃-- 最终还是耐心地给他上了一课,他听完以后感激涕零,想到他晚上回到家,倒上二两散装白 ...

  6. 微服务架构和分布式架构的区别

    微服务架构和分布式架构的区别有: 1.含义不同: 2.概念层面不同: 3.解决问题不同: 4.部署方式不同: 5.耦合度不同. 其中,含义不同指微服务架构是一种将一个单一应用程序开发为一组小型服务的方 ...

  7. MPP大规模并行计算数据库与分布式数据库的区别

    最近调研分布式TP数据库.结合公司使用的MPP数据库,一度感觉两者很像,随着分布式的深入研究,结合行内MPP数据库使用过正中遇到的问题,简单的总结一下分布式数据库与MPP数据库的区别. 分布式数据库系 ...

  8. 架构设计基础:单服务.集群.分布式,基本区别和联系

    一.分布式简介 1.架构简介 现在的互联网,几乎常见的复杂系统都会使用分布式架构,如果在不清楚概念之前,刚接触分布式架构这个名词会感觉十分的高大上,其实在对比单服务,集群服务之后,你就会发现本质上都是 ...

  9. 区块链和分布式数据库的区别

    欢迎关注一下我的 知乎账号,以后主要在知乎分享内容.感谢~ https://www.zhihu.com/people/ypjiang96/posts 说一下自己的理解,如果理解有误欢迎评论区讨论 : ...

最新文章

  1. LeetCode Find Right Interval(二分)
  2. C++ vector用法 基本用法
  3. 数学之美番外篇:快排为什么那样快
  4. linux下卸载已安装的软件
  5. Linux高性能server编程——高级I/O函数
  6. 基于 .Net Core 的组件 Nuget 包制作 amp; 发布
  7. (转)Thrift在Windows及Linux平台下的安装和使用示例
  8. ThinkPHP无限分类模块设计
  9. 设计模式---外观模式(C++实现)
  10. 开发落网电台windows phone 8应用的计划(9)
  11. Java递归算法经典实例
  12. 最小二乘法与极大似然估计
  13. 获得当天的 零点 和 当天的最后 一秒的时刻
  14. 越狠越有饭吃,越不狠越没饭吃
  15. Java架构师大型互联网高级技术视频教程
  16. 2018省赛第九届蓝桥杯真题C语言B组第九题题解 全球变暖
  17. Windows fatal exception: access violation / Process finished with exit code -1073741819 (0xC0000005)
  18. Deepin + Veket 双Linux U盘随身系统
  19. 快速提升自身思维能力的方法总结
  20. 服务器阵列状态显示verify,[转载]转载:关于RAID--Build/VerifyClearQuick Init众说

热门文章

  1. 根据ip查询归属地信息
  2. 为什么谐振时电抗为0_谐波和谐振的关系
  3. Android ndk.abiFilters armeabi-v7a、arm64-v8a、arneabi、x86、x86-64 解析
  4. ffmpeg 直播流截图
  5. 字母频率统计柱状图2
  6. 信号覆盖评估系统-SRTM数据下载
  7. 经典书是必须要读吗?
  8. C语言《认识结构体》---重点解析内存对齐
  9. mysql中主键约束如何关闭_mysql怎么去除主键约束
  10. make cc2420dbk in tinyOS