P2P与网格的互补性研究

资源类型:pdf 资源大小:205.00KB 文档分类:工业技术 上传者:陆亚芳

文档信息

【作者】 曾碧卿  陈志刚 

【关键词】P2P 网格 异同点 协同性 

【出版日期】2005-04-11

【摘要】P2P与网格都是新型的分布式计算模型,它们的总体目标相似,对P2P和网格模型中的安全性、连通性、访问服务、资源发现与管理、容错以及协同性等几个重要问题进行分析,为将P2P模型中的技术应用到网格中来创造条件。采用P2P协议和模型来处理网格计算,并利用P2P与网格技术之间的协同和互补来构建高性能的分布式系统,从而增加网格的可扩展性,实现非分层的分散网格系统。

【刊名】计算机工程与应用

全文阅读

1引言P2P与网格都是分布式计算模型,它们的成功,为分布式系统提供了很好的研究与发展范例,因此,目前P2P与网格均成为计算机领域的研究热点。网格是利用Internet把分散在不同地理位置的计算机整合成一台对用户相对透明的虚拟超级计算机,构成一个在地理上分布的计算平台,从而实现计算资源、存储资源、数据资源、信息资源、知识资源及专家资源等的全面共享,用户可以通过单一的接口来访问它们。其中的应用包括了分布式计算、高吞吐量计算、协同工程和数据查询等诸多功能。网格有两个优势,一是能充分利用网上的闲置处理能力;二是数据处理能力超强。网格计算逐渐成为目前解决诸如高能物理实验、破解基因代码等数据量极大的科学工程计算问题的重要途径,它的进一步发展将像Internet一样,会对人类社会产生巨大影响。随着硬件成本的不断下降、网格以及cluster集群等方法的逐渐成熟,它们可以解决世界上90%的计算问题,而剩下的10%的问题只能通过high-end机器专门解决。尽管网格最早是为需要高性能计算的科学研究而设计的,但现在网格已经成为工业和商业领域协同资源共享以及在动态、异构与虚拟组织中解决集成问题的成功范例。在集中式的客户/服务模式中,系统过载、失效及低效的QoS问题是客观存在的,网格计算是解决这些问题的有效办法,因此网格模型基本消除了客户机/服务器之间的影响。当前的网格环境还对某些起关键作用的结点起着管理、协调功能。P2P系统中的任何一个节点(peer)都能够共享系统内的资源,peer间通过直接交换信息来进行信息和服务的共享,而不需要经过其它的中间实体。P2P最根本的思想在于网络中的peer既可以获取其它节点的资源或服务,同时又是资源或服务的提供者,即兼具客户机和服务器双重身份[1]。一般P2P网络中的每一个节点所拥有的权利和义务都是对等的,包括通讯、服务和资源的使用,因此P2P是一种分散的、分布式的资源管理模型。P2P网络的主要作用是进行文件共享,同时还能够应用于包括建立基于P2P形式的通讯网络、P2P计算或其它资源的共享等方面。P2P网络的典型系统有:进行文件搜索和共享的Napster、实现计算资源共享的SETI@home、进行分布式资源索引的Gnutella和基于flooding搜索的Gridella等。P2P的出现和迅速发展适应了某些新技术与软件工程结合而形成分散工作的趋势,同时随着互联网的发展以及B2B商务交易方式的日益流行,全面的分布式计算也成了一种商业需求,在过去十年里,渐渐形成了一种从集中的单机系统转向分布式系统的趋势,正是这些因素导致了P2P技术的快速发展。P2P计算克服了集中式计算中对功能强大的网络计算机的需求以及昂贵的带宽开销的缺陷,从而提高了系统的效率。虽然网格与P2P面向的对象有所不同,但从本质上来说都是要解决分布式计算或资源共享问题,P2P系统在设计时,其目标是解决文件共享中的匿名性、高度并行计算中的可扩展性及可用性等,而在实现网格计算的目标中,必须重点解决高性能计算中的异构性、可扩展性和动态自适应性,P2P与网格在设计与使用目标上都具有相似性,它们之间有许多值得相互借鉴的地方,因此,开展P2P与网格的互补性研究具有重要意义。2P2P与网格的异同点分析在网格与P2P的发展中,网格是一个终极目标,它融合了分布式系统的许多技术,力图实现对目前网络上所有能共享资源的访问,而P2P则是为了使得网络上的所有计算通信实体间能实现平等互利的通信而构建的,结点间可以相互访问和共享。因为网络终端节点的计算和存储能力以及连接带宽呈摩尔定理增长,而且P2P的低成本、高可用的超大规模计算和存储资源共享以及强大的网络联通性,还有更直接、更灵活的信息沟通方式等,都使得P2P技术能够大大提高这些节点的利用率,从而进一步提升网络、设备和信息服务的效能,现在P2P在加强网络中的人的交流、文件交换、分布式计算与服务共享等方面已经充分显示出了其强大的技术优势。P2P技术为服务共享、分布式计算和信息交流提供了更灵活高效的模式,也为信息安全带来了新的挑战和安全保障手段。在P2P和网格中角色是独立的,P2P和网格网络能够根据每个结点在网络中所执行的操作而指定每个结点是客户机还是服务器角色,在当前的实现中,一些结点更多地充当服务器而不是客户机的角色。在分析P2P和网格模型时,可以考虑资源发现与管理、连通性、访问服务、安全性以及容错等几个决定分布式模型特征的重要问题,对它们的异同点进行研究。2.1资源发现与管理网格环境中的资源发现主要是基于集中或分层模型进行的[2]。例如:在Globus工具包中,通过查询运行于特定结点上的服务器应用程序,或者查询运行于特定结点上的信息检索与发布程序,用户或应用程序能够直接获取有关一个结点的资源信息。因为构建这些网格系统是用来满足某一组织的固定需求的,这些组织中的网格无需支持更动态、范围更大的分布式环境。在那些动态而大范围的分布式环境中,查询数量的庞大会使客户机/服务器方法很快失效。资源发现包括发现网格中的空闲结点,当然也包括发现一些管理问题,目前在网格中还没有定义资源发现的全局性机制。而在P2P系统中,资源管理协议比较成熟,它采用的是主动报告策略,每一个结点周期性地向网络中的其它结点报告它的资源现状,同时发现其邻居结点的相应信息[3]。随着网格的发展,应该采用P2P系统中的分散资源发现模型,以提高网格模型的开放性。2.2连通性网格中一般都包括了具有很强计算能力的机器,它们通过高可靠性的高性能网络静态地连接在一起,同时,网格中可访问的结点数一般都较少,因为对于网格资源的访问是与严格的帐户机制结合在一起的,这类似于客户机/服务器计算模式[4]。P2P系统主要是由桌面计算机所组成,它们是间断性地连入计算机网络,连入网络时,可为其它计算机所共享,但随时可能会断开连接,因此其可靠性不稳定。由于P2P网络中连接的结点数远大于网格中的结点数,就新结点的接入、用户访问及账户机制而言,网格中的连接方法太繁琐、显得呆板,因此,网格计算可以从P2P更灵活的连接模型中受益。2.3访问服务在建设和使用网格时,对远程资源进行访问是其主要的创新。对于在远程机器上提交批量任务或进行交互性的应用而言,网格工具提供了相应的安全服务,这些机制为在结点间有效地共享和移动数据提供了保障。当前实现的P2P系统虽然不支持在远程机器中进行复杂的运算和数据存储机制,但是它在结点间提供了高效的数据共享和交换协议,研究将P2P任务提交模型和P2P任务调度方法应用到网格的任务调度和管理中来是一个非常有意义的事情。2.4安全性安全性是网格模型中的一个中心问题,在网格平台中,为了对用户进行认证、授权,并考虑到信息的完整性和保密性,已经在整合相应的机制方面做了一些努力[5]。网格中的机制具有相对的封闭性,在这些机制中,虽然可以使没有帐号或者是信任关系的用户参与到网格中来,但是网格中的安全机制既不允许用户、也不允许资源是匿名的。P2P系统则不同,它具有开放性,用户可以共享范围更广泛的资源(比如:从整个Internet中检索音乐),而不仅是在具体、确定的目标中进行工作(如:参加高能物理模拟)。因此,在大多数广泛分布的P2P系统中,安全机制中一般都不进行认证和内容确认,相反地却提供确保匿名和应对信息审查的协议,使系统更具有开放性[6]。因此,很多用户对于P2P系统的安全性很担心,安全性是P2P中的一个重要因素,P2P和网格这两个模型在处理安全性问题上的不同,使得研究如何整合它们中已有的方法来创建一个安全的P2P网格模型(P2P-Grid)是很有意义的工作。在这方面,Intel与信任运算平台联盟(TrustedComputingPlatformAlliance)正在研究并提供可支持端点数字签章、安全储存、授权与加密等安全软件,以建立可资信赖的P2P环境。2.5容错网格的动态性需要一些容错措施,特别是对于那些具有高度分布式的程序代码,因为这些程序能够在许多结点上派生出许多类似的、独立的任务。在网格模型和工具中,除了设置简单的检查点和重新启动外,可靠性和容错基本上没有得到重视。例如:Globus信息系统支持容错检测,但开发者必须在应用程序级别上实现容错。为了实现更高的可靠性,在研究、设计网格容错机制和策略时,应该考虑使用分散的P2P算法,这就能够避免集中服务所带来的单点失效。3P2P与网格的协同性分析在分析P2P与网格模型的基础上,可以发现网格从本质上来说是一个P2P系统,它们在广域网中实现异构机器间的合作、动态监视和管理网格资源并适应资源规模的动态变化等方面都有着很多相似之处,P2P与网格两者都具有相同的目标,都是为高性能计算、数据密集型应用等提供远程计算资源的访问能力。尽管网格中的许多方面是分层服务的,这种服务模式在以后的研究与实现中应该会得到修改或者是被舍弃掉。随着复杂应用中的网格结点数从数十到数千的增长,对于结点的功能应该进行分散以避免性能颈瓶的出现,这就为将P2P模型中的一些技术引入到网格中来创造了条件,这些技术融合到网格系统中以后,有助于确保网格的可扩展性,因为能够使用P2P的思想和技术来实现非分层的分散网格系统。P2P系统与网格计算均是分布式计算的子集,作为新型的分布式系统,网格与P2P模型有不少相同的特征,充分认识这些共性,有利于这两种技术的进步和互补。尽管P2P和网格网络现在均是研究热点,但是进行这两者之间协同性与互补性的研究成果还很少。Fox及其同事已经描绘出一个基于网格资源连接的P2P结构。在实现网格工具和服务、设计并开发能够访问与协调远程资源和服务的网格应用程序等方面都需要P2P方法。例如:Globus工具包的两种核心组件———监视和发现服务(MDS)以及复制管理服务,均可以使用P2P的方法来重新进行更有效的设计。如果把当前的网格看成是由众多组织管理的小网格所组成的联盟,对于采用超级peer网络模型的大型网格可以重新思考Globus的MDS了[7]。在这种方法中,对于一组客户机而言,每个超级peer作为一台服务器来使用,在其它的超级peers中,它们是对等的。这种拓扑在集中式搜索与匿名性的效率之间实现了平衡,并保持了系统的负载平衡和分布式搜索的鲁棒性。在基于超级peer模型的网格信息服务中,每一个参与的组织都会配置一个或多个结点,并作为超级结点来操作。在每一个组织内的结点将会与中心超级peer交换监视和资源发现信息,而对于不同组织中的超级peers将会以P2P的方式来交换信息。网格应用程序可以根据一个信息分散模型来进行设计,由于当前缺乏P2P-Grid中间件,因此需要进行较多的开发工作,但是在未来,P2P-Grid工具将会极大地简化这些任务。最近从事网格研究的团体提出使用WebServices来调整网格技术,开放网格服务体系结构(OGSA)使得开发者在分布式、异构、动态的环境中集成服务与资源。OGSA模型采用WebServices描述语言(WSDL)来定义网格服务的概念,它使用了网格及WebServices两者中的原理与技术。WebServices与OGSA两者追求松散的联系、服务及其实现,并在位置、平台独立性基础上实现协同工作。WebService技术是针对解决网络上异构平台间应用的相互交互而提出来的一种技术规范,它基于http协议,并使用XML来构建一个与技术、语言均无关,与底层操作系统也无关的通信基础平台。OGSA提供了一个集成P2P与网格的机会,该体系结构定义了标准的机制以创建、命名并发现永久的和暂时的网格服务实例,决定如何使用面向OGSA的网格协议来构建P2P应用程序将是一个具有挑战性的工作。通过在这样的一个框架内以P2P方式来实现服务实例,开发者能够在网格基础结构中提供P2P服务结构和配置。因此,在一个服务实例中,一个peer能够通过交换一个指定的信息顺序来调用一个网格服务,它也可能通过另一个peer来调用另一网格服务,这个网格服务是由另一个peer通过一个相关联的网格服务接口来发布的。4结论研究和分析网格与P2P技术的异同点与协同性,对于开发者和用户而言,

1 2

引证文献

问答

我要提问