论文部分内容阅读
伴随着云计算的深入发展和研究,在云计算环境中开发的科学工作流,商务工作流以及协同应用流程越来越多,他们功能强大且通常都需要大量的资源。同时在云环境中应用服务流程变得越来越繁杂,此外还受到成本,时间及资源等因素的约束。通过可视化模型,云工作流系统可以灵活快速地构建复杂流程,然后根据流程执行和管理云计算应用,从而使得云环境中的应用服务能够自行高效执行。相比于其他的传统计算环境,云环境是根据用户需求获取计算存储资源并按使用量进行付费。因为云计算的特有的性质导致传统工作流的相关技术不能很好地解决云工作流管理中的问题。资源分配和任务调度是云计算中两个重要核心的技术。云工作流任务调度指的是在云环境中把用户提交的工作流实例中的每个任务派分到合适的计算资源上进行执行并且对任务的运行情况进行管理,这能够影响云工作流实例执行的成功率以及高效性。相比于传统环境中的调度,云工作流调度在进行调度时不但要关注为任务选择最优的资源来符合预先定义好的调度约束(通常考虑运行时间和运行成本),而且还要注意各个任务之间的先后依赖的约束条件,此外一定要协调各个任务的执行情况来获得最优的执行方案。云工作流调度通常是NP完全问题。论文对云工作流任务层调度进行深入研究,分析由底层资源虚拟化形成的虚拟机的分时特性,结合工作流任务的各类QoS约束,提出了基于虚拟机分时特性的任务层ACS调度算法。该算法考虑任务整体的成本约束,优化执行性能,同时考虑由底层资源虚拟化的虚拟机各自的性能,设定虚拟机允许最大并行数。由于云工作流任务层调度所面对的是集成工作流实例,每个任务的QoS约束更加复杂。我们针对诸多的约束设置多种启发式信息。经过仿真试验,我们提出的算法相比于其他算法在对于较多并行任务的执行上存在较大的优势,能够很好的利用虚拟的分时特性,优化任务到虚拟机的调度。