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<br />

W H I C H C O N C E P T S F O R C O N C U R R E N T A N D PA R A L L E L<br />

P R O G R A M M I N G D O E S A V M N E E D T O S U P P O RT ?<br />

The goal of this chapter is to i<strong>de</strong>ntify requirements for a unifying substrate<br />

that supports parallel and concurrent programming. First, a survey of the<br />

state of the art in VM support finds that support for parallel programming<br />

is relegated to libraries, while concurrent programming is only supported selectively.<br />

Thus, VM support is currently insufficient for supporting the notion<br />

of a multi-language runtime for concurrent and parallel programming. Second,<br />

a survey of the field of concurrent and parallel programming i<strong>de</strong>ntifies<br />

concepts that significantly benefit from VM support either for performance<br />

improvement or to guarantee correct semantics. Based on these concepts, this<br />

chapter <strong>de</strong>rives general requirements for VMs, which cover two in<strong>de</strong>pen<strong>de</strong>nt<br />

areas of research. This dissertation focuses on the research to enforce language<br />

semantics, and thus correctness, leaving the research on performance<br />

improvement for future work. With this focus in mind, this chapter discusses<br />

common problems of language implementers that need to be solved to improve<br />

support for concurrent programming on multi-language VMs. Finally,<br />

the survey results and discussed problems are used to extract concrete requirements<br />

for the <strong>de</strong>sign of a unifying abstraction for concurrent programming.<br />

39

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

Saved successfully!

Ooh no, something went wrong!