任务调度技术概述

(1)云计算

云计算通过多种部署方式, 包括私有云、社区云、公有云、混合云4种部署模型, 通过基础设施即服务、平台即服务、软件即服务3种服务模式用户提供服务. 云计算有2个显著的特征, 快速弹性可扩展、按需付费服务.

云计算关键技术分别有: 虚拟化技术、分布式数据存储技术、大规模数据管理技术、调度技术.

(2)调度技术

云计算中的调度一般分为两个部分: ① 资源调度: 资源调度是指对物理资源进行合理有效的管理和使用等; ② 任务调度: 将任务合理分配到合适的计算资源执行.

(3)云环境中的服务交付模型

云计算中的服务交付模型分为4部分, 如图所示.

在这里插入图片描述

① 用户提交任务;

② 任务管理器将其拆分成多个子任务;

③ 任务调度器通过调度技术将子任务与物理资源建立映射关系;

④ 任务完成后进行汇总, 反馈到用户.

由此看出, 从任务出发到完成, 在整个任务执行过程中, 调度技术是重中之重, 它影响到了整个系统的运行效率、用户服务质量、系统负载均衡、系统能耗.

因此一个适合云计算环境的调度技术十分重要. 由于调度技术分为资源调度和任务调度, 本文只关注任务调度.

(4) 任务调度算法
任务调度算法根据调度目标的数量可以分为2类: 针对单一目标优化的传统任务调度算法, 针对多目标优化的启发式思想的智能化算法.

4.1 单目标优化的任务调度算法
单目标优化的任务调度算法主要包括最小完成时间(Minimum Completion Time, MCT)、最小执行时间(Minimum Execution Time, MET)、交换算法(Switch-ing Algorithm, SA)、贪心算法(GReedy Algorithm, GRA)、先来先服务(先进先出)算法(First Come First Server, FCFS/ First In First Out, FIFO)、短作业优先算法(Shortest Job First, SJF)等.

其中MET算法考虑到任务的最短执行时间, 忽略了负载是否平衡的问题; MCT算法考量到任务最早的完成时间, 但是可能导致工作时间变长; SJF算法考虑选择用时较短的任务优先执行, 而忽略了任务的优先级.

从以上不难看出: 单目标优化的任务调度算法重点在于单一目标的最优解, 即某个实例的最优, 体现在“最”字上, 这样的话其他实例没在考虑的范围内, 就会不可避免的舍弃掉很多东西, 比较局限于某个目标最优, 而无法考虑到全局, 都是比较极端的算法, 为了达到目标, 可以不惜牺牲一切. 导致的后果是: 虽然该实例取得的效果最好, 但是因为要最大化的满足它而舍弃掉太多东西, 导致其他实例的效果就不是很理想甚至很糟糕, 使得结果具有很大的局限性而无法推广.

4.2 多目标优化的任务调度算法
在优化设计中, 要求多个目标达到最优的问题被称为多目标优化或者多约束问题. 在这种情况下, 基于启发式思想的智能化算法应运而生.

启发式思想的智能化算法思想在于: 解决多约束问题时, 在可以接受的花费的前提下, 得到一个解决方案, 给出尽量满足多个目标优化的一个可行解. 其核心点在于“多目标优化”, 即对于每一个实例来说, 也许当下解并不是它的最优解, 但却是多个实例在尽量满足需求条件下的极优解.

常用的启发式思想的智能化算法包括2类:

  1. 基于生物启发(Biological Inspiration, BI)

遗传算法(Genetic Algorithm, GA)、模因算法(Memetic Algorithm, MA)、狮子算法(Lion Algorithm, LA)、帝国竞争算法(Imperialist Competitive Algorithm, ICA), 是在云计算中与任务调度相关的少数生物启发算法.

  1. 基于群体智能(Swarm Intelligence, SI)

蚁群(Ant Colony Optimization, ACO)算法、粒子群优化(Particle Swarm Optimization, PSO)算法、模拟退火(Simulated Annealing, SA)算法、人工蜂群(Artificial Bee Colony, ABC)算法、猫群优化(Cat Swarm Optimization, CSO)算法、蝙蝠算法(Bat Algorithm, BA)、风驱动优化(Wind Driven Opti-mization, WDO)算法等.

(5)算法搜索过程中会进行信息交互的算法ACO, PSO都会面临一个问题: 信息交互后, 每个个体都会受到优秀个体搜索结果的影响, 都会向着优秀的个体“看齐”, 这样就会导致算法收敛速度大大加快. 算法收敛速度快会产生2种结果:

① 算法整体的进程节奏加快, 更早地达到终止条件;

② 算法丧失多样性, 容易陷入局部最优.

与之相反, GA, SA的收敛速度都相对比较慢, 其原因是GA会对种群中的大量个体执行操作, SA则会对温度变化过程中产生的每一个新解都进行操作, 花费了大量的时间, 收敛速度自然就快不起来. 算法收敛速度慢会产生2种结果:

③ 算法整体的进程节奏过慢, 算法搜索效率低;

④ 加强了算法的全局搜索能力, 有效降低陷入局部最优的可能性.

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值