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...
Uloženo v:
| Vydáno v: | IEEE transactions on parallel and distributed systems Ročník 9; číslo 1; s. 71 - 86 |
|---|---|
| Hlavní autoři: | , , , , |
| 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 |