第一章 分布式计算概述

第一章 分布式计算概述

一、分布式计算的概念

    分布式计算是计算机科学的重要研究内容,主要研究对象是分布式系统。简单地说,一个分布式系统是由若干通过网络互连的计算机组成的软硬件系统,且这些计算机互相配合以完成一个共同的目标(往往这个共同的目标称为“项目”)。
   分布式计算研究如何把一个需要非常巨大的计算能力分成许多小的部分,然后分配给许多计算机进行处理,最后把各部分的计算结果合并起来得到最终的结果。是基于网络的一种计算方式。

                                                                    分布式计算的优缺点

分布式计算的优点: 分布式计算的缺点:
1.低廉的计算机价格和网络访问的可用性 1.多点故障
2.资源共享 2.安全性低。分布式系统为非授权用户的攻击提供了更多机
3.超大规模 会。分布式计算在安全攻击和非授权访问防护方面较为脆弱。
4.虚拟化
5.可伸缩性
6.高可靠性
7.通用性
8. 高可伸缩性
9.极其廉价
10.容错性

  分布式5种计算形式:单机计算、并行计算、网络计算、网格计算、云计算。
 1.单机计算:最简单的计算形式,利用单台计算机进行计算。单机计算速度快,安全性强,操作简单,发展到现在仍然是人们使用计算资源的一种重要方式。

              特点:1.只能使用本计算机系统内可被访问的所有资源,不与任何网络互连。
                         2.计算机在任何时刻只能被一个用户使用。
                         3.用户在该系统上执行应用程序,不能访问其他计算机上的任何资源。
                         4.单用户单机计算的计算形式。

   并发用户可通过分时技术共享单台计算机中的资源,称这种计算方式为集中式计算。通常将提供集中式资源服务的计算机称为大型机。

  2.并行计算(或称并行运算)是相对于串行计算的概念。既采用多个处理器来执行单个指令。时间上的并行流水线技术,而空间上的并行指用多个处理器并发地执行计算。
  并行计算与分布式计算的区别:并行计算强调任务的并发执行;分布式计算强调任务的分布执行。

3.网络计算核心思想:把网络连接起来的各种自治资源和系统组合起来,以实现资源共享、协同工作和联合计算,为各种用户提供基于网络的各类综合性服务。

4.网格计算:指利用互联网把地理上广泛分布的各种资源(计算、存储、带宽、数据、信息、知识等)连成一个逻辑整体,像一台超级计算机,为用户提供一体化信息和应用服务。网格计算侧重于并行计算集中性需求,并难以自动扩展。

5.云计算:2006年,由Google公司提出。2006年,Google高级工程师克里斯托夫·比系利亚第一次提出“云计算的想法” 
    云计算的主要形式:1.基础设施即服务(IaaS)  2.平台即服务(PaaS)   3.软件即服务(SaaS)
    特点:  超大规模、虚拟化、高可靠性、、、

二、分布式系统概述
分布式系统是指通过网络互连,可协作执行某个任务的独立计算机集合。
该定于有两方面的含义:1.从硬件角度:每台计算机都是自主的。 (两者缺一不可)
2.从软件角度:用户将整个系统看成一台计算机。
WWW是目前为止最大的分布式系统
经典的分布式系统:1.WWW(环球信息网) 2.SETI@home(寻找外星人) 3.BOINC(伯克利开放式网络计算平台)
分布式计算项目:1.Climateprediction.net 2.Quake-CatCher Network(捕震网) 3.World Community Grid(世界社区网格) 4.EinStein@Home 5.FightAIDS@home 6.Folding@home 7.GIMPS:寻找新的梅森素数。 8.Distributed.net
分布式系统的特征:
1.可靠性:指一个分布式系统在它的某一个或多个硬件的软件组件故障中时,仍能提供服务端的能力。
2.可扩展性:横向扩展:增加服务器数量
纵向扩展:给每台服务器增加更多系统资源的方式
3.可用性:快速检测错误机制:关键在于任务管理者结点定期检测每个服务器的状态
快速启动回复程序机制:复制(将数据复制到多台服务器上)或者冗余(每个实例连接多台服务器)
4.高效性:有两种方式可以计算出效率:

                        (1)反应时间(延时):系统得到第一个结果的延迟。
                        (2)吞吐量:在一个给定的单位时间内所能交付的结果数。

        5.CAP理论:2000年伯克利加州大学的计算机科学家在分布式计算原则研讨会上提出的一个猜想。
                CAP理论不可能同时满足以下3点:三者只能取其中之二
                (1)一致性(C):所有客户端总是有同样数据视图  
                (2)可用性(A):每个客户端总是能读能写  
                (3)分区容忍性(P):当集群中的某些结点无法联系时仍能正常提供服务
                CA:有一致性和可用性的系统通常可扩展性能不高,不具有分区容错性,如传统的关系数据库。
                CP:为了满足一致性,在系统分区期间会停止服务,直到数据恢复一致,如BigTable、HBase等。
                AP:通常注重系统性能和可扩展性,而非强一致性,如NoSQL系统中的Dynamo、Cassandra、SimpleDB

三、分布式计算的基础技术

1.进程间通信(IPC):
分布式计算的核心技术,即在相互独立的进程间通信及共同协作以及完成某项任务的能力。
2.IPC四种基本操作:
(1)send(发送) (2)receive(接收) (3)connect(连接) (4)disconnect(断开连接3.3)
3.事件同步:
IPC设施提供事件同步最简单的方法是使用阻塞机制。
IPC操作可以是异步或非阻塞操作。

进程通信的四种方式:(进程1为send、进程2为receive)
(1)同步send和同步receive:receive操作的发出导致该发起进程挂起,直到接收完该操作的所有数据。同样,send操作的发出导致该发送进程挂起,当发送的数据被进程2接收后,主机2的IPC设施向主机1的IPC设施发送一条确认信息,进程1随后可被解锁。
(2)异步send和同步receive:receive操作的发出导致接收进程挂起,直到接收到满足操作的所有数据为止。然而,send操作的发出不会导致发送进程挂起。(发送进程为非阻塞)
(3)同步send和异步receive:
(3.1) receive请求的数据在receive操作发出时已经到达
(3.2) receive请求的数据在receive操作发出时仍未到达,receive进程使用轮询技术
(3.3) receive请求的数据在receive操作发出时仍未到达,receive可以提供一个可以被IPC设施调用的侦听接口/事件号,用于向进程通告请求数据的到来

(4)异步send和异步receive

4.死锁和超时:(争夺资源)
避免或解决死锁的方法:(1)使用超时机制来设置最大阻塞期限。 (2)使用子进程或线程提供阻塞操作。避免或解决死锁的方法:(1)使用超时机制来设置最大阻塞期限。 (2)使用子进程或线程提供阻塞操作。@TOC

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片:

你可能感兴趣的:(第一章 分布式计算概述)