| Concurrency by default: using permissions to express dataflow in stateful programs |
| Full text |
Pdf
(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
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 19, Downloads (12 Months): 19, Citation Count: 0
|
|
|
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.
|
|