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.

9. Conclusion and Future Work<br />

9.1. Problem and Thesis Statement Revisited<br />

This dissertation set out to address the problem of today’s virtual machines<br />

not reconciling the trend for increased hardware parallelism, which is the<br />

result of the multicore revolution, with the trend of using VMs as general<br />

purpose platforms with a wi<strong>de</strong> variety of languages. Today, language and<br />

library implementers struggle to build concurrent programming concepts on<br />

top of multi-language VMs, because these VMs do not provi<strong>de</strong> the necessary<br />

abstractions. Hence, the objective of this dissertation is to find a solution for<br />

the insufficient support for concurrent and parallel programming in VMs.<br />

Since today’s VMs support only a limited range of concurrent and parallel<br />

programming concepts, first nee<strong>de</strong>d to be i<strong>de</strong>ntified the concepts that would<br />

benefit from VM support for improved performance or enforcement of semantics.<br />

Initially the problem was that the set of abstractions required from a VM was<br />

unknown.<br />

With these problems in mind, the following thesis statement was formulated:<br />

T<strong>here</strong> exists a relevant and significant subset of concurrent and parallel<br />

programming concepts that can be realized on top of a unifying substrate.<br />

This substrate enables the flexible <strong>de</strong>finition of language semantics, which<br />

build on the i<strong>de</strong>ntified set of concepts, and this substrate lends itself to an<br />

efficient implementation.<br />

Three concrete research goals were <strong>de</strong>rived from the thesis statement:<br />

I<strong>de</strong>ntify a Set of Requirements The first goal of this research was to un<strong>de</strong>rstand<br />

how concurrent and parallel programming are supported in today’s<br />

VMs and how the un<strong>de</strong>rlying programming concepts relate to<br />

each other. Chapter 3 approached this goal with a survey and conclu<strong>de</strong>d<br />

that concepts for parallel programming benefit mainly from support for<br />

optimization in a VM, and that concepts for concurrent programming<br />

require support for their semantics. Since these two concerns are largely<br />

orthogonal, this dissertation chose to focus on concepts for concurrent<br />

programming. Chapter 3 further discussed a number of problems language<br />

implementers face today and <strong>de</strong>rived a set of requirements for<br />

their support in multi-language VMs.<br />

Define a Unifying Substrate The second research goal was to i<strong>de</strong>ntify a unifying<br />

substrate to support concurrent programming concepts. Based on<br />

236

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

Saved successfully!

Ooh no, something went wrong!