Improving the Performance of OpenMP by Array Privatization
The scalability of an OpenMP program in a ccNUMA system with a large number of processors suffers from remote memory accesses, cache misses and false sharing. Good data locality is needed to overcome these problems whereas OpenMP offers limited capabilities to control it on ccNUMA architecture. A so...
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Buchkapitel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 259 |
---|---|
container_issue | |
container_start_page | 244 |
container_title | |
container_volume | 2716 |
creator | Liu, Zhenying Chapman, Barbara Weng, Tien-Hsiung Hernandez, Oscar |
description | The scalability of an OpenMP program in a ccNUMA system with a large number of processors suffers from remote memory accesses, cache misses and false sharing. Good data locality is needed to overcome these problems whereas OpenMP offers limited capabilities to control it on ccNUMA architecture. A so-called SPMD style OpenMP program can achieve data locality by means of array privatization, and this approach has shown good performance in previous research. It is hard to write SPMD OpenMP code; therefore we are building a tool to relieve users from this task by automatically converting OpenMP programs into equivalent SPMD style OpenMP. We show the process of the translation by considering how to modify array declarations, parallel loops, and showing how to handle a variety of OpenMP constructs including REDUCTION, ORDERED clauses and synchronization. We are currently implementing these translations in an interactive tool based on the Open64 compiler. |
doi_str_mv | 10.1007/3-540-45009-2_19 |
format | Book Chapter |
fullrecord | <record><control><sourceid>proquest_pasca</sourceid><recordid>TN_cdi_pascalfrancis_primary_15715401</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>EBC6806070_231_253</sourcerecordid><originalsourceid>FETCH-LOGICAL-p313t-b999ac8b7af0d8cf3b13b5966356163aa85b2f79346a02116fdab7b95af89703</originalsourceid><addsrcrecordid>eNqNkE1v2zAMhrW1G5pmue_oS4_uSFEf1m5BsXYFOjSHHnoTJEdqvSW2J3kF0l9fJekPGAGCAPk-BPky9hXhEgH0N6qlgFpIAFNzi-YDWxjdUGkeevwjm6FCrImEOWHnhwEIko-nbAYEvDZa0Gc2E0rrptHCnLFFzr-hBIFEMjP2_XY7puGl65-q6TlUq5DikLaub0M1xOp-DP2vVeV31TIlt6tWqXtxU_dacui_sE_RbXJYvNc5e7j-8XD1s767v7m9Wt7VIyFNtTfGuLbx2kVYN20kj-SlUYqkQkXONdLzqA0J5YAjqrh2XnsjXWyMBpqzi-Pa0eXWbWIqx3XZjqnburSzKDWWv7HoLo-6XEb9U0jWD8OfbBHs3kxLtsjswTi7N7MA4n1xGv7-C3myYU-0oZ-S27TPbpxCylY1oECD5YSWSyoY_Q9GQEoqaTkvFKc3g0CClg</addsrcrecordid><sourcetype>Index Database</sourcetype><iscdi>true</iscdi><recordtype>book_chapter</recordtype><pqid>EBC3036565_22_252</pqid></control><display><type>book_chapter</type><title>Improving the Performance of OpenMP by Array Privatization</title><source>Springer Books</source><creator>Liu, Zhenying ; Chapman, Barbara ; Weng, Tien-Hsiung ; Hernandez, Oscar</creator><contributor>Voss, Michael J ; Voss, Michael J.</contributor><creatorcontrib>Liu, Zhenying ; Chapman, Barbara ; Weng, Tien-Hsiung ; Hernandez, Oscar ; Voss, Michael J ; Voss, Michael J.</creatorcontrib><description>The scalability of an OpenMP program in a ccNUMA system with a large number of processors suffers from remote memory accesses, cache misses and false sharing. Good data locality is needed to overcome these problems whereas OpenMP offers limited capabilities to control it on ccNUMA architecture. A so-called SPMD style OpenMP program can achieve data locality by means of array privatization, and this approach has shown good performance in previous research. It is hard to write SPMD OpenMP code; therefore we are building a tool to relieve users from this task by automatically converting OpenMP programs into equivalent SPMD style OpenMP. We show the process of the translation by considering how to modify array declarations, parallel loops, and showing how to handle a variety of OpenMP constructs including REDUCTION, ORDERED clauses and synchronization. We are currently implementing these translations in an interactive tool based on the Open64 compiler.</description><identifier>ISSN: 0302-9743</identifier><identifier>ISBN: 354040435X</identifier><identifier>ISBN: 9783540404354</identifier><identifier>EISSN: 1611-3349</identifier><identifier>EISBN: 9783540450092</identifier><identifier>EISBN: 3540450092</identifier><identifier>DOI: 10.1007/3-540-45009-2_19</identifier><identifier>OCLC: 467788749</identifier><identifier>OCLC: 52371088</identifier><identifier>LCCallNum: QA76.642 -- .I589 2003eb</identifier><language>eng</language><publisher>Germany: Springer Berlin / Heidelberg</publisher><subject>Applied sciences ; Computer science; control theory; systems ; Computer systems and distributed systems. User interface ; Double Precision ; Exact sciences and technology ; Loop Bound ; Loop Schedule ; Parallel Loop ; Shared Buffer ; Software</subject><ispartof>Lecture notes in computer science, 2003, Vol.2716, p.244-259</ispartof><rights>Springer-Verlag Berlin Heidelberg 2003</rights><rights>2004 INIST-CNRS</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><relation>Lecture Notes in Computer Science</relation></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Uhttps://ebookcentral.proquest.com/covers/3036565-l.jpg</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/3-540-45009-2_19$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/3-540-45009-2_19$$EHTML$$P50$$Gspringer$$H</linktohtml><link.rule.ids>309,310,779,780,784,789,790,793,4048,4049,27924,38254,41441,42510</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=15715401$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><contributor>Voss, Michael J</contributor><contributor>Voss, Michael J.</contributor><creatorcontrib>Liu, Zhenying</creatorcontrib><creatorcontrib>Chapman, Barbara</creatorcontrib><creatorcontrib>Weng, Tien-Hsiung</creatorcontrib><creatorcontrib>Hernandez, Oscar</creatorcontrib><title>Improving the Performance of OpenMP by Array Privatization</title><title>Lecture notes in computer science</title><description>The scalability of an OpenMP program in a ccNUMA system with a large number of processors suffers from remote memory accesses, cache misses and false sharing. Good data locality is needed to overcome these problems whereas OpenMP offers limited capabilities to control it on ccNUMA architecture. A so-called SPMD style OpenMP program can achieve data locality by means of array privatization, and this approach has shown good performance in previous research. It is hard to write SPMD OpenMP code; therefore we are building a tool to relieve users from this task by automatically converting OpenMP programs into equivalent SPMD style OpenMP. We show the process of the translation by considering how to modify array declarations, parallel loops, and showing how to handle a variety of OpenMP constructs including REDUCTION, ORDERED clauses and synchronization. We are currently implementing these translations in an interactive tool based on the Open64 compiler.</description><subject>Applied sciences</subject><subject>Computer science; control theory; systems</subject><subject>Computer systems and distributed systems. User interface</subject><subject>Double Precision</subject><subject>Exact sciences and technology</subject><subject>Loop Bound</subject><subject>Loop Schedule</subject><subject>Parallel Loop</subject><subject>Shared Buffer</subject><subject>Software</subject><issn>0302-9743</issn><issn>1611-3349</issn><isbn>354040435X</isbn><isbn>9783540404354</isbn><isbn>9783540450092</isbn><isbn>3540450092</isbn><fulltext>true</fulltext><rsrctype>book_chapter</rsrctype><creationdate>2003</creationdate><recordtype>book_chapter</recordtype><recordid>eNqNkE1v2zAMhrW1G5pmue_oS4_uSFEf1m5BsXYFOjSHHnoTJEdqvSW2J3kF0l9fJekPGAGCAPk-BPky9hXhEgH0N6qlgFpIAFNzi-YDWxjdUGkeevwjm6FCrImEOWHnhwEIko-nbAYEvDZa0Gc2E0rrptHCnLFFzr-hBIFEMjP2_XY7puGl65-q6TlUq5DikLaub0M1xOp-DP2vVeV31TIlt6tWqXtxU_dacui_sE_RbXJYvNc5e7j-8XD1s767v7m9Wt7VIyFNtTfGuLbx2kVYN20kj-SlUYqkQkXONdLzqA0J5YAjqrh2XnsjXWyMBpqzi-Pa0eXWbWIqx3XZjqnburSzKDWWv7HoLo-6XEb9U0jWD8OfbBHs3kxLtsjswTi7N7MA4n1xGv7-C3myYU-0oZ-S27TPbpxCylY1oECD5YSWSyoY_Q9GQEoqaTkvFKc3g0CClg</recordid><startdate>2003</startdate><enddate>2003</enddate><creator>Liu, Zhenying</creator><creator>Chapman, Barbara</creator><creator>Weng, Tien-Hsiung</creator><creator>Hernandez, Oscar</creator><general>Springer Berlin / Heidelberg</general><general>Springer Berlin Heidelberg</general><general>Springer</general><scope>FFUUA</scope><scope>IQODW</scope></search><sort><creationdate>2003</creationdate><title>Improving the Performance of OpenMP by Array Privatization</title><author>Liu, Zhenying ; Chapman, Barbara ; Weng, Tien-Hsiung ; Hernandez, Oscar</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-p313t-b999ac8b7af0d8cf3b13b5966356163aa85b2f79346a02116fdab7b95af89703</frbrgroupid><rsrctype>book_chapters</rsrctype><prefilter>book_chapters</prefilter><language>eng</language><creationdate>2003</creationdate><topic>Applied sciences</topic><topic>Computer science; control theory; systems</topic><topic>Computer systems and distributed systems. User interface</topic><topic>Double Precision</topic><topic>Exact sciences and technology</topic><topic>Loop Bound</topic><topic>Loop Schedule</topic><topic>Parallel Loop</topic><topic>Shared Buffer</topic><topic>Software</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Liu, Zhenying</creatorcontrib><creatorcontrib>Chapman, Barbara</creatorcontrib><creatorcontrib>Weng, Tien-Hsiung</creatorcontrib><creatorcontrib>Hernandez, Oscar</creatorcontrib><collection>ProQuest Ebook Central - Book Chapters - Demo use only</collection><collection>Pascal-Francis</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Liu, Zhenying</au><au>Chapman, Barbara</au><au>Weng, Tien-Hsiung</au><au>Hernandez, Oscar</au><au>Voss, Michael J</au><au>Voss, Michael J.</au><format>book</format><genre>bookitem</genre><ristype>CHAP</ristype><atitle>Improving the Performance of OpenMP by Array Privatization</atitle><btitle>Lecture notes in computer science</btitle><seriestitle>Lecture Notes in Computer Science</seriestitle><date>2003</date><risdate>2003</risdate><volume>2716</volume><spage>244</spage><epage>259</epage><pages>244-259</pages><issn>0302-9743</issn><eissn>1611-3349</eissn><isbn>354040435X</isbn><isbn>9783540404354</isbn><eisbn>9783540450092</eisbn><eisbn>3540450092</eisbn><abstract>The scalability of an OpenMP program in a ccNUMA system with a large number of processors suffers from remote memory accesses, cache misses and false sharing. Good data locality is needed to overcome these problems whereas OpenMP offers limited capabilities to control it on ccNUMA architecture. A so-called SPMD style OpenMP program can achieve data locality by means of array privatization, and this approach has shown good performance in previous research. It is hard to write SPMD OpenMP code; therefore we are building a tool to relieve users from this task by automatically converting OpenMP programs into equivalent SPMD style OpenMP. We show the process of the translation by considering how to modify array declarations, parallel loops, and showing how to handle a variety of OpenMP constructs including REDUCTION, ORDERED clauses and synchronization. We are currently implementing these translations in an interactive tool based on the Open64 compiler.</abstract><cop>Germany</cop><pub>Springer Berlin / Heidelberg</pub><doi>10.1007/3-540-45009-2_19</doi><oclcid>467788749</oclcid><oclcid>52371088</oclcid><tpages>16</tpages></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0302-9743 |
ispartof | Lecture notes in computer science, 2003, Vol.2716, p.244-259 |
issn | 0302-9743 1611-3349 |
language | eng |
recordid | cdi_pascalfrancis_primary_15715401 |
source | Springer Books |
subjects | Applied sciences Computer science control theory systems Computer systems and distributed systems. User interface Double Precision Exact sciences and technology Loop Bound Loop Schedule Parallel Loop Shared Buffer Software |
title | Improving the Performance of OpenMP by Array Privatization |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-13T02%3A38%3A19IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_pasca&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=bookitem&rft.atitle=Improving%20the%20Performance%20of%20OpenMP%20by%20Array%20Privatization&rft.btitle=Lecture%20notes%20in%20computer%20science&rft.au=Liu,%20Zhenying&rft.date=2003&rft.volume=2716&rft.spage=244&rft.epage=259&rft.pages=244-259&rft.issn=0302-9743&rft.eissn=1611-3349&rft.isbn=354040435X&rft.isbn_list=9783540404354&rft_id=info:doi/10.1007/3-540-45009-2_19&rft_dat=%3Cproquest_pasca%3EEBC6806070_231_253%3C/proquest_pasca%3E%3Curl%3E%3C/url%3E&rft.eisbn=9783540450092&rft.eisbn_list=3540450092&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=EBC3036565_22_252&rft_id=info:pmid/&rfr_iscdi=true |