1.1分布式计算的概念
1.1.1 定义
一个分布式系统是由若干个通过网络互连的计算机组成的软硬件系统 ,且这些系统互相配合已完成一个共同的目标(往往这个共同的目标称为“项目”)。
1.1.2 分布式计算的优缺点
优点:低廉的计算机价格和网络访问的可用性;资源共享;可伸缩性;容错率;超大规模;可靠性;通用性;虚拟化;按需服务。
缺点:多点故障;安全性低。
1.1.3 分布式计算的相关计算形式
(一)单机计算
单机计算分为集中式计算与分布式计算。
单机计算是最简单的计算形式,即利用单台计算机进行计算,此时计算机不与任何网络互连,因而只能使用本计算机系统内可被即使访问的所有资源。
多用户也可以参与单机计算,在该计算形式中并发用户可通过分时技术共享单台计算机中的资源,这种计算方式被称为集中式计算。
(二)并行计算
并行计算(也称并行运算)是相对于串行计算的概念,采用多个处理器来执行单个指令。是提高计算机系统计算速度和处理能力的有效手段。
基本思路是用多个处理器来协同求解同一问题,即被求解的问题分解成若干个部分,各部分均有一个独立处理机来并行运算。
分布式计算强调任务的分布执行,而并行计算强调任务的并发执行。
(三)网络计算
网络计算的核心思想是,把网络连接起来的各种自治资源和系统组合起来,以实现资源共享,协同工作和联合计算,为各种用户提供基于网络的各类综合性服务。
(四)网格计算
网格计算是指利用互联网把地理上广泛分布的各种资源连成一个逻辑整体,为用户提供一体化信息和应用服务。
网格计算强调资源共享,侧重并行的计算集中性需求,并且难以自动扩展。
云计算侧重事务性应用,大量的单独请求,可以实现自动或半自动的扩展。
(五)云计算
2006年谷歌工程师克里斯托夫·比希利亚 第一次提出云计算。
云计算包括两个层次的含义:
(1)商业层面,即以云的方式提供服务。
(2)技术层面,及各种客户端的计算都有网络负责完成。
云计算的主要形式包括基础设施即服务(IaaS),平台及服务(PaaS)和软件即服务(SaaS)。
云计算强调专有,及请求或获取的资源是专有的,并且由少数团体提供,使用者不需要贡献自己的资源。
1.2 分布式系统概述
1.2.1 分布式系统的定义分布式系统是指通过网络互连,可协作执行某个任务的独立计算机集合。
这个定义有两方面的含义:
(一)从硬件角度来讲,每台计算机都是自主的;
(二)从软件角度来讲,用户将整个系统看作一台计算机。
二者都是必须的,缺一不可。
1.2.2经典的分布式系统与项目
(1)www
www是目前为止最大的分布式系统。www是环球信息网(World Wide Web)的缩写,中文名字万维网,环球网,常简称Web。每一个有用的事物成为一样资源,并且有一个全局统一资源标识符(URI)标识;这些资源通过超文本传输协议(Hypertext Ttansfer Protocol,HTTP)传送给用户。www是建立在客户机/服务器(Client/Server,C/S)模型上的。
(2)SETI@home
是一个利用全球联网的计算机共同搜寻地外文明的项目。参考网站:http://setiathome.berkeley.edu/index.php。
(3)BOINS
(Berkeley Open Infrastructure For Network Computing,伯克利开放式网络计算平台。)
(4)其他分布式计算项目

  1. http://climateprediction.net/

21世纪世界上最大的气候预测模型,由牛津大学物理系开发和维护的研究项目,这个项目建立了一个地球天气模型,通过大量计算研究整个地球气候的变化,来估算减缓地球气候恶化的可能性和极端天气对人类活动的危害性。

2 http://www.worldcommunitygrid.org/

世界共同网络,由IBM公司主持,该项目主要通过计算蛋白质折叠来研究医药生物等方面相关难题,例如针对肌肉萎缩症、流感、艾滋病、癌症等医疗难题进行数字模拟,寻找更好的医疗方法。

3 http://milkyway.cs.rpi.edu/

MilkyWay@home是由伦斯勒理工学校主持的以创造银河系附近星球分布的高清三维模型为目标的项目,同时调查各种分布式算法的优势和劣势,并进行算法的优化工作。

