ACM Home Page
Please provide us with feedback. Feedback
Concurrency by default: using permissions to express dataflow in stateful programs
Full text PdfPdf (471 KB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications table of contents
Orlando, Florida, USA
SESSION: Onward! short papers session 2: the magic carpets of Aladdin table of contents
Pages 933-940  
Year of Publication: 2009
ISBN:978-1-60558-768-4
Authors
Sven Stork  Carnegie Mellon University, Pittsburg, USA
Paulo Marques  University of Coimbra, Coimbra, Portugal
Jonathan Aldrich  Carnegie Mellon University, Pittsburg, USA
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 19,   Downloads (12 Months): 19,   Citation Count: 0
Additional Information:

abstract   references   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1639950.1640060
What is a DOI?

ABSTRACT

The rise of the multicore era is catapulting concurrency into mainstream programming. Current programming paradigms build in sequentiality, and as a result, concurrency support in those languages forces programmers into low-level reasoning about execution order. In this paper, we introduce a new programming paradigm in which concurrency is the default. Our Aeminium language uses access permissions to express logical dependencies in the code at a higher level of abstraction than sequential order. Therefore compiler/runtime-system can leverage that dependency information to allow concurrent execution. Because in Aeminium programmers specify dependencies rather than control flow, there is no need to engage in difficult, error-prone, and low-level reasoning about execution order or thread interleavings. Developers can instead focus on the design of the program, and benefit as the runtime automatically extracts the concurrency inherent in


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
E. Allen, D. Chase, J. Hallett, V. Luchangco, J.W. Maessen, S. Ryu, G.L. Steele Jr, and S. Tobin-Hochstadt. The Fortress language specification version 1.0. Technical report, Sun Microsystems, Inc, 2008.
 
2
N. E. Beckman, K. Bierhoff, and J. Aldrich. Verifying correct usage of atomic blocks and typestate. Proc. ACM SIGPLAN conference on OOPSLA, 43(10):227--244, 2008.
 
3
K. Bierhoff and J. Aldrich. Modular typestate checking of aliased objects. In Proc. ACM SIGPLAN conference on OOPSLA, pages 301--320, 2007.
 
4
R. D. Blumofe, C. F. Joerg, B. C. Kuszmaul, C. E. Leiserson, K. H. Randall, and Y. Zhou. Cilk: an efficient multithreaded runtime system. Proc. ACM SIGPLAN symposium on PPoPP, 30(8): 207--216, 1995.
 
5
H.-J. Boehm. Transactional Memory Should Be an Implementation Technique, Not a Programming Interface. Technical Report HPL-2009-45, HP Laboratories, 2009.
 
6
J. Boyland. Checking interference with fractional permissions. In SAS, pages 55--72. Springer, 2003.
 
7
D. G. Clarke, J. M. Potter, and J. Noble. Ownership types for flexible alias protection. Proc. ACM SIGPLAN conference on OOPSLA, 33(10):48--64, 1998. J.-Y. Girard. Linear logic. Theor. Comput. Sci., 50(1):1--102, 1987.
 
8
A. Greenhouse and W. L. Scherlis. Assuring and evolving concurrent programs: annotations and policy. In Proc. ICSE, pages 453--463, New York, NY, USA, 2002. ACM. S.L.P.
 
9
Jones. Haskell 98 language and libraries: the revised report. Cambridge University Press, 2003.
 
10
J. Larus and R. Rajwar. Transactional Memory. Morgan & Claypool Publishers, 1 edition, 2007.
 
11
K. Rustan M. Leino. Data groups: specifying the modification of extended state. In Proc. ACM SIGPLAN conference on OOPSLA, pages 144--153, New York, NY, USA, 1998.
 
12
M. Martin, C. Blundell, and E. Lewis. Subtleties of Transactional Memory Atomicity Semantics. IEEE Computer Architecture Letters, 5(2), 2006.
 
13
Axum Programmer's Guide. Microsoft Corporation, 2009. http://msdn.microsoft.com/en--us/devlabs/dd795202.aspx.
 
14
JE Rumbaugh. A parallel asynchronous computer architecture for data flow programs. PhD thesis, Massachusetts Institute of Technology, 1975. MIT-LCS-TR-150.
 
15
D. J. Spoonhower. Scheduling Deterministic Parallel Programs. PhD thesis, Carnegie Mellon University, May 2009.
 
16
H. Sutter. The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software. Dr. Dobb's Journal, 30(3):16--20, 2005.