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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Liu, Zhenying, Chapman, Barbara, Weng, Tien-Hsiung, Hernandez, Oscar
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&amp;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