
2、典型分布式计算技术 最早具有.ppt
52页计算机及信息工程学院计算机及信息工程学院分布式计算技术漫谈分布式计算技术漫谈周晓峰周晓峰1 1、概述、概述2 2、典型分布式计算技术、典型分布式计算技术3 3、存在的公共问题、存在的公共问题4 4、发展趋势、发展趋势主要内容主要内容分布式计算是利用网络把成分布式计算是利用网络把成 千上万台计算机连接起来,组成千上万台计算机连接起来,组成 一台虚拟的超级计算机,完成单一台虚拟的超级计算机,完成单 台计算机无法完成的超大规模的台计算机无法完成的超大规模的 问题求解问题求解 1 1、概述、概述分布式计算的最早形态出现分布式计算的最早形态出现 在在8080年代末的年代末的IntelIntel公司,公司,IntelIntel公公 司利用他们的工作站的空闲时间司利用他们的工作站的空闲时间 为芯片设计计算数据集,利用局为芯片设计计算数据集,利用局 域网调整研究随着域网调整研究随着InternetInternet的迅的迅 速发展和普及,分布式计算的研速发展和普及,分布式计算的研 究在究在9090年代后达到了高潮,目前年代后达到了高潮,目前 ,在,在InternetInternet网上分布式计算已非网上分布式计算已非 常流行。
常流行 1 1、概述、概述分布式计算研究主要集中在分布分布式计算研究主要集中在分布 式操作系统研究和分布式计算环境研式操作系统研究和分布式计算环境研 究两个方面,在过去的究两个方面,在过去的2020多年间出现多年间出现 了大量的分布式计算技术,如中间件了大量的分布式计算技术,如中间件 技术,网格技术,移动技术,网格技术,移动AgentAgent技术,技术, P2PP2P技术,以及最近推出的技术,以及最近推出的Web Web ServiceService技术等每一种技术都得到了技术等每一种技术都得到了 一定程度的认同,在特定的范围内得一定程度的认同,在特定的范围内得 到了广泛的应用到了广泛的应用 1 1、概述、概述2.1 2.1 中间件技术中间件技术2.2 2.2 网格技术网格技术2.3 2.3 移动移动AgentAgent技术技术2.4 2.4 P2PP2P技术技术2.5 2.5 Web serviceWeb service技术技术2 2、典型分布式计算技术、典型分布式计算技术最早具有中间件技术思想及功能的软件是最早具有中间件技术思想及功能的软件是IBMIBM 在在6060年代开发的年代开发的CICSCICS((Customer Information Customer Information Control SystemControl System)。
8080年代初期,年代初期,Sun MicrosystemsSun Microsystems 开发了一种最早的中间件,作为其开放网络体系结开发了一种最早的中间件,作为其开放网络体系结 构的一部分,这种中间件是基于构的一部分,这种中间件是基于RPCRPC协议的但由协议的但由 于于CICSCICS不是分布式环境的产物,而不是分布式环境的产物,而Sun Sun MicrosystemsMicrosystems开发的不是完整的中间件产品,因此开发的不是完整的中间件产品,因此 人们一般把人们一般把TuxedoTuxedo作为第一个严格意义上的中间件作为第一个严格意义上的中间件 产品,产品,TuxedoTuxedo是在是在19841984年由年由AT&TAT&T的贝尔实验室开的贝尔实验室开 发完成的到发完成的到9090年代,中间件技术得到了巨大的发年代,中间件技术得到了巨大的发 展和广泛的应用,出现了大量具有广泛影响的中间展和广泛的应用,出现了大量具有广泛影响的中间 件产品,如件产品,如OMGOMG的的CorbaCorba、、MicrosoftMicrosoft的的 DCOM/COM+DCOM/COM+、、IBMIBM的的MQSMQS等。
等 2.1 2.1 中间件技术中间件技术中间件是基础软件,处于操作系统(或中间件是基础软件,处于操作系统(或 网络协议)与分布式应用之间,从而屏蔽操网络协议)与分布式应用之间,从而屏蔽操 作系统(或网络协议)的差异,实现分布式作系统(或网络协议)的差异,实现分布式 异构系统之间的互操作目前,对中间件还异构系统之间的互操作目前,对中间件还 没有形成一个统一的定义,比较公认的没有形成一个统一的定义,比较公认的IDCIDC 的定义是:中间件是一种独立的系统软件或的定义是:中间件是一种独立的系统软件或 服务程序,分布式应用软件借助这种软件在服务程序,分布式应用软件借助这种软件在 不同的技术之间共享资源,中间件位于客户不同的技术之间共享资源,中间件位于客户 机服务器的操作系统之上,管理计算资源和机服务器的操作系统之上,管理计算资源和 网络通信网络通信 2.1 2.1 中间件技术中间件技术分类:分类: • •消息中间件消息中间件( (MOM: Message-Oriented MOM: Message-Oriented Middleware) Middleware) • •数据库中间件数据库中间件( (Database Middleware) Database Middleware) • •远程过程调用中间件(远程过程调用中间件(RPC: Remote Process RPC: Remote Process CallCall)) • •对象请求代理中间件对象请求代理中间件( (ORB: Object Request ORB: Object Request Broker) Broker) • •事务处理中间件事务处理中间件( (TP Monitor: Transaction TP Monitor: Transaction Process Monitor) Process Monitor) 2.1 2.1 中间件技术中间件技术9090年代末期开始,由于受需求年代末期开始,由于受需求 增长和多种技术融合两方面的影增长和多种技术融合两方面的影 响,中间件的内涵和外延进一步响,中间件的内涵和外延进一步 拓展,中间件的类别也进一步增拓展,中间件的类别也进一步增 多,如出现了反射中间件、移动多,如出现了反射中间件、移动 中间件、自适应中间件等。
中间件、自适应中间件等2.1 2.1 中间件技术中间件技术网格(网格(GRIDGRID))的概念起源的概念起源 于于9090年代中期,最初的含义是年代中期,最初的含义是 为尖端科研和工程提供分布式为尖端科研和工程提供分布式 计算基础设施计算基础设施 2.2 2.2 网格技术网格技术网格计算目前还没有一个被普遍接受的网格计算目前还没有一个被普遍接受的 定义,著名的网格研究专家,定义,著名的网格研究专家,Globus Globus 项目的项目的 领导人领导人Ian FosterIan Foster认为:网格提供在动态变化认为:网格提供在动态变化 的多个虚拟机构间共享资源和协同解决问题的多个虚拟机构间共享资源和协同解决问题 但随着网格技术的发展,特别是但随着网格技术的发展,特别是OGSAOGSA体体 系结构的提出,系结构的提出,Ian FosterIan Foster对网格的定义作了对网格的定义作了 扩充:网格是可扩展的网格服务集合,这些扩充:网格是可扩展的网格服务集合,这些 服务以不同的方式结合在一起以满足虚拟机服务以不同的方式结合在一起以满足虚拟机 构的需要,这些虚拟机构本身被定义成它们构的需要,这些虚拟机构本身被定义成它们 操作和共享的服务的一部分。
操作和共享的服务的一部分 2.2 2.2 网格技术网格技术到目前为止,比较重要的网到目前为止,比较重要的网 络体系结构有两个,一个是络体系结构有两个,一个是 FosterFoster等提出的五层沙漏结构,等提出的五层沙漏结构, 另一种是在以另一种是在以IBMIBM为代表的工业为代表的工业 界的影响下,在考虑到界的影响下,在考虑到WebWeb技术技术 的发展与影响后,结合的发展与影响后,结合Web Web ServiceService提出的开放网格服务结提出的开放网格服务结 构构OGSAOGSA2.2 2.2 网格技术网格技术以以““协议协议””为中心,同时十为中心,同时十 分强调服务与分强调服务与APIAPI和和SDKSDK的重要性的重要性 vv共享共享vv互操作互操作vv协议协议vv服务服务vvAPI/SDKAPI/SDK五层沙漏结构五层沙漏结构五层沙漏结构五层沙漏结构应用层应 用 层网格计算协议互联网协议汇集层资源层连接层连接层构造层互联网传输层五层沙漏结构五层沙漏结构应用层应 用 层网格计算协议互联网协议汇集层资源层连接层连接层构造层互联网传输层vv构造构造层层 ((FabricFabric)) 提供共享的提供共享的资资源,源, 它它们们是物理或是物理或逻逻 辑实辑实 体。
体 五层沙漏结构五层沙漏结构应用层应 用 层网格计算协议互联网协议汇集层资源层连接层连接层构造层互联网传输层vv连连接接层层 ((ConnectivityConnectivity))它是网格中网它是网格中网络络事事务务 处处理通信与授理通信与授权权控制控制 的核心的核心协议协议 五层沙漏结构五层沙漏结构应用层应 用 层网格计算协议互联网协议汇集层资源层连接层连接层构造层互联网传输层vv资资源源层层 ( (Resource)Resource) 对单对单 个个资资源源实实施施 控制,控制,实现资实现资 源源 注册、注册、资资源分配和源分配和 资资源源监视监视 五层沙漏结构五层沙漏结构应用层应 用 层网格计算协议互联网协议汇集层资源层连接层连接层构造层互联网传输层vv汇汇集集层层 ( (Collective)Collective) 资资源源汇汇集,供虚集,供虚拟拟 组织组织 的的应应用程序共用程序共 享、享、调调用提供目用提供目 录录服服务务、日程安排、日程安排 、、资资源代理、源代理、资资源源 监测诊监测诊 断、网格启断、网格启 动动、、负负荷控制、荷控制、账账 户户管理等多种功能管理等多种功能 。
五层沙漏结构五层沙漏结构应用层应 用 层网格计算协议互联网协议汇集层资源层连接层连接层构造层互联网传输层vv应应用用层层 ((ApplicationsApplications))通通过过各各层层的的APIAPI调调用用 相相应应的服的服务务,再通,再通过过 服服务调务调 用网格上的用网格上的资资 源来完成任源来完成任务务需要 构建支持网格构建支持网格计计算的算的 库库函数五层沙漏结构五层沙漏结构应用层工具与应用汇集层资源与连接层各种资源构造层资源与服务 的安全访问目录代理 诊断与监控等开放网格服务体系结构开放网格服务体系结构OGSAOGSA是以服务为中心的是以服务为中心的““服务结服务结 构这里的服务是指具有特定功能的这里的服务是指具有特定功能的 网络化实体网络化实体OGSAOGSA定义了定义了““网格服务网格服务””的概念的概念 ,网格服务是一种,网格服务是一种Web Web ServiceService,,该服该服 务提供了一组接口务提供了一组接口 网格网格={={网格服务网格服务} } 网格服务网格服务= =接口接口/ /行为行为+ +服务数据服务数据2.2 2.2 网格计算网格计算主要研究计划主要研究计划 •Globus计划 • Legion计划 • Information Power Grid • EuroGrid • Distributed Terascale Facility 主要研究计划主要研究计划•Globus计划 Globus是美国Argonne国家实验室的研发项目,全 美有12所大学和研究机构参与了该项目。
Globus对资源 管理、安全、信息服务及数据管理等网格计算的关键理 论进行研究,开发能在各种平台上运行的网格计算工具 。
