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.

B.1. Benchmark Characterizations<br />

We treat the Slopstone benchmarks as a single kernel benchmark covering<br />

a wi<strong>de</strong>r range of aspects with a single result.<br />

The Smopstone benchmarks collections contains kernel benchmarks. It<br />

calculates fractonaccis, which is a similar to a recursive fibonacci, but<br />

uses fractions instead of natural numbers. Furthermore, it generates a<br />

collection of prime numbers, generates and parses streams as well as<br />

strings, creates sets, sorts strings, and has a benchmark called Sorcerer’s<br />

Apprentice, which exercises recursive blocks, integer arithmetic, and collections.<br />

Similar to the Slopstone benchmark, only the overall result is<br />

reported.<br />

Binary Trees This benchmark is used from The Computer Language Benchmark<br />

Game (CLBG) and is an adaptation of Hans Boehm’s GCBench. 2 It allocates<br />

many binary trees. The trees are created and afterwards traversed<br />

once as a consistency check.<br />

LRSTM: The benchmark is executed unchanged in the context of the<br />

STM, which will track all mutations.<br />

AmbientTalkST: The tree factory is represented by a separate actor. It will<br />

create the trees on the request of the main actor, and return a reference<br />

(a far reference in AmbientTalk terminology). Thus, the factory actor<br />

remains the owner and the main actor will send an asynchronous request<br />

for the consistency check, which will be processed by the factor<br />

actor. All overhead should be attributable to this constant number of<br />

asynchronous message sends per created tree.<br />

Chameneos The Chameneos benchmark is used from the CLGB and has been<br />

used by Kaiser and Pradat-Peyre [2003] to study the differences of synchronization<br />

constructs in different languages. It repeatedly performs<br />

symmetrical thread ren<strong>de</strong>zvous requests. It uses Smalltalk processes<br />

and semaphores for the synchronization. Thus, the main aspect measured<br />

is the overhead of scheduling, the synchronization, and notification<br />

operations.<br />

Fannkuch The Fannkuch benchmark is used from the CLBG. It repeatedly<br />

accesses a tiny integer-sequence to generate permutations of it. It has<br />

been used by An<strong>de</strong>rson and Rettig [1994] to analyze the performance of<br />

Lisp implementations. The CLBG implementation uses a stateful object<br />

2 http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_bench/applet/GCBench.java<br />

265

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

Saved successfully!

Ooh no, something went wrong!