异构环境下分层并行通用计算模型的设计与实现
发布时间:2018-11-25 18:25
【摘要】:大数据量的复杂计算在各个学科的研究和应用中得到越来越广泛的关注,并行计算成为提高计算速度的有效方法,相应的计算模型在重要的计算应用领域中已经取得了实质进步,但并行机、并行模型、并行算法、并行语言的设计与开发千差万别、没有一个统一的标准,传统的单一并行计算模型在形式上变得越来越复杂。因此,以并行计算的一般步骤为理论基础,以各种并行开发工具、开发标准、开发语言为软件平台,以基于机群、多核CPU、多核GPU等不同硬件架构的异构并行机为硬件支撑,提出一种异构环境下分层并行通用计算模型。模型分为三个阶段:程序模型算法设计阶段、并行程序设计阶段、并行程序执行阶段。 本文基于模型分层并行通用的开发理念,阐述了程序模型算法设计阶段、并行程序设计阶段、并行程序执行阶段的架构,并设计了解释系统和编译系统作为沟通各阶段的桥梁。首先,程序模型算法设计阶段的并行算法经解释系统的解析生成并行程序设计阶段的并行程序;然后,并行程序经过编译系统的编译链接输出可执行程序;最后,在并行程序执行阶段可执行程序转化为机器语言执行在相应的软/硬件架构上。其次,为了摆脱传统串行编程语言的束缚,从语言成分上直接支持并行开发,提出了基于标签语法的模型设计语言,使并行程序更容易在并行机上实现;基于通用编程的理念设计了通用模板库,用于抽象现存的各种并行开发工具或开发标准的开发模式,并且针对不同开发语言提供统一的编程框架;针对不同研究领域内并行计算特有的结构特征,设计专用模板库;为了降低将原串行程序并行化的复杂度,建立高频函数库,封装现有各种并行开发工具中的高频使用函数,将原本复杂的并行程序简化成方法库中一个简单的并行函数或方法;针对复杂的并行机软/硬件架构和支撑环境建立参数库,用于描述虚拟的参数化的并行机。 在模型的人机交互方面设计了一款能够支持多并行开发工具、多并行开发语言的集成开发环境,,程序开发者可以快速便捷的编写、调试、运行并行程序。理论和实践分析结果表明,本文提出的异构环境下分层并行通用计算模型每个阶段的针对性强、通用性高、易于扩展,能够高效的实现目标问题到并行机的映射。
[Abstract]:The complex computing of large amount of data has been paid more and more attention in the research and application of various disciplines. Parallel computing has become an effective method to improve the computing speed. The corresponding computing models have made substantial progress in important computing applications, but the design and development of parallel computers, parallel models, parallel algorithms, parallel languages are very different, and there is no unified standard. The traditional single parallel computing model becomes more and more complex in form. Therefore, taking the general steps of parallel computing as the theoretical basis, taking various parallel development tools, development standards and development languages as the software platform, and taking heterogeneous parallel machines based on cluster, multi-core CPU, and multi-core GPU as the hardware support, In this paper, a general computing model of hierarchical and parallel computing in heterogeneous environment is proposed. The model is divided into three stages: program model algorithm design phase, parallel program execution phase. Based on the general development concept of model hierarchy and parallelism, this paper expounds the framework of program model algorithm design phase and parallel program execution stage, and designs the interpretation system and compilation system as a bridge to communicate with each stage. Firstly, the parallel algorithm in the program model algorithm design stage is interpreted to generate the parallel program in the parallel program design stage, and then the parallel program outputs the executable program through the compilation link of the compiled system. Finally, in the parallel program execution stage, the executable program can be transformed into machine language execution on the corresponding software / hardware architecture. Secondly, in order to get rid of the shackles of the traditional serial programming language and directly support parallel development from the language component, a model design language based on tag syntax is proposed, which makes the parallel program easier to be implemented on parallel computer. Based on the concept of general programming, a general template library is designed, which is used to abstract the existing parallel development tools or development standards, and to provide a unified programming framework for different development languages. According to the special structure of parallel computing in different research fields, a special template library is designed. In order to reduce the complexity of parallelizing the original serial program, the high frequency function library is established, and the high frequency function of the existing parallel development tools is encapsulated. The original complex parallel program is simplified into a simple parallel function or method in the method library. A parameter library is built for complex parallel computer software / hardware architecture and supporting environment to describe virtual parameterized parallel machines. An integrated development environment which can support multi-parallel development tools and multi-parallel development languages is designed for man-machine interaction of the model. Program developers can write debug and run parallel programs quickly and conveniently. The theoretical and practical analysis results show that the hierarchical parallel general computing model proposed in this paper has the advantages of strong pertinence, high generality and easy to be extended, and it can efficiently realize the mapping of target problem to parallel machine.
【学位授予单位】:中国海洋大学
【学位级别】:硕士
【学位授予年份】:2012
【分类号】:TP338.6
本文编号:2357025
[Abstract]:The complex computing of large amount of data has been paid more and more attention in the research and application of various disciplines. Parallel computing has become an effective method to improve the computing speed. The corresponding computing models have made substantial progress in important computing applications, but the design and development of parallel computers, parallel models, parallel algorithms, parallel languages are very different, and there is no unified standard. The traditional single parallel computing model becomes more and more complex in form. Therefore, taking the general steps of parallel computing as the theoretical basis, taking various parallel development tools, development standards and development languages as the software platform, and taking heterogeneous parallel machines based on cluster, multi-core CPU, and multi-core GPU as the hardware support, In this paper, a general computing model of hierarchical and parallel computing in heterogeneous environment is proposed. The model is divided into three stages: program model algorithm design phase, parallel program execution phase. Based on the general development concept of model hierarchy and parallelism, this paper expounds the framework of program model algorithm design phase and parallel program execution stage, and designs the interpretation system and compilation system as a bridge to communicate with each stage. Firstly, the parallel algorithm in the program model algorithm design stage is interpreted to generate the parallel program in the parallel program design stage, and then the parallel program outputs the executable program through the compilation link of the compiled system. Finally, in the parallel program execution stage, the executable program can be transformed into machine language execution on the corresponding software / hardware architecture. Secondly, in order to get rid of the shackles of the traditional serial programming language and directly support parallel development from the language component, a model design language based on tag syntax is proposed, which makes the parallel program easier to be implemented on parallel computer. Based on the concept of general programming, a general template library is designed, which is used to abstract the existing parallel development tools or development standards, and to provide a unified programming framework for different development languages. According to the special structure of parallel computing in different research fields, a special template library is designed. In order to reduce the complexity of parallelizing the original serial program, the high frequency function library is established, and the high frequency function of the existing parallel development tools is encapsulated. The original complex parallel program is simplified into a simple parallel function or method in the method library. A parameter library is built for complex parallel computer software / hardware architecture and supporting environment to describe virtual parameterized parallel machines. An integrated development environment which can support multi-parallel development tools and multi-parallel development languages is designed for man-machine interaction of the model. Program developers can write debug and run parallel programs quickly and conveniently. The theoretical and practical analysis results show that the hierarchical parallel general computing model proposed in this paper has the advantages of strong pertinence, high generality and easy to be extended, and it can efficiently realize the mapping of target problem to parallel machine.
【学位授予单位】:中国海洋大学
【学位级别】:硕士
【学位授予年份】:2012
【分类号】:TP338.6
【参考文献】
相关期刊论文 前10条
1 马秋菊;何杏玉;;多核计算机环境下的并行程序设计方法[J];承德石油高等专科学校学报;2010年01期
2 马晓涛;李波;;Linux系统下嵌入式系统交叉编译链搭建[J];成功(教育);2010年07期
3 刘国峰;刘钦;李博;佟小龙;刘洪;;油气勘探地震资料处理GPU/CPU协同并行计算[J];地球物理学进展;2009年05期
4 杨际祥;谭国真;王荣生;;多核软件的几个关键问题及其研究进展[J];电子学报;2010年09期
5 许舟平;;集成开发环境简史[J];程序员;2009年01期
6 王宗跃;马洪超;徐宏根;邬建伟;彭检贵;;在集群多核CPU环境下的等高线并行提取方法[J];计算机工程与应用;2010年17期
7 郭本俊;王鹏;陈高云;黄健;;基于MPI的云计算模型[J];计算机工程;2009年24期
8 张盈谦;;基于标记语言的并行多核编程方法[J];计算机工程;2010年13期
9 曹祥;易伟;潘红兵;高明伦;李丽;;面向层次化NoC的混合并行编程模型[J];计算机工程;2010年13期
10 马强;刘佩林;;基于编程语言结构的通用配置代码生成方法[J];计算机工程;2010年18期
本文编号:2357025
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2357025.html