论文部分内容阅读
云计算的迅速发展使得租户数量和数据规模都急剧膨胀,给基于云平台的大数据处理带来了很多迫切和严重的问题,其中资源分配和作业调度问题显得尤为突出。一方面,租户的资源请求非常频繁并且多样化,而现有的资源分配策略相对静态,不利于租户灵活地扩展其计算规模,更加难以适应上层应用的动态资源需求的变化以及资源使用的不均衡性,降低了集群的作业吞吐率;另一方面,分布式数据处理引擎被广泛的部署,不良的作业调度策略极大地影响了作业的处理性能,也造成了严重的资源碎片和资源抢占问题。因此,研究云计算的资源分配问题和作业调度问题具有重要的意义。本文基于已有研究成果,提出了基于弹性虚拟机的动态资源分配模型和策略,并且改善了现有的作业/任务调度算法在性能方面存在的不足,以解决系统资源利用率、作业处理性能以及公平性等方面的问题。本文的主要内容和贡献如下。1、提出了运行时间的弹性虚拟机动态资源分配方案,基于大数据作业/任务完成时间的预测模型,能在已有的云服务体系结构基础上进行增量式部署,提高了集群的作业吞吐率和系统资源利用效率,为解决离线和实时的作业问题提供了统一的平台。2、分析了大数据作业与服务器映射问题对于作业处理性能影响的重要性,设计了基于线性规划的启发式算法MarS以最小化总的加权作业完工时间。MarS算法采用了线性规划松弛原理和最短关键路径规则,可以证明MarS是3倍于最优解的近似算法,比传统算法提高了40%的处理性能。3、提出了线性时间的针对离散流处理系统中极小任务的快速调度算法,能够快速给出任务调度序列同时大幅减小了现有算法的计算复杂度。利用装箱原理将极小的任务尽可能集中地分配给CPUs,减少了资源使用碎片,并且保证了流处理系统的稳定性。4、提出了基于多目标权衡优化的多资源聚合调度方案,建立了一个新的综合资源分配和作业调度的架构,通过长期性的、利他性的规则收集到作业所贡献的空闲资源以及对剩余资源重新再调度的方法,能够在保证良好的资源分配公平性的同时,显著地减少平均作业完成时间和提高集群效率。