刘洺辛,陈 晶,陈端君
(燕山大学 秦皇岛066004)
P2P是一种实现资源共享的分布式技术,系统中的各个节点是对等的,可以松散地结合在一起,资源的查询过程并发进行。因此将P2P技术和网格技术融合,寻找更适用于网格环境下的资源管理是当今研究的热点。
作为P2P技术与网格技术结合的结果——Super-Peer网络[1]是近年来新兴的一种网络模型,由2003年B.Yang等人提出,他们把P2P网络分为纯P2P网络、混合P2P网络和Super-Peer网络三种。2005年 Carlo Mastroianni等明确提出大规模网格中的 Super-Peer模型[2]。2006年J.Holliday等人针对大规模网络环境下如何选择Super-Peer问题进行了论述[3]。
随着技术的发展,网格计算和P2P计算也在不断融合。目前将P2P技术引入网格成为网格研究的一个方向,由此产生一种网络模模型结构Grid_P2P,Grid_P2P网络的本质仍属于一种Super-Peer网络。参考文献[4]和参考文献[5]全面详细地阐述了Grid与P2P结合的Grid_P2P模型的研究,引入了Super-Peer的概念,同时提出了该模型的结构及一些相关术语。参考文献[6]则进一步在网格环境里基于P2P提出了网络覆盖结构。
Grid_P2P模型将P2P模型中超级节点的思想引入到网格系统,在网格的超级计算机和普通节点之间引入Super-Peer的概念,Super-Peer的选取可以基于地理位置或基于普通节点中某些高性能计算机,在Super-Peer与Super-Peer之间构成一个P2P的中间层,形成如下的网络模型[7],如图1所示。
图1是一个局部资源管理系统模型,图中网格资源通过向信息接收器提交资源属性信息请求注册资源,信息接收器按资源类别把资源信息转交给PC管理器、LAN管理器或HPC(high performance computer)管理器。用户通过用户界面向任务接收器提交任务,任务接收器响应该任务对资源的请求,并向资源管理器提出资源查找请求。资源管理器通过一定的查找算法搜索所注册的可用逻辑资源,并把这些可用资源的属性信息按一定的策略和级别高低顺序记录在可用的资源管理器即资源预留服务器中,同时选择最佳的资源或资源集合分配给所提交的任务。局部资源管理系统中HPC管理器、PC管理器和LAN管理器除了要管理其中的资源树的逻辑信息外,还要把资源分为可用资源和正在运行任务的资源,并对这些资源进行监控,实时获取资源的最新状态信息,以便资源调度时不至于把任务分配到不能正常运行的计算资源上。信息接收器同时还要及时知道系统中的负载情况,一旦发现系统的负载过重,则把接收的任务及时地转移到其他最佳的空闲超级Peer,从而保证系统在Grid_P2P环境下的负载平衡。
已有的Grid_P2P网络模型主要涉及如下两层:在第一层中主要涉及到普通的Peer节点,每一个普通的Peer都从属于一个Super-Peer,即在一个Super-Peer的域内,所有的Peer都和该Super-Peer相连接。底层Peer需要向Super-Peer注册信息,Peer既可以是资源的提供者,也可以是资源的请求者。在第二层Super-Peer中,Super-Peer与Super-Peer之间以对等的方式建立无结构的P2P网络。Super-Peer与同层的Super-Peer节点之间建立邻居节点关系。
每个超级Peer即Super-Peer构成一个局部的网络系统,负责处理局部的事务,从而构成了Grid_P2P模型。
改进的Grid_P2P网络模型分为三层,增加了Manage-Peer(简写为 MP)层,加强对 Super-Peer(简写为 SP)层的管理,即改进的Grid_P2P网络模型分为三层:为MP层、SP层和普通节点Peer层,则相应的节点即为功能节点MP、超级节点SP和普通节点Peer。
假设整个网络 G={MP1,MP2,…,MPL},其中 MP1,MP2,…,MPL表示各个功能节点MP。
设 Mi={SPi1,SPi2,…,SPim},其中 SPi1,SPi2,…,SPim表示该MP域内的超级节点SP。
设 Sj={Pj1,Pj2,…,Pjn},则其中 Pj1,Pj2,…,Pjn表示该 SP域内的普通节点Peer。
下面对一些相关术语描述如下。
·普通节点P(Peer),即普通的P2P节点,既是资源的提供者,也是资源的消费者。如果能够提供符合要求的计算及存储资源,则同时将其注册为网格节点。当P为SP时,它必须首先将自己的资源信息注册到SP上.并定时向MP发送资源更新信息。
·超级节点SP,一组P2P节点的管理控制点,也是普通节点及网格节点,负责管理所在管理域的节点加入、离开、更新和消息路由。超级节点SP的作用是接收Peer或其他SP的请求并在必要时向MP节点或其他SP节点转发,SP定时通知MP和其他SP自身资源信息的更新情况。超级节点代理普通节点进行资源搜索,并将结果返回给普通节点。超级节点有缓存机制,保存着最近通信过的节点的信息。
·功能节点MP是改进的管理节点,也可以叫做“管理节点的管理节点”。但是功能节点和管理节点的不同,主要在于:功能节点是被节点管理员设定为只存储相应某一类服务信息的节点。例如,功能节点可以被设置成只存储网格中应用软件的信息,或者只存储网格中数据资源的信息。换句话说,功能节点的功能类似于现在的水库或者粮仓,它只能存储有关“水”或者“粮”的信息。功能节点的定义和选取要求节点有非常高的计算性能和较高的存储空间,同时也必须能够相对稳定地存在网格中。若干个功能节点以全连接或者是其他方式形成一个在超级节点之上的第三层.也就是功能节点层。MP负责接收SP和其他MP转发的请求信息和更新信息,在自身信息库中进行查询和更新。
·自治域。超级节点和它的子节点构成一个自治域,自治域可以是地理上相关的节点集合,也可以是有相同的资源共享机制的节点的集合。超级节点为自治域的核心。
改进的Grid_P2P网络模型如图2所示,最上层为MP层,中间为Super-Peer层,下层为普通节点Peer层。其中Super-Peer的选取是基于地理位置,每个Super-Peer构成一个局部网格系统。Super-Peer与Super-Peer依次顺序连接,形成一个环状。按照地理位置临近的程度依次选取一个或若干个Super-Peer使其从属于一个MP,MP与MP之间也是依次顺序连接,形成一个环状。其中,地理位置临近程度的选取依具体环境而定。
MP为网格构建过程中的中间节点,对SP进行管理。每个自治域中的SP与一个MP建立联系。当一个区域中的SP想加入到网格系统中时,该自治域域中的SP与一个MP建立连接并注册到MP,MP查询发送请求的SP是否属于临近范围之内,若属于,则为请求加入的SP选择一些已经在其上注册的最临近的SP,将这些最临近的SP的地址发送给请求加入的SP,这些SP成为新加入的SP的邻居节点。当MP节点发生故障时,SP节点依据地理位置的远近请求加入到临近的邻居MP节点。
图2 改进的Grid_P2P模型结构
在网格系统中,资源节点的信息是动态变化的,节点可以动态地加入和离开网格系统。为了保证服务的可用性,在大规模的网格系统中进行有效任务调度时必须考虑节点的动态变化。本模型中需要考虑Super-Peer节点和下层普通Peer节点的加入和离开。
(1)SP层中节点的加入和离开
当SP要加入网格系统中时,首先要向MP层的MP节点注册自己的信息,MP节点查看存储已在其上注册的SP的信息,为请求节点选择最临近的节点,将这些节点的地址信息返回给请求节点,使这些节点成为请求节点的邻居节点。
SP要定期检测其邻居节点,当其检测到与其连接的邻居节点失去通信时,向MP点发出请求,MP为其指派新的邻居节点来代替该故障节点。当SP离开网格系统时,须向其注册的MP节点发送退出消息,MP节点删除其注册信息。
(2)下层普通节点的加入和离开
在Grid_P2P系统模型中,当普通节点P加入Grid_P2P系统中时,需要向SP点注册其资源信息。当节点离开系统时,向SP点发送离开信息,SP删除其注册的资源信息即可。
在进行任务调度时,采用的是树形的组织方式,所以当节点加入网络系统中时,随机地连接已存在的该自治域节点作为其子节点并在该节点上注册自己的资源信息。当节点离开网格系统时,向其双亲节点发送离开信息,双亲节点删除其注册的资源信息 (包括该节点子树的资源信息),如果该节点有子节点,这些子节点选择出新的节点与其双亲节点建立连接,并注册其资源信息。
Grid_P2P系统在处理任务时不同于单机。单机系统中计算资源有限,一般是任务等待少量的计算资源,需要调度的是任务;而在Grid_P2P系统中,资源数量非常多,经常会出现资源等待处理任务。另外Grid_P2P系统中的资源是动态变化的,随着时间的推移,有旧资源退出和新资源加入。任务调度过程为:首先根据提交的任务属性来决定选择资源中的哪一类,然后在相应的信息资源管理器中查找初步满意的资源集,同时,资源调度管理者还需检查可用资源队列中的资源。如果可用资源队列中的具有最高优先级别的资源的优先级别超过了设定的范围,则可以先选择这个资源作为此次调度资源;否则,就等待计算从资源管理器中的所发现资源的优先级别。这两项操作是同时进行的,可以减少资源的相对发现时间。然后,根据资源所在的位置、网络流量、带宽、资源的使用率、资源的计算能力等参数,决定资源调度的次序。
在向SP提交任务时,可能会遇到本地系统负载过重,而不能满足用户的QoS需求的情况。此时,该SP就要向其他的SP转移一些任务,这种情况需要查找具有“最佳处理能力”的SP,并把任务迁移到具有“最佳处理能力”的SP,具体描述如下。
当某个P节点提交任务时,首先向其SP节点发出查询信息,SP节点在自己的当前信息中查找,如果查找到符合条件的资源,则进行任务调度,将任务调度到符合条件的资源。
当P节点的负载过重时,则该P节点发送负载转移请求给其SP节点,SP节点查找该SP域内的其他P节点的负载信息,并记录当前负载最轻的P节点的信息。若存在满足请求的P节点,则返回信息给发送请求的P节点,然后转移负载给满足请求的P节点;如果当前没有符合条件的资源,则发送负载转移请求给其相邻的其他SP节点。
当SP节点收到其相邻的SP节点发送来的请求后,该SP节点查找该SP域内是否有满足请求的轻负载P节点,若存在,则记录当前负载最轻的P节点的信息,然后返回信息给发送请求的SP节点;若不存在则继续将负载转移请求转发给其相邻的SP节点,SP进行任务调度,将任务调度到符合条件的资源。
假设改进的网格模型中有n个Super-Peer节点,即有n个超级节点,进一步假设每个Super-Peer具有m个普通Peer节点。在该网络模型结构下,每个节点向Super-Peer节点提交任务。在最佳情况下,需求信息提交后,只遍历一个Super-Peer且一次就能满足用户的需求,这种情况下最佳时间复杂度为O(1)。在最坏情况下,需要将网格中的所有Super-Peer都查找一遍,才能确定所需资源是否存在,因此在最坏情况下的时间复杂度为O(n×O(m))。
Grid_P2P网络模型将P2P模型中超级节点的思想引入到网格系统,在网格的超级计算机和普通节点之间引入Super-Peer的概念,在Super-Peer与Super-Peer之间构成一个P2P的中间层。Super-Peer的选取可以基于地理位置或基于普通节点中某些高性能计算机,每个Super-Peer实际上是构造Grid_P2P系统的一个局部网格系统。这样用户提交的任务绝大多数情况下是提交给其所在的Super-Peer处理,从而大大缩短了通信距离,进一步缩小了通信延迟。局部网格的存在极大地改进了层次调度模型中的不足之处,从而缩短了资源的查找时间。Grid_P2P资源管理模型不需要使用一种新机制来改变新注册的物理资源的物理网络链接状况来构造局部网格,局部网格系统根据地理位置的远近及资源的类别来组织资源,对于地理位置较远的资源建立其他的局部网格系统。需要注册的资源只需要向信息接收器提交该资源的属性信息即可。同时该系统具有良好的可扩充性,新的资源可方便地加入到超级Peer中,新的超级Peer也可方便地加入Grid_P2P系统中。Grid_P2P系统具有如下优点:各局部网格系统可使用不同的网格技术。超级Peer把资源分为三种形式来管理,缩小了资源查找范围,可以减少资源的查找时间;局部网格系统中的资源一旦被使用后,系统记录访问时间和统计访问的次数连同处理能力等参数信息均被保存到相应的可用资源管理器中,这些资源按照优先级确定其被调度的顺序,相对于资源信息管理器中记录的资源而言被优先调度。
Grid_P2P系统模型虽然具有以上的优点,但是Super-Peer节点的加入和离开将会对整个网格系统造成很大的影响,从而影响网格中的任务调度。改进的Grid_P2P系统模型增加了MP层,从而加强了对SP层的管理。MP为网格构建过程中的中间节点,对SP进行管理。每个自治域中的SP与一个MP建立联系。当一个区域中的SP想加入到网格系统中时,该自治域中的SP与一个MP建立连接并注册到MP,MP查询发送请求的SP是否属于临近范围之内,若属于,则为请求加入的SP选择一些已经在其上注册的最临近的SP,将这些最临近的SP的地址发送给请求加入的SP,这些SP成为新加入的SP的邻居节点。当MP节点发生故障时,SP节点依据地理位置的远近请求加入到临近的邻居MP节点,从而减轻了Super-Peer节点的加入和离开对整个网格系统造成的影响。另外改进的Grid_P2P系统模型中的Super-Peer节点的选取依据地理位置,而且成环状,这样的组织可以极大地缩短通信距离,进一步缩小通信延迟,同时也便于网格的扩展。
本文提出了一种改进的Grid_P2P模型,并对该模型的结构进行了简单介绍,给出了与该模型的相关定义,讨论了该模型中节点的加入与离开过程。在改进的Grid_P2P模型上,阐述了任务调度过程和负载平衡过程,并分析了改进的Grid_P2P模型的优势。本文提出的改进Grid_P2P模型是基于地理位置的临近的,因此,需要对改进模型在空间上的限制进一步研究。
1 Yang B,Garcia-Molina H.Designing a super-peer network.In:19th International Conferenceon Data Engineering, IEEE Computer Society Press,Los Alamitos,CA,USA,2003
2 Mastroianno C,Talia D,Oreste Vetra.A super-peer model for resource discovery services in large-scale grids. Future Generation Computer Systems,2005(21):1235~1248
3 Holliday J,Dong-Sub C,Su-Hong Min.Optimal super-peer selection for large-scale P2P system.Hybrid Information Technology,International Conference on 2006,2(12):588~593
4 叶从欢,江武汉,孙世新.P2P与Grid的结合:P2P-Grid模型研究.微型机与应用,2005,24(5)
5 任长林,孟东升,阮秀琴.基于P2P技术的网格系统模型的设计与实现.计算机工程与设计,2007,28(8):1848~1851
6 Zhuang Yanyan,Liu Ye,Niu Lin.Construction of overlay network based on P2P technology in grid environment.Journal of Southeast University(English Edition),2007,23(1):57~62
7 杨长兴,江海涛.基于P2P机制的网格资源发现的研究.计算机系统应用,2008(2):101~104