《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > P2P和Grid从构建到应用全历程对比

P2P和Grid从构建到应用全历程对比

2008-05-06
作者:叶从欢

  摘 要: 网格和P2P网络技术均是当今高性能分布式计算领域的研究热点。从体系结构、资源管理" title="资源管理">资源管理、安全和应用等方面对这两种新兴技术进行了全方位的比较,发现了由于P2P和Grid的侧重点不同,P2P和Grid从构建到投入应用都有不同程度的互补性。这使得糅合P2P与Grid可以构建一个兼具P2P和Grid特性的新型P2P-Grid系统。
  关键词: 对等计算 网格计算 P2P-Grid


  P2P和Grid都引起了国内外广泛关注,二者都是高性能计算领域里的新兴技术。它们的主要目标都是充分利用遍布全球的互联网上的个人闲置资源,完成单台计算机无法高效完成的任务。P2P系统主要由一些地位相等的节点构成,节点之间可以直接通信,无需经过第三个节点。近年来对于P2P技术中各方面存在的缺陷做了相应的改善,例如,推出了超级节点的混合式P2P模式,从而使其效率大为改善。与网格一样,P2P技术的目标也是对网上所有的资源:计算资源,存储资源,信息资源,数据资源,网络资源实现全方位共享,相对于网格技术" title="网格技术">网格技术最初只是面向专门的高性能计算领域中的专业人员而言,P2P技术更加侧重于为普通的网络用户构建一个使用网络资源的友好环境,从而对网上个人闲置资源实现有效利用,并向用户提供各种计算服务。
  网格可为各行各业提供海量信息处理,为高科技领域的研究开发和技术创新提供高性能计算服务,还能够为交叉学科的研究提供一种实验研究平台,使得全球性的跨学科的大规模科研合作,跨越时间、空间、物理障碍,实现资源共享与协同工作,并在全国,甚至全世界范围内共享研究成果。从这一目标来看,网格技术更加倾向于将一个国家或地区的大型超级计算机整合为一个统一的计算平台,完成大规模的科学计算、大规模的数据分析等密集型的任务。相对于P2P而言,其基本模型仍旧是以一种客户/服务器的模式来操控整个互联网上的资源,从而对它们实现高效利用。
  网格技术的开发与部署是在需要访问远程资源(如联合数据集)时,为了进行大规模模拟和数据分析而需要大量计算机协同工作的背景下产生的,P2P技术则主要连接许多PC机,并经过公众的使用而流行起来。
  网格和P2P的互补性,使得在某些层面上可以相互借鉴。例如,许多研究人员把P2P的思想用到网格技术中或者把两者结合起来应用:参考文献[5]设计了UPDF (Unified Peer-to-Peer Database Framework)用以查询Grid环境下的资源;参考文献[6]中用P2P方法定位Grid环境下的资源;参考文献[7]中的NaradaBrokering正是为研究Peer-to-Peer Grids结构而设计的,该Peer-to-Peer Grids集成了计算网格、分布式对象、Web Services和P2P网络等一些思想。任何一个系统效率的高低跟其中资源的利用效率是密不可分的,而资源的利用效率取决于如何快速地发现能够分配给作业的资源集。众所周知,资源发现策略归根揭底取决于系统中资源的组织模式。由于互联网上的资源属性纷繁复杂,如果不能针对性地对这些资源加以合理的组织,要真正查找到最优或近似最优的资源集分派给作业将是非常困难的。为了解决这个难题,目前已开始出现结合P2P和Grid构建具有P2P和Grid特征的新型网络模型。
