论文部分内容阅读
近年来,随着互联网技术的发展,云计算成为了学术领域和商业领域的研究热点。云计算的中心思想是将需要处理的计算任务分配到由廉价的计算机群构成的虚拟资源池上进行处理。大量用户在请求云计算资源的服务时,云服务提供商需要制定一个有效的资源分配方案才能使得用户有满意的体验。因此在云计算这个庞大的系统中,如何进行合理的资源组织和任务调度就成云计算的关键技术之一。但是现今关于云计算的任务资源分配问题的研究尚处于摸索和发展阶段,现有的相关理论在科学性和方法论上还不太完善。如果分配调度方法不合理,则会造成用户的需求得不到满足等问题。为了设计出合理的任务调度方案便以给用户带来高效的云计算服务体验,本文对云计算环境下的任务调度问题进行了数学建模,建立了基于模拟退火遗传算法的数学模型,对单线程且相互独立的任务调度问题进行了充分的研究分析。本文在参照国内外相关研究的基础上对云环境下单线程相互独立的任务调度问题进行了分析研究。首先,介绍了云计算的概念以及云环境下任务调度的过程以及特点。然后,以最小任务完成时间为目标,建立了任务调度的数学规划模型,并利用优先选择所需计算时间最少的任务调度算法Min-min算法进行仿真分析,得到任务完成的最终所需时间为572秒。最后,根据遗传算法以及模拟退火算法的优缺点,将两种算法结合起来,并且在遗传算法的编码方式和交叉、变异操作上较传统的遗传算法做了很大的改进,在此基础上建立了基于模拟退火遗传算法的任务调度模型,利用模拟退火遗传算法得到的任务调度方案最终的任务完成所需时间为334秒。与Min-min算法比较而言模拟退火遗传算法大大缩短了任务完成所需要的时间,证实了算法的有效性。同时该算法也适用于云计算环境下不同目标的任务调度问题。在模拟退火遗传算法的具体过程中,本文将遗传算法中的染色体分成两个子串分开编码,两个子串分别代表任务的分配和任务的调度顺序。在选择、变异、交叉的操作中两部分子串也是分开进行操作,最后再将染色体子串连接起来成为一条染色体代表一个个体或一个解。另外,在变异和交叉的操作中,为了尽量使优秀个体的基因值不被破坏并且使不那么优秀的个体朝优秀个体的方向进化,本文采用自适应的交叉概率Pc和自适应的变异概率Pm:fmax、favg分别为种群适应度的最大值、平均值,f为父代中适应度值的较大值,f’为种群中任一个体的适应度值,k1,k2,k3,k4为参数。进行完遗传操作后得到新的解,将模拟退火算法加入进来,对产生的新解进行Metropolis准则判断,设time为当前解,newtime为新解,T为当前温度,则Metropolis准则为newtime<time newtime≥ time如果newtime< time,则以概率1接受新解;否则,以概率接受新解,舍弃旧解。