一、云计算环境下资源调度现状
近年来,云计算以其强大的计算能力、虚拟化的高可靠性服务、还有通用性以及高可扩展性等诸多优点,成功地普及和应用在各行各业。基于互联网的应用与生活的联系不断加深。许许多多的互联网应用都转向了云计算。大大小小的企业几乎都有自己的web端应用程序。云计算有着广大的市场以及巨大的经济效益[1],对于用户来说,如何既获得良好的服务又能节约成本成为了最主要的问题。
对于部署在云平台上的web应用程序来说,租赁服务器开销是最主要的花费。因此,如何选择租赁方案已及采用何种付费方案是重中之重。亚马逊弹性云EC2和存储云S3,微软Azure的PaaS等公共云[2]都是可供选择的云平台。用户应当根据现有访问数量购买相应的服务器集群。确定服务器数量以及规格后,付费方式以及服务时长也应该根据要求适当安排。云计算是按需请求资源、按实际用量付费的运行模式[3],通过虚拟化技术将分布在不同地理位置的计算资源和存储资源封装成服务,向互联网应用提供基础设施即服务(IaaS)、平台即服务(PaaS) 和软件即服务(SaaS)的三大服务模式[4]。亚马逊EC2最早推出云计算服务—弹性计算云(EC2),2009年12月亚马逊提出了现货竞价实例的概念.目前EC2服务有3种定价模式:①按需运行实例(ODI)定价模式, 用户可以根据应用程序的需求提升或降低计算容量,采用按需付费方式,只需要按小时支付计算容量费用,无需签订长期合同或交纳预付款。这种模式与用电类似,用多少付多少,灵活性好,服务有保障,但是单价最高;②保留定制实例(RI)定价模式,用户可以提前预订EC2实例,通常是签订1年到3年的购买合同,并一次性支付费用,类似移动通信的包年和包月 “套餐”,服务质量与按需实例的服务质量相同,而且费用较低;③现货竞价实例(SI)定价模式,这是一种低折扣、竞标租用 EC2的闲置资源的定价模式[5],亚马逊根据供求情况会周期性的发布现货价格,当用户最高竞价高于其现货价格时,实例将运行,反之实例被自动终止[6]。用户可以随时购买,但是由于价格波动,服务随时可能会被中断,竞价型实例最多可以节省90% 的成本。同理,采用相同价钱可以获得两倍到十倍的容量。
对于多层Web应用,大量的Web请求首先到达显示层,部分请求处理完毕直接返回,其余请求需要到应用层进行处理,到达应用层的数据还有可能访问数据层,每一层都有租赁的资源实例来处理该层内的请求。因此当阻塞发生时,如何进行资源调度,才能让资源得到充分利用并使经济花费降低,是我们应该思考的关键问题[7]。
二、现有的资源调度策略
资源调度是指在特定的资源环境下,根据一定的资源使用规则,在不同的资源使用者之间进行资源调整的过程。在这里,主要是指从云服务商购买资源实例。现有分析有 (1)基于单层Web应用进行分析,这类分析可以很清晰得分析出如何优化单层应用的服务质量[8]但对于当今主流多层结构带来的挑战还不能解决。(2)基于多层web应用程序资源调度,VM的动态按需配置允许IaaS用户确保其Web应用程序和基于Web的服务的可扩展性,从真正的低负载到高负载。Web应用程序主要是多层的,因为软件可重用性和灵活性。但是,由于每层的资源需求不同,因此很难估计这些层中工作负载的行为。因此,在每层分配资源变得非常容易。为了满足SLA(服务水平协议)要求,有必要分别在每个层配置资源。[9]但是,必须谨慎地进行VM配置,因为过度配置会导致运营成本增加,而配置不足会导致服务不足[10]。追求真正的经济高效,但简单单一的配置无法面对多变的访问请求数量变化。(3)基于负载预测的动态配置,web应用程序必须满足用户的SLA要求,所以当请求突然增加时,必须提前准备好足够的资源,否则当服务器瘫痪后再去申请实例资源可能为时已晚[11]。基于预测的动态配置策略能够很好地处理这类问题,但是当突发访问到来时,可以用准入机制来控制流入的流量,防止过度耗费资源。
总体上看,基于负载预测的动态资源配置策略可以很快速准确地应对服务器的资源供应问题。预测算法也很多样,有着不同程度的优缺点。现在有许多单一的预测方法,也有许多学者将很多单一的预测方法结合起来,称为更加高效的组合预测方法。
单一预测方法主要包括:(1)传统计量经济与统计分析方法,如多元回归分析、时间序列分析等;(2)后期发展的现代预测方法,如灰色理论模型、马尔科夫链、logistic模型、小波分析[12]以及人工神经网络模型[13]等。其中传统计量经济和统计分析方法的最大优点就是方法简便,且方法更新发展很快,适应性强。但其缺点是在使用时具有严格的假设条件,再者不能很好地刻画出现实中数据的复杂性特征,用多元回归法进行预测时受制于变量的选取,而变量选取易受建模者本人的主观因素影响,进而影响到预测的精度。 组合预测方法比较灵活,可以根据实际情况选择合适的预测算法。从构成组合方法体系的不同方法来看,主要包括以下几种组合。(1)同为传统计量方法的组合,如将 ARIMA模型与支持向量回归模型 (SVR) 进行组合来预测 CPI。(2)传统计量方法与现代预测方法的组合,如ARIMA模型、常规的固定参数线性回归模型、时变参数回归模型 (TVR) 和现代的马尔可夫转换模型分别对电价进行预测,并通过等权重的方式对单个模型预测的价格进行组合。(3)现代预测方法的组合,如有学者将神经网络模型与遗传算法组合起来预测黄金价格。
三、人工蜂群算法研究现状及其特点
Karaboga于2005年成功提出了解决函数优化问题的人工蜂群算法 (artificial bee colony algorithm, ABC算法) , 并与差分进化算法、粒子群算法等进行了比