1 P2P与Grid的体系结构
  体系结构是系统的总体结构框架,就如同人的骨架。在P2P与Grid系统中,体系结构是对P2P与Grid系统的网络拓扑进行布局规划,并在该规划的基础之上决定如何构建P2P与Grid的体系结构,将决定着整个系统要达到的目标。P2P与Grid都是在现有的互联网基础之上,建立一种能够满足人们对互联网上各种资源的共享需求的高性能分布式计算平台。由于P2P与网格系统" title="网格系统">网格系统实现资源共享的侧重点不一致,所以P2P与Grid的体系结构有许多区别。最显著的区别,就是P2P的纯分布式P2P结构、集中式" title="集中式">集中式P2P结构和混合式P2P结构,相对于网格系统的比较流行的五层沙漏结构和开放服务网格体系结构而言,实现P2P体系结构的协议要简单得多。用户如果要加入到P2P社区,实现某个文件资源的共享,只需要安装一个相应的下载软件即可,而Grid则不然。从对资源具体实施共享及协同工作的层面上来看,P2P主要是采用全分布式的方式来实现,而Grid则采用一种层次式的集中模式来聚集资源,使它们协同工作完成某个任务的计算。关于P2P和Grid网络拓扑结构,目前均没有形成一个统一的标准,但是P2P与Grid又都有各自比较流行的几种拓扑结构。
1.1 P2P的体系结构
  常见的P2P结构包括:分布式P2P结构、集中式P2P结构和混合式P2P结构[4]。分布式P2P结构的整个网络没有一台服务器,网络上的每一个节点都连接其他一些节点。所有节点完全平等,既可以作为客户机又可以作为服务器,又与相邻的节点有相同的能力,具有自治功能。节点间可以直接通信,通过邻居进行路由和资源访问,这种结构强调网络的容错性和可扩展性。集中式P2P结构有一个或多个中心服务器,负责记录共享信息以及对这些信息的查询进行回答。这样的服务器必须能够处理大量的用户连接,拥有足够的内存和磁盘空间来维护和搜索文件列表。每一个对等实体要对它将要共享的信息以及进行的通信负责,根据需要下载它所需要的其他对等实体上的信息。混合式P2P结构是分布式P2P结构与集中式P2P结构的一种结合模式,可尽量减少系统中需要远距离交互的对等点数目。做到检索尽可能少的对等点就能够满足尽可能多的请求,以降低每一检索过程在网络中产生的总负载量。这种模式中把整个网络中的对等点划分为超级节点和普通节点两级双层P2P结构,如图1所示。


  从P2P的三种主流的体系结构可知,P2P的网络拓扑结构在具体构建时是以一种基于非传统的客户/服务器模式的全分布式的思维,对网络上的在线资源进行聚合,在P2P系统中每个资源实现的功能可能完全不同。这种体系结构在构建P2P系统时的显著优势就是可对P2P系统进行灵活的扩充,如P2P系统中的资源可随意地加入或退出P2P系统。这是一种完全以网络用户为主的P2P系统的构建方式,整个系统没有可以依赖的中心服务器,从而可以避免系统瓶颈的产生,充分实现网络流量的均衡。此外,由于P2P社区内的用户加入到P2P社区有很大的随意性和自主性,在使用P2P体系结构构建P2P系统时,并没有对原来传统的互联网的拓扑结构进行大范围内的改造。也就是说,P2P网络还保留了传统的互联网拓扑特性,构建一个P2P系统社区比较容易实现,而Grid则不然。
1.2 网格体系结构
  网格作为一种庞大的信息基础设施,必须设计一个坚实可靠的体系结构。网格体系结构是支撑网格正常有效运转的基石。因此必须加大力度,首先要解决网格体系结构所面临的种种问题,为构建资源无缝共享的网格系统提供强有力的技术支持。
  当前讨论得最多的网格体系结构有五层沙漏结构和开放服务网格体系结构[3]。五层沙漏结构是一种以协议为中心的体系结构。按照沙漏模型的原理,少量的核心协议形成了协议层次结构中的一个瓶颈。在五层结构中,资源层和连接层共同组成这一瓶颈部分,促进了单独资源的共享[1]。五层沙漏结构是一种分层结构,如图2所示。


  网格的OGSA是一种以服务为中心的结构,一切都是服务。一个服务[2]就是一个网络可达并提供某些能力的实体,如计算资源、存储资源、网络、程序、数据库及其他类似的资源。服务遵循一套规范,使用WSDL表示。OGSA被称为下一代网格体系结构,是在Globus基础上,结合最新的Web Service 技术提出来的,现已成为事实上的标准。OGSA包括两大关键技术,即网格技术和Web Service技术。基于网格环境,OGSA 在原来Web Service服务概念的基础上,提出了“网格服务(Grid Service)”的概念,用于解决服务发现、服务创建和服务生命周期管理等一些临时服务的问题。
  不论是五层沙漏结构还是OGSA,在构建网格系统并对Grid进行拓扑规划设计时,在整体上都是以分布式模式为主,然而在具体实现细节上都没有脱离集中式的思维,其中一个显著的特征就是,网格系统的网络拓扑结构通常采用层次式的集中模式来组织模型,这样可高效地对网格资源实现控制,为快速发现资源提供保障,因此是一种充分考虑到QoS的方式。但是一旦系统规模过大,这种层次式的集中模式会因为瓶颈的缘故而成为Grid的弊端。