4 http://boinc.equn.com/lhc/

lhc@home主要针对由LHC(大型强子对撞机)产生的大量数据来进行计算研究,一台LHC每年产生大约15360GB的数据,这些数据通过一个部门的力量是很难处理完的,这种大量的工作必须要以分布式计算的形式由更多的计算机参与才能更好更快的进行处理。
1.2.3分布式系统的特征
(1)可靠性
可靠性依赖于数据和软件组件二者的冗余性能。
(2)可扩展性
可扩展性是指一个系统为了支持持续增长的任务数量可以不断扩展的能力。
(3)可用性
可用性是一个系统尽可能的限制潜在风险发生的能力,涉及两种不同的机制:
快速检测错误机制的关键在于定期检测每个服务器的状态,通常将此任务分配给任务管理者节点。
快速启动恢复程序机制通过复制和冗余来实现。
(4)高效性
(5)CAP理论
在构建分布式系统时,如何让使一个处理大量事务的大型数据仓库所能过提供的服务是有效和高效的,并且能提供强有力的一致性保证,是我们面临的主要问题。
CAP理论源于伯克利加州大学的计算机科学家Eriv Brewer 在2000年的分布式计算原理研讨会上提出的一个猜想。CAP理论指出对于一个分布式计算系统来说,不可能同时满足以下三点:
一致性(Consistency,C):所有结点访问同一份最新的数据副本。在分布式系统中的所有数据备份,在同一时刻是否同样的值。
可用性(Availability,A):对数据更新具备高可用性。在集群中一部分结点故障后,集群整体是否还能响应客户端的读写请求。
分区容忍性(Partition tolerance,P):当集群中的某些节点无法联系时仍能正常提供服务。以实际效果而言,分区相当于对通信的时限要求,系统如果不能在时限内达成数据一致性,意味着发生了分区的情况,必须就当前操作在一致性和可用性之间做出选择。
一致性:所有客户端总有同样有数据视图
可用性:每个客户端总是能读和写
分区容忍性:当集群中的某些节点无法联系时仍能正常提供服务
1.3 分布式计算的基础技术
1.3.1 进程间通信
分布式计算的核心技术是进程间通信(IPC)即在互相独立的进程间通信及共同协作以完成某项任务的能力。在分布式计算中,两个或多个进程按约定的某种协议进行IPC,此处协议是指数据通信各参与进程必须遵守的一组规则、在协议中,一个进程有时候是发送者,在其他时候则可能是接收者。当一个进程与另个进程进行通信时,IPC 称为单播( unicast) ;当一个进程与另外- 组进程进行通信时,IPC称为组播。
1.3.2 IPC程序接口原型
send(发送);receive(接收);connect(连接);disconnect(断开)。
1.3.3
事件同步LIPC中的一个难点是进行IPC的各相关进程是独立执行的,各进程不知道对方进程的情况。

因此,参与通信的两个进程需要同步它们的操作,由一方发送数据,另一方则需要等到所有数据发送完成时,开始接收数据。IPC设施提供事件同步的最简单的方法是使用阻塞(blocking)机制,即挂起某一进 程的执行,直到该进程发起的某个操作执行结束。另外,IPC 操作可以是异步( asynchronous)或非阻塞(nonblocking) 操作。进程发起的异步操作不会引起阻塞。因此,一 旦向IPC设施发出异步操作后,进程可以继续执行。当该异步操作完成后,进程才会随后得到IPC设施的通知。

