Abstractions for portable, scalable parallel programming

In parallel programming, the need to manage communication, load imbalance, and irregularities in the computation puts substantial demands on the programmer. Key properties of the architecture, such as the number of processors and the cost of communication, must be exploited to achieve good performan...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:IEEE transactions on parallel and distributed systems Ročník 9; číslo 1; s. 71 - 86
Hlavní autoři: Alverson, G.A., Griswold, W.G., Lin, C., Notkin, D., Snyder, L.
Médium: Journal Article
Jazyk:angličtina
Vydáno: IEEE 01.01.1998
Témata:
ISSN:1045-9219
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract In parallel programming, the need to manage communication, load imbalance, and irregularities in the computation puts substantial demands on the programmer. Key properties of the architecture, such as the number of processors and the cost of communication, must be exploited to achieve good performance, but coding these properties directly into a program compromises the portability and flexibility of the code because significant changes are then needed to port or enhance the program. We describe a parallel programming model that supports the concise, independent description of key aspects of a parallel program-including data distribution, communication, and boundary conditions-without reference to machine idiosyncrasies. The independence of such components improves portability by allowing the components of a program to be tuned independently, and encourages reuse by supporting the composition of existing components. The isolation of architecture-sensitive aspects of a computation simplifies the task of porting programs to new platforms. Moreover, the model is effective in exploiting both data parallelism and functional parallelism. This paper provides programming examples, compares this work to related languages, and presents performance results.
AbstractList In parallel programming, the need to manage communication, load imbalance, and irregularities in the computation puts substantial demands on the programmer. Key properties of the architecture, such as the number of processors and the cost of communication, must be exploited to achieve good performance, but coding these properties directly into a program compromises the portability and flexibility of the code because significant changes are then needed to port or enhance the program. We describe a parallel programming model that supports the concise, independent description of key aspects of a parallel program-including data distribution, communication, and boundary conditions-without reference to machine idiosyncrasies. The independence of such components improves portability by allowing the components of a program to be tuned independently, and encourages reuse by supporting the composition of existing components. The isolation of architecture-sensitive aspects of a computation simplifies the task of porting programs to new platforms. Moreover, the model is effective in exploiting both data parallelism and functional parallelism. This paper provides programming examples, compares this work to related languages, and presents performance results.
In parallel programming, the need to manage communication, load imbalance, and irregularities in the computation puts substantial demands on the programmer. Key properties of the architecture, such as the number of processors and the cost of communication, must be exploited to achieve good performance, but coding these properties directly into a program compromises the portability and flexibility of the code because significant changes are then needed to port or enhance the program. We describe a parallel programming model that supports the concise, independent description of key aspects of a parallel program-including data distribution, communication, and boundary conditions-without reference to machine idiosyncrasies. The independence of such components improves portability by allowing the components of a program to be tuned independently, and encourages reuse by supporting the composition of existing components. The isolation of architecture-sensitive aspects of a computation simplifies the task of porting programs to new platforms. Moreover, the model is effective in exploiting both data parallelism and functional parallelism. This paper provides programming examples, compares this work to related languages, and presents performance results
Author Snyder, L.
Lin, C.
Griswold, W.G.
Notkin, D.
Alverson, G.A.
Author_xml – sequence: 1
  givenname: G.A.
  surname: Alverson
  fullname: Alverson, G.A.
  organization: Tera Comput. Co., Seattle, WA, USA
– sequence: 2
  givenname: W.G.
  surname: Griswold
  fullname: Griswold, W.G.
– sequence: 3
  givenname: C.
  surname: Lin
  fullname: Lin, C.
– sequence: 4
  givenname: D.
  surname: Notkin
  fullname: Notkin, D.
– sequence: 5
  givenname: L.
  surname: Snyder
  fullname: Snyder, L.
