一种基于服务选取的SBS云资源优化分配方式的论文

论文范文 时间:2020-02-09 我要投稿
【wcvg.cn - 论文范文】

  云计算的资源弹性分配特性允许企业和政府等组织按照实际需求购买资源,使其逐渐成为分布式软件系统的主要部署平台[1,2].随着软件规模和复杂性的迅速增长,大部分分布式软件系统开始采用面向服务的体系架构(service-oriented architecture,简称 SOA),进而具备可灵活配置、动态重构、维护难度低等特点.这类基于 SOA泛型开发的软件系统也称作基于服务的软件系统(service-based software system,简称 SBS)[3].SBS 可表示成一个由一系列组件服务根据不同组合规则(如顺序结构、循环结构、并行结构等)构成的业务流程,其中,各组件服务用于完成特定功能,而组合规则则定义了组件服务之间的交互关系.为了处理用户请求,需要将各组件服务初始化为相应的服务实例,并部署到云环境中分配有一定数量资源的虚拟机上. 由于云资源的按需付费模式,应用提供商在部署 SBS 时,通常希望以最少的资源满足与应用消费者之间达成的服务水平协议(service level agreement,简称 SLA)[4],其中描述了关于服务质量(quality of service,简称 QoS)属性的约束,如响应时间、吞吐量和可靠性等.实际上,云服务提供商的资源并不是无限的,如果应用的资源需求量过大,则当前云资源的状态可能无法满足其需要.因此,面向全局成本优化目标的 SBS 资源分配策略(即,各个组件服务的资源分配量)既要避免SLA违例,又要满足当前云环境可用资源状态的约束,分配策略的好坏直接影响 SBS 运行时的环境适应能力.

  目前,针对 SBS 的云资源分配量计算问题尚未提出有效的分配方法,主要依赖应用提供商的手工分配.对于结构简单的应用,如单层应用或者线性多层应用,可以比较容易地根据运行经验手工确定应用(每层)的最少资源分配量.在手工分配资源方法中,主要通过反复尝试为 SBS 各组件服务分配不同资源量,即,产生不同测试用例,然后从中选取满足SLA约束且资源成本最小的资源分配策略.然而在资源众多的云环境中,对于任意组件服务往往存在大量不同资源分配量,进而导致测试用例的组合爆炸问题,此时,手工分配方法是不现实的. SBS 云资源的手工分配,本质上是通过不断尝试一定数量的测试用例来确定最优资源分配策略的过程,因此可根据基于搜索的软件工程(search-based software engineering,简称 SBSE)[6]思想将其转换为一个最优化问题,并采用元启发式搜索算法求解.分析可知,为 SBS

  各组件服务确定最佳资源分配量类似于服务选取问题中为抽象服务选择最优具体服务的过程[7],其中,SBS 对应组合服务流程,组件服务对应抽象服务,其可能的资源分配量对应备选具体服务.由于服务选取是一种面向全局目标求解带约束的组合优化问题的有效手段,因此本文提出将 SBS 云资源的优化分配问题转换成为一个服务选取问题来进行求解.然而,如何将资源划分为组件服务的备选具体服务,是一个必须解决的难点.同时,与基本的服务选取问题不同,求解 SBS 最优资源分配策略时要考虑哪些备选具体服务不能被同时选取,以免违反可用资源状态的约束.

  针对上述问题,为了确定使 SBS 整体资源成本最小的资源分配策略,假设资源可以细粒度分配[8],并且能够获得云环境的当前可用资源状态.本文根据不同资源状态对应不同组件服务性能的特点,首先通过资源划分方法获取当前可用资源状态下组件服务可能的资源分配量,并利用性能模型和资源定价模型分别计算相应的组件服务性能与资源成本,进而生成组件服务的备选逻辑服务集;然后,建立了一种基于服务选取的 SBS云资源优化分配模型,并提出了求解该模型的混合遗传算法.算法采用整数编码方式对个体进行十进制编码,同时引入了精英保留策略,从而保证算法的全局收敛性.另外,针对遗传算法局部搜索能力差的不足,提出了基于局部搜索的变异算子.

  实验结果表明:所提出的基于服务选取的 SBS 云资源优化分配方法能够有效地确定每个组件服务的最优资源分配量,且与常用的求解整数规划的分支定界法和基于精英保留策略的遗传算法相比,本文的混合遗传算法能够在较大规模问题上获得资源成本较低的资源分配策略,且具有更快的收敛速度.另外,实验分析了不同资源划分策略对解的质量和算法求解效率的影响.本文的主要贡献在于: (1) 提出了两种能够显著缩小可行解搜索空间从而提高优化问题求解效率的资源划分策略,包括等宽划分策略和 Ent-MDLP 划分策略; (2) 在此基础上,根据 SBSE 的思想构建了一种云环境中基于服务选取的 SBS 资源优化分配模型; (3) 设计了一种能够有效求解该优化模型的基于精英保留策略和局部搜索变异的混合遗传算法. 本文第 1 节介绍相关工作.第 2 节描述云环境中基于服务选取的 SBS 资源优化分配过程.第 3 节给出组件服务备选逻辑服务集的确定方法.第 4 节提出 SBS 云资源优化分配模型及其求解算法.第 5 节对本文提出的优化分配方法和求解算法进行实验分析.最后总结全文并展望下一步工作. 1 相关工作 1.1 基于服务的应用的云资源分配 现有工作主要从工作流和业务过程角度进行云资源分配的研究.

  文献研究了一种云环境中基于控制论的自主动态资源分配源预算约束的基础上最大化自适应应用的 QoS,其中,自适应应用是由多个服务构成的,但是没有涉及到应用的组成结构;  文献采用云服务实现科学工作流,并且提出了一种基于粒子群优化的资源调度方法,其考虑了数据传输和存储代价,并以最小化整体成本为目标;  文献[10]研究了由多个工作流构成的SBS的资源动态分配方法,其优化目标是适应资源状态和QoS等的变化,从而最大化系统整体吞吐量;  文献[11]提出了一种用于视频监控组合服务应用的资源分配方法,该方法将虚拟机资源分配问题映射为一个多维背包问题,并且采用线性规划和最佳适应下降法进行求解,其假设构成应用的每个媒体服务所需虚拟机的资源量是已知的,问题的实质是确定虚拟机在物理机上的优化放置,目标是使所占用的物理机数量最少;

  文献针对基于服务的应用,将应用性能目标转换成组件级别的目标,进而确定各组件的资源需求,并使用多层应用程序验证了方法有效性;  文献[13]针对资源超额分配带来的高成本问题,提出了 ViePEP 弹性过程平台,其将业务过程管理系统与云资源管理系统的功能相结合,能够调度整个过程或者单个任务以满足服务等级目标,同时尽可能地降低资源成本和资源空闲率. 与这些工作不同的是:  本文研究的是在当前云资源状态下求解满足 SLA 约束与资源成本优化目标的 SBS 资源分配策略,而以上工作主要针对 QoS 优化[810],如系统吞吐量,或者在最小化成本时未考虑 SLA 约束;  其次,本文采用了基于服务选取的方法解决云环境中 SBS 的资源优化分配问题;  最后,在确定 SBS 的各组件服务最优资源分配量时,考虑了资源有限情况下组件服务对资源的竞争,以及资源分配策略对云环境中各物理机可用资源状态约束的满足问题. 1.2 基于搜索的软件工程方法 本文本质上是基于SBSE的思想,采用混合遗传算法在SBS各组件服务的资源分配量空间中寻找能够最小化资源成本,且满足 SLA 约束以及云环境可用资源状态约束的组件服务最优资源分配量组合. SBSE 方法近年来被广泛用于软件设计、测试、需求工程、软件项目管理等领域.

  这些工作面向不同目标,通过定义合适的适应度函数将软件工程问题转换成基于搜索的最优化问题,并采用不同元启发式搜索算法进行求解.遗传算法能够有效求解 NP 问题且实现相对简单,因此被大量运用于基于 SBSE 方法的研究中.文献采用遗传算法研究了 QoS 感知的 Web 服务组合与服务选取问题,表明该算法能够在令人满意的时间内找到近似最优解;文献在考虑性能、可靠性以及代价等因素的基础上,提出一种面向基于组件系统的软件优化及部署的遗传算法;文献从云用户的角度,基于排队论和历史平均到达率研究最优化 QoS 属性的服务部署问题,并提出了一种遗传算法E3-R 进行求解,该方法能够减少冗余 QoS 目标;文献[18]研究了如何在考虑云环境特性、部署架构等条件下将由服务构成的软件组件迁移到云平台,并采用遗传算法提高了在巨大解空间中搜

  结束语

  本文探讨了一种适用于云环境中 SBS 的资源优化分配方法.该方法基于 SBSE 思想,将资源优化分配策略的确定转换为服务选取问题,从而采用混合遗传算法搜索最优解.在转换问题时,定义了逻辑服务的概念,使得问题不仅从形式上与服务选取相匹配,而且还考虑了云环境中的资源约束,因此更具实际应用价值.实验证明了提出的模型和算法在确定 SBS 各组件服务资源分配量方面的有效性,且在遗传算法中引入精英保留策略与局部搜索变异,对于全局收敛性和加快收敛速度具有显著作用.另外,结果表明:提出的资源划分策略对优化算法求解效率和解的质量均具有一定的影响,因此有助于在实际问题中指导如何选取合适的资源分配粒度.本文扩展了 SBSE 方法在云计算领域优化 SBS 系统设计方面的具体应用,且所得优化结果对于提高 SBS 运行时的环境适应能力具有一定的帮助.在实际中,由于运行环境的动态性,如负载减少或增加、主机或网络故障导致的资源不可用等,确定的最优资源分配策略可能失效,因此在下一步工作中,有必要深入探索能够适应环境变化的SBS 云资源动态分配方法.

页面底部区域 foot.htm