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.

8.1. Evaluation Strategy<br />

The RoarVM was chosen over the CogVM for its significantly lower implementation<br />

complexity, 1 enabling the evaluation of the benefits of VM support<br />

with a significantly lower implementation effort.<br />

Motivation for using LRSTM and AmbientTalkST The performance evaluation<br />

relies on the AmbientTalkST and LRSTM case studies to compare the<br />

performance of ad hoc implementations with OMOP-based implementations.<br />

The evaluation restricts itself to these two case studies, because the semantic<br />

differences between the ad hoc implementation of Clojure agents and the<br />

OMOP-based implementation are significant (cf. Sec. 6.2.1) ren<strong>de</strong>ring any performance<br />

result incomparable.<br />

However, AmbientTalkST and LRSTM yield two relevant data points that<br />

represent two major concurrent programming concepts. As argued in Sec. 2.5,<br />

event-loop actors are a natural fit for the implementation of event-driven userinterfaces.<br />

JCoBox [Schäfer and Poetzsch-Heffter, 2010] and AmbientTalk [Van<br />

Cutsem et al., 2007] show that these i<strong>de</strong>as are explored in research. Furthermore,<br />

WebWorker 5 and Dart 6 <strong>de</strong>monstrate the adoption in industry. Software<br />

transactional memory found adoption in languages such as Clojure 7<br />

or Haskell 8 and as a compiler extension for GNU GCC 4.7. 9<br />

Furthermore, these two case studies customize distinct intercession handlers<br />

of the OMOP, and thus are subject to different performance effects.<br />

AmbientTalkST primarily customizes method execution (cf. Sec. 6.2.3), while<br />

LRSTM customizes state access and primitives execution (cf. Sec. 6.2.2).<br />

In or<strong>de</strong>r to have comparable results, both AmbientTalkST implementations<br />

observe the same semantics, i. e., neither implementation enforces state encapsulation<br />

for global state. While Sec. 6.2.3 discussed a solution for state<br />

encapsulation based on the OMOP, providing the same <strong>de</strong>gree of encapsulation<br />

for the ad hoc implementation would have required significant addi-<br />

1 Our discussions with Eliot Miranda, author of the CogVM, at the Deep into Smalltalk school, 2<br />

the VMIL’11 workshop, 3 and as a co-mentor for the 2012 Google Summer of Co<strong>de</strong> project to<br />

port the CogVM to ARM, 4 ma<strong>de</strong> it clear that the CogVM would requires engineering and<br />

research effort that goes beyond the scope of this dissertation (cf. Sec. 9.5.2).<br />

2 http://www.inria.fr/en/centre/lille/calendar/smalltalk<br />

3 http://www.cs.iastate.edu/~<strong>de</strong>sign/vmil/2011/program.shtml<br />

4 http://gsoc2012.esug.org/projects/arm-jitter<br />

5 http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html<br />

6 http://api.dartlang.org/docs/continuous/dart_isolate.html<br />

7 http://clojure.org<br />

8 http://www.haskell.org<br />

9 http://gcc.gnu.org/wiki/TransactionalMemory<br />

203

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

Saved successfully!

Ooh no, something went wrong!