BookMark eNptkD1rwzAQhjWk0CTt0LWTp0KhTvRhSdYYQr8g0KWdxVmWg4psuZIz9N_XxqFD6XR33PPewbNCiy50FqEbgjeEYLWVZCM4p4VYoCXBBc8VJeoSrVL6xJgUHBdLVO6qNEQwgwtdypoQsz7EASpvH7JkwE9d1kME763P-hiOEdrWdccrdNGAT_b6XNfo4-nxff-SH96eX_e7Q26olEMO3JbUFNwYoZRspAImqnFiFSM1gZIZLoSUdd3UVGHgkjeUWWZNKUGKgrI1upvvjr-_TjYNunXJWO-hs-GUNC2JLBVWI3g_gyaGlKJtdB9dC_FbE6wnH1oSPfsY2e0f1rgBJgejC-f_TdzOCWet_b18Xv4Araht0g
CODEN ITDSEO
CitedBy_id crossref_primary_10_1109_32_842947
Cites_doi 10.1145/155332.155333
10.1145/125826.125945
10.1016/0743-7315(90)90035-N
10.1145/109625.109636
10.1109/71.97901
10.1007/BF01407813
10.1109/DMCC.1990.556312
10.1016/0167-8191(86)90013-X
10.1007/3-540-57502-2_43
10.1016/S0167-8191(05)80039-0
10.1145/4472.4478
10.1109/SUPERC.1993.1263470
10.1145/63334.63337
10.1145/79173.79181
10.1146/annurev.cs.01.060186.001445
10.1109/71.243530
10.1016/0743-7315(91)90107-K
10.1109/IPPS.1994.288317
10.1109/ISCA.1988.5223
10.1145/62115.62118
10.1016/S0167-8191(84)90133-9
10.1109/SUPERC.1990.130073
ContentType Journal Article
DBID RIA
RIE
AAYXX
CITATION
7SC
8FD
JQ2
L7M
L~C
L~D
DOI 10.1109/71.655246
DatabaseName IEEE All-Society Periodicals Package (ASPP) 1998–Present
IEEE/IET Electronic Library (IEL) (UW System Shared)
CrossRef
Computer and Information Systems Abstracts
Technology Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle CrossRef
Computer and Information Systems Abstracts
Technology Research Database
Computer and Information Systems Abstracts – Academic
Advanced Technologies Database with Aerospace
ProQuest Computer Science Collection
Computer and Information Systems Abstracts Professional
DatabaseTitleList
Computer and Information Systems Abstracts
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE/IET Electronic Library (IEL) (UW System Shared)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
Computer Science
EndPage 86
ExternalDocumentID 10_1109_71_655246
655246
GroupedDBID --Z
-~X
.DC
0R~
29I
4.4
5GY
5VS
6IK
97E
AAJGR
AARMG
AASAJ
AAWTH
ABAZT
ABFSI
ABQJQ
ABVLG
ACGFO
ACIWK
AENEX
AETIX
AGQYO
AGSQL
AHBIQ
AI.
AIBXA
AKJIK
AKQYR
ALLEH
ALMA_UNASSIGNED_HOLDINGS
ASUFR
ATWAV
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CS3
DU5
E.L
EBS
EJD
HZ~
H~9
ICLAB
IEDLZ
IFIPE
IFJZH
IPLJI
JAVBF
LAI
M43
MS~
O9-
OCL
P2P
PQQKQ
RIA
RIE
RNI
RNS
RZB
TN5
TWZ
UHB
VH1
AAYXX
CITATION
7SC
8FD
JQ2
L7M
L~C
L~D
ID FETCH-LOGICAL-c277t-a5e82c45cc6997f79a36b5cc3b31d1a83c56677ddfd290a575f23e3ec87a76423
IEDL.DBID RIE
ISICitedReferencesCount 5
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000071882100006&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 1045-9219
IngestDate Sun Nov 09 10:26:33 EST 2025
Sat Nov 29 03:35:57 EST 2025
Tue Nov 18 22:32:16 EST 2025
Wed Aug 27 02:52:20 EDT 2025
IsPeerReviewed true
IsScholarly true
Issue 1
Language English
License https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c277t-a5e82c45cc6997f79a36b5cc3b31d1a83c56677ddfd290a575f23e3ec87a76423
Notes ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
PQID 28178909
PQPubID 23500
PageCount 16
ParticipantIDs crossref_citationtrail_10_1109_71_655246
proquest_miscellaneous_28178909
crossref_primary_10_1109_71_655246
ieee_primary_655246
PublicationCentury 1900
PublicationDate 1998-Jan.
1998-01-00
19980101
PublicationDateYYYYMMDD 1998-01-01
PublicationDate_xml – month: 01
  year: 1998
  text: 1998-Jan.
