1. 引言
P2P (Peer-to-Peer)模式是作为C/S (client/server)模式的替代方案出现的,在P2P网络中,每个对等点既可以从其他节点得到服务也可以向其他节点提供服务,极大地缓解了传统集中式网络架构中服务端的压力过大、单点失效等问题,实现了较高的系统可扩展性[1]。在过去20年来,随着P2P应用的不断增多,每天都有大量的用户通过P2P应用进行文件的上传和下载,P2P网络的性能和稳定问题也日益凸显。一方面,P2P架构下应用的服务效率及稳定性受到参与其中的节点的影响,在P2P网络中,存在搭便车行为用户和资源共享的用户。P2P网络中的搭便车行为用户严重违背了资源共享的理念,这类用户仅获取其他对等点的资源,却从不共享自己的资源[2]。另一方面,在系统中请求节点较少时,会造成部分服务节点空闲,这些空闲的服务节点虽然没有为用户提供服务但是和正在工作的服务节点有着相同的能量消耗,这些不必要的在线行为造成了不必要的能源浪费。
Sharifi等[3]提出了一种去中心化架构的云模型,称作P2P云,并通过实验表明该模型可以减小数据中心的能源消耗。Cheklat等[4]提出了一种基于Chord协议的P2P无线传感器网络模型,通过优化跳数和能耗,为P2P无线传感器网络提供了一种全新的节能路由方案。Ramachandran和Sikdar [5]建立了M/G/1/K排队模型来评估对等点的文件传输延迟,仿真结果表明其提出的速率比例分配策略有效缩短了文件下载时间。Zhang等[6]考虑了一种新的P2P网络系统,规定该系统的异构服务器在处理器共享规则下运行,通过M/M/1/N排队模型分析了有限容量下P2P网络系统的性能和单个服务器的性能。金顺福等[7]依据P2P网络节点的在线机制,建立服务器数随机变化的连续时间的排队模型,通过征收请求节点的合理费用方案实现了P2P网络的社会最优。Brienza等[8]研究并分类了在P2P网络和应用中实现能效控制的不同系统设计和方法。Zhang等[9]从P2P缓存、位置感知和数据调度三个方面对P2P网络流量优化技术进行了综述。
Karakaya等[10]认为搭便车行为用户的存在会影响到整个P2P网络的健康运转,并且将现有的应对该行为的策略分为下列三种:建立激励机制、建立声誉评价机制和实施互惠方案。Sheshjavani等[11]为基于P2P网络的视频点播流媒体提出了一种分布式的弹性激励机制,该机制将具有搭便车行为的对等点放置于远离视频资源的位置,以此来激励对等点在享受下载带宽的同时共享自己的上传带宽。Zghaibeh [12]在BT协议的基础上提出了O-Torrent内容分发机制,在排列成环的对等组之间允许资源单向传输,只有上传资源并且参与共享过程的对等点才可以进行资源下载。
本文将在现有研究的基础上,将排队论的方法应用于混合P2P网络,将网络中服务节点分为两类,对部分服务节点引入休假策略,建立排队模型。将请求节点抽象为顾客,将服务节点抽象为服务台,建立了带有两类服务台、抢占优先权和同步多重休假的M/M/c + d排队模型,利用拟生灭过程和矩阵几何解的方法,得到了系统稳态队长分布的矩阵几何解形式。通过数值实验研究休假策略下系统的能耗水平。
2. 混合P2P网络与建模
2.1. 混合P2P网络
混合式P2P网络也称为半分布式P2P网络,网络中存在多个超级节点组成分布式网络,而每个超级节点则由多个普通节点与它组成局部的集中式网络。在半分布式P2P网络中,系统自动选取高网速和高性能的计算机作为超级节点,超级节点承担系统索引服务器的作用,随着节点的频繁加入和退出,超级节点也具有一定的动态性。请求节点向超级节点获取资源节点的详细信息,之后与相应的资源节点建立连接进入文件传输阶段。混合式P2P网络的泛洪广播只发生在超级节点之间,即解决了单点失效问题,又避免了大规模泛洪导致的效率低下,在实际应用中,混合式结构是相对灵活并且比较有效的组网架构,实现难度也相对较小,因此目前较多系统基于混合式结构进行开发实现。
在P2P网络中,同时存在两类节点,一类是可以提供数据传输服务的服务节点,另一类是提出下载请求的请求节点。服务节点由于设备性能不同,提供的服务速率有所差异,但大体上可以分为两类节点,分别是固定节点和移动节点。固定节点设备性能好,运行速度快且稳定,同时通过固定网络接入,享有较大的带宽,能够支持更多的并发连接数,在单位时间内能够传输更多的数据,数据传输速度更快,因此可以提供高速率的服务。移动节点灵活性更强,进入网络离开网络频繁,通过无线网络接入,传输数据能力和速度不太稳定,受多种因素影响,因此只能提供低速率的服务。在建模过程中,本文将上述服务节点抽象为两类服务台,规定同一类服务台具有相同的服务速率。在P2P网络中,每个对等点既可以是请求节点,也可以是服务节点,愿意提供服务的对等点越多,整个网络的运行效率也就越高,反之,搭便车节点的存在不仅破坏了网络的良性循环,还影响了运行效率。请求节点也可以根据历史信誉水平,分为自私节点和资源共享节点,前者存在搭便车行为,只享受服务不提供资源共享,后者积极参与资源共享,是P2P网络的优质参与者。引入抢占优先权策略,系统服务资源将优先分配给资源共享节点,增加自私节点的等待时间,以此激励其参与合作,促进网络的良好运行。当系统中请求节点数较少时,服务节点会产生空闲,这种空闲状态仍然会产生能耗,当一个P2P网络规模较小时,这种能耗水平可以被忽略,而随着该网络规模的扩大,此类能耗水平将会变得非常可观。本文引入休假策略,将服务节点的在线状态抽象为服务台工作状态,将服务节点的空闲状态抽象为服务台的空闲状态,将服务节点的关闭状态抽象为服务台的休假状态,从而使得数学模型更加符合实际情况。
2.2. 模型假设
本文将请求节点分为自私节点和资源共享节点,分别将其抽象为两类顾客,将服务节点分为固定节点和移动节点,分别将其抽象为两类服务台,节点之间的资源传输过程抽象为服务过程,建立一个具有两类服务台、两类顾客、抢占优先权和同步多重休假的排队模型。
具体模型描述和参数设置如下所述:
1) 模型共有两类顾客,自私节点被抽象为I类顾客,资源共享的节点被抽象为II类顾客,其到达间隔
分别服从参数为
的指数分布
。II类顾客具有抢占优先权,II类顾客进入系统,首先前往空闲的服务台接受服务,当没有空闲的服务台但有I类顾客正在接受服务时,抢占该服务台,被抢占服务的I类顾客服务进度保留,回到I类顾客缓冲区队列队首。
2) 假设系统中有d个移动节点,全部位于I区,系统中有c个固定节点,全部位于II区。将全部d个移动节点视作一个服务组,称作低速服务组,将全部c个固定节点视为一个服务组,称作高速服务组。低速服务组仅可以提供低速率服务,每个服务台的服务时间
服从参数为
的指数分布,固定节点可以提供高速率服务,每个服务台的服务时间
服从参数为
的指数分布
,假设固定节点的数量大于移动节点
。
3) 当系统中两类顾客的数量均小于d时,高速服务组进入休假状态,该状态下设备关闭不提供服务,休假长度V服从参数为
的指数分布。在一次休假结束时,如果系统中I类顾客数大于等于d或者系统中II类顾客数大于等于d,高速服务组都将结束休假,所有固定节点从休假状态同步转为工作状态。当高速服务组从工作状态转到休假状态时,正在接受服务的请求节点将会保留其服务进度,迁移到低速服务组接受服务,仍然遵循II类顾客的抢占优先权,被抢占服务的I类顾客服务进度保留,退回I类顾客缓冲区队列队首。
4) 服务遵循先到先服务排队规则,假设请求节点到达时间间隔、服务节点服务时间和休假时间相互独立。混合P2P网络的运行机制如图1所示。
Figure 1. Operation mechanism diagram of hybrid P2P network
图1. 混合P2P网络运行机制图
3. 模型分析
3.1. 状态转移率矩阵
令
表示时刻t系统中I类顾客的数量,
表示时刻t系统中II类顾客的数量,${J}(t)$表示时刻$t$标准服务组的状态,具体如下:
则
是一个三维Markov过程,状态空间为
,如下:
系统中I类顾客数为i的所有状态称为i水平。当
时,其状态有:
。当
时,其状态有:
。
将各状态按字典序进行排列,系统的状态转移率矩阵有如下分块形式:
其中,
分别表示对应水平间的状态转移率,并令
。各分块矩阵具体表示如下:
阶矩阵
为
阶矩阵
为
阶矩阵C为
定义符号
阶矩阵
为
定义符号
当
时,
阶矩阵
为
当
时,
阶矩阵
为
当
时,
阶矩阵
为
阶矩阵
为
当
时,
阶矩阵
为
3.2. 稳态分布
从矩阵Q的结构可以得到,三维Markov过程
是一个拟生灭过程(QBD)。当QBD
正常返时,稳态分布有如下定义
其中
QBD
正常返的充分必要条件是矩阵方程
存在一个最小非负解,R且
,随机阵
存在左零向量,当QBD
正常返时,稳态分布满足以下方程组
其中
是维数为
且所有元素均为1的列向量,e是维数为
且所有元素均为1的列向量,
是维数为
的单位矩阵。证明过程参见文献[13]。
4. 性能分析
4.1. 性能指标
假设单个固定节点处于空闲状态和正常工作状态的能耗分别为
,单个固定节点处于休假状态的能耗忽略不计。假设单个移动节点处于工作状态的能耗为
,单个移动节点处于空闲状态的能耗忽略不计。
1) 高速服务组的平均能耗
2) 低速服务组的平均能耗
3) 网络总平均能耗
4.2. 数值实验
假设
,图2反映了
对高速服务组的平均能耗
和低速服务组的平均能耗
的影响。其他参数不变时,
随着
的增大而增大,随着
的增大而增大,这表明在到达率处于较高水平时,固定节点的在线时间会更长,所以能耗会增加。当
增大时,
也会随之增大,在网络中请求节点较多时,应该设置较大的休假参数来支持网络运行。d增大时
会变小,高速服务组在线时间变短,能耗减少。观察图形可以看出,
和
对
的影响不是很大,存在随到达率增大而减小的趋势,低速服务组在网络中请求节点数较少时可以保证网络在较低能耗水平下保持正常运转。
越大,高速服务组在线时间越长,低速服务组在线时间越短,
就越小d越大,低速服务组在线时间越长,
就越大。对比
和
可以发现,无论到达率怎么变化,
始终处于一个较为稳定的水平,移动节点的数量是影响最大的因素,而
的变化受到多个参数的影响,而且会随着到达率的增大而不断增大。
Figure 2. The relationship of
and
图2.
与
的关系
假设
,图3反映了
对网络总平均
的影响。固定请求节点到达率水平来考虑
和
对
的影响,当到达率处于较大水平时,
固定且较小时,
随着
的增大而减小,
固定且较大时,
随着
的增大而增大。所以当到达率水平较大时,移动节点较大时应该设置较小的休假参数来控制能耗,移动节点较小时,应该设置较大的休假参数来控制能耗。当到达率处于中等水平时,
越大
越小,应该设置更小的休假参数防止固定节点不必要在线产生不必要的能耗。当到达率水平较小时,休假参数对网络总能耗影响不大,因为网络中请求节点数量不容易达到高速服务组休假结束阈值。
Figure 3. The relationship of
and
图3.
与
的关系
5. 结论
针对混合P2P网络中服务节点不必要在线行为产生的能耗浪费问题,对部分服务节点引入工作休眠机制,采取同步多重休假策略来降低系统能耗,建立了带有两类服务台、抢占优先权和同步多重休假的M/M/c排队模型。运用拟生灭过程和矩阵几何解的方法,得到了系统稳态队长分布的矩阵几何解形式,通过系统稳态分析给出系统能耗的性能指标的表达式。通过数值分析,对服务节点各状态的能耗进行量化分析,表明适当增大工作休眠参数可以有效降低系统能耗。