论文部分内容阅读
网格的出现,使得在地理上广泛分布的各种资源在逻辑上形成一个整体,从而实现资源共享和协同工作。另一方面,随着传感器,存储系统,网络处理能力和容量的显著提高,使得创建海量数据文件成为可能,由此导致了数据密集型应用的兴起,这种应用不仅需要巨大的计算能力,同时还需要异常庞大的数据处理能力,普通的计算资源以及存储资源开始无法承载这种需求,因此数据网格得以出现。数据密集型应用所需要的这些海量数据的数据源有可能分散在地理上广泛分布的存储设备上,当大规模数据集在广域范围内进行传输时,必然会产生巨大的延迟,因此数据传输的效率成为关注的重点。由于同样的数据可能在多个地方存有副本,为了提高数据传输的效率,用户必须要有一个有效的方法来选择合适的存储资源以获取任务所需的数据。因此,为了更快的完成数据密集型应用的执行,减小其完成的时间跨度,不仅需要有效的任务调度方法,也需要有效的存储资源选择方法。本文研究的是数据网格中独立任务的调度问题。数据密集型应用可以分成一系列独立任务,各任务在执行过程中是相互独立的,不需要考虑任务执行的顺序。这些任务不仅需要强大的计算能力,同样需要处理庞大的数据集。针对这个特点,本文所研究的问题可以分为两个子问题:任务的调度以及存储资源的选择。调度的目标是使应用的整个完成时间最小化。为了更具体的描述应用的完成时间,本文对其进行了形式化描述,同时也形式化描述了本文所研究的具体问题。在此基础上,深入分析了两个子问题的特点以及遗传算法和禁忌搜索算法的优缺点,使用经过禁忌搜索算法改进过的遗传算法来解决第一个子问题,同时转换考虑的角度,以计算资源为单位而不是以任务为单位,使用禁忌搜索算法来解决第二个子问题。然后,针对所提出的方法存在的一些问题,改进了调度器模型同时对存储资源选择问题进行了规模上的缩减,并对算法做了并行处理、。最后,对提出的算法进行了模拟实验,实验表明,本文所提出的算法相对于其他算法,在减小应用的完成时间上在一定程度上存在其优越性的一面。