27.01.2015 Views

A Methodology for Fine- Grained Parallelism in JavaScript ...

A Methodology for Fine- Grained Parallelism in JavaScript ...

A Methodology for Fine- Grained Parallelism in JavaScript ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Results: n-body<br />

600<br />

3<br />

500<br />

time per iteration (ms)<br />

400<br />

300<br />

200<br />

100<br />

ref<br />

sluice<br />

skir<br />

speedup<br />

2<br />

4096<br />

3072<br />

2048<br />

1024<br />

0<br />

100 500 1000 1500<br />

1<br />

2 4 8<br />

number of bodies<br />

number of threads<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

Test of acceleration due to SKIR<br />

Offload CalculateForces kernel to SKIR<br />

Shows mean time per simulation iteration<br />

ref = ord<strong>in</strong>ary <strong>JavaScript</strong><br />

sluice = sluice implementation<br />

skir = sluice implementation + SKIR offload<br />

●<br />

●<br />

●<br />

Test of data parallelism<br />

Offload CalculateForces kernel as a data<br />

parallel kernel, use SKIR kernel fission<br />

Shows speedup vs. s<strong>in</strong>gle thread<br />

● Use 2, 4 or 8 SKIR threads (4 cores / 8<br />

hardware threads)<br />

●<br />

<strong>JavaScript</strong> also uses one thread

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

Saved successfully!

Ooh no, something went wrong!