论文部分内容阅读
在过去的近十年中,云计算凭借其部署简单,可靠性高,伸缩性好和通用性广等优点逐渐被普罗大众所接受,进而成为新时代人们工作、学习和生活中一个不可或缺的角色。各大IT巨头企业也都纷纷聚焦云计算,从不同层面,结合自身业务特点,推出各式各样的资源服务,如亚马逊公司的EC2服务和谷歌公司的GAE服务等。用户使用云计算服务提供商的资源服务,并按使用量,参考一定的价格标准,付出相应的费用。然而,目前的云计算资源交付模式要求用户在使用资源之前需要明确资源类型和用量。这对一般用户,尤其是非IT专业的用户而言,无疑是个难题。若资源租用量不足,则可能牺牲用户的服务性能。若资源租用量过多,虽然可以保障用户的服务性能,但可能为用户带来额外的开支。另一方面,从服务提供商的角度出发,其合理有效安排任务调度和资源分发策略的一个重要前提是大致了解任务的资源需求。因此,预测云计算环境下任务的资源需求,在保障用户服务质量的前提下,最小化资源供给,减少用户开销,为服务提供商实施任务调度和资源分发提供参考意见,是一个亟待解决,并且具有实际应用价值的问题。本文在全面、深入地研究了现有云计算资源需求预测相关成果之后,以能够保障用户服务质量的云计算资源需求预测为目标,针对计算型任务,在资源交易市场模型、任务分类、多维资源需求预测以及动态资源需求预测四个方面开展了研究工作:首先,对云计算环境下资源交易市场进行建模分析,抽象出该市场模型下资源需求预测问题的场景。根据不同场景将资源需求预测领域的相关研究工作进行分类总结,并分析出其主流研究趋势和已有工作的不足之处,提出未来该领域研究的新思路。本文选取云计算环境中二级市场模型下计算型任务对个体计算资源需求的预测这一具体场景进行研究,并用形式化语言定义了该场景下的资源需求预测问题。其次,设计了一种基于资源消耗模式的轻量级任务分类方法Bejo,以提高云中计算型任务资源需求预测的准确率。该方法通过研究任务执行过程中周期性收集到的资源消耗快照,挖掘其潜在模式,使用改良的词袋分类技术对云中计算型任务进行分类。Bejo的分类准确率高达84.21%,比传统最优的算法高了7%。另外,与传统算法相比,Bejo无论从预测时间还是鲁棒性上都有明显的优势。接着,提出了一种基于性能约束的多维资源需求预测方法。与传统方法不同的是,该方法考虑了不同资源需求之间的相互制约性。同时,该方法力求得到能够满足用户服务质量需求的最小资源供给量。在该方法中,我们使用二分查找和一个基于密度的性能预测算法来预测任务的多维度资源需求。与传统资源需求预测方法相比,该方法将预测结果的平均准确率提高了28%。最后,研究科学计算型任务的动态资源需求预测问题。科学计算型任务执行时间长,资源需求动态变化等特点使得已有的相关研究不再适用。因此,我们提出了一种基于时间序列的动态资源需求预测算法,结合回归和时间序列分析技术,对任务执行的不同时刻的资源需求进行预测。该方法预测结果的准确度高达74%,并且预测时间开销小,具有良好的应用价值。另外,本文提出了一种集成资源需求预测模块的资源管理系统框架,可以将上述研究集成在一起,提供自动化资源预测,分配和调度管理服务。本文的研究成果将为后续的资源分配和任务调度等研究工作奠定基础。