论文部分内容阅读
大数据量的复杂计算在各个学科的研究和应用中得到越来越广泛的关注,并行计算成为提高计算速度的有效方法,相应的计算模型在重要的计算应用领域中已经取得了实质进步,但并行机、并行模型、并行算法、并行语言的设计与开发千差万别、没有一个统一的标准,传统的单一并行计算模型在形式上变得越来越复杂。因此,以并行计算的一般步骤为理论基础,以各种并行开发工具、开发标准、开发语言为软件平台,以基于机群、多核CPU、多核GPU等不同硬件架构的异构并行机为硬件支撑,提出一种异构环境下分层并行通用计算模型。模型分为三个阶段:程序模型算法设计阶段、并行程序设计阶段、并行程序执行阶段。本文基于模型分层并行通用的开发理念,阐述了程序模型算法设计阶段、并行程序设计阶段、并行程序执行阶段的架构,并设计了解释系统和编译系统作为沟通各阶段的桥梁。首先,程序模型算法设计阶段的并行算法经解释系统的解析生成并行程序设计阶段的并行程序;然后,并行程序经过编译系统的编译链接输出可执行程序;最后,在并行程序执行阶段可执行程序转化为机器语言执行在相应的软/硬件架构上。其次,为了摆脱传统串行编程语言的束缚,从语言成分上直接支持并行开发,提出了基于标签语法的模型设计语言,使并行程序更容易在并行机上实现;基于通用编程的理念设计了通用模板库,用于抽象现存的各种并行开发工具或开发标准的开发模式,并且针对不同开发语言提供统一的编程框架;针对不同研究领域内并行计算特有的结构特征,设计专用模板库;为了降低将原串行程序并行化的复杂度,建立高频函数库,封装现有各种并行开发工具中的高频使用函数,将原本复杂的并行程序简化成方法库中一个简单的并行函数或方法;针对复杂的并行机软/硬件架构和支撑环境建立参数库,用于描述虚拟的参数化的并行机。在模型的人机交互方面设计了一款能够支持多并行开发工具、多并行开发语言的集成开发环境,程序开发者可以快速便捷的编写、调试、运行并行程序。理论和实践分析结果表明,本文提出的异构环境下分层并行通用计算模型每个阶段的针对性强、通用性高、易于扩展,能够高效的实现目标问题到并行机的映射。