高性能和分布式计算林小拉 ******@. 中山大学信息科学与技术学院内容提要一、分布式计算和分布式系统二、 P2P 计算三、云计算和网格计算四、传感器网络和物联网分布式计算和分布式系统?分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。?分布式系统是这样的系统,它运行在不具有共享内存的多台机器上,但在用户的眼里却像是一台计算机( Andrew S. Tanenbaum )。分布式计算优点和特点 :可共享系统中的硬件、软件和数据等信息资源。 : 展现给用户的是一个统一的整体系统; 3. 高性价比: 分布式系统具有较高的性能价格比。 4. 应用分布性: 多数应用本身就是分布式的,如 ATM 应用。 5. 高可靠性: 现代分布式系统具有高度容错机制。 6. 可扩展性: 添加几台 PC等可提高系统的性能。 7. 高度灵活性: 能够兼容不同硬件厂商的产品,兼容低配置机器和外设而获得高性能计算。若干著名高复杂性问题?需要非常巨大的计算能力才能解决的问题。这类问题一般是跨学科的、极富挑战性的、人类急待解决的科研课题。其中较为著名的是: 1. 解决较为复杂的数学问题,例如: GIMPS (寻找最大的梅森素数)。 2. 研究寻找最为安全的密码系统,例如: RC-72 (密码破解)。 3. 生物病理研究,例如: ******@home (研究蛋白质折叠,误解,聚合及由此引起的相关疾病)。 4. 各种各样疾病的药物研究,例如: United Devices (寻找对抗癌症的有效的药物)。 5. 信号处理,例如: ******@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 等。 (Code-on-demand) 针对 C/S 结构中资源过于集中的缺点, Code- on-demand 模式使用了代码移动技术,即在需要远程服务时,首先从远程获得能执行该服务的代码。典型的例子是 Java 中的 applet( 应用小程序)和 servlet (服务小程序) 。
分布式计算 来自淘豆网m.daumloan.com转载请标明出处.