05.08.2014 Views

here - Stefan-Marr.de

here - Stefan-Marr.de

here - Stefan-Marr.de

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.3. Common Problems for the Implementation of Concurrency Abstractions<br />

of them. As argued above in Sec. 3.2.4, this dissertation focuses on concepts<br />

that require support for an enforcement of their semantics on the part of the<br />

VM. Based on the distinction provi<strong>de</strong>d by the two <strong>de</strong>finitions, this dissertation<br />

focuses on the set of concurrent programming concepts, i. e., the concepts that<br />

are meant to support algorithms to yield consistent and correct results.<br />

3.2.4.3. Conclusions<br />

This survey discussed a wi<strong>de</strong> range of concepts for concurrent and parallel<br />

programming. It categorizes the concepts i<strong>de</strong>ntified in literature and programming<br />

languages based on answering the question of whether their semantics<br />

benefit from an enforcement in the VM and the question of whether their<br />

performance could significantly benefit from VM support.<br />

Parallel programming concepts benefit most from flexible infrastructure for<br />

performance optimizations, while concurrent programming concepts require<br />

support from the VM in or<strong>de</strong>r to enforce their semantics.<br />

The remain<strong>de</strong>r of this dissertation focuses on concurrent programming concepts,<br />

i. e., concepts that require support from the VM to guarantee correct<br />

semantics, and proposes a unifying substrate for concurrent programming.<br />

3.3. Common Problems for the Implementation of<br />

Concurrency Abstractions<br />

The previous section conclu<strong>de</strong>d that a wi<strong>de</strong> range of concurrent programming<br />

concepts require runtime support to enforce their semantics in an efficient<br />

way. This section discusses the semantic issues of these concepts in more<br />

<strong>de</strong>tail. The analysis is based on the work of Karmani et al. [2009] who i<strong>de</strong>ntified<br />

and discussed a number of problems in the context of actor-oriented<br />

frameworks, as well as examples from our own experiences in implementing<br />

concurrent languages [<strong>Marr</strong> et al., 2010a, 2011a,b, 2012] that are problematic<br />

for multi-language VMs. The in-<strong>de</strong>pth investigation of these problems prepares,<br />

as the main result of this chapter, the formulation of requirements for<br />

multi-language VMs.<br />

3.3.1. Overview<br />

Karmani et al. surveyed actor-oriented frameworks for the JVM to assess<br />

which semantics these frameworks provi<strong>de</strong> and what the performance cost<br />

71

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

Saved successfully!

Ooh no, something went wrong!