Skip to main content
Kent Academic Repository

Supporting Concurrency Abstractions in High-level Language Virtual Machines

Marr, Stefan (2013) Supporting Concurrency Abstractions in High-level Language Virtual Machines. Doctor of Philosophy (PhD) thesis, Software Languages Lab, Vrije Universiteit Brussel. (KAR id:63836)

PDF Author's Accepted Manuscript
Language: English
Download this file
(PDF/2MB)
[thumbnail of marr-phd-2013-supporting-concurrency-abstractions-in-high-level-language-virtual-machines.pdf]
Preview
Official URL:
http://www.stefan-marr.de/2013/01/supporting-concu...

Abstract

During the past decade, software developers widely adopted JVM and CLI as multi-language virtual machines (VMs). At the same time, the multicore revolution burdened developers with increasing complexity. Language implementers devised a wide range of concurrent and parallel programming concepts to address this complexity but struggle to build these concepts on top of common multi-language VMs. Missing support in these VMs leads to tradeoffs between implementation simplicity, correctly implemented language semantics, and performance guarantees. Departing from the traditional distinction between concurrency and parallelism, this dissertation finds that parallel programming concepts benefit from performance-related VM support, while concurrent programming concepts benefit from VM support that guarantees correct semantics in the presence of reflection, mutable state, and interaction with other languages and libraries. Focusing on these concurrent programming concepts, this dissertation finds that a VM needs to provide mechanisms for managed state, managed execution, ownership, and controlled enforcement. Based on these requirements, this dissertation proposes an ownership-based metaobject protocol (OMOP) to build novel multi-language VMs with proper concurrent programming support. This dissertation demonstrates the OMOP's benefits by building concurrent programming concepts such as agents, software transactional memory, actors, active objects, and communicating sequential processes on top of the OMOP. The performance evaluation shows that OMOP-based implementations of concurrent programming concepts can reach performance on par with that of their conventionally implemented counterparts if the OMOP is supported by the VM. To conclude, the OMOP proposed in this dissertation provides a unifying and minimal substrate to support concurrent programming on top of multi-language VMs. The OMOP enables language implementers to correctly implement language semantics, while simultaneously enabling VMs to provide efficient implementations.

Item Type: Thesis (Doctor of Philosophy (PhD))
Additional information: ISBN 9789057182563
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Stefan Marr
Date Deposited: 26 Dec 2017 17:30 UTC
Last Modified: 05 Nov 2024 10:59 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/63836 (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.