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.

9.4. Overall Conclusions<br />

The limitations of the performance evaluation, as discussed in Sec. 8.1.4,<br />

are:<br />

Performance results are not generalizable to applications. The use of microbenchmarks<br />

and kernel benchmarks preclu<strong>de</strong>s a generalization of<br />

the performance results to applications. Thus, for fully generalizable<br />

results, a performance evaluation with application benchmarks would<br />

be required.<br />

Performance results provi<strong>de</strong> indications for interpreter-based VMs only. The<br />

low performance of the RoarVM preclu<strong>de</strong>s generalization beyond similar<br />

byteco<strong>de</strong> interpreters. Thus, the obtained results cannot be used to<br />

predict the performance for highly optimized VMs.<br />

9.4. Overall Conclusions<br />

This dissertation is the first to explore how a wi<strong>de</strong> range of concurrent and<br />

parallel programming concepts can be supported by a multi-language VM.<br />

Until now, the research focus was often limited to one specific language or<br />

concept without consi<strong>de</strong>ring the need for a unifying substrate. However, with<br />

the JVM and CLI being used as multi-language VMs, this is no longer sufficient.<br />

Consequently, it surveys the field of VMs as well as the field of concurrent<br />

and parallel programming and conclu<strong>de</strong>s with a set of five general requirements<br />

for VM support. In or<strong>de</strong>r to host a wi<strong>de</strong> range of different concepts<br />

efficiently and with correct semantics, a VM needs to provi<strong>de</strong> a flexible optimization<br />

infrastructure, flexible runtime monitoring facilities, a powerful VM interface,<br />

customizable semantics for execution and state access, as well as semantic<br />

enforcement against reflection.<br />

This dissertation focuses on concurrent programming concepts. They benefit<br />

foremost from guaranteeing their semantics in the presence of reflection,<br />

mutable state, and interaction with other languages and libraries. The main<br />

problem with today’s VMs is that contemporary implementation approaches<br />

for concurrent programming concepts have to balance implementation simplicity,<br />

correctly implemented language semantics, and performance. The conclusion<br />

based on these observations is that VMs have to support the notions of<br />

managed state, managed execution, ownership, and controlled<br />

enforcement in or<strong>de</strong>r to facilitate the implementation of concurrent programming<br />

concepts.<br />

241

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

Saved successfully!

Ooh no, something went wrong!