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....
Main Authors: | , , , , , , |
---|---|
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 |