2 P2P与Grid的资源组织" title="资源组织">资源组织与管理
  若将P2P与Grid的体系结构比作人的骨架,则它们的资源组织与管理就如同人的肌肉。与其他分布式计算一样,资源管理提供了管理的功能和概念,是利用P2P与Grid对资源实现高效利用这一功能的最核心模块之一。P2P与Grid的主要目标都是要把互联网中的闲置资源(计算资源、网络资源和存储资源)整合起来,使得整个网络系统成为一个统一的计算平台。P2P和Grid系统最主要的特征就是整个网络是一个动态的环境,资源会频繁地加入和退出,这种动态特性使得其对资源的高效利用很难实现。因此,需要对资源进行组织并对其实施合理管理。
2.1 P2P的资源组织与管理
  通过聚集位于互联网边缘的数量庞大的普通计算资源、网络资源和信息资源,实现这些资源之间的相互共享,而且不必管理以集中方式构建的虚拟的计算机网络系统,就可以为互联网边缘的普通的计算机用户提供有价值的服务。这样可以减少对核心服务器资源的长时间的占用,可以减少整个P2P系统的瓶颈的产生,有效地实现系统的负载均衡。P2P现阶段的主要优势在于充分利用互联网边缘的一些廉价的资源以实现文件的共享(如Napster和Gnutella的音乐和视频文件在P2P社区内的共享),这样就从很大程度上强调了普通用户的自主性。
  与网格资源组织方式不同,P2P并不急切地需要功能强大的计算机加入到P2P社区来从事大型科学计算。相反,P2P目前所聚集的计算机通常为位于互联网边缘的极普通的个人电脑。P2P利用聚集数量很多的微小计算机实现大规模的资源共享,也就是说,P2P相对于Grid而言是从数量上取胜,而Grid则强调其社区内的计算机的质量。网格强调结构健壮性,不允许其失败;而P2P由于所整合的计算机的性能低且大部分位于互联网边缘则恰好相反。
  相对于Grid而言,P2P资源组织和管理方式不强调对资源的绝对控制,所有资源采用自愿的方式自动加入到P2P社区,提供自己的服务,共享社区内的其他成果。目前的网格技术向一些中等规模的社区提供许多服务,并对能够提供优良QoS服务的重要资源强调集成,而P2P技术则处理许多参与者,很少注重服务的QoS。
  由于P2P是一个极具动态特征的环境,所以P2P提供一种“在线”的方式来发现P2P社区内的活动资源,“在线”管理是其提供的主要功能之一:每个节点周期性地告诉系统“在线”,同时发现其邻居节点。这种动态特征也要求P2P系统对资源以一种松耦合的方式进行管理,并实现资源之间的互操作,即只有资源“在线”,系统才会有该资源的记录,也才会有其他资源与该资源进行直接通信,实现信息共享。一旦该资源“离线”,原先与之交互的资源马上会与其他资源进行信息交互。
  目前P2P中的资源发现方式有两种:集中式与泛洪式,或者是两种的结合。集中式与Grid有些类似,但在该模式中,由于P2P的索引服务器只提供资源的索引,当在索引服务器中查找到了资源时,将其定位到网络中的合适位置后,信息就可以在两个节点之间直接进行传输,这也是P2P系统中服务器与Grid系统中服务器工作模式的不同之处;泛洪式则以一种全分布的模式在网络中以某一节点为中心一直“向前”发送查找请求,直至其生命周期结束;而集中式与泛洪式相结合的P2P系统,资源的发现方式是这两种方式的折中。
