论文部分内容阅读
近年来,随着互联网的发展,社交网络、多媒体服务、金融数据处理等众多信息服务领域的数据量一直在快速增加,针对这些海量信息进行处理的数据密集型应用也引起了人们的广泛关注。该类型应用对计算资源的性能提出了较高要求,传统的集中式计算已无法满足需求,因此高效并行的分布式计算成为研究热点,而云计算技术是实现分布式计算的有效手段。一般企业通过云计算技术构建面向数据密集型应用的处理平台性能有限,作业并发量较大时其效率较低,而混合云技术可以较好的处理这一问题。一方面,混合云可利用私有云满足日常业务需求;另一方面,当处理并发量很大的数据密集型作业时,可以租用公有云来完成服务,这样既可减少服务开销又可避免计算资源的浪费。然而随着混合云的不断普及,用户对其服务质量要求越来越高,传统的调度策略及模型主要作用于单云环境中,对于混合云作业调度的复杂性和动态性考虑不足,在用户需求的约束下并不能达到很好的调度效果,导致混合云服务能力低下、用户满意度不高。为了解决上述问题,本文的主要研究内容包括如下几个方面:(1)针对混合云由于自身结构复杂性而导致调度过程中容易产生作业执行时间和成本无法满足用户需求的问题,本文设计了一种基于人工鱼群算法的混合云服务选择体系结构。在该体系结构下,首先针对作业特征情况为用户作业进行分类排序,然后考虑到用户的截止时间和预算约束,为作业确定服务位置。当私有云资源满足用户需求时,混合云系统会将用户作业全部放入私有云中执行,而当私有云集群无法满足用户需求时,系统会将部分用户作业分发到公有云进行处理,为此本文在最小化时间和成本的目标下提出了一种基于人工鱼群算法的服务选择方法,求解出最优的混合云服务选择方案。(2)针对分发后的作业在执行过程中容易导致集群负载不均从而影响作业执行效率的问题,本文将动态反馈思想引入到混合云任务调度过程中。通过对私有云和公有云各自特点的分析,发现节点性能差异为影响私有云任务调度的主要因素,而节点及集群负载对公有云任务调度影响很大,为此分别设计了基于节点性能差异的私有云任务调度策略和基于负载预测的公有云任务调度策略。然后结合前面的服务选择结果,综合考虑调度情况,提出了一种混合云中基于动态反馈的任务调度策略。(3)根据设计的调度模型搭建混合云集群的实验平台,对以上研究内容进行实验验证。在混合云服务选择的相关实验中,先将本文改进的人工鱼群算法与其他改进人工鱼群算法进行了对比,实验表明本文改进的人工鱼群算法在收敛速度和寻优精度上具有一定的优势;然后从作业完成时间、平均执行费用和用户满意度方面,将本文提出的服务选择方法与其他的同类型算法进行了多组对比实验,结果表明本文的服务选择方法相较其他同类型服务选择方法,其作业执行效率提高了30.6%,而执行费用降低了21.8%,在性能和用户满意度方面都具有一定优势。在混合云任务调度的相关实验中,首先对本文使用的负载预测方法进行了实验,验证了其方法的有效性,然后从任务执行时间、任务吞吐量和负载倾斜率等方面,将本文提出的任务调度方法与其他同类型算法进行了对比,结果显示相较于其他任务调度算法,本文算法的任务执行效率提高了26.5%,而负载倾斜率降低了16.2%,具有较强性能优势。