论文部分内容阅读
随着互联网的普及与发展,现代社会信息迎来了信息量的大爆炸,数据量大、多样化、异构性、动态变化是当今数据的主要特征,如何管理庞大而复杂多变的数据,在海量的数据中获取我们感兴趣的信息成为当今数据处理的难题。云计算是一种基于计算机网络的处理模式,将网络上共享的软件与硬件资源和信息按需的提供给用户。其核心思想是将整个网络看作一个虚拟的超级计算机,将单台PC机上难以执行的庞大计算任务划分为若干个子任务,并通过网络传输到若干台服务器上,再将计算结果进行数据汇总并返回给用户。从系统架构来看,云计算可分为:访问层、应用接口层和基础管理层。其中基础管理层负责对云资源进行管理,采用合适的算法进行数据处理和任务调度,提供高效的服务,对于整个系统的效率起着至关重要的作用。云计算环境下的任务调度策略的优劣对系统性能将产生极大的影响。通过对传统分布式计算系统比如网格计算的研究[1,2,3]。我发现对于树形网络下的任务调度策略的研究大多是基于服务器工作的传统六大模式,其中最多是基于全重叠单口模式,这六大模式共同的一个特点就是网络中所有服务器都不支持多任务并行处理,也就是说任何一个节点必须在处理完成上一个任务之后才能开始下一个任务的处理。然而当今云计算环境下,由于多核技术和虚拟化技术的日趋成熟,传统六大模式往往并不适用于当今的调度模型,因为在单一处理节点上可以并行的处理多个任务。近年来一些学者在针对网状拓扑结构任务调度的研究中,考虑了单处理节点上多任务并行状态,并提出了将遗传算法、蚁群算法等经典算法运用到云计算环境中。但是在树形结构这种特殊的网络拓扑结构中,仍然缺少考虑单处理节点上多任务并行的行之有效的调度算法。本篇文章中结合了当今构成云计算环境的主机以及网络特点,针对树形网络这种特殊的网络结构,提出了一种新的树形云环境独立任务调度框架。该框架依然基于主从模式,但是不再像以往一样拘泥于传统六大模式的限制,架构中各节点系统平台都是采用多任务并行处理,所以调度框架适用于当今主硬件平台。该调度框架从单一节点计算性能变化以及网络传输线路带宽变化两个因素出发,动态选择合适的节点分配任务。文章首先考虑了深度为二的树形网络下,如果施展该调度框架,并给出了调度算法的具体实施过程。随后,以此为基础,将该调度框架扩展至深度大于二的树形网络中。在多层树形结构的讨论中,我们分别基于不同思想,设计了两种截然不同的算法。一种算法是将所有单位任务目标节点的选择权全部授予主节点;另一种算法则采取了一种主节点与从节点分权的方式,将每个单位任务选择目标节点的权力层层下分。文章的实验部分主要是对比多层树形结构的两种算法的优劣。我们首先从目标节点选择的和理性上对两种算法,在这一环节我们使用simgrid模拟器搭建实验环境,通过实验数据对比两种算法那种更接近最优解。然后我们从网络开销上对比两种算法,通过数学公式进行理论推导,得出结论。最后我们对比了两种算法在计算时间开销上的优劣。该调度框架的提出为云计算环境下树形网络中的任务调度问题提供了一种行之有效的解决方案。