2.2 Grid中资源组织与管理
  相对于P2P系统而言,网格系统常组织并整合一些高性能计算机,并利用聚合起来的计算能力从事密集型的科学计算。因此,网格系统整合的资源比典型的P2P资源功能更加强大,资源的类型也更加多样化,同时还会以更宽的带宽资源来连接那些资源(一般通过高性能网络技术)。
  网格环境下的资源组织与管理主要是基于集中式或层次式的模型,如在Globus Toolkit中,用户或应用系统可能通过资源信息服务器查询并直接获得给定节点的信息。该信息系统是通过预先组织资源信息而建立起来的,在处理动态的大规模分布式环境下的资源时,其效率和服务质量会因为瓶颈的缘故大大降低。
  由于网格在逻辑上连接了属于不同所有者或组织的多重资源,因而选择合适的资源管理体系结构模型有助于提高网格系统的性能。由于资源属性值纷繁复杂,所以需要一种统一资源描述机制来对资源进行惟一的命名并说明该资源能够提供的服务,以有利于资源共享以及资源和任务的正确匹配,从而避免任务随便占用资源,影响其他任务的资源分配。目前网格中所使用的资源描述语言有资源规范语言RSL、基于XML的WSDL(万维网网服务描述语言)、资源描述框架RDF、统一资源标识符URI以及基于属性对的资源描述方式[1]
  Grid所组织的的资源纷繁复杂、种类多、信息量大,分散在各个不同的地域和管理域中,由不同的组织拥有和操作,并且在使用策略和安全机制上各不相同,即不同站点可能会使用不同的局部资源管理系统。同时,很多应用系统需要同时使用多个站点上的资源,站点自治和分配资源时可能出现的故障需要一种特殊机制来同时分配位于多个站点上的资源。在这种环境下,如何有效地以一种紧耦合的方式管理网格中的各种资源并对资源实现无缝访问,相对P2P系统的管理方式而言是一项十分繁杂的工作。
  要实现高性能计算和共享异构网格资源,必须提供统一的资源管理机制。该机制负责用户与网格计算环境的交互,提供与网格计算系统的统一出入口。图3为一种通用的网格资源管理结构[2],其中的基本资源管理操作(请求、提交和绑定)可应用于任何资源类型。


  图3中,通过执行符合应用需求的调度,执行提交操作以便任务等待资源绑定;发现可用资源,并通过获取操作获得资源能力;最后通过绑定操作,将所获取的资源与相关的提交任务相绑定,资源得到了使用。
  资源管理行为是自下而上流动的,图顶端代表资源管理的最终目标,表示请求者执行任务的资源。流向图顶端的两条路径,左边路径从任务(资源消费者)的角度表达了资源管理过程,右边路径表达由资源提供者提供的资源能力。
  目前网格资源管理系统模型按照体系结构主要分为三类[5]:层次模型、抽象所有者模型和市场经济模型。这三类模型分别体现了三种不同的技术思想,从不同程度上适应网格环境下的资源特性,实际的网格资源管理系统往往是这三类模型的不同程度的混合。
  资源发现根据其资源组织形式通常以集中模式或层次模式的方式来发现实时可用资源。由于网格资源的注册是一种静态的模式,所以网格资源管理服务器所发现的资源有可能不能使用,需要通过资源监控器来掌握即时的资源状态信息。所以,相对P2P系统中的“在线”发现方式,网格资源管理服务器还不能管理动态的、全局范围内的资源的实时信息。
3 P2P与Grid的安全机制
  P2P与Grid的安全机制就好比人的免疫力,要求能够抵御各种有害的威胁。在Grid中所面临的有惟一验证、授权等安全问题,包括访问控制、保护资源不被非法占用、通信安全、提供认证、数据保密性与完整性和各通信端的不可否认性服务。
  安全是网格的核心技术之一,参与网格社区的用户需要进行安全认证及身份相互鉴别,通信时需要实现信息的加密、私钥对信息的保护、安全委托与单点登录等机制来巩固网格自身的免疫力[3]
  P2P系统起源于“匿名形式”的资源共享,用户可以匿名共享一些资源或在互联网通过P2P技术搜索一些P2P资源,并直接下载,整个过程不需要任何的身份验证。
  网格动态性的本质需要容错机制,在执行高度分布的程序时,需要一种可靠性和容错机制保证程序的正确运行,P2P系统的广泛分布性可能会避免一些关键性的失败。
