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

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

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

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!