PublicationDecade 1990
PublicationTitle IEEE transactions on parallel and distributed systems
PublicationTitleAbbrev TPDS
PublicationYear 1998
Publisher IEEE
Publisher_xml – name: IEEE
References bibl007120
lin (bibl007138) 1993
(bibl007125) 1989
bibl007121
lin (bibl007131) 1994
bibl007123
bibl007126
meyers (bibl007140) 1979
kohn (bibl007128) 1993
(bibl007122) 1994
pingali (bibl007142) 1990
gates (bibl007118) 1989
axelrod (bibl00713) 1983
bibl007129
blelloch (bibl00714) 1992
bibl007111
bibl007110
bibl007112
bibl007115
lin (bibl007130) 1992
rose (bibl007143) 1987
fenton (bibl007114) 1991
kohn (bibl007127) 1992
snyder (bibl007146) 1990
lin (bibl007133) 1992
bibl007117
bibl007116
bibl007119
bibl007141
bibl007144
bibl007145
bibl007148
ekanadham (bibl007113) 1987
mehrotra (bibl007139) 1989
holman (bibl007124) 1988
bibl00712
bibl00711
wiggs (bibl007149) 1993
chapman (bibl00716) 1990
bibl00719
bibl00718
bibl00715
lin (bibl007137) 1994
bibl007132
bibl007134
bibl007136
lin (bibl007135) 1993
snyder (bibl007147) 1994
crowley (bibl00717) 1978
References_xml – year: 1978
  ident: bibl00717
  article-title: the simple code
– year: 1994
  ident: bibl007131
  article-title: zpl reference manual
– ident: bibl00718
  doi: 10.1145/155332.155333
– start-page: 470
  year: 1990
  ident: bibl007146
  article-title: the xyz abstraction levels of poker-like languages
  publication-title: Languages and Compilers for Parallel Computing
– year: 1994
  ident: bibl007122
  publication-title: High Performance Fortran Specification
– ident: bibl007121
  doi: 10.1145/125826.125945
– ident: bibl007115
  doi: 10.1016/0743-7315(90)90035-N
– start-page: 564
  year: 1992
  ident: bibl007133
  article-title: portable parallel programming: cross machine comparisons for simple
  publication-title: Proc Fifth SIAM Conf Parallel Processing for Scientific Computing
– ident: bibl007129
  doi: 10.1145/109625.109636
– ident: bibl007126
  doi: 10.1109/71.97901
– start-page: 96
  year: 1993
  ident: bibl007135
  article-title: zpl: an array sublanguage
  publication-title: Languages and Compilers for Parallel Computing
– year: 1990
  ident: bibl007142
  article-title: compiler parallelization of simple for a distributed memory machine
– ident: bibl007132
  doi: 10.1007/BF01407813
– ident: bibl007119
  doi: 10.1109/DMCC.1990.556312
– ident: bibl007116
  doi: 10.1016/0167-8191(86)90013-X
– year: 1993
  ident: bibl007128
  article-title: an implementation of the lpar parallel programming model for scientific computation
  publication-title: Proc Sixth SIAM Conf Parallel Processing for Scientific Computing
