Title
Identifying a unifying mechanism for the implementation of concurrency abstractions on multi-language virtual machines
Abstract
Supporting all known abstractions for concurrent and parallel programming in a virtual machines (VM) is a futile undertaking, but it is required to give programmers appropriate tools and performance. Instead of supporting all abstractions directly, VMs need a unifying mechanism similar to INVOKEDYNAMIC for JVMs. Our survey of parallel and concurrent programming concepts identifies concurrency abstractions as the ones benefiting most from support in a VM. Currently, their semantics is often weakened, reducing their engineering benefits. They require a mechanism to define flexible language guarantees. Based on this survey, we define an ownership-based meta-object protocol as candidate for VM support. We demonstrate its expressiveness by implementing actor semantics, software transactional memory, agents, CSP, and active objects. While the performance of our prototype confirms the need for VM support, it also shows that the chosen mechanism is appropriate to express a wide range of concurrency abstractions in a unified way.
Year
DOI
Venue
2012
10.1007/978-3-642-30561-0_13
TOOLS (50)
Keywords
Field
DocType
engineering benefit,concurrency abstraction,active object,programmers appropriate tool,vm support,parallel programming,unifying mechanism,chosen mechanism,multi-language virtual machine,concurrent programming concept,actor semantics,virtual machines,abstraction,concurrency
Software transactional memory,Abstraction,Programming language,Virtual machine,Concurrency,Computer science,Concurrent computing,Semantics,Multi language,Expressivity
Conference
Volume
ISSN
Citations 
7304
0302-9743
4
PageRank 
References 
Authors
0.47
22
2
Name
Order
Citations
PageRank
Stefan Marr112421.54
Theo D'Hondt261859.24