1.1分布式计算的概念相关推荐

  1. 云计算技术与应用 -基础概念与分布式计算

    云计算技术与应用 0. 课程总览 1. 云计算的定义 1.1 计算模式的演进 1.1.1 集中计算 1.1.2 效用计算 1.1.3 客户机/服务器模式 1.1.4 集群计算 1.1.5 服务计算 1 ...

  2. 第一章 分布式计算概述

    第一章 分布式计算概述 一.分布式计算的概念 分布式计算是计算机科学的重要研究内容,主要研究对象是分布式系统.简单地说,一个分布式系统是由若干通过网络互连的计算机组成的软硬件系统,且这些计算机互相配合 ...

  3. 分布式系统开发实战:分布式计算,分布式计算常用技术

    分布式计算 分布式计算就是将一个大的计算任务分解成多个小任务,然后分配给多台计算机分别计算,再上传运算结果后统一合并得出数据结论.本章详细介绍分布式计算. 分布式计算概述 在过去的20年里,互联网产生 ...

  4. python分布式计算_《Python分布式计算》第1章 并行和分布式计算介绍 (Distributed Computing with Python)...

    本书示例代码适用于Python 3.5及以上. 当代第一台数字计算机诞生于上世纪30年代末40年代初(Konrad Zuse 1936年的Z1存在争议),也许比本书大多数读者都要早,比作者本人也要早. ...

  5. 分布式计算、云计算与大数据概论心得理解

    分布式计算.云计算与大数据概论心得理解 第一章 分布式计算概述 分布式计算的概念 分布式计算与其相关计算的发展趋势 集中计算(单机计算) 串行运算与并行运算简介 各种计算简介 网络计算 网格计算 分布 ...

  6. 第一章:分布式计算概述

    一.分布式计算的概念 1.分布式计算的定义 分布式计算机是计算机科学研究的重要内容,主要研究对象是分布式系统.简单的说,一个分布式系统是由若干通过网络互联的计算机组成的软硬件系统,且这些计算机互相配合 ...

  7. 遇见未来 | 对话王璞:谈分布式系统在企业落地的挑战

    分布式的概念很早就有了,然而真正在企业中得以广泛应用却是最近几年的事情.互联网的深入深化及大数据应用的兴起,对于IT系统的处理能力及效率都提出了更高的要求.通过松散耦合将多台物理服务器组成一个集群,提 ...

  8. 快速掌握用python写并行程序

    目录 一.大数据时代的现状 二.面对挑战的方法 2.1 并行计算 2.2 改用GPU处理计算密集型程序 3.3 分布式计算 三.用python写并行程序 3.1 进程与线程 3.2 全局解释器锁GIL ...

  9. 云计算技术与应用 - 知识点

    云计算 01-云计算概述 ⭕云计算的定义:云计算是各种虚拟化.效用计算.服务计算.网格计算.自动计算等概念的混合演进并集大成之结果. 计算模式的演进:网格计算.效用计算.软件即服务.随需应变的计算.云 ...

最新文章

  1. 性能测试、负载测试以及压力测试
  2. 根据端口不同来切换站点_KVM切换器是什么,看懂这一篇就够
  3. JZOJ5944信标
  4. 高斯课堂数电讲义笔记_学技树
  5. GCC 编译报错:程序中有游离的 \357’ \273’ \277’ 等
  6. 5G/NR 学习笔记:波束赋形 / beam 管理
  7. 【知了堂学习笔记】java 自定义异常
  8. php phar效率,PHP的Phar包原来性能这么强
  9. non-local Means(非局部均值)降噪算法及快速算法原理与实现
  10. java音乐网站论文_基于Java web的音乐网站的设计与实现论文(含源文件).doc
  11. 关于软件逆向工程的一些不错博客
  12. 【爬虫进阶】验证码处理:打码平台的使用(反反爬)
  13. Ubuntu下使用外置USB无线网卡
  14. 将fla文件的影片剪辑按钮等一些类文件和外部的as文件整合到swc中
  15. Spring之面向切面编程AOP(八)
  16. 如何包含鼠标指针(箭头)截图或者录屏?
  17. 批量静默卸载软件工具制作
  18. ThinkPhp6框架快速入门教程
  19. 在RISC-V星光板上创建Debian系统镜像
  20. Sublime Text4 最新PackageControll 配置教程

热门文章

  1. ETH2.0已至 机遇与风险并存,Archer谋局矿工群体
  2. 「Vue系列」欢迎传送到“Teleport”星球
  3. CTF 每日一题 Day24 世上无难事
  4. 燕山大学教务系统官网计算机学院,燕山大学教务系统登录入口:https://jwc.ysu.edu.cn/...
  5. SqlServer 迁移到达梦数据库 nvarcher 的避坑指南
  6. 结合自定义注解,java反射和comparator实现对象的排序
  7. 小米手机系统更新没有数据连接到服务器吗,小米手机无服务怎么解决
  8. 33的挑战状(bilibili首届安全挑战赛)
  9. 数字图像处理艺术化效果——怀旧效果(泛黄旧照片)
  10. 四川汶川地震 各地伤亡汇总(实时更新)