论文部分内容阅读
数据密集型计算的出现推动了海量数据的有效处理,促进了数据密集型应用的快速发展。日益增多的数据密集型应用对多维资源分配与调度技术提出了更高要求,主要表现在针对不同数据密集型应用情形的多维资源公平分配、综合能耗与性能优化以及实现服务供应商经济收益最大化的多维资源调度等。论文基于Mapreduce并行编程模型,在分析其资源分配的公平性及任务并发执行过程基础上,对数据密集型计算环境下的多维资源公平性分配和任务执行过程中资源调度优化问题进行研究,研究内容主要包括以下四个方面:(1)针对单机计算环境下基于任务可划分的多维资源公平分配,论文分别提出三种面向不同数据密集型应用情形的多维资源公平分配策略。1)基于字典序最大最小公平的多维资源静态分配策略,构建了一个通用p范数的字典序最大最小公平分配模型,采用一个基于二分法思想的启发式算法在多项式时间内找到一个近似最优公平分配方案,解决了静态情形下用户不同共享资源量和用户有限任务数量约束下的多维资源公平分配问题;2)基于共享资源量的多维资源动态公平分配策略,建立了一个基于共享资源量的占优资源动态公平分配模型,提出一种基于二分法思想的动态分配算法在多项式时间内找到一个近似最优公平分配方案,解决了动态情形下由用户共享资源量差异性带来的多维资源公平分配问题;3)基于任务数量的多维资源动态公平分配策略,建立了一个基于任务数量的占优资源动态公平分配模型,通过一个基于二分法思想的动态分配算法在多项式时间内找到一个近似最优公平分配方案,解决了动态情形下用户有限任务数量约束下的多维资源公平分配问题,以上三种策略均被证明满足公平分配属性。实验结果表明,三种策略能有效保证多维资源分配的公平性与效率性。(2)针对多机计算环境下基于任务不可划分的多维资源公平分配,论文提出了一种基于离散内点搜索的多维资源公平分配策略。该策略建立一个多机计算环境下全局占优资源公平分配模型,采用离散内点搜索算法得到一个近似最优整数分配方案,并设计修复算子保证分配方案的可行性,解决了任务不可划分约束下多维资源公平分配问题。实验结果表明,基于离散内点搜索的多维资源公平分配策略较其他分配策略在全局占优资源分配份额和资源利用率方面效果较好,且算法运行效率较高。(3)针对Mapreduce资源调度过程中能耗与性能双目标优化问题,构建了一个基于任务类型和资源槽类型的能耗与时间跨度最小化资源调度模型,提出二阶段启发式算法和改进的NSGA-Ⅱ算法。二阶段启发式算法中第一阶段得到每个资源槽类型上可执行的任务数量,第二阶段实现所有任务到具体资源槽的映射。然后将二阶段启发式算法得到的可行整数解作为部分初始解,采用改进的NSGA-Ⅱ算法得到一组近似Pareto最优解集,解决了资源调度过程中多目标优化问题。实验结果表明,所提出的算法能够快速得到一组权衡能耗和时间跨度的近似Pareto最优调度方案。(4)针对Mapreduce作业执行收益优化问题,论文首先考虑单个Mapreduce作业处理,建立基于单作业单位时间收益最大化资源调度模型,并提出一个二部图b匹配舍入算法。该算法将非线性整数规划模型转变为线性规划模型,并利用线性规划得到的最优解构造二部图,通过采用二部图b匹配舍入算法最终得到一个近似最优整数调度方案;考虑多个Mapreduce作业处理,建立多作业单位时间收益函数,并分别提出离线调度算法和在线调度算法实现单位时间收益最大化目标。离线调度算法采用基于能耗优化的资源调度算法和基于时间跨度优化的作业调度算法优化单个作业资源调度方案和作业调度方案。在线调度算法采用基于能耗优化方法优化单个作业资源调度方案,并根据作业到达时间顺序调度作业。实验结果表明,针对单个作业的二部图b匹配舍入算法和针对多个作业的离线和在线调度算法相比其他算法能够明显提高服务供应商单位时间收益。