云计算平台联合资源调度优化算法研究

2017-04-08 09:30李春艳王茜
数字技术与应用 2017年2期
关键词:优化算法云计算

李春艳++王茜

摘要:在云计算平台的资源调度过程中,需要根据资源池所承载业务平台的负荷情况,及时调整业务平台所分配的资源。通过对不同类型的资源进行划分,来分析触发不同资源调整的条件,在此基础上探讨云计算平台不同资源下的各种调整策略,以此希望提高云计算平台资源调度整体的效率和性能。

关键词:云计算;云计算平台;资源调度;优化算法

中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2017)02-0146-02

随着云计算平台的规模化应用,越来越多的业务平台部署在云资源池上。因此在云计算平台资源管理过程中,为提高资源的利用效率和平台的整体运行性能,需要对业务平台的资源调度进行动态调整。但在各种不同的情况下如何对各种资源进行调整?具体的调整策略是什么?这些是云计算平台资源管理中需要去进一步研究的问题。

1 云计算概述

云计算是能提供动态资源池和虚拟化的下一代高效率和高可靠性的服务平台[1]。

1.1 云计算定义

云计算的定义可以从几个方面理解。狭义上是基于互联网,将各种服务器资源按照用户的需求进行获取。从广义的角度上看,可解释为基于互联网获取用户所需的各种服务,也就是各种服务的交付使用模式。因此,可将云计算定义为一种服务模式,它是按照用户所需要的各种服务提供相关资源,并将相关资源进行管理和调度。云计算的概念美国国家标准技术研究院(NIST)给出了定义:

云计算是一种以互联网为基础,以便捷、按照用户具体需求的方式访问以某种策略进行配置的资源共享池的模式。同时资源共享池尽量以较少的成本和供应商交互,快速计算、提供或回收各种资源[2][3]。云计算具有封装性、可扩展、可靠性、容错控制,、并行处理能力、按需服务、经济性等多个特点[4]。

1.2 资源池

云计算将各种计算任务分配至由大量计算资源构成的资源池中。这些计算资源共同虚拟构成了云计算平台的资源池,具体包括存储资源、计算资源、网络资源。云计算的本质是如果高效率的进行资源池的管理和调度,从而为用户高速、安全的提供需要服务。

2 云计算平台资源调度

2.1 云计算平台资源调度目的

2.1.1 以降低能耗为优化目标

大型数据中心每年消耗的电能是一个中等城市电量的好几倍,所以降减能耗是一个非常重要的目的。

2.1.2 以提高服务质量和资源利用率为目标

云计算的核心问题是如何将资源进行合理的调度和分配,使得用户尽快得到所需资源进行计算服务,同时提高各种资源的调度效率,优化资源利用率。

2.1.3 保证服务质量Q0S

任何服务提供商衡量标准都是服务质量Q0S[5]。对于云计算,在提供各种服务的时候也需要最大的保证Q0S,进一步体现云计算的优越性。

2.1.4 虚拟化特性

云计算提供的各种资源和服务整体来说对于用户是经过了封装的。终端用户使用云计算平台执行各种服务,是不用具体知道具体方法[6]。执行这些服务请求的是服务器,甚至只是虚拟出来的服务器。这种架构对用户来说不存在对设备的依赖,减少了使用的复杂性[7]。

2.2 云计算平台资源调度解决方案

云计算应用核心的技术是资源的管理和调度,尤其是资源的合理调度与分配。近几年来,针对云计算资源调度问题,相关的研究单位和研究人员也提出了许多解决方案。

2.2.1 为满足客户需求,完成时间最佳资源分配(CORA)问题[8]

完成时间建立客户/工作效用函数。在资源调度时,考虑到不同工作对资源需求的异构性和工作完成时间敏感度的不同,以客户对工作完成时间的敏感度为效用函数,以工作对资源的需求量和集群资源容量限制为约束条件,来优化求解集群中所有工作最小效用的最大值。

2.2.2 基于博弈理论的资源分配算法[9]

①单个参与者的独立优化问题:使用二进制整数规划方法处理;②多个参与者的综合优化问题:使用进化算法处理。

同时进化算法将优化和公平两个原则都考虑进去,给出较好的折衷资源分配方法。

2.2.3 基于蚁群优化的计算资源分配算法[10]

①首先预测所有可用节点的计算质量;

②根据云计算环境的特点,利用蚁群优化算法得到一组最优的计算资源。

2.2.4 一些商业的虚拟机资源管理工具[11]

如VMware Capacity Planner和IBM WebSphere CloudBurst。这种方法考虑的较多的是CPU、内存等的相关资源分配,对于网络资源方面的调度问题没有过多的进行考虑。

2.3 云计算平台资源调度相关算法

对于资源的调度优化是云平台性能优化的重点。

2.3.1 FIFO

相对于来说,最简单的调度算法。将用户提交的作业全部放在队列中,依照先进先出的方式进行调度。

2.3.2 Capacity

这种调度算法将资源平均分配给所有的作业,如果这些提交的作业对于资源的需求比较相同的时候,是效率较高的,但是没有考虑到作业的多样性,有一定的局限。

2.3.3 Fair

這种资源调度算法,首先要根据用户组或者其它具体情况进行综合配置,为每个用户组提供一个独立的资源池,然后采用公平共享的原则对作业就行共享资源的划分。

2.3.4 Deadline Scheduler

这种调度算法将作业规定了一个时间,在这个规定的时间内必须完成,如果没有完成直接回收资源。预防。

3 云计算平台资源调度优化方案

