分布式环境下OpenMP程序执行状态监控软件的设计

 2022-08-07 09:08

论文总字数:22052字

摘 要

面向海量数据的并行化处理技术及其开发手段,在互联网应用日益普及、大数据技术飞速发展的今天,已经有了长足发展。OpenMP就是一种目前比较常用的并行化编程技术,已经作为C 语言的标准在大部分商业编译器中得到了支持。OpenMP可以根据用户在其程序中插入的并行化指令,对用户程序语句进行并行化分解,并充分利用多核处理器自身的并行化处理能力实现对用户语句的并行化执行。

因为现有的OpenMP并行计算框架仅能在单节点多核环境中发挥作用,而无法在多节点构成的网络化分布式环境中实现并行化,极大限制了大型任务的加速能力。为此,对并行化计算具强烈需求的商业公司纷纷研发了自身的并行化处理架构,例如谷歌公司的MAP-REDUCE。因此,为了解决多节点分布式环境下的并行化问题,另一位同学同时间开展了毕业设计“分布式环境下OpenMP程序改造技术研究”,探讨一种将单节点上的OpenMP程序改造为多节点上的OpenMP程序的方法。与之配套,本毕设主要完成三个方面的工作。首先,实现分布式环境中的计算节点动态发现与整合功能,为OpenMP程序的多节点并行化提供资源视图;其次,实现在各个节点上对计算任务的执行状态汇总;最后,基于各个节点上任务的执行状态汇总,形成图形化的程序执行状态监控软件。本文的主要贡献有:

(1)使用Qt开发了一套完整的图形用户界面:在VS2013中创建本毕设Qt项目,其中各个界面的设计使用Qt Designer进行可视化开发,实现了视图与功能的分离,增强程序的可读性。

(2)提出了一种基于订阅/发布的消息中间件的节点间的通信方法:本毕设以基于订阅/发布的消息中间件——软总线,作为节点间通信的基础,通过调用软总线系统提供的API,根据监控软件的业务逻辑,实现各个节点计算机之间的数据交换。

关键词:OpenMP,并行化,图形用户界面,订阅,发布

Design of OpenMP Program Execution State Monitoring Software in Distributed Environment

Abstract

The parallel processing technology for mass data and its development means have made great progress in the popularization of Internet application and the rapid development of large data technology today. OpenMP is a commonly used parallel programming technology that has been supported in most commercial compilers as a standard for C language.

OpenMP can decompose user program statements in parallel according to the parallelization instructions that users insert in their programs, and make full use of the parallel processing capabilities of multi-core processors to implement parallel user statements. Because the existing OpenMP parallel computing framework can only play a role in a single node multicore environment, it cannot achieve parallelization in the networked distributed environment with multiple nodes, which greatly limits the acceleration capability of large tasks. To this end, the parallel computing has a strong demand for the commercial companies have developed their own parallel processing architecture, such as Google's Map-Reduce. Therefore, in order to solve the problem of parallelization in the multi-node distributed environment, another classmate at the same time carried out the graduation design "OpenMP Program transformation Technology Research under distributed environment", which discussed a method of transforming the OpenMP program on a single node into an OpenMP program on multiple nodes. With the supporting, this article mainly completes three aspects of work. Firstly, the dynamic discovery and integration function of computing nodes in distributed environment is realized, provides a resource view for multi-node parallelization of OpenMP programs; Secondly, it realizes the summary of the execution state of the computing task on each node, and finally, it forms a graphical program execution state monitoring software based on the summary of the execution state of the tasks on each node.

The main contributions of this paper are:

(1) Use QT to develop a complete set of graphical user interface: Create QT development project in VS2013, in which the design of each interface uses QT Designer for visualization development, realizes the separation of view and function, enhances the readability of the program.

(2) A communication method between nodes of message middleware based on subscribe/publish is proposed: This paper is based on the subscribe/publish message middleware-soft bus, as the basis of communication between nodes, by invoking the API provided by the soft bus system, according to the work logic of the monitoring software, realizes the data exchange between each node computer.

Keywords:OpenMP, Parallelization, GUI, Subscribe, Publish

目 录

摘要 ……………………………………………………………………………………………Ⅰ

Abstract …………………………………………………………………………………… Ⅱ

第一章 绪论 ……………………………………………………………………………………1

1.1 研究背景和目的 ……………………………………………………………………1

1.2 本文主要工作 ………………………………………………………………………2

1.3 论文组织结构 ………………………………………………………………………2

第二章 问题定义和分析 ………………………………………………………………………3

2.1 相关问题定义及分析 ………………………………………………………………3

2.1.1 OpenMP ……………………………………………………………………3

2.1.2 基于订阅/发布的消息中间件 ……………………………………………4

2.2 软件总体框架 ………………………………………………………………………7

2.3 软件总体流程图 ……………………………………………………………………8

2.4 软件用户图形界面设计 ……………………………………………………………9

2.4.1 界面总体设计 ……………………………………………………………9

2.4.2 界面实现中的信号槽机制 ………………………………………………11

第三章 计算资源动态发现与整合模块设计 ………………………………………………13

3.1 模块功能定义 ……………………………………………………………………13

3.2 模块时序图 ………………………………………………………………………13

3.3 主节点功能详细实现 ……………………………………………………………14

3.4 子节点功能详细实现 ……………………………………………………………14

第四章 OpenMP并行化程序执行状态监控模块设计 ………………………………………16

4.1 模块功能定义 ……………………………………………………………………16

4.2 模块时序图 ………………………………………………………………………16

4.3 主节点功能详细实现 ……………………………………………………………16

4.4 子节点功能详细实现 ……………………………………………………………17

第五章 分布式环境下多节点测试结果与分析……………………………………………18

5.1 分布式环境下多节点测试结果 …………………………………………………18

5.2 测试结果分析………………………………………………………………………22

第六章 总结与展望 …………………………………………………………………………25

6.1 总结 ………………………………………………………………………………25

6.2 展望 ………………………………………………………………………………25

致谢 ……………………………………………………………………………………………26

参考文献 ………………………………………………………………………………………27

第一章 绪论

剩余内容已隐藏,请支付后下载全文,论文总字数:22052字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;