您好,欢迎访问三七文档
分布式计算概述提纲分布式计算概念分布式系统介绍分布式计算基础技术分布式计算的定义•分布式计算分布式计算是一门计算机科学,主要研究对象是分布式系统。•分布式系统一个分布式系统是由若干通过网络互联的计算机组成的软硬件系统,且这些计算机互相配合以完成一个共同的目标(往往这个共同的目标称为“项目”)分布式计算指在分布式系统上执行的计算。分布式计算将一个大型计算任务分成很多部分分别交给其他的计算机处理,并将所有的计算结果合并为原问题的解决方案。这与并行计算不同的是,并行计算是使用多个处理器并行执行单个计算。分布式计算的优缺点优点超大规模虚拟化高可靠性通用性高可伸缩性按需服务极其廉价容错性弱点多点故障一台或多台计算机的故障,或一条或多条网络链路的故障,都会导致分布式系统出现问题安全性分布式系统为非授权用户的攻击提供了更多机会分布式云计算相关计算形式分布式云计算相关计算形式集中计算与分布式计算mainframecomputerworkstationnetworkhostnetworklinkterminalcentralizedcomputingdistributedcomputing串行运算与并行运算并行运算与分布式计算的区别是:分布式计算强调的是任务的分布执行,而并行计算强调的是任务的并发执行云计算概念提出提出者:Google工程师,比希利亚,27岁出发点:推广Google超级强大的计算资源,招贤纳士结果:蜂拥而至,名噪一时,被视为“云”的起源19:03:24-9-云计算云计算是分布式处理、并行处理、网格计算的发展,是虚拟化、效用计算、IaaS、PaaS、SaaS等概念混合跃升的结果。基本原理是将计算任务分布在云端的大量的分布式计算机上、数据也存储在云端,使得企业将有限的资源切换到需要的应用上,降低企业运行的成本。这样带来的好处是中小企业不需要购置专门的计算机系统去满足某一应用需求,只需要想云计算中心支付服务费即可获得响应服务,而云计算中心则大规模的云,以向用户提供服务。云计算具有如下的特点:超大规模云计算集群、虚拟化、高可靠性、通用性、按需服务、极其廉价。19:03:2510云计算与网格计算网格计算:利用互联网把地理上广泛分布的各种资源(计算、存储、带宽、软件、数据、信息、知识等)连成一个逻辑整体,就像一台超级计算机一样,为用户提供一体化信息和应用服务(计算、存储、访问等)。网格计算强调资源共享,任何节点都可以请求使用其它节点的资源,任何节点都需要贡献一定资源给其他节点。云计算强调专有,请求或获取的资源是专有的,并且由少数团体提供,使用者不需要贡献自己的资源。网格计算侧重并行的计算集中性需求,并且难以自动扩展。云计算侧重事务性应用,大量的单独的请求,可以实现自动或半自动的扩展。云计算包含的网格计算特征:(1)提供在线的计算、存储等服务(2)超大规模的资源组合(3)资源的虚拟化19:03:2511云计算与分布式计算分布式计算(狭义):将待解决问题分成多个小问题,再分配给许多计算系统处理,最后将处理结果加以综合。特点:把计算任务分派给网络中的多台独立的机器优点稀有资源可以共享通过分布式计算可以在多台计算机上平衡计算负载可以把程序放在最适合运行它的计算机上流行的分布式项目SETI@Home:寻找外星文明RC-72:密码分析破解,研究和寻找最为安全的密码系统Folding@home:研究蛋白质折叠、聚合问题UnitedDevices:寻找对抗癌症的有效的药物GIMPS:寻找最大的梅森素数(解决较为复杂的数学问题)云计算包含的分布式计算特征:(1)通过资源调度和组合满足用户的资源请求(2)对外提供统一的、单一的接口分布式邮箱系统19:03:2512云计算与并行计算并行计算:是指同时使用多种计算资源解决计算问题的过程。通常指一个程序的多个部分同时运行于多个处理器上。特点:把计算任务分派给系统内的多个运算单元并行计算问题的特征将工作分离成离散部分,有助于同时解决随时并及时地执行多个程序指令(多条线同时运行)多计算资源下解决问题的耗时要少于单个计算资源下的耗时云计算包含的并行计算特征:(1)用户资源(单一类型和组合类型)请求的同时处理19:03:2513云计算与对等计算对等计算系统中,每个节点都拥有对等的功能与责任,既可以充当服务器向其他节点提供数据或服务,又可以作为客户机享用其他节点提的供数据或服务,节点之间的交互可以是直接对等的,任何节点可以随时自由地加入或离开系统。对等计算:有可能作为云计算的一个类型预测:将可能以“对等子云”的形式出现在云计算中。依据:云计算对超大规模、多类型资源的统一管理是困难的;对等计算具有鲁棒性、可扩展性、成本、搜索等方面的优点Google的云计算服务曾出现严重问题,Gmail、Blogger和Spreadsheet等服务均长时间当机。亚马逊S3云计算服务也曾出现问题。而P2P系统则有更强的抗毁能力。19:03:2514提纲分布式计算概念分布式系统介绍分布式计算基础技术分布式系统介绍TheInternetanetworkhostworkstationsalocalnetwork分布式系统指通过网络互连,可协作执行某个任务的独立计算机集合。不共享内存或程序执行空间的一系列计算机被认为是相互独立的。2020/6/25DistributedComputing,Chap117Distributedcomputing目前因特网上参加人数最多的分布式计算项目SETI@home著名分布式计算项目介绍可靠性:指一个分布式系统在它的某一个或多个硬件的软件组件造成故障时,仍能提供服务的能力。可扩展性:指一个系统为了支持持续增长的任务数量可以不断扩展的能力。可用性:指一个系统尽可能地限制系统因故障而暂停的能力。高效性:指一个分布式系统通过分散的计算资源来实现任务执行的高效率。19:03:2518分布式系统特征CAP理论一致性可用性分区容忍性CPAP所有客户端总是有同样的数据视图每个客户端总是能读和写当集群中的某些结点无法联系时仍能正常提供服务有一致性和可用性的系统,通常扩展性能不高,不具有分区容错性,如传统的关系数据库CA为了满足一致性,在系统分区期间会停止服务,直到数据恢复一致,如BigTable,Hbase等通常注重系统性能和扩展性,而非强一致性,如NoSQL系统中的Dynamo,Cassandra,SimpleDB三选二提纲分布式计算概念分布式系统介绍分布式计算基础技术进程间通信Process1Process2datasenderreceiver分布式计算的核心技术是进程间通信(interprocesscommunication,IPC),即在互相独立的进程(进程是程序的运行时表示)间通信及共同协作以完成某项任务的能力。在分布式计算中,两个或多个进程按约定的某种协议进行IPC,此处协议是指数据通信各参与进程必须遵守的一组规则。在协议中,一个进程有些时候可能是发送者,在其他时候则可能是接收者。当一个进程与另一个进程进行通信时,IPC被称为单播(unicast);当一个进程与另外一组进程进行通信时,IPC被称为组播(multicast)。P2P1P1P2P3P4...unicastmulticastmmmmIPC程序接口的四种基本操作发送(Send)。该操作由发送进程发起,旨在向接收进程传输数据。操作必须允许发送进程识别接收进程和定义待传数据。接收(Receive)。该操作由接收进程发起,旨在接收发送进程发来的数据操作必须允许接收进程识别发送进程和定义保存数据的内存空间,该内存随后被接收者访问。连接(Connect)。对面向连接的IPC,必须有允许在发起进程和指定进程间建立逻辑连击的操作:其中以进程发出请求连接操作而另一进程发出接受连接操作。断开连接(Disconnect)。对面向连接的IPC,该操作允许通信的双方关闭先前建立起来的某一逻辑连接。HTTP进程间通信实例C1C2S3S4C4WebserverWebbrowseraprocessanoperationdataflowoperations:S1:acceptconnectionS2:receive(request)S3:send(response)S3:disconnectC1:makeconnectionC2:send(request)C3:receive(response)C4:disconnectS2C3S1HTTPrequestHTTPresponse事件同步IPC中的一个主要难点是进行IPC的各相关进程是独立执行的,各进程不知道对方进程的情况。协议涉及的双方必须按特定顺序发起IPC操作,否则可能通信失败。因此,参与通信的两个进程需要同步他们的操作,由一方发送数据,另一方则需要等待所有数据发送完成时,开始接收数据。IPC设施提供事件同步的最简单的方法是使用阻塞(blocking)机制或同步(synchronous),即挂起某一进程的执行,直到该进程发起的某个操作执行结束。另外,IPC操作可以是异步(asynchronous)或非阻塞操作(nonblocking)。进程发起的异步操作不会引起阻塞。因此,一旦向IPC设施发出异步操作后,进程可以继续执行。当该异步操作完成后,进程才会随后得到IPC设施的通知。同步send和同步receiveprocess1runningonhost1blockingsendstartsblockingsendreturnsblockingreceivestartsblockingreceiveendsexecutionflowsuspendedperiodSynchronousSendandReceiveanoperationacknowledgementofdatareceivedprovidedbytheIPCfacilityprocess2runningonhost2receive操作的发出导致该发起进程挂起,直到接收完成该操作的所有数据。同样地,send操作的发出导致发送进程挂起。当发送的数据被进程2接收后,主机2的IPC设施向主机1的IPC设施发送一条确认信息,进程1随后可被解锁。注意,消息确认由两台主机的IPC设施处理,并且对两个进程是透明的。异步send和同步receiveProcess1Process2blockingreceivestartsblockingreceivereturnsexecutionflowsuspendedperiodAsynchronousSendandSynchronousReceivenonblockingsendoperationreceive操作的发出将导致接收进程挂起,直到接收到满足操作的所有数据为止。然而,send操作的发出不会导致发送进程挂起。在本例中,发送进程永远不会被阻塞,因此,进程2所在主机的IPC设施不必发送确认消息。同步send和异步receive情形1Process1Process2nonblockingreceiveissuedexecutionflowsuspendedperiodSynchronousSendandAsynchronousReceiveblockingsendissuedScenarioAtransparentacknowledgementprovidedbytheIPCfacility接收操作请求的数据在receive操作发出时已经到达,在这种情况下,数据被立即传送到进程2,主机2的IPC设施返回的确认消息将进程1解锁。同步send和异步receive情形2indefiniteblockingProcess1Process2nonblockingreceiveissuedandreturnedimmediatelyexecutionflowsuspendedperiodSynchronousSendandAsyn
本文标题:13.分布式计算
链接地址:https://www.777doc.com/doc-6132132 .html