3.1 提高云计算平台资源利用率的方法

对于提高一个云计算平台资源利用率有以下两个方法:

3.1.1 保持整个集群的所有节点都处于一种几乎满载的状况

通过多队列的调度策略,通过作业等待队列与运行队列的调度执行的缓冲与配合,来保持所有的资源都在使用。

3.1.2 提高单个节点的使用效率

通过将作业以某种方式进行类型的划分,然后依据作业的类型来分配节点资源提高单个节点的使用效率。

3.2 云计算平台资源调度优化方案

一个节点的计算资源有多种,考虑算法的资源的调度运行情况和实际情况,将所有的Reduce作业类型简单分成CPU和磁盘资源依赖型。

对于作业类型的划分有两种模式。

3.2.1 用户指定作业类型

用户可以将作业依赖类型参数指定为:

CPU资源依赖型(CPU_dependant);磁盘资源依赖型(Disk_ dependant);

对于没有指定参数的作业类型,则直接安装原算法中指定的类型进行处理。但是这种作业配置要求用户对于作业类型和算法要有一定的专业知识,所以对于没有这方面知识的用户来说比较困难。

3.2.2 作业在调度执行程序中指定作业类型

①首先等待作业根据条件进入运行队列,调度器选取Map任务执行。

②将任务统称为Pilot,对它进行资源分析,确定是属于哪种作业。

通过对作业整体类型进行划分,将一道作业分解为Map-Shuffle和Reduce-compute过程。确定作业类型的具体方式如下[12]:

(3.1)

MID、MOD、SID、SOD: Map和Reduce任务copy阶段输入和输出数据的大小;

MTCT:Pilot任务的整个生命周期;

DIOR:磁盘I/O比率,根据这个比率的数值来对具体的作业类型划分。

3.2.3 优化的指定作业类型

如果出现数据本地化不佳的任务,需要从其他节点上下载Map任务的输入,因此MTCT较大,根据3.2计算出来的数值很可能是CPU依赖型。但是,实际上这类型的任务以磁盘依赖型任务较多。将3.1进行优化得出以下作业类型划分的方式[13]:

CPU依赖型:

(3.2)

磁盘依赖型:

(3.3)

CIR、COR:Pilot任务combine输入和输出结果;

:参数因子,用来根据实际情况进行调节;

MTET:任务执行时间;

任务的执行时间:MTET(MAP_TASK_EXEC_TIME)。

3.3 云计算平台资源调度优化算法

在多队列作业调度中引入多级调度策略,首先为每个用户组设置了两个作业队列。

①作业等待队列。按照作业优先级以及提交时间顺序进行综合排序,在初始化进入作业运行队列开始调度。

②作业运行队列。为每个作业队列分配一定的资源配额,配额管理方法与Capacity调度算法一致。运行队列还可分为可共享型队列和非可共享型队列两类。可共享型队列中的资源配额回收中加入了抢占共享机制。

依据作业类型的特点和需求,在云计算资源归一化的基础上,实现资源调度的优化。其中算法流程图如图1。

本文重点研究与分析了各种不同的资源管理调度方法、同时充分考虑云计算平台运行的实际情况,针对不同的资源分析触发这些资源调整的条件,并提出具体算法。此外,针对算法如何更加优化,比如,资源抢占、防止乒乓效益等,这也是云服务提供商非常关心的问题。因此,资源分配策略的不断改进和优化,需要更多的研究和探索。

参考文献

[1]李乔,郑啸.云计算研究现状综述[J].计算机科学,2011,38(4):30-35.

[2]S. Ghemawat,H.Gobioff, S.T.Leung.The Google File System. Communications of the ACM. Volume 37,Issue 5,pp.29-43,2003.

[3]L.A.Barroso J.Dean U.H lzle.Web Search for a Planet:The Google Cluster Architecture.IEEE Micro.Volume23,Issue 2,pp. 22-28, 2003.

[4]吴朱华编著.云计算核心技术剖析[M].北京:电子工业出版社,2011:79-82.

[5]赵立威,方国伟.让云触手可及微软云计算实践指示[M].北京:电子工业出版社,2010:153-155.

[6]韩建民,鹿玲杰.资源调度机制在计算机控制系统中的应用.计算机应用[J],2013,41(2):5-6.

[7]I.Menken, G.Blokdijk. Cloud Computing Virtualization Specialist Complete Certification Kit - Study Guide Book and Online Course. Emereo Pty Ltd. 2009.

[8]何福贵,侯义斌.基于有限优先级的动态调度分组算法.北京工业大学学报,2013,34(8):11-12.

[9]张鹏飞.云计算数据中心调度算法研究[J].电子世界,2014(3):3-66.

[10]林伟伟,齐德昱.云计算资源调度研究综述[J].云计算资源调度研究综述,2012(10):127-134.

[11]C. Guo, G. Lu, et al. Secondnet: A data center network virtualizat ion architecture with bandwidth guarantees[C].The 6th International Conference, USA ,December 2010,1-12.

[12]HIEU B T,NOBUYAMA E. A local voting method by scanning high-confidence level voters for vanishing point detection[C]/ /Proc ofSICE Annual Conference.2011:790-795.

[13]何一舟.MapReduce的性能分析與优化[D].武汉:华中科技大学,2011:68-74.

猜你喜欢
优化算法云计算
原子干涉磁力仪信号鉴频优化算法设计
故障树计算机辅助分析优化算法研究与应用
实验云:理论教学与实验教学深度融合的助推器
故障树计算机辅助分析优化算法的实践应用