Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models

Stefan Marr
(Vrije Universiteit Brussel)
Michael Haupt
(Hasso Plattner Institute, University of Potsdam)
Stijn Timbermont
(Vrije Universiteit Brussel)
Bram Adams
(Queen's University)
Theo D'Hondt
(Vrije Universiteit Brussel)
Pascal Costanza
(Vrije Universiteit Brussel)
Wolfgang De Meuter
(Vrije Universiteit Brussel)

The upcoming many-core architectures require software developers to exploit concurrency to utilize available computational power. Today's high-level language virtual machines (VMs), which are a cornerstone of software development, do not provide sufficient abstraction for concurrency concepts. We analyze concrete and abstract concurrency models and identify the challenges they impose for VMs. To provide sufficient concurrency support in VMs, we propose to integrate concurrency operations into VM instruction sets.

Since there will always be VMs optimized for special purposes, our goal is to develop a methodology to design instruction sets with concurrency support. Therefore, we also propose a list of trade-offs that have to be investigated to advise the design of such instruction sets.

As a first experiment, we implemented one instruction set extension for shared memory and one for non-shared memory concurrency. From our experimental results, we derived a list of requirements for a full-grown experimental environment for further research.

In Alastair R. Beresford and Simon Gay: Proceedings Second International Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES 2009), York, UK, 22nd March 2009, Electronic Proceedings in Theoretical Computer Science 17, pp. 63–77.
Published: 6th February 2010.

ArXived at: https://dx.doi.org/10.4204/EPTCS.17.6 bibtex PDF

Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org