Safe nondeterminism in a deterministic-by-default parallel language

A number of deterministic parallel programming models with strong safety guarantees are emerging, but similar support for nondeterministic algorithms, such as branch and bound search, remains an open question. We present a language together with a type and effect system that supports nondeterministi...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:SIGPLAN notices 2011-01, Vol.46 (1), p.535-548
Hauptverfasser: Bocchino, Robert L., Heumann, Stephen, Honarmand, Nima, Adve, Sarita V., Adve, Vikram S., Welc, Adam, Shpeisman, Tatiana
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 548
container_issue 1
container_start_page 535
container_title SIGPLAN notices
container_volume 46
creator Bocchino, Robert L.
Heumann, Stephen
Honarmand, Nima
Adve, Sarita V.
Adve, Vikram S.
Welc, Adam
Shpeisman, Tatiana
description A number of deterministic parallel programming models with strong safety guarantees are emerging, but similar support for nondeterministic algorithms, such as branch and bound search, remains an open question. We present a language together with a type and effect system that supports nondeterministic computations with a deterministic-by-default guarantee: nondeterminism must be explicitly requested via special parallel constructs (marked nd), and any deterministic construct that does not execute any nd construct has deterministic input-output behavior. Moreover, deterministic parallel constructs are always equivalent to a sequential composition of their constituent tasks, even if they enclose, or are enclosed by, nd constructs. Finally, in the execution of nd constructs, interference may occur only between pairs of accesses guarded by atomic statements, so there are no data races, either between atomic statements and unguarded accesses (strong isolation) or between pairs of unguarded accesses (stronger than strong isolation alone). We enforce the guarantees at compile time with modular checking using novel extensions to a previously described effect system. Our effect system extensions also enable the compiler to remove unnecessary transactional synchronization. We provide a static semantics, dynamic semantics, and a complete proof of soundness for the language, both with and without the barrier removal feature. An experimental evaluation shows that our language can achieve good scalability for realistic parallel algorithms, and that the barrier removal techniques provide significant performance gains.
doi_str_mv 10.1145/1925844.1926447
format Article
fullrecord <record><control><sourceid>crossref</sourceid><recordid>TN_cdi_crossref_primary_10_1145_1925844_1926447</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>10_1145_1925844_1926447</sourcerecordid><originalsourceid>FETCH-LOGICAL-c225t-68a8f77ad5f81d514b43a73d01374979d4d2f3104095015f8f5c8ff1aeec82d3</originalsourceid><addsrcrecordid>eNpFkDtrwzAURkVpoW7auav-gJJ79bDksZg-AoEOzW5uLCm4yE6QnCH_vikNdDrw8XGGw9gzwhJRmxU20jitlxfWWtsbVqExTiDWcMsqULUUqDTcs4dSvgFAgXQVa78oBj4dJh_mkMdhGsrIh4kT_x_moRe7s_Ah0inN_EiZUgqJJ5r2J9qHR3YXKZXwdOWCbd9et-2H2Hy-r9uXjeilNLOoHbloLXkTHXqDeqcVWeUBldWNbbz2MioEDY0BvJyi6V2MSCH0Tnq1YKs_bZ8PpeQQu2MeRsrnDqH7TdBdE3TXBOoHBgROXA</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Safe nondeterminism in a deterministic-by-default parallel language</title><source>ACM Digital Library Complete</source><creator>Bocchino, Robert L. ; Heumann, Stephen ; Honarmand, Nima ; Adve, Sarita V. ; Adve, Vikram S. ; Welc, Adam ; Shpeisman, Tatiana</creator><creatorcontrib>Bocchino, Robert L. ; Heumann, Stephen ; Honarmand, Nima ; Adve, Sarita V. ; Adve, Vikram S. ; Welc, Adam ; Shpeisman, Tatiana</creatorcontrib><description>A number of deterministic parallel programming models with strong safety guarantees are emerging, but similar support for nondeterministic algorithms, such as branch and bound search, remains an open question. We present a language together with a type and effect system that supports nondeterministic computations with a deterministic-by-default guarantee: nondeterminism must be explicitly requested via special parallel constructs (marked nd), and any deterministic construct that does not execute any nd construct has deterministic input-output behavior. Moreover, deterministic parallel constructs are always equivalent to a sequential composition of their constituent tasks, even if they enclose, or are enclosed by, nd constructs. Finally, in the execution of nd constructs, interference may occur only between pairs of accesses guarded by atomic statements, so there are no data races, either between atomic statements and unguarded accesses (strong isolation) or between pairs of unguarded accesses (stronger than strong isolation alone). We enforce the guarantees at compile time with modular checking using novel extensions to a previously described effect system. Our effect system extensions also enable the compiler to remove unnecessary transactional synchronization. We provide a static semantics, dynamic semantics, and a complete proof of soundness for the language, both with and without the barrier removal feature. An experimental evaluation shows that our language can achieve good scalability for realistic parallel algorithms, and that the barrier removal techniques provide significant performance gains.</description><identifier>ISSN: 0362-1340</identifier><identifier>EISSN: 1558-1160</identifier><identifier>DOI: 10.1145/1925844.1926447</identifier><language>eng</language><ispartof>SIGPLAN notices, 2011-01, Vol.46 (1), p.535-548</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c225t-68a8f77ad5f81d514b43a73d01374979d4d2f3104095015f8f5c8ff1aeec82d3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,776,780,27901,27902</link.rule.ids></links><search><creatorcontrib>Bocchino, Robert L.</creatorcontrib><creatorcontrib>Heumann, Stephen</creatorcontrib><creatorcontrib>Honarmand, Nima</creatorcontrib><creatorcontrib>Adve, Sarita V.</creatorcontrib><creatorcontrib>Adve, Vikram S.</creatorcontrib><creatorcontrib>Welc, Adam</creatorcontrib><creatorcontrib>Shpeisman, Tatiana</creatorcontrib><title>Safe nondeterminism in a deterministic-by-default parallel language</title><title>SIGPLAN notices</title><description>A number of deterministic parallel programming models with strong safety guarantees are emerging, but similar support for nondeterministic algorithms, such as branch and bound search, remains an open question. We present a language together with a type and effect system that supports nondeterministic computations with a deterministic-by-default guarantee: nondeterminism must be explicitly requested via special parallel constructs (marked nd), and any deterministic construct that does not execute any nd construct has deterministic input-output behavior. Moreover, deterministic parallel constructs are always equivalent to a sequential composition of their constituent tasks, even if they enclose, or are enclosed by, nd constructs. Finally, in the execution of nd constructs, interference may occur only between pairs of accesses guarded by atomic statements, so there are no data races, either between atomic statements and unguarded accesses (strong isolation) or between pairs of unguarded accesses (stronger than strong isolation alone). We enforce the guarantees at compile time with modular checking using novel extensions to a previously described effect system. Our effect system extensions also enable the compiler to remove unnecessary transactional synchronization. We provide a static semantics, dynamic semantics, and a complete proof of soundness for the language, both with and without the barrier removal feature. An experimental evaluation shows that our language can achieve good scalability for realistic parallel algorithms, and that the barrier removal techniques provide significant performance gains.</description><issn>0362-1340</issn><issn>1558-1160</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2011</creationdate><recordtype>article</recordtype><recordid>eNpFkDtrwzAURkVpoW7auav-gJJ79bDksZg-AoEOzW5uLCm4yE6QnCH_vikNdDrw8XGGw9gzwhJRmxU20jitlxfWWtsbVqExTiDWcMsqULUUqDTcs4dSvgFAgXQVa78oBj4dJh_mkMdhGsrIh4kT_x_moRe7s_Ah0inN_EiZUgqJJ5r2J9qHR3YXKZXwdOWCbd9et-2H2Hy-r9uXjeilNLOoHbloLXkTHXqDeqcVWeUBldWNbbz2MioEDY0BvJyi6V2MSCH0Tnq1YKs_bZ8PpeQQu2MeRsrnDqH7TdBdE3TXBOoHBgROXA</recordid><startdate>20110101</startdate><enddate>20110101</enddate><creator>Bocchino, Robert L.</creator><creator>Heumann, Stephen</creator><creator>Honarmand, Nima</creator><creator>Adve, Sarita V.</creator><creator>Adve, Vikram S.</creator><creator>Welc, Adam</creator><creator>Shpeisman, Tatiana</creator><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>20110101</creationdate><title>Safe nondeterminism in a deterministic-by-default parallel language</title><author>Bocchino, Robert L. ; Heumann, Stephen ; Honarmand, Nima ; Adve, Sarita V. ; Adve, Vikram S. ; Welc, Adam ; Shpeisman, Tatiana</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c225t-68a8f77ad5f81d514b43a73d01374979d4d2f3104095015f8f5c8ff1aeec82d3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2011</creationdate><toplevel>online_resources</toplevel><creatorcontrib>Bocchino, Robert L.</creatorcontrib><creatorcontrib>Heumann, Stephen</creatorcontrib><creatorcontrib>Honarmand, Nima</creatorcontrib><creatorcontrib>Adve, Sarita V.</creatorcontrib><creatorcontrib>Adve, Vikram S.</creatorcontrib><creatorcontrib>Welc, Adam</creatorcontrib><creatorcontrib>Shpeisman, Tatiana</creatorcontrib><collection>CrossRef</collection><jtitle>SIGPLAN notices</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Bocchino, Robert L.</au><au>Heumann, Stephen</au><au>Honarmand, Nima</au><au>Adve, Sarita V.</au><au>Adve, Vikram S.</au><au>Welc, Adam</au><au>Shpeisman, Tatiana</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Safe nondeterminism in a deterministic-by-default parallel language</atitle><jtitle>SIGPLAN notices</jtitle><date>2011-01-01</date><risdate>2011</risdate><volume>46</volume><issue>1</issue><spage>535</spage><epage>548</epage><pages>535-548</pages><issn>0362-1340</issn><eissn>1558-1160</eissn><abstract>A number of deterministic parallel programming models with strong safety guarantees are emerging, but similar support for nondeterministic algorithms, such as branch and bound search, remains an open question. We present a language together with a type and effect system that supports nondeterministic computations with a deterministic-by-default guarantee: nondeterminism must be explicitly requested via special parallel constructs (marked nd), and any deterministic construct that does not execute any nd construct has deterministic input-output behavior. Moreover, deterministic parallel constructs are always equivalent to a sequential composition of their constituent tasks, even if they enclose, or are enclosed by, nd constructs. Finally, in the execution of nd constructs, interference may occur only between pairs of accesses guarded by atomic statements, so there are no data races, either between atomic statements and unguarded accesses (strong isolation) or between pairs of unguarded accesses (stronger than strong isolation alone). We enforce the guarantees at compile time with modular checking using novel extensions to a previously described effect system. Our effect system extensions also enable the compiler to remove unnecessary transactional synchronization. We provide a static semantics, dynamic semantics, and a complete proof of soundness for the language, both with and without the barrier removal feature. An experimental evaluation shows that our language can achieve good scalability for realistic parallel algorithms, and that the barrier removal techniques provide significant performance gains.</abstract><doi>10.1145/1925844.1926447</doi><tpages>14</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0362-1340
ispartof SIGPLAN notices, 2011-01, Vol.46 (1), p.535-548
issn 0362-1340
1558-1160
language eng
recordid cdi_crossref_primary_10_1145_1925844_1926447
source ACM Digital Library Complete
title Safe nondeterminism in a deterministic-by-default parallel language
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-09T22%3A36%3A43IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Safe%20nondeterminism%20in%20a%20deterministic-by-default%20parallel%20language&rft.jtitle=SIGPLAN%20notices&rft.au=Bocchino,%20Robert%20L.&rft.date=2011-01-01&rft.volume=46&rft.issue=1&rft.spage=535&rft.epage=548&rft.pages=535-548&rft.issn=0362-1340&rft.eissn=1558-1160&rft_id=info:doi/10.1145/1925844.1926447&rft_dat=%3Ccrossref%3E10_1145_1925844_1926447%3C/crossref%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true