论文部分内容阅读
并行软件开发是集群系统设计的关键问题之一。由于集群系统涉及复杂的组织计算,并且目前并行编程语言仍无统一标准,因此,在集群环境下直接编写大型的并行软件非常困难。随着自动并行编译技术的快速发展,自动并行化系统成为解决这一问题的有效途径。
本文以大规模计算系统在集群环境下的实现为背景,通过对现有自动并行化系统性能的分析,初步提出基于集群的交互式并行化系统模型,该模型将交互手段和先进的并行化技术有机结合,基于该模型的自动并行化系统能够以人机交互的方式实现大规模计算系统串行软件到并行软件的转化。本文深入研究了实现该系统所必需的几项关键技术,主要内容包括:
(1)表图结合的中间表示生成算法的研究。
在分析了现有并行编译系统的中间表示生成方法基础上,提出了将变量信息表和任务相关图相结合的中间表示生成算法。该算法同时支持整个系统的前端分析和后端代码优化,并且算法的运行时间相对降低,运行时所需的存储空间相对减少。
(2)基于同态变换的自适应退火遗传算法的研究。
首先,在深入分析传统同态变换对相关图变换的基础上,改进了同态变换规则,使变换结果为全局最优。然后,对退火遗传算法的参数进行了自适应处理,改善了传统遗传算法过早收敛,或局部最优的缺陷。运用该算法对相关图进行并行划分,并行加速比成线性增长。
(3)基于循环的启发式任务调度算法的研究。该算法在现有的启发式调度算法的基础上做了有效改进,面向任意处理机,以每个子任务的最早启动时间为目标,达到总调度代价最小的目的。运用此算法后处理机节点的负载量相对平衡。
最后,通过仿真实验验证了上述算法的正确性和有效性。