Optimizing OpenMP programs on software distributed shared memory systems
This paper describes compiler techniques that can translate standard OpenMP applications into code for distributed computer systems. OpenMP has emerged as an important model and language extension for shared-memory parallel programming. However, despite OpenMP's success on these platforms, it i...
Saved in:
Published in | International journal of parallel programming Vol. 31; no. 3; pp. 225 - 249 |
---|---|
Main Authors | , , |
Format | Journal Article |
Language | English |
Published |
New York
Springer Nature B.V
01.06.2003
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | This paper describes compiler techniques that can translate standard OpenMP applications into code for distributed computer systems. OpenMP has emerged as an important model and language extension for shared-memory parallel programming. However, despite OpenMP's success on these platforms, it is not currently being used on distributed system. The long-term goal of our project is to quantify the degree to which such a use is possible and develop supporting compiler techniques. Our present compiler techniques translate OpenMP programs into a form suitable for execution on a Software DSM system. We have implemented a compiler that performs this basic translation, and we have studied a number of hand optimizations that improve the baseline performance. Our approach complements related efforts that have proposed language extensions for efficient execution of OpenMP programs on distributed systems. Our results show that, while kernel benchmarks can show high efficiency of OpenMP programs on distributed systems, full applications need careful consideration of shared data access patterns. A naive translation (similar to OpenMP compilers for SMPs) leads to acceptable performance in very few applications only. However, additional optimizations, including access privatization, selective touch, and dynamic scheduling, resulting in 31% average improvement on our benchmarks. [PUBLICATION ABSTRACT] |
---|---|
AbstractList | This paper describes compiler techniques that can translate standard OpenMP applications into code for distributed computer systems. OpenMP has emerged as an important model and language extension for shared-memory parallel programming. However, despite OpenMP's success on these platforms, it is not currently being used on distributed system. The long-term goal of our project is to quantify the degree to which such a use is possible and develop supporting compiler techniques. Our present compiler techniques translate OpenMP programs into a form suitable for execution on a Software DSM system. We have implemented a compiler that performs this basic translation, and we have studied a number of hand optimizations that improve the baseline performance. Our approach complements related efforts that have proposed language extensions for efficient execution of OpenMP programs on distributed systems. Our results show that, while kernel benchmarks can show high efficiency of OpenMP programs on distributed systems, full applications need careful consideration of shared data access patterns. A naive translation (similar to OpenMP compilers for SMPs) leads to acceptable performance in very few applications only. However, additional optimizations, including access privatization, selective touch, and dynamic scheduling, resulting in 31% average improvement on our benchmarks. [PUBLICATION ABSTRACT] This paper describes compiler techniques that can translate standard OpenMP applications into code for distributed computer systems. OpenMP has emerged as an important model and language extension for shared-memory parallel programming. However, despite OpenMP's success on these platforms, it is not currently being used on distributed system. The long-term goal of our project is to quantify the degree to which such a use is possible and develop supporting compiler techniques. Our present compiler techniques translate OpenMP programs into a form suitable for execution on a Software DSM system. We have implemented a compiler that performs this basic translation, and we have studied a number of hand optimizations that improve the baseline performance. Our approach complements related efforts that have proposed language extensions for efficient execution of OpenMP programs on distributed systems. Our results show that, while kernel benchmarks can show high efficiency of OpenMP programs on distributed systems, full applications need careful consideration of shared data access patterns. A naive translation (similar to OpenMP compilers for SMPs) leads to acceptable performance in very few applications only. However, additional optimizations, including access privatization, selective touch, and dynamic scheduling, resulting in 31 % average improvement on our benchmarks. |
Author | Min, Seung-jai Basumallik, Ayon Eigenmann, Rudolf |
Author_xml | – sequence: 1 givenname: Seung-jai surname: Min fullname: Min, Seung-jai – sequence: 2 givenname: Ayon surname: Basumallik fullname: Basumallik, Ayon – sequence: 3 givenname: Rudolf surname: Eigenmann fullname: Eigenmann, Rudolf |
BookMark | eNpdjs9LwzAYhoNMcJuevQYP3qpffn6ptzHUCZN60PNo2mR2rOlsUmT-9Vb05OmBl4eXZ0YmoQuOkEsGNwy4uF3c_QByQJYLBidkyhSKDLWECZmCMSpDqcwZmcW4A4AcjZmSVXFITdt8NWFLi4MLzy_00Hfbvmwj7QKNnU-fZe9o3cTUN3ZIrqbxfVxq2rq26480HmNybTwnp77cR3fxxzl5e7h_Xa6ydfH4tFyss4obnbLaKyUUaltbX0kFjAlEzzQKrpR0FjxTtapQIvNGcm-FQ41MW6OctZ6LObn-_R0zPwYX06ZtYuX2-zK4bogbjjk3uTajePVP3HVDH8a2DQfJc8VBiW-RLV1W |
CODEN | IJPPE5 |
CitedBy_id | crossref_primary_10_1007_s11265_013_0754_2 crossref_primary_10_1109_ACCESS_2024_3372990 crossref_primary_10_1145_1594835_1504194 crossref_primary_10_1016_j_parco_2008_06_002 crossref_primary_10_1109_MP_2006_1657761 crossref_primary_10_1002_cpe_3248 |
ContentType | Journal Article |
Copyright | Plenum Publishing Corporation 2003 |
Copyright_xml | – notice: Plenum Publishing Corporation 2003 |
DBID | 3V. 7SC 7WY 7WZ 7XB 87Z 8AL 8FD 8FE 8FG 8FK 8FL 8G5 ABUWG AFKRA ARAPS AZQEC BENPR BEZIV BGLVJ CCPQU DWQXO FRNLG F~G GNUQQ GUQSH HCIFZ JQ2 K60 K6~ K7- L.- L7M L~C L~D M0C M0N M2O MBDVC P5Z P62 PQBIZ PQBZA PQEST PQQKQ PQUKI PRINS Q9U |
DOI | 10.1023/A:1023090719310 |
DatabaseName | ProQuest Central (Corporate) Computer and Information Systems Abstracts ABI/INFORM Collection ABI/INFORM Global (PDF only) ProQuest Central (purchase pre-March 2016) ABI/INFORM Collection Computing Database (Alumni Edition) Technology Research Database ProQuest SciTech Collection ProQuest Technology Collection ProQuest Central (Alumni) (purchase pre-March 2016) ABI/INFORM Collection (Alumni Edition) Research Library (Alumni Edition) ProQuest Central (Alumni) ProQuest Central Advanced Technologies & Aerospace Collection ProQuest Central Essentials ProQuest Central Business Premium Collection Technology Collection ProQuest One Community College ProQuest Central Business Premium Collection (Alumni) ABI/INFORM Global (Corporate) ProQuest Central Student Research Library Prep SciTech Premium Collection ProQuest Computer Science Collection ProQuest Business Collection (Alumni Edition) ProQuest Business Collection Computer Science Database ABI/INFORM Professional Advanced Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional ABI/INFORM Global Computing Database Research Library Research Library (Corporate) Advanced Technologies & Aerospace Database ProQuest Advanced Technologies & Aerospace Collection One Business ProQuest One Business (Alumni) ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Academic ProQuest One Academic UKI Edition ProQuest Central China ProQuest Central Basic |
DatabaseTitle | ABI/INFORM Global (Corporate) ProQuest Business Collection (Alumni Edition) ProQuest One Business Research Library Prep Computer Science Database ProQuest Central Student Technology Collection Technology Research Database Computer and Information Systems Abstracts – Academic ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Essentials ProQuest Computer Science Collection Computer and Information Systems Abstracts ProQuest Central (Alumni Edition) SciTech Premium Collection ProQuest One Community College Research Library (Alumni Edition) ProQuest Central China ABI/INFORM Complete ProQuest Central ABI/INFORM Professional Advanced ProQuest Central Korea ProQuest Research Library Advanced Technologies Database with Aerospace ABI/INFORM Complete (Alumni Edition) Advanced Technologies & Aerospace Collection Business Premium Collection ABI/INFORM Global ProQuest Computing ABI/INFORM Global (Alumni Edition) ProQuest Central Basic ProQuest Computing (Alumni Edition) ProQuest One Academic Eastern Edition ProQuest Technology Collection ProQuest SciTech Collection ProQuest Business Collection Computer and Information Systems Abstracts Professional Advanced Technologies & Aerospace Database ProQuest One Academic UKI Edition ProQuest One Business (Alumni) ProQuest One Academic ProQuest Central (Alumni) Business Premium Collection (Alumni) |
DatabaseTitleList | ABI/INFORM Global (Corporate) Computer and Information Systems Abstracts |
Database_xml | – sequence: 1 dbid: 8FG name: ProQuest Technology Collection url: https://search.proquest.com/technologycollection1 sourceTypes: Aggregation Database |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 1573-7640 |
EndPage | 249 |
ExternalDocumentID | 429166851 |
Genre | Feature |
GroupedDBID | -4Z -59 -5G -BR -EM -Y2 -~C -~X .4S .86 .DC .VR 06D 0R~ 0VY 199 1N0 203 29J 2J2 2JN 2JY 2KG 2LR 2P1 2VQ 2~H 30V 3V. 4.4 406 408 409 40D 40E 5GY 5VS 67Z 6NX 78A 7SC 7WY 7XB 8AL 8FD 8FE 8FG 8FK 8FL 8G5 8TC 8UJ 95- 95. 95~ 96X AAAVM AABHQ AACDK AAHNG AAIAL AAJBT AAJKR AANZL AARHV AARTL AASML AATNV AATVU AAUYE AAWCG AAYIU AAYQN AAYTO ABAKF ABBBX ABBXA ABDBF ABDZT ABECU ABFSI ABFTD ABFTV ABHLI ABHQN ABJNI ABJOX ABKCH ABKTR ABMNI ABMQK ABNWP ABQBU ABSXP ABTEG ABTHY ABTKH ABTMW ABULA ABUWG ABWNU ABXPI ACAOD ACBXY ACDTI ACGFO ACGFS ACHSB ACHXU ACIHN ACIPQ ACKNC ACMDZ ACMLO ACNCT ACOKC ACOMO ACREN ACZOJ ADHIR ADINQ ADKNI ADKPE ADRFC ADTPH ADURQ ADYFF ADYOE ADZKW AEAQA AEBTG AEFQL AEGAL AEGNC AEJHL AEJRE AEKMD AEMSY AENEX AEOHA AEPYU AESKC AETLH AEVLU AEXYK AFBBN AFGCZ AFKRA AFLOW AFQWF AFWTZ AFYQB AFZKB AGAYW AGDGC AGJBK AGMZJ AGQEE AGQMX AGRTI AGWIL AGWZB AGYKE AHBYD AHKAY AHSBF AHYZX AIAKS AIGIU AIIXL AILAN AITGF AJBLW AJRNO AJZVZ ALMA_UNASSIGNED_HOLDINGS ALWAN AMKLP AMTXH AMXSW AMYLF AOCGG ARAPS ARCSS ARMRJ AXYYD AYJHY AZFZN AZQEC B-. B0M BA0 BDATZ BENPR BEZIV BGLVJ BGNMA BKOMP BPHCQ CAG CCPQU COF CS3 CSCUP DDRTE DL5 DNIVK DPUIP DU5 DWQXO E.L EAD EAP EAS EBLON EBS EDO EIOEI EJD EMK EPL ESBYG ESX FEDTE FERAY FFXSO FIGPU FINBP FNLPD FRNLG FRRFC FSGXE FWDCC GGCAI GGRSB GJIRD GNUQQ GNWQR GQ6 GQ7 GQ8 GROUPED_ABI_INFORM_COMPLETE GROUPED_ABI_INFORM_RESEARCH GUQSH GXS HCIFZ HF~ HG5 HG6 HMJXF HQYDN HRMNR HVGLF HZ~ H~9 I-F I09 IHE IJ- IKXTQ ITM IWAJR IXC IZIGR IZQ I~X I~Z J-C J0Z JBSCW JCJTX JQ2 JZLTJ K60 K6V K6~ K7- KDC KOV L.- L7M LAK LLZTM L~C L~D M0C M0N M2O M4Y MA- MBDVC MS~ N2Q NB0 NPVJJ NQJWS NU0 O9- O93 O9G O9I O9J OAM OVD P19 P62 P9O PF0 PQBIZ PQBZA PQEST PQQKQ PQUKI PRINS PROAC PT4 PT5 Q2X Q9U QOK QOS R89 R9I RHV RNI RNS ROL RPX RSV RZC RZE S16 S27 S3B SAP SCO SDH SDM SHX SISQX SJYHP SNE SNPRN SNX SOHCF SOJ SPISZ SRMVM SSLCW STPWE SZN T13 TAE TEORI TN5 TSG TSK TSV TUC TUS U2A U5U UG4 UOJIU UTJUX UZXMN VC2 VFIZW W23 W48 WH7 WK8 YLTOR Z45 Z7R Z7X Z81 Z83 Z88 Z8R Z8W Z92 ZMTXR ~8M ~EX ABFGW ACWMK AESTI AEVTX AIMYW AKQUC UNUBA |
ID | FETCH-LOGICAL-c286t-df553576bdbfc45011377f16732554eb0f15d5c7471f842fb3e76716b85ebbf23 |
IEDL.DBID | BENPR |
ISSN | 0885-7458 |
IngestDate | Fri Aug 16 23:07:58 EDT 2024 Thu Oct 10 20:12:10 EDT 2024 |
IsPeerReviewed | true |
IsScholarly | true |
Issue | 3 |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-c286t-df553576bdbfc45011377f16732554eb0f15d5c7471f842fb3e76716b85ebbf23 |
Notes | ObjectType-Article-2 SourceType-Scholarly Journals-1 ObjectType-Feature-1 content type line 23 |
PQID | 204295205 |
PQPubID | 48389 |
PageCount | 25 |
ParticipantIDs | proquest_miscellaneous_27928968 proquest_journals_204295205 |
PublicationCentury | 2000 |
PublicationDate | 2003-06-01 |
PublicationDateYYYYMMDD | 2003-06-01 |
PublicationDate_xml | – month: 06 year: 2003 text: 2003-06-01 day: 01 |
PublicationDecade | 2000 |
PublicationPlace | New York |
PublicationPlace_xml | – name: New York |
PublicationTitle | International journal of parallel programming |
PublicationYear | 2003 |
Publisher | Springer Nature B.V |
Publisher_xml | – name: Springer Nature B.V |
SSID | ssj0009788 |
Score | 1.7310257 |
Snippet | This paper describes compiler techniques that can translate standard OpenMP applications into code for distributed computer systems. OpenMP has emerged as an... |
SourceID | proquest |
SourceType | Aggregation Database |
StartPage | 225 |
SubjectTerms | Software Studies |
Title | Optimizing OpenMP programs on software distributed shared memory systems |
URI | https://www.proquest.com/docview/204295205 https://search.proquest.com/docview/27928968 |
Volume | 31 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV3PS8MwGA26Xbz4W5zTmYPXQNomTXqSTVeH4BziYLfRNAl6WKvrhuhf75cum6DgsbS55Mv34zWP9xC6ymhkjKDWiQ9awqSOiIoySyTUBScoDkN7zbYYxoMxu5_wiefmVJ5Wua6JdaHWZe7-kQNIh8rJQ8qv396JM41yl6veQWMbNcOAuVvaZq8_HD39qO6K2ngSMokTwbj8pe0D4zdgQxhhAvqnFNf9Jd1Hu34wxN1VJA_QlikO0d7adAH7HDxCg0dI8tnrF7Qc7NggDyPsOVYVLgtcQVn9yOYGa6eI68ysjMbVi6OZ45lj1X7ilXhzdYzGaf_5ZkC8HQLJQxkviLacRwAPlFY2ZxwSMxLCBrGIABYwo6gNuOa5Q5lWstCqyIgY4JCS3Chlw-gENYqyMKcIQxAUTEZBApvGNE8SpqkSliv3RKVuofZ6N6b-TFfTTQRa6HLzFg6ju2HIClMu4RORAICL5dm_69toJ1yZGBIanKPGYr40F9DaF6qDtmV610HNbu-2l3Z8OL8BZ5ylmA |
link.rule.ids | 315,786,790,12792,21416,27955,27956,33406,33407,33777,33778,43633,43838,74390,74657 |
linkProvider | ProQuest |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV09T8MwFLSgDLDwjSgF6oHVkhPbsTMhhCgF2sLQSmxVHNuCoQk0rRD8ep5Tt0ggMUaJFz-_j4tPdwhdZJRZK6nz4oOOcGUY0SxzREFd8ILiMLTXbItB0h3x-2fxHLg5VaBVLmtiXahNmft_5ADSoXKKmIrLt3fiTaP85Wpw0FhHG5wlzB9z1bn90dyVte0k5JEgkgv1S9kHhm9AhjDARPRPIa67S2cXbYexEF8t4riH1myxj3aWlgs4ZOAB6j5Cik9ev6DhYM8F6T_hwLCqcFngCorqRza12Hg9XG9lZQ2uXjzJHE88p_YTL6Sbq0M06twMr7skmCGQPFbJjBgnBANwoI12OReQlkxKFyWSASjgVlMXCSNyjzGd4rHTzMoEwJBWwmrtYnaEGkVZ2GOEIQQa5qIohWGMG5Gm3FAtndD-iSrTRK3lbozDia7Gq_1vovbqLRxFf7-QFbacwycyBfiWqJN_17fRZnfY7417d4OHFtqKF3aGhEanqDGbzu0ZNPmZPq9D-Q1mKqTH |
linkToPdf | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV09T8MwFLSgSIiFb0QpUA-sFk5sx86EEBDKV-lAJbYqrm3B0ASaVgh-Pc-pWySQGKMkS57f8118ukPoJKfMWkmdNx90hCvDiGa5IwrmgjcUB9Beqy26SafPb5_Fc7AUqoKscj4T60FtyqH_Rw4kHSaniKk4dUEV0bvMzt7eiQ-Q8getIU1jGa14jO1THFR2_eO_K-sISugpQSQX6pfLDwBxYIkAZiL6ZyjXO022idYDRMTns5puoSVbbKONefwCDt24gzqP0O6j1y_YfLDXhTz0cFBbVbgscAUD9iMfW2y8N66PtbIGVy9ecI5HXl_7iWc2ztUu6mdXTxcdEoIRyDBWyYQYJwQDoqCNdkMuoEWZlC5KJAOCwK2mLhJGDD3fdIrHTjMrEyBGWgmrtYvZHmoUZWH3EYZyaMBIUQrAjBuRptxQLZ3Q_ooq00St-dcYhNVdDRa1aKL24i4sS3_WkBe2nMIjMgUql6iDf99vo1Wo4uD-pnvXQmvxLNmQ0OgQNSbjqT2C_X6ij-tKfgPg-qj8 |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Optimizing+OpenMP+programs+on+software+distributed+shared+memory+systems&rft.jtitle=International+journal+of+parallel+programming&rft.au=Min%2C+Seung-jai&rft.au=Basumallik%2C+Ayon&rft.au=Eigenmann%2C+Rudolf&rft.date=2003-06-01&rft.pub=Springer+Nature+B.V&rft.issn=0885-7458&rft.eissn=1573-7640&rft.volume=31&rft.issue=3&rft.spage=225&rft_id=info:doi/10.1023%2FA%3A1023090719310&rft.externalDBID=HAS_PDF_LINK&rft.externalDocID=429166851 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0885-7458&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0885-7458&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0885-7458&client=summon |