– ident: bibl007134
  doi: 10.1007/3-540-57502-2_43
– ident: bibl007111
  doi: 10.1016/S0167-8191(05)80039-0
– start-page: 193
  year: 1991
  ident: bibl007114
  article-title: supporting machine independent programming on diverse parallel architectures
  publication-title: Proc Int l Conf Parallel Processing
– ident: bibl007112
  doi: 10.1016/S0167-8191(05)80039-0
– year: 1989
  ident: bibl007139
  article-title: compiling high level constructs to distributed memory architectures
– year: 1989
  ident: bibl007118
  article-title: simple: an exercise in programming in poker
– ident: bibl007120
  doi: 10.1145/4472.4478
– ident: bibl007110
  doi: 10.1109/SUPERC.1993.1263470
– ident: bibl00715
  doi: 10.1145/63334.63337
– year: 1987
  ident: bibl007143
  article-title: c*: an extended language for data parallel programming
  publication-title: Proc Second Int l Conf Supercomputing
– ident: bibl007148
  doi: 10.1145/79173.79181
– start-page: 361
  year: 1994
  ident: bibl007137
  article-title: simple performance results in zpl
  publication-title: Languages and Compilers for Parallel Computing
– ident: bibl007145
  doi: 10.1146/annurev.cs.01.060186.001445
– year: 1987
  ident: bibl007113
  article-title: simple: part i, an exercise in future scientific programming
– ident: bibl00712
  doi: 10.1109/71.243530
– ident: bibl007144
  doi: 10.1016/0743-7315(91)90107-K
– year: 1990
  ident: bibl00716
  article-title: vienna fortran-a fortran language extension for distributed memory multiprocessors
– ident: bibl007136
  doi: 10.1109/IPPS.1994.288317
– year: 1994
  ident: bibl007147
  article-title: a zpl programming guide
– year: 1993
  ident: bibl007138
  article-title: towards a machine-independent solution of sparse cholesky factorization
  publication-title: Proc Parallel Computing 93
– year: 1992
  ident: bibl007130
  article-title: the portability of parallel programs across mimd computers
  publication-title: "The Portability of Parallel Programs Across MIMD Computers "
– year: 1992
  ident: bibl00714
  article-title: nesl: a nested data-parallel language
– start-page: 350
  year: 1983
  ident: bibl00713
  article-title: a simulator for mimd performance prediction-application to the s-1 mkiia multiprocessor
  publication-title: Proc Int l Conf Parallel Processing
– year: 1993
  ident: bibl007149
  article-title: a parallel implementation of the car-parrinello method
– ident: bibl00719
  doi: 10.1109/ISCA.1988.5223
– ident: bibl007117
  doi: 10.1016/0167-8191(86)90013-X
– year: 1988
  ident: bibl007124
  article-title: processor element architecture for non-shared memory parallel computers
  publication-title: "Processor Element Architecture for Non-Shared Memory Parallel Computers "
– year: 1989
  ident: bibl007125
  publication-title: iPSC/2 User s Guide
– ident: bibl007141
  doi: 10.1145/62115.62118
– ident: bibl007123
  doi: 10.1016/S0167-8191(84)90133-9
– year: 1979
  ident: bibl007140
  article-title: analysis of the simple code for dataflow computation
– ident: bibl00711
  doi: 10.1109/SUPERC.1990.130073
– year: 1992
  ident: bibl007127
  article-title: lattice parallelism: a parallel programming model for non-uniform, structured scientific computations
