Selecting Spatiotemporal Patterns for Development of Parallel Applications
Design patterns for parallel computing attempt to make the field accessible to nonexperts by generalizing the common techniques experts use to develop parallel software. Existing parallel patterns have tremendous descriptive power, but it is often unclear to nonexperts how to choose a pattern based...
Uloženo v:
| Vydáno v: | IEEE transactions on parallel and distributed systems Ročník 23; číslo 10; s. 1970 - 1982 |
|---|---|
| Hlavní autoři: | , , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
IEEE
01.10.2012
|
| 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 | Design patterns for parallel computing attempt to make the field accessible to nonexperts by generalizing the common techniques experts use to develop parallel software. Existing parallel patterns have tremendous descriptive power, but it is often unclear to nonexperts how to choose a pattern based on the specific performance goals of a given application. This paper addresses the need for a pattern selection methodology by presenting four patterns and an accompanying decision framework for choosing from these patterns given an application's throughput and latency goals. The patterns are based on recognizing that one can partition an application's data or instructions and that these partitionings can be done in time or space, hence we refer to them as spatiotemporal partitioning strategies. This paper introduces a taxonomy that describes each of the resulting four partitioning strategies and presents a three-step methodology for selecting one or more given a throughput and latency goal. Several case studies are presented to illustrate the use of this methodology. These case studies cover several simple examples as well as more complicated applications including a radar processing application and an H.264 video encoder. |
|---|---|
| AbstractList | Design patterns for parallel computing attempt to make the field accessible to nonexperts by generalizing the common techniques experts use to develop parallel software. Existing parallel patterns have tremendous descriptive power, but it is often unclear to nonexperts how to choose a pattern based on the specific performance goals of a given application. This paper addresses the need for a pattern selection methodology by presenting four patterns and an accompanying decision framework for choosing from these patterns given an application's throughput and latency goals. The patterns are based on recognizing that one can partition an application's data or instructions and that these partitionings can be done in time or space, hence we refer to them as spatiotemporal partitioning strategies. This paper introduces a taxonomy that describes each of the resulting four partitioning strategies and presents a three-step methodology for selecting one or more given a throughput and latency goal. Several case studies are presented to illustrate the use of this methodology. These case studies cover several simple examples as well as more complicated applications including a radar processing application and an H.264 video encoder. |
| Author | Devadas, S. Hoffmann, H. Agarwal, A. |
| Author_xml | – sequence: 1 givenname: H. surname: Hoffmann fullname: Hoffmann, H. email: hank@csail.mit.edu organization: Comput. Sci. & Artificial Intell. Lab., Massachusetts Inst. of Technol., Cambridge, MA, USA – sequence: 2 givenname: A. surname: Agarwal fullname: Agarwal, A. email: agarwal@csail.mit.edu organization: Comput. Sci. & Artificial Intell. Lab., Massachusetts Inst. of Technol., Cambridge, MA, USA – sequence: 3 givenname: S. surname: Devadas fullname: Devadas, S. email: devadas@csail.mit.edu organization: Comput. Sci. & Artificial Intell. Lab., Massachusetts Inst. of Technol., Cambridge, MA, USA |
| BookMark | eNp1kMFKAzEQhnOoYFs9evKyL7B1kk26zbG0apWChdbzkiYTiaSbJQmCb--uFQ-Cp2GY7x9-vgkZtaFFQm4ozCgFeXfYrfczBpTOmFyMyJgCF6VkVF6SSUrvAJQL4GPyvEePOrv2rdh3KruQ8dSFqHyxUzljbFNhQyzW-IE-dCdscxFsf-sJj75Ydp13esi16YpcWOUTXv_MKXl9uD-sNuX25fFptdyWmok6l4JJkJzao5G1FdLUYKDut2ONqrKi1pwpphVyJqhhOLcoFoqbqlIGDApRTUl1_qtjSCmibbTL3xVyVM43FJpBQTMoaAYFTa-gT5V_Ul10JxU__-Vvz7xDxF92DrJvIKsvP39sMQ |
| CODEN | ITDSEO |
| CitedBy_id | crossref_primary_10_1145_2954679_2872402 crossref_primary_10_1145_2980024_2872402 crossref_primary_10_1145_3296957_3173184 |
| Cites_doi | 10.1145/1454115.1454128 10.1145/1953611.1953620 10.1145/1168857.1168877 10.1145/1015706.1015800 10.1145/165939.165958 10.1109/ICME.2006.262506 10.1109/SUPERC.1996.183513 10.1109/JPROC.2004.840303 10.1145/605397.605428 10.1109/PROC.1966.5273 10.1109/ISCA.2008.12 |
| ContentType | Journal Article |
| DBID | 97E RIA RIE AAYXX CITATION |
| DOI | 10.1109/TPDS.2011.298 |
| DatabaseName | IEEE Xplore (IEEE) IEEE All-Society Periodicals Package (ASPP) 1998–Present IEEE Electronic Library (IEL) CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Engineering Computer Science |
| EndPage | 1982 |
| ExternalDocumentID | 10_1109_TPDS_2011_298 6095539 |
| Genre | orig-research |
| 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 |
| ID | FETCH-LOGICAL-c257t-5290941fbd97f59d70d07fbdb7ea3f57c42a2cae4251d2e6fe58a4d33ad0de553 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 3 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000307824600015&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 | Sat Nov 29 08:13:20 EST 2025 Tue Nov 18 20:53:11 EST 2025 Wed Aug 27 02:52:31 EDT 2025 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 10 |
| Language | English |
| License | https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c257t-5290941fbd97f59d70d07fbdb7ea3f57c42a2cae4251d2e6fe58a4d33ad0de553 |
| PageCount | 13 |
| ParticipantIDs | crossref_citationtrail_10_1109_TPDS_2011_298 crossref_primary_10_1109_TPDS_2011_298 ieee_primary_6095539 |
| PublicationCentury | 2000 |
| PublicationDate | 2012-10-01 |
| PublicationDateYYYYMMDD | 2012-10-01 |
| PublicationDate_xml | – month: 10 year: 2012 text: 2012-10-01 day: 01 |
| PublicationDecade | 2010 |
| PublicationTitle | IEEE transactions on parallel and distributed systems |
| PublicationTitleAbbrev | TPDS |
| PublicationYear | 2012 |
| Publisher | IEEE |
| Publisher_xml | – name: IEEE |
| References | ref13 ref15 Mattson (ref1) 2004 ref14 ref20 van de Geijn (ref9) 1997 ref11 Bienia (ref19) Siu (ref2) (ref21) 2011 ref17 ref16 (ref10) 1993 ref8 ref7 ref4 (ref18) 2012 Lea (ref3) 1996 Hoffmann (ref6) Meyer (ref22) (ref12) 2006 Snir (ref5) 2012 |
| References_xml | – volume-title: Proc. 17th Int’l Conf. Parallel Architectures and Compilation Techniques (PACT ’08) ident: ref19 article-title: The Parsec Benchmark Suite: Characterization and Architectural Implications doi: 10.1145/1454115.1454128 – ident: ref4 doi: 10.1145/1953611.1953620 – volume-title: Proc. 21st Int’l Conf. Parallel and Distributed Computing and Systems ident: ref6 article-title: Partitioning Strategies: Spatiotemporal Patterns of Program Decomposition – volume-title: Concurrent Programming in Java: Design Principles and Patterns year: 1996 ident: ref3 – volume-title: technical report year: 2006 ident: ref12 article-title: Supra-Linear Packet Processing Performance with Intel Multi-Core Processors – volume-title: Using PLAPACK—Parallel Linear Algebra Package year: 1997 ident: ref9 – volume-title: Technical Report CRPC-TR92225 year: 1993 ident: ref10 article-title: High Performance Fortran Language Specification, Version 1.0 – ident: ref13 doi: 10.1145/1168857.1168877 – ident: ref17 doi: 10.1145/1015706.1015800 – start-page: 393 volume-title: Proc. Sixth Ann. European Symp. Algorithms ident: ref22 article-title: Delta-Stepping: A Parallel Single Source Shortest Path Algorithm – year: 2012 ident: ref18 article-title: Intel Threading Building Blocks 2.1 for Open Source – volume-title: x264 year: 2011 ident: ref21 – ident: ref15 doi: 10.1145/165939.165958 – ident: ref7 doi: 10.1109/ICME.2006.262506 – volume-title: Proc. Int’l Conf. Parallel and Distributed Processing Techniques and Applications ident: ref2 article-title: Design Patterns for Parallel Programming – year: 2012 ident: ref5 article-title: Parallel Programming Patterns – ident: ref8 doi: 10.1109/SUPERC.1996.183513 – ident: ref20 doi: 10.1109/JPROC.2004.840303 – ident: ref16 doi: 10.1145/605397.605428 – ident: ref11 doi: 10.1109/PROC.1966.5273 – volume-title: Patterns for Parallel Programming year: 2004 ident: ref1 – ident: ref14 doi: 10.1109/ISCA.2008.12 |
| SSID | ssj0014504 |
| Score | 2.065461 |
| Snippet | Design patterns for parallel computing attempt to make the field accessible to nonexperts by generalizing the common techniques experts use to develop parallel... |
| SourceID | crossref ieee |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 1970 |
| SubjectTerms | Cameras Decision trees Design patterns Indexes parallel computing parallel programming Security Spatial databases Spatiotemporal phenomena Throughput |
| Title | Selecting Spatiotemporal Patterns for Development of Parallel Applications |
| URI | https://ieeexplore.ieee.org/document/6095539 |
| Volume | 23 |
| WOSCitedRecordID | wos000307824600015&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 Electronic Library (IEL) 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/eLvHCXMwlV3dS8MwED_m8EEfnG6K84s8iE-r61ea5lHUISJjsCl7K2lyAWFssg__fpO0qxX0wbeQXml71yN3ucvvB3CtUxPUcpp6DFXoxTIWnpnJPWQ693NKlXB0Pm8vbDhMp1M-akCvOguDiK75DG_t0NXy1UJu7FZZ34Kj0YjvwA5jSXFWq6oYxNRRBZrsgnrcuOE3nmZ_MnoYF2CdIU9_rD81QhW3ngxa_3uTQzgo40ZyVxj6CBo4b0Nry8lAShdtw34NYLADz2NHc2PGZOxap0skqhkZOVzN-YqYoJXUOofIQptrS8uwYp5Wq24fw-vgcXL_5JXsCZ40brg2GSY3qVugc8WZplwxX_nGABZOWUSaMhmHIpQCjdMGKsREI01FrKJIKF-h-boTaM4XczwFglEggoShz3IdJ4hcJkoGVPmpiuJIBl3obXWayRJa3DJczDKXYvg8sybIrAkyY4Iu3FTiHwWmxl-CHav6SqjU-tnv0-ewZ24Mi067C2iulxu8hF35uX5fLa_c3_IFKbC_kw |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LT8MwDLbGQAIODDYQ45kD4rSyvtI0RwRMA8Y0aQPtVrWJKyFNHdqD30-SdmVIcOAWpVYfdq3YsfN9AFdpqIJaTkOLoXQtX_ixpWYSC1ma2AmlMjZ0Pm891u-H4zEfVKBVnoVBRNN8hjd6aGr5ciqWequsrcHRqMc3YFMzZxWntcqagU8NWaDKL6jFlSN-I2q2R4P7YQ7X6fLwxwq0RqliVpRO7X_vsg97ReRIbnNTH0AFszrUVqwMpHDSOuyuQQw24GloiG7UmAxN83SBRTUhA4Osmc2JClvJWu8Qmabq2kxzrKinrdW3D-G18zC661oFf4IllCMuVI7JVfLmpInkLKVcMlvaygQaUDn2UsqE78auiFG5rSNdDFKkYexLz4ulLVF93RFUs2mGx0DQc2InYGizJPUDRC4CKRwq7VB6viecJrRWOo1EAS6uOS4mkUkybB5pE0TaBJEyQROuS_GPHFXjL8GGVn0pVGj95PfpS9jujl56Ue-x_3wKO-ombt53dwbVxWyJ57AlPhfv89mF-XO-AE8Jwtw |
| 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=Selecting+Spatiotemporal+Patterns+for+Development+of+Parallel+Applications&rft.jtitle=IEEE+transactions+on+parallel+and+distributed+systems&rft.au=Hoffmann%2C+H.&rft.au=Agarwal%2C+A.&rft.au=Devadas%2C+S.&rft.date=2012-10-01&rft.pub=IEEE&rft.issn=1045-9219&rft.volume=23&rft.issue=10&rft.spage=1970&rft.epage=1982&rft_id=info:doi/10.1109%2FTPDS.2011.298&rft.externalDocID=6095539 |
| 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 |