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...

Full description

Saved in:
Bibliographic Details
Published inInternational journal of parallel programming Vol. 31; no. 3; pp. 225 - 249
Main Authors Min, Seung-jai, Basumallik, Ayon, Eigenmann, Rudolf
Format Journal Article
LanguageEnglish
Published New York Springer Nature B.V 01.06.2003
Subjects
Online AccessGet 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