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.

C O N T E N T S<br />

1. Introduction 1<br />

1.1. Research Context . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />

1.2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.3. Research Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

1.4. Dissertation Outline . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

1.5. Supporting Publications and Technical Contributions . . . . . . 8<br />

2. Context and Motivation 13<br />

2.1. Multi-Language Virtual Machines . . . . . . . . . . . . . . . . . 14<br />

2.2. The Multicore Revolution . . . . . . . . . . . . . . . . . . . . . . 17<br />

2.3. Concurrent vs. Parallel Programming: Definitions . . . . . . . . 18<br />

2.3.1. Concurrency and Parallelism . . . . . . . . . . . . . . . . 18<br />

2.3.2. Concurrent Programming and Parallel Programming . . 20<br />

2.3.3. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

2.4. Common Approaches to Concurrent and Parallel Programming 23<br />

2.4.1. Taxonomies . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

2.4.2. Threads and Locks . . . . . . . . . . . . . . . . . . . . . . 26<br />

2.4.3. Communicating Threads . . . . . . . . . . . . . . . . . . 27<br />

2.4.4. Communicating Isolates . . . . . . . . . . . . . . . . . . . 30<br />

2.4.5. Data Parallelism . . . . . . . . . . . . . . . . . . . . . . . 33<br />

2.4.6. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

2.5. Building Applications: The Right Tool for the Job . . . . . . . . 36<br />

2.6. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

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

to Support? 39<br />

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

3.1.1. Survey Design . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

3.1.1.1. Survey Questions . . . . . . . . . . . . . . . . . 40<br />

ix

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

Saved successfully!

Ooh no, something went wrong!