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

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....

Full description

Bibliographic Details
Main Authors: Stefan Marr, Michael Haupt, Stijn Timbermont, Bram Adams, Theo D'Hondt, Pascal Costanza, Wolfgang De Meuter
Format: Article
Language:English
Published: Open Publishing Association 2010-02-01
Series:Electronic Proceedings in Theoretical Computer Science
Online Access:http://arxiv.org/pdf/1002.0939v1
id doaj-64c3dcd88807450f9609946af1a2f2e8
record_format Article
spelling doaj-64c3dcd88807450f9609946af1a2f2e82020-11-24T21:12:06ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802010-02-0117Proc. PLACES 2009637710.4204/EPTCS.17.6Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency ModelsStefan MarrMichael HauptStijn TimbermontBram AdamsTheo D'HondtPascal CostanzaWolfgang De MeuterThe 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. http://arxiv.org/pdf/1002.0939v1
collection DOAJ
language English
format Article
sources DOAJ
author Stefan Marr
Michael Haupt
Stijn Timbermont
Bram Adams
Theo D'Hondt
Pascal Costanza
Wolfgang De Meuter
spellingShingle Stefan Marr
Michael Haupt
Stijn Timbermont
Bram Adams
Theo D'Hondt
Pascal Costanza
Wolfgang De Meuter
Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models
Electronic Proceedings in Theoretical Computer Science
author_facet Stefan Marr
Michael Haupt
Stijn Timbermont
Bram Adams
Theo D'Hondt
Pascal Costanza
Wolfgang De Meuter
author_sort Stefan Marr
title Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models
title_short Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models
title_full Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models
title_fullStr Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models
title_full_unstemmed Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models
title_sort virtual machine support for many-core architectures: decoupling abstract from concrete concurrency models
publisher Open Publishing Association
series Electronic Proceedings in Theoretical Computer Science
issn 2075-2180
publishDate 2010-02-01
description 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.
url http://arxiv.org/pdf/1002.0939v1
work_keys_str_mv AT stefanmarr virtualmachinesupportformanycorearchitecturesdecouplingabstractfromconcreteconcurrencymodels
AT michaelhaupt virtualmachinesupportformanycorearchitecturesdecouplingabstractfromconcreteconcurrencymodels
AT stijntimbermont virtualmachinesupportformanycorearchitecturesdecouplingabstractfromconcreteconcurrencymodels
AT bramadams virtualmachinesupportformanycorearchitecturesdecouplingabstractfromconcreteconcurrencymodels
AT theodhondt virtualmachinesupportformanycorearchitecturesdecouplingabstractfromconcreteconcurrencymodels
AT pascalcostanza virtualmachinesupportformanycorearchitecturesdecouplingabstractfromconcreteconcurrencymodels
AT wolfgangdemeuter virtualmachinesupportformanycorearchitecturesdecouplingabstractfromconcreteconcurrencymodels
_version_ 1716751554538635264