05.08.2014 Views

here - Stefan-Marr.de

here - Stefan-Marr.de

here - Stefan-Marr.de

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3. Which Concepts for Concurrent and Parallel Progr. does a VM need to Support?<br />

3.1. VM Support for Concurrent and Parallel<br />

Programming<br />

The goal of this section is to investigate the state of the art in VM support<br />

for concurrent and parallel programming, in or<strong>de</strong>r to <strong>de</strong>termine the requirements<br />

for multi-language VMs. To this end, the survey i<strong>de</strong>ntifies for thirteen<br />

VMswhich concepts they support and how the VMs expose them. First, this<br />

section <strong>de</strong>tails the survey <strong>de</strong>sign, i. e., the questions to be answered for each<br />

VM, the VMs to be discussed, and the survey approach to be taken. Then<br />

it categorizes the VMs based on the taxonomy used in Sec. 2.4.1 and reports<br />

on the support they provi<strong>de</strong>. Finally, it discusses the threats to validity and<br />

presents the conclusions.<br />

The main conclusion is that currently most VMs support only one or two<br />

categories of concurrent programming concepts as part of the VM. Moreover,<br />

the analyzed VMs support parallel programming in libraries only. Thus, the<br />

vision of multi-language VMs that offer support for a wi<strong>de</strong> range of different<br />

approaches to concurrent and parallel programming is as yet not supported.<br />

3.1.1. Survey Design<br />

The survey is <strong>de</strong>signed to answer the following question: How do today’s VMs<br />

support parallel and concurrent programming?<br />

Following the goal of this dissertation, this survey focuses on VMs that are<br />

used as multi-language VMs, i. e., VMs that have been <strong>de</strong>signed as platforms<br />

for multiple languages or are contemporary targets for multiple language<br />

implementations. To complement these VMs, the survey inclu<strong>de</strong>s a number<br />

of high-level language VMs that provi<strong>de</strong> support for concurrent and parallel<br />

programming concepts or are known for contributions to VM implementation<br />

techniques.<br />

3.1.1.1. Survey Questions<br />

To focus and standardize the survey, the following concrete questions are<br />

answered for each survey subject, i. e., VM:<br />

Which concepts are supported by the language runtime system, i. e., VM?<br />

How are the supported concepts exposed by the VM?<br />

40

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!