SSID ssj0014504
Score 1.5533082
Snippet In parallel programming, the need to manage communication, load imbalance, and irregularities in the computation puts substantial demands on the programmer....
SourceID proquest
crossref
ieee
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 71
SubjectTerms Aggregates
Computer architecture
Computer science
Concurrent computing
Costs
Load management
Parallel processing
Parallel programming
Programming profession
Title Abstractions for portable, scalable parallel programming
URI https://ieeexplore.ieee.org/document/655246
https://www.proquest.com/docview/28178909
Volume 9
WOSCitedRecordID wos000071882100006&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVIEE
  databaseName: IEEE/IET Electronic Library (IEL) (UW System Shared)
  issn: 1045-9219
  databaseCode: RIE
  dateStart: 19900101
  customDbUrl:
  isFulltext: true
  dateEnd: 99991231
  titleUrlDefault: https://ieeexplore.ieee.org/
  omitProxy: false
  ssIdentifier: ssj0014504
  providerName: IEEE
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LT8MwDI7YxAEODAaI8YwQBw50a9KkSY4TYuKAJg6AdqvSNJWQSofWjd-Pk7YTiF24pZGtVnbSfLZjG6GbPOQ5VzoOODM2YDTkgcrAaqU6ZIyDPRb7DO-3JzGdytlMPTd1tn0ujLXWXz6zQzf0sfxsblbOVTaKOacs7qCOEHGdqrUOGDDuOwWCcQEvg13YFBEioRoJMqwZfx09vpfKnx-wP1UmvX99zz7aa8AjHtfaPkBbtuyjXtuYATf7tI92f1QZPERynDp_hk9gqDCAVOwxd1rYO1yBitwIuxLgRWEL3FzY-gDWI_Q6eXi5fwyahgmBoUIsA82tpIZxY2KlRC6UjuIUnqI0IhnRMjIA3oTIsjyjKtSA1HIa2cgaKbQAQyQ6Rt1yXtoThI0FYMeJiAFSMJ0qgDWpJFy4xkwwKwfotpVlYppq4q6pRZF4qyJUiSBJLZ8Bul6TftYlNDYR9Z181wTt7FWrnwSWvYtl6NLOV1VCJXEpvOp0I98Z2qlzB52r5Bx1l4uVvUDb5mv5Xi0u_cr5BmNowA4
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LT8MwDLZgIAEHBgPEeK1CHDjQrY-kaY4TYhpiTBwG2q1K01RCKh1aN34_TtpOIHbhlkZ2G9lJ8zmObYCb1KEp5SKwKZHKJp5DbZ6g1eoJhxCK9lhgIrzfRmw8DqdT_lLl2TaxMEopc_lMdXXT-PKTmVzqo7JeQKlHgk3YogTfWgZrrVwGhJpagWhe4OdwHVZphFyH95jbLVl_bT6mmsqfX7DZVwbNf43oAPYr-Gj1S30fwobKW9CsSzNY1Uptwd6PPINHEPZjfaJhQhgKC2GqZVB3nKk7q0Al6Zalk4Bnmcqs6srWB7Iew-vgYXI_tKuSCbb0GFvYgqrQk4RKGXDOUsaFH8T45Me-m7gi9CXCN8aSJE087gjEaqnnK1_JkAmGpoh_Ao18lqtTsKRCaEddFiCoICLmCGzi0KVMl2bC3rANt7UsI1nlE9dlLbLI2BUOj5gblfJpw_WK9LNMorGOqKXluyKoezu1fiKc-NqbIXI1WxaRF7o6iJefreXrwM5w8jyKRo_jp3PYLSMJ9cHJBTQW86W6hG35tXgv5ldmFn0DivLDVQ
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=Abstractions+for+portable%2C+scalable+parallel+programming&rft.jtitle=IEEE+transactions+on+parallel+and+distributed+systems&rft.au=Alverson%2C+G.A.&rft.au=Griswold%2C+W.G.&rft.au=Lin%2C+C.&rft.au=Notkin%2C+D.&rft.date=1998-01-01&rft.pub=IEEE&rft.issn=1045-9219&rft.volume=9&rft.issue=1&rft.spage=71&rft.epage=86&rft_id=info:doi/10.1109%2F71.655246&rft.externalDocID=655246
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1045-9219&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1045-9219&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1045-9219&client=summon