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.

Contents<br />

3.1.1.2. Survey Subjects . . . . . . . . . . . . . . . . . . 41<br />

3.1.1.3. Survey Execution . . . . . . . . . . . . . . . . . 42<br />

3.1.2. Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

3.1.2.1. Threads and Locks . . . . . . . . . . . . . . . . 45<br />

3.1.2.2. Communicating Threads . . . . . . . . . . . . . 49<br />

3.1.2.3. Communicating Isolates . . . . . . . . . . . . . 50<br />

3.1.2.4. Data Parallelism . . . . . . . . . . . . . . . . . . 53<br />

3.1.2.5. Threats to Validity . . . . . . . . . . . . . . . . . 53<br />

3.1.3. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

3.2. A Survey of Parallel and Concurrent Programming Concepts . 56<br />

3.2.1. Survey Design . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

3.2.1.1. Survey Questions . . . . . . . . . . . . . . . . . 57<br />

3.2.1.2. Selecting Subjects and I<strong>de</strong>ntifying Concepts . . 58<br />

3.2.2. Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

3.2.3. Threats to Validity . . . . . . . . . . . . . . . . . . . . . . 67<br />

3.2.4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

3.2.4.1. General Requirements . . . . . . . . . . . . . . 69<br />

3.2.4.2. Connection with Concurrent and Parallel Programming<br />

. . . . . . . . . . . . . . . . . . . . . . 70<br />

3.2.4.3. Conclusions . . . . . . . . . . . . . . . . . . . . 71<br />

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71<br />

3.3.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 71<br />

3.3.2. Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72<br />

3.3.3. Scheduling Guarantees . . . . . . . . . . . . . . . . . . . 75<br />

3.3.4. Immutability . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />

3.3.5. Reflection . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

3.3.6. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />

3.4. Requirements for a Unifying Substrate for Concurrent Programming<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

3.5. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86<br />

4. Experimentation Platform 89<br />

4.1. Requirements for the Experimentation Platform . . . . . . . . . 90<br />

4.2. SOM: Simple Object Machine . . . . . . . . . . . . . . . . . . . . 90<br />

4.2.1. Language Overview and Smalltalk Specifics . . . . . . . 91<br />

4.2.2. Execution Mo<strong>de</strong>l and Byteco<strong>de</strong> Set . . . . . . . . . . . . 94<br />

4.3. Squeak and Pharo Smalltalk . . . . . . . . . . . . . . . . . . . . . 100<br />

x

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

Saved successfully!

Ooh no, something went wrong!