一种面向流媒体云服务平台的自适应负载均衡方法

2013-12-22 08:05江小平李成华
关键词:实例时延服务平台

江小平,张 涛,李成华,江 腾

(中南民族大学 智能无线通信湖北省实验室,武汉 430074)

随着信息技术日益进步,特别是随着智能手机、平板电脑等可随时随地访问网络的产品日益普及,并发访问流媒体应用的用户数越来越多,需要面对十万规模抑或是百万规模的大并发流媒体服务的挑战,传统的服务技术在服务器I/O能力、带宽、海量存储、部署成本等方面都受到了前所未有的考验.云计算技术是分布式计算、集群技术和虚拟化等技术的综合发展,采用云计算技术实现流媒体服务将会受到越来越多的关注.

本文结合流媒体服务原理和云计算的资源虚拟化、弹性可扩展等技术特征,首先提出了一种基于云计算技术的流媒体服务平台体系结构,为了提高计算资源利用率以及减少服务拒绝率,提出了一种针对流媒体云服务平台的自适应负载均衡调整方法.

1 流媒体云服务平台的体系架构

图1给出了本文设计的体系架构示意图.服务体系分为三层:服务控制层,流媒体内容输出层,流媒体内容存储层.整个服务平台共享一个IP地址,集群中只有控制服务器对客户方可见,平台从用户角度来看就像是一台高性能的服务器.所有的服务请求首先到达控制服务器,由控制服务器将请求根据负载均衡的策略分发给云平台内的以虚拟机形式存在的流输出服务器,本文提出的自适应负载均衡算法在控制层服务器中实现.采用云计算的分布式存储技术实现流媒体内容共享式存储服务,存放所有用户需求的流媒体文件.

图1 流媒体云服务平台的体系架构

2 负载均衡算法相关研究

相关文献[1,2]表明,常用的负载调度算法有8种,它们分别是轮询算法(RR)、加权轮询算法(WRR)、最小连接算法(LC)、加权最小连接算法(WLC)、目的哈希算法(DH)、源哈希算法(SH)、基于位置的最小连接算法(LBLC)、带复制的基于局部性最小连接算法(LBLCR).

上述算法中,后4种算法属于动态调度算法,一般用于Cache集群,不是本文研究的重点.本文主要针对流媒体服务的网络请求,进行面向云计算平台下的负载均衡算法研究,对前4种算法进行分析比较,对比结果如表1所示.

表1 4种常见算法的比较

静态分配算法简单,复杂度较低,但是在实际应用中,由于后端服务器节点资源在任务运行时是动态变化的,不适合云资源平台下的大规模并发访问.所以,有必要采取一种机制,使得负载均衡器能够了解集群系统中各个服务器节点的负载状况,并能够根据负载的变化作出调整.

3 自适应的负载均衡方法

在云计算平台中,高可变的负载导致集群对资源需求不断发生变化,固定资源模式下的集群管理难以满足需求,基于资源自适应的调整方法[3]更适合于云计算平台下的资源调度.同时,本文根据服务器资源的综合负载和服务请求连接数作为该服务器的负载指标,提出了Least Comprehensive Load Value and Connection Scheduling(LCVC)算法.见图2.

图2 面向云资源的自适应调整方法

首先,负载调度器上运行的Monitor Daemon每隔一个时间周期收集服务器的负载信息(CPU、内存、网络带宽的资源利用率)计算出一个综合负载值[4].综合负载值V的计算公式如下:

其中:cpuuti,memuti,netuti分别为服务器实例的CPU,内存和网络带宽的利用率[2],V值越大,服务器负载越重.

对于空闲和阻塞状态,传统基于经验的判定方法可很好的工作,比如通过对服务器实例的指定度量(CPU、内存、网络带宽的资源利用率)设置经验阈值.在一个时间周期内,V<1.6即资源利用率均为15%时,该实例处于空闲状态;V>200即资源利用率均为85%,该实例处于阻塞状态;1.6

