Safe nondeterminism in a deterministic-by-default parallel language

Author:

Bocchino Robert L.1,Heumann Stephen2,Honarmand Nima2,Adve Sarita V.2,Adve Vikram S.2,Welc Adam3,Shpeisman Tatiana4

Affiliation:

1. Carnegie Mellon University, Pittsburgh, PA, USA

2. University of Illinois at Urbana-Champaign, Urbana, IL, USA

3. Adobe Systems, San Francisco, CA, USA

4. Intel Labs, Santa Clara, CA, USA

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.

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference50 articles.

1. http://iss.ices.utexas.edu/lonestar/. http://iss.ices.utexas.edu/lonestar/.

2. http://gee.cs.oswego.edu/dl/concurrency-interest. http://gee.cs.oswego.edu/dl/concurrency-interest.

3. http://http://sites.google.com/site/deucestm. http://http://sites.google.com/site/deucestm.

4. Types for safe locking

Cited by 11 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. An Executable Sequential Specification for Spark Aggregation;Networked Systems;2017

2. The Design and Formalization of Mezzo, a Permission-Based Programming Language;ACM Transactions on Programming Languages and Systems;2016-10-13

3. Revisiting the Complexity of Hardware Cache Coherence and Some Implications;ACM Transactions on Architecture and Code Optimization;2015-01-09

4. DeNovoND: Efficient Hardware for Disciplined Nondeterminism;IEEE Micro;2014-05

5. Æminium;ACM Transactions on Programming Languages and Systems;2014-03

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3