论文部分内容阅读
Java并行应用通常需要处理大量的数据和复杂的工作流。Java虚拟机(Java VirtualMachine,JVM)正成为影响Java系统性能的关键,在单JVM性能提高达到极限时,构造多JVM的计算环境将是一个有重要研究意义的课题。本文对Java的分布式计算环境和网格调度领域的最新进展进行了深入分析与总结,重点研究了如何利用树型结构建立一个用于网格计算的多JVM集成环境,并使用分布式协作机制提高对Java任务调度的性能。主要研究工作的内容和贡献包括以下几个方面:
(1)提出了一个树型多JVM集成模型。通过JVM来统一不同的计算资源平台,使包括普通计算机在内的不同类型资源能够参与网格计算,以树的分层形式对丁VM资源进行管理,各个分支节点逐层将Java任务透明高效地分发给合适的JVM资源,实现任务的动态执行。对执行Java并行应用具有两个优点,一个是通过多个JVM资源并行地执行任务,可提高Java并行应用的执行性能;另一个是在减轻主节点负担的同时增强系统的容错性。
(2)提出了一个分布式协作调度模型。将网络上的多个计算资源用作子调度节点进行分布式协作调度,允许多种调度算法并发执行,从而使调度具有更强的可伸缩性和自适应性。分布式协作调度的过程是一个不断调整解空间搜索的过程,对各种不同类型的最优化算法进行了有效的协调,并动态控制算法参数和搜索空间。在算法运行的初期,对搜索空间进行广度搜索;在算法运行的后期,对搜索空间进行深度搜索。
(3)提出了一个调度算法参数度量模型。对调度算法进行抽象化,提出用算法参数树建立调度算法参数的关系,以相对度量的方法建立算法参数差异评估模型,并在此基础上设计了一个启发式参数选择算法,在保证解空间搜索多样性的同时加快收敛速度,有效解决了控制参数不容易确定的问题。
(4)提出了一个自适应的网格调度算法。能够根据网格资源和任务的情况自动地选择调用分布式协作调度算法、快速启发式算法或者重调度算法。主要从以下几个方面来寻找更好的解:第一是建立一个相对最优的调度时间预测模型和作业路由转发判断算法,实现了作业执行的负载均衡;第二是利用调度算法参数度量模型,为各个子调度节点安排合适的子调度算法;第三是将遗传算法、模拟退火算法和禁忌搜索算法这三个具有较好性能的算法应用于网格调度,设计了公共的操作算子;第四是设计一个基于统计的调节解生成算法,引导不同节点朝着新的解空间搜索。
(5)实验系统的实现及验证。开发了一个树型多JVM原型系统,能够根据相关参数自动生成任务和资源数据,并实现了自适应的网格调度算法,其中主要包括分布式协作操作、作业路由转发判断算法、调节解生成算法以及分布式的遗传算法、模拟退火算法和禁忌搜索算法等。为了对比的需要,系统还实现了四个研究界常用来进行实验比较的算法。该系统进行的多组实验结果表明采用自适应的网格调度算法可以获得更高质量的调度解。