由于集群各节点实例都可能处于不同状态,故将实例根据状态划分到各个负载均衡调度域,每个调度域使用特定的负载均衡算法.LVS是以连接为粒度基于IP的负载均衡集群架构,内核管理软件IPVS通过调度IP来管理服务器实例.当服务器实例处于空闲状态时,实例的IP被写入RR算法脚本的调度队列,实例进入空闲调度域,IPVS对空闲调度域中的服务器实例采用RR调度算法;同样的,当处于阻塞状态时,阻塞实例的IP被剔除出调度队列,同时云控制端启动新的服务器实例,新实例的IP随启动直接写入LCVC算法脚本调度队列,新实例进入理想调度域,IPVS对理想调度域中的服务器实例采用LCVC调度算法.

LCVC算法的基本原理可描述为:假设某集群内有一组服务器S={S0,S1,…,Sn-1},C(Si)表示服务器Si的当前连接数,V(Si)表示服务器Si的综合负载值.当前的新连接请求会被送到服务器,当且仅当服务器满足以下条件:

C(Sm)×V(Sm)=min{C(Si)×V(Si)},0≤i≤n-1.

也就是说,新增的资源进入理想调度域时,综合负载值和连接数都是最小的,在较短时间内(远小于动态检测周期),网络服务请求都会被调度到该服务器实例中,从而实现系统集群的自适应调整动态负载均衡.

4 系统测试与性能分析

测试环境使用了4台联想PC机(配置:双核CPU,内存2GB)和一台惠普服务器(配置:4个双核CPU,内存16GB),100MB的校园内网带宽组成.实验环境选用CentOS 6.3操作系统,Eucalyptus[5]开源云计算平台,Xen[6]虚拟机以及VLC流媒体服务器,构建了云服务流媒体平台,同时服务器的集成采用LVS负载均衡集群架构,集群采取Hadoop分布式结构共享服务器资源,测试软件为LoadRunner.

测试中,客户机端利用LoadRunner向负载均衡器分别发送并发连接数为100、200、300、400的并发请求,测试系统的相关特性[7].见表2.

表2 吞吐率与时延

表2分别记录了负载均衡器中调度算法RR和LCVC时客户端单位时间的吞吐率(每秒收到的字节数)和时延(客户端收到第一字节的时间),可以看出,当连接数较小时,两个算法的吞吐率是一样的,但LCVC算法的时延要大些.而当连接数增加时,LCVC算法的吞吐率大、时延要小,明显优于RR算法.这表明,在负载小时,由于LCVC算法的复杂度高,所以时延相对稍大;当负载增加,网络流媒体服务大规模被点击应用时,LCVC算法的优势逐渐显现出来.

5 结束语

本文设计了一个云计算分布式共享存储的流媒体服务平台.为了适应云资源系统弹性可扩展特性和满足系统集群的负载均衡要求,本文提出了最低综合负载最小连接算法.新的算法克服了传统负载算法由于任务规模不对称和服务器资源不对称这两个方面的局限性,有效地实现了集群在大规模部署和弹性伸缩过程中的负载均衡.

[1]章文嵩,金士尧.可伸缩网络服务的研究与实现[J] .计算机工程与科学,2001(3):36-40.

[2]Zhang Wensong.LVS document[EB/OL].[2001-11-24].http://www.linuxvirtualserver.org/Documents.html.

[3]周欢云,王 伟,张文博.面向云环境的自适应集群调整方法[J] .计算机科学与探索,2011,5(4): 347-355.

[4]郑洪源,周 良,吴家祺.Web 服务器集群系统中负载平衡的设计与实现[J].南京航空航天大学学报,2006,38(3):347-351.

[5]Eucalyptus Systems Inc.Eucalyptus[EB/OL].[2012-12-02].http://www.eucalyptus.com/.

[6]Barham P,Dragovic B,Fraser K.Xen and the art of virtualization[C]//ACM.ACM Symposium on Operating Systems Principles.New York:ACM Press,2003:164-177.

[7]Giladi R.SPEC as a performance evaluation measure[J].Computer,1995,28(8): 33-42.

猜你喜欢
实例时延服务平台
打造一体化汽车服务平台
江苏省一体化在线交通运输政务服务平台构建
论基于云的电子政务服务平台构建
5G承载网部署满足uRLLC业务时延要求的研究
高速公路伴随式信息服务平台
基于GCC-nearest时延估计的室内声源定位
简化的基于时延线性拟合的宽带测向算法
完形填空Ⅱ
完形填空Ⅰ
卫星导航设备收发链路时延测量方法研究①