Title
Practical permissions for race-free parallelism
Abstract
Type systems that prevent data races are a powerful tool for parallel programming, eliminating whole classes of bugs that are both hard to find and hard to fix. Unfortunately, it is difficult to apply previous such type systems to "real" programs, as each of them are designed around a specific synchronization primitive or parallel pattern, such as locks or disjoint heaps; real programs often have to combine multiple synchronization primitives and parallel patterns. In this work, we present a new permissions-based type system, which we demonstrate is practical by showing that it supports multiple patterns (e.g., task parallelism, object isolation, array-based parallelism), and by applying it to a suite of non-trivial parallel programs. Our system also has a number of theoretical advances over previous work on permissions-based type systems, including aliased write permissions and a simpler way to store permissions in objects than previous approaches.
Year
DOI
Venue
2012
10.1007/978-3-642-31057-7_27
ECOOP
Keywords
Field
DocType
new permissions-based type system,race-free parallelism,array-based parallelism,permissions-based type system,parallel programming,multiple pattern,non-trivial parallel program,practical permission,previous work,parallel pattern,previous approach,type system
Synchronization,Separation logic,Programming language,Disjoint sets,Suite,Task parallelism,Computer science,Theoretical computer science,Heap (data structure),Data parallelism
Conference
Volume
ISSN
Citations 
7313
0302-9743
11
PageRank 
References 
Authors
0.65
24
4
Name
Order
Citations
PageRank
Edwin Westbrook1927.24
Jisheng Zhao248024.34
Zoran Budimlić329728.95
Vivek Sarkar44318409.41