{"title":"Eliminating barrier synchronizations in OpenMP programs for PC clusters","authors":"N. Yonezawa, K. Wada","doi":"10.1109/PACRIM.2005.1517278","DOIUrl":null,"url":null,"abstract":"Barrier synchronizations are often used in shared memory program to force events to occur in correct order. However, this causes performance overhead especially on virtually shared memory realized on distributed memory environment. In this paper, we propose a new compiler technique for eliminating barrier synchronizations. In our approach, the compiler collects access information about array accesses and analyzes data dependency. If there was no dependency, barrier synchronizations can be eliminated. Additionally, even if the dependency was detected, there are cases when the barrier synchronization can be replaced with send-receive pairs of communications. A preliminary evaluation has been done using an LU program. As a result, by applying the proposed technique, we achieved 19.65% speedup with 8 processors.","PeriodicalId":346880,"journal":{"name":"PACRIM. 2005 IEEE Pacific Rim Conference on Communications, Computers and signal Processing, 2005.","volume":"2022 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"PACRIM. 2005 IEEE Pacific Rim Conference on Communications, Computers and signal Processing, 2005.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PACRIM.2005.1517278","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Barrier synchronizations are often used in shared memory program to force events to occur in correct order. However, this causes performance overhead especially on virtually shared memory realized on distributed memory environment. In this paper, we propose a new compiler technique for eliminating barrier synchronizations. In our approach, the compiler collects access information about array accesses and analyzes data dependency. If there was no dependency, barrier synchronizations can be eliminated. Additionally, even if the dependency was detected, there are cases when the barrier synchronization can be replaced with send-receive pairs of communications. A preliminary evaluation has been done using an LU program. As a result, by applying the proposed technique, we achieved 19.65% speedup with 8 processors.