A Synchronization Optimization Technique for OpenMP

Zhaochu Deng, Jianjiang Li, Jie Lin
{"title":"A Synchronization Optimization Technique for OpenMP","authors":"Zhaochu Deng, Jianjiang Li, Jie Lin","doi":"10.1109/ICCRD51685.2021.9386475","DOIUrl":null,"url":null,"abstract":"In recent years, even though the chip density can still increase, it is difficult to increase the main frequency. Performance improvements for single processors may be close to their limits. So multi-core processors are coming on the scene. In order to make full use of multi-core platforms, we must find the inherent parallelism of programs and write programs that can execute in parallel. OpenMP standard is widely used in parallel programming because of its good portability and ease of use. For OpenMP programs generated by parallel compilers and OpenMP programs which only have simple parallelism, they belong to programs with insufficient optimization. In OpenMP parallel execution, synchronization control is one of the main overheads. Its unnecessary barrier synchronization reduces the performance of parallel program. This paper discusses an optimization technology of OpenMP program. Firstly, the parallel area of OpenMP program is merged and expanded to reduce the overhead of parallel and serial switching in execution, and at the same time, it is convenient for next steps to optimize the program. Then explicit the implicit synchronization in OpenMP program. Finally, data dependency analysis is carried out for the context of each synchronization, and unnecessary synchronizations are deleted. The program is tested with the program running time as an index to evaluate the performance of the test program. The experimental results show that the optimization strategy proposed in this paper correctly reconstructs the parallel regions and reduces its execution overhead; it reduces the number of redundant synchronizations and effectively improve the performance of OpenMP program.","PeriodicalId":294200,"journal":{"name":"2021 IEEE 13th International Conference on Computer Research and Development (ICCRD)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-01-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE 13th International Conference on Computer Research and Development (ICCRD)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICCRD51685.2021.9386475","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

In recent years, even though the chip density can still increase, it is difficult to increase the main frequency. Performance improvements for single processors may be close to their limits. So multi-core processors are coming on the scene. In order to make full use of multi-core platforms, we must find the inherent parallelism of programs and write programs that can execute in parallel. OpenMP standard is widely used in parallel programming because of its good portability and ease of use. For OpenMP programs generated by parallel compilers and OpenMP programs which only have simple parallelism, they belong to programs with insufficient optimization. In OpenMP parallel execution, synchronization control is one of the main overheads. Its unnecessary barrier synchronization reduces the performance of parallel program. This paper discusses an optimization technology of OpenMP program. Firstly, the parallel area of OpenMP program is merged and expanded to reduce the overhead of parallel and serial switching in execution, and at the same time, it is convenient for next steps to optimize the program. Then explicit the implicit synchronization in OpenMP program. Finally, data dependency analysis is carried out for the context of each synchronization, and unnecessary synchronizations are deleted. The program is tested with the program running time as an index to evaluate the performance of the test program. The experimental results show that the optimization strategy proposed in this paper correctly reconstructs the parallel regions and reduces its execution overhead; it reduces the number of redundant synchronizations and effectively improve the performance of OpenMP program.
OpenMP的同步优化技术
近年来,即使芯片密度仍然可以增加,但主频率很难增加。单处理器的性能改进可能接近其极限。所以多核处理器出现了。为了充分利用多核平台,我们必须找到程序固有的并行性,编写能够并行执行的程序。OpenMP标准由于其良好的可移植性和易用性在并行编程中得到了广泛的应用。对于由并行编译器生成的OpenMP程序和仅具有简单并行性的OpenMP程序,属于优化不足的程序。在OpenMP并行执行中,同步控制是主要开销之一。它的不必要的屏障同步降低了并行程序的性能。本文讨论了OpenMP程序的优化技术。首先,对OpenMP程序的并行区域进行合并和扩展,以减少并行和串行切换在执行过程中的开销,同时也便于下一步的程序优化。然后在OpenMP程序中显式实现隐式同步。最后,对每次同步的上下文进行数据依赖分析,删除不必要的同步。以程序运行时间作为评价测试程序性能的指标,对程序进行测试。实验结果表明,本文提出的优化策略正确地重构了并行区域,降低了执行开销;它减少了冗余同步的次数,有效地提高了OpenMP程序的性能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信