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. Which Concepts for Concurrent and Parallel Progr. does a VM need to Support?<br />

meta-circular implementation, which makes primitives and their use directly<br />

i<strong>de</strong>ntifiable in the co<strong>de</strong>.<br />

3.1.2. Results<br />

Structure of the Discussion This section first discusses the VMs supporting<br />

Threads & Locks (T&L), then the ones with support for Communicating Threads<br />

(ComT), and finally the ones supporting Communication Isolates (ComI) (cf.<br />

Sec. 2.4.1). In the case a VM supports more than a single category, the discussions<br />

for the different categories build on each other. The category of Data<br />

Parallelism (DPar) is not discussed because all VMs examined in this survey<br />

relegate support for parallel programming to libraries. These libraries build<br />

on lower-level mechanisms, which are concurrent programming concepts on<br />

their own and are used for other purposes as well.<br />

The remain<strong>de</strong>r of this section discusses the survey questions and highlights<br />

the concepts supported by the different VMs. A full overview of the survey is<br />

given in Appendix A, Tab. A.2.<br />

General Remarks Tab. 3.2 provi<strong>de</strong>s an overview of the categorization of the<br />

various VMs. Furthermore, while three of the VMs can be categorized as<br />

belonging to two categories, most of the VMs focus on supporting a single<br />

category of concurrency-related mechanisms.<br />

VM T&L ComT ComI DPar<br />

CLI X X Lib<br />

Dalvik X Lib<br />

DisVM<br />

X<br />

ECMAScript+HTML5<br />

X<br />

Erlang<br />

X<br />

GHC X Lib<br />

JVM X Lib<br />

Mozart X X<br />

Perl<br />

X<br />

Python X X<br />

Ruby<br />

X<br />

Self<br />

X<br />

Squeak<br />

X<br />

Table 3.2.: Categories of approaches supported by VMs: Threads & Locks (T&L),<br />

Communicating Threads (ComT), Communicating Isolates (ComI), and Data<br />

Parallelism (DPar)<br />

44

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

Saved successfully!

Ooh no, something went wrong!