- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分布式计算ppt课件
分布式计算和分布式系统 分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。 分布式系统是这样的系统,它运行在不具有共享内存的多台机器上,但在用户的眼里却像是一台计算机 (Andrew S. Tanenbaum)。 分布式计算优点和特点 1. 资源共享:可共享系统中的硬件、软件和数据等信息资源。 2. 分布式透明处理平台: 展现给用户的是一个统一的整体系统; 3. 高性价比:分布式系统具有较高的性能价格比。 4. 应用分布性:多数应用本身就是分布式的,如ATM应用。 5. 高可靠性:现代分布式系统具有高度容错机制。 6. 可扩展性:添加几台PC等可提高系统的性能。 7. 高度灵活性:能够兼容不同硬件厂商的产品,兼容低配置机器和外设而获得高性能计算。 若干著名高复杂性问题 需要非常巨大的计算能力才能解决的问题。这类问题一般是跨学科的、极富挑战性的、人类急待解决的科研课题。其中较为著名的是: 1. 解决较为复杂的数学问题,例如:GIMPS (寻找最大的梅森素数 )。 2. 研究寻找最为安全的密码系统,例如:RC-72(密码破解)。 3. 生物病理研究,例如:Folding@home(研究蛋白质折叠,误解,聚合及由此引起的相关疾病)。 4. 各种各样疾病的药物研究,例如:United Devices(寻找对抗癌症的有效的药物)。 5. 信号处理,例如:SETI@Home(在家寻找地外文明)。 分布式计算工作原理 分布式计算是利用互联网上的计算机的中央处理器的闲置处理能力来解决大型计算问题的一种计算科学。 随着计算机的普及,越来越多的电脑处于闲置状态,即使在开机状态下中央处理器的潜力也远远不能被完全利用。 互联网的出现, 使得连接调用所有这些拥有限制计算资源的计算机系统成为了现实。 一个非常复杂的问题往往很适合于划分为大量的更小的计算片断的问题。服务端负责将计算问题分成许多小的计算部分,然后把这些部分分配给许多联网参与计算的计算机进行并行处理,最后将这些计算结果综合起来得到最终的结果。 分布式系统和分布式应用 基于分布式系统的分布式应用也非常广泛,例如多媒体应用、电子商务等。 分布式系统应能联接用户与资源、具有分布式透明、开放和可伸展性等特点。 通常,对用户来说,分布式系统只有一个模型或范型。在操作系统之上有一层软件中间件(middleware)负责实现这个模型。一个著名的分布式系统的例子是万维网(World Wide Web) . 分布式系统和分布式技术 主要分布式技术 1. 消息传递(Message Passing) 在分布式系统中,最初的通信机制是消息传递。进行通信的两个进程使用发送原语(Send)和接收原语(Receive)进行消息的发送和接收。 但是,通信原语的使用使分布式应用的开发成为一项繁杂的工作,开发出的程序既容易出错而又难于分析和调试。 分布式系统和分布式技术 2. 远程过程调用(Remote?Procedure?Call) 远程过程调用(RPC)隐蔽了网络的具体细节。使得用户使用远程服务就像进行一个本地函数调用一样,但在通信过程中需要远程与本地进行频繁的交互。 3. 远程求值(Remote?Evaluation,REV) 当要调用的过程在远程节点上并不存在,远程求值允许网络中的节点向远程节点发送子程序和参数信息。远程节点启动该子程序,一些初始请求可由该子程序发出,中间结果也由该子程序处理,子程序只是将最后的处理结果返回到源节点 分布式系统和分布式技术 4. 客户机/服务器模式(Client/Server,C/S) 通信的实体双方有固定、预先定义好的角色: 服务器提供服务,客户使用服务。RPC模式和REV模式都是客户机 /服务器模式的一种。著名的C/S模式主要有CORBA、(DCE)RPC等。 5.?代码点用(Code-on-demand) 针对C/S结构中资源过于集中的缺点,Code-on-demand模式使用了代码移动技术,即在需要远程服务时,首先从远程获得能执行该服务的代码。典型的例子是Java中的applet(应用小程序)和servlet(服务小程序) 。 分布式系统和分布式技术 6. 移动Agent(Mobile?Agent, MA)? ? MA可以(在一定范围内)随意移动到能提供服务的目标主机上,可以连续、多次、自主地移动。典型地,Java中的applet和servlet被统一成移动Agent。
文档评论(0)