05.08.2014 Views

here - Stefan-Marr.de

here - Stefan-Marr.de

here - Stefan-Marr.de

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

8.1. Evaluation Strategy<br />

posed evaluation measures its in<strong>here</strong>nt overhead and its gains. It measures its<br />

overhead on unenforced execution, and uses LRSTM and AmbientTalkST to<br />

measure its performance benefit.<br />

The evaluation is completed by measuring the absolute performance of<br />

AST-OMOP and RoarVM+OMOP. While these absolute numbers do not contribute<br />

to the evaluation goal, they are a relevant data points for the assessment<br />

of whether the OMOP can be applied in its current form.<br />

8.1.3. Virtual Machines<br />

The evaluation uses the CogVM and the RoarVM. This section briefly lists the<br />

basic information required to recreate the setup. Furthermore, it <strong>de</strong>scribes the<br />

characteristics of the RoarVM variants used in the experiments.<br />

CogVM The used CogVM (cf. Sec. 4.3) is the official and unmodified VM<br />

for the Squeak and Pharo projects. It has been obtained from the continuous<br />

integration server of the Pharo project. 11 It was compiled on Aug. 13th, 2012,<br />

and i<strong>de</strong>ntifies itself as a 6.0-pre release.<br />

RoarVM The RoarVM used in these experiments is based on the official<br />

sources, 12 but contains a number of customizations. In total, three variants<br />

of the RoarVM without OMOP support are used. RoarVM (std) is the variant<br />

that uses the standard settings of the VM and supports parallel execution. It is<br />

compiled with Clang 3.0, 13 since Clang is the compiler used during <strong>de</strong>velopment.<br />

In or<strong>de</strong>r to assess whether the performance differences are significant<br />

between Clang 3.0 and the standard compiler of OS X 10.6, i. e., the GNU<br />

GCC 4.2, 14 the RoarVM (GCC 4.2) is inclu<strong>de</strong>d in the experiments. The only<br />

difference with RoarVM (std) is the use of the GNU GCC 4.2 compiler. In<strong>de</strong>pen<strong>de</strong>nt<br />

of the compiler, all RoarVM variants are compiled with maximum<br />

optimizations, i. e., with the -O3 compiler flag.<br />

Parallel Execution vs. Overhead Assessment For improved performance<br />

and to expose the introduced overhead of the OMOP more clearly, this evaluation<br />

uses RoarVM (opt), which is configured with non-standard settings.<br />

11 https://ci.lille.inria.fr/pharo/view/Cog/job/Cog-VM/<br />

12 https://github.com/smarr/RoarVM<br />

13 http://clang.llvm.org/<br />

14 To be precise, the compiler i<strong>de</strong>ntification is: (GCC) 4.2.1 (Based on Apple Inc. build 5658)<br />

(LLVM build 2336.1.00).<br />

205

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

Saved successfully!

Ooh no, something went wrong!