4 P2P与Grid的应用
  P2P与Grid的应用各有所长,并在各自适合的领域发挥自己的最大潜力。网格应用范围非常广泛,而P2P系统则倾向于支持解决专门的资源共享问题。它们的应用有一个显著的区别,就是前者在处理数据密集性的计算方面能够提供很好的服务质量,而由于分布性以及整合计算机的性能特点,P2P系统处理这方面的问题则需要消耗很多时间。网格社区的建立意味着需要一定数量的参与者,但由于访问网格资源的严格授权机制,某个时间段的参与者可能比较少,而P2P没有这方面的限制,允许有数以百万计的用户同时参与到比网格社区更大的P2P社区。P2P侧重于文件共享,比较受欢迎的应用产品有FreeNet、Gnutella、Tapestry、Pastry、Bittorrent、eDonkey、eMule、Groove、Chord、CAN等。而网格侧重于大规模计算,如生物基因、天文、高能物理、战场仿真、核模拟、数字地球、大规模的信息和决策支持系统等领域,非常庞大数据量需要处理,数据网格就是面向这些数据密集性计算的网格应用。美国费米国家加速器实验室和阿贡国家实验室联合全球科学家一起正全力打造“国际数据网格”系统。各领域的各种研究资料零碎地分散于各处,难以共享。若将此类资料通过网格共用,就可以发挥最大的综合效果。美国军方就是在此基础上规划实施一巨型网格计划,名为“全球信息网格”(Global Information Grid)。知识网格使用通信、授权、信息和资源管理等基本网格服务建立非常明确的PDKD(Parallel and Distributed Knowledge Discovery)工具和服务。上海将启动“城市网格”建设,以消除目前存在的信息分散、标准不一、系统异构等现象,整合上海市的信息资源,形成跨部门的信息共享和利用机制。
  通过分析P2P和Grid体系结构、资源组织与管理、安全和应用等方面的异同点发现,P2P与Grid在各个模块都有不同程度的互补性,如在构建系统时,P2P实现简单,而构建Grid平台就比较复杂;P2P搜索资源强调健壮性,Grid强调搜索的高效性,P2P为了方便普通用户的匿名访问机制及资源的高度冗余性使其安全措施没有Grid严密,P2P的应用面向互联网边缘的普通用户,而Grid则侧重于解决复杂的问题,为某个研究领域提供一个的取之不尽的计算能力。网格和P2P从构建到应用的整个流程中具有互补性,使得可对它们的实现方式取长补短,把P2P和Grid融合成为一个既具有P2P特点,能够满足最普通计算机用户需求,又具有Grid特点,能满足各个行业的科研工作人员需求的P2P-Grid系统。这样便可共用目前的互联网的一些基础设施,真正达到资源的高效合理利用。
参考文献
1 徐志伟,冯百明,李 伟.网格计算技术[M].北京:电子工业出版社,2004
2 Ian Foster,Carl Kesselman著;金 海,袁平鹏,石 柯译.The Grid2:Blueprint for a New Computing Infrastructure[M].北京:电子工业出版社,2004
3 都志辉,陈 渝,刘 鹏.网格计算[M].北京:清华大学出版社,2002
4 叶从欢.新型P2P结构模型研究[J].孝感学院学报.2005;(6)
5 Wolfgang Hoschek.A Unified Peer-to-Peer Database Frame-work for Scalable Service and Resource Discovery[EB/OL].http://dsd.lbl.gov/~hoschek/publications/ch6-grid2002.pdf
6 Ian Foster,Adriana Ianmitch.A Peer-to-Peer Approach to Resource Location in Grid Environments[EB/OL].http://peo-ple.cs.uchicago.edu/~anda/papers/iamnitchi-bookch.pdf
7 Shrideep Pallickara,Geoffrey Fox.NaradaBrokering:A Dis-tributed Middleware Framework and Architecture for Enabling Durable Peer-to-Peer Grids[EB/OL].http://grids.ucs.indiana.edu/ptliupages/publications/NB-Framework

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。