A Methodology for Fine- Grained Parallelism in JavaScript ...
A Methodology for Fine- Grained Parallelism in JavaScript ...
A Methodology for Fine- Grained Parallelism in JavaScript ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Sluice: EDSL <strong>for</strong> Stream <strong>Parallelism</strong><br />
• Kahn Process Network model of computation<br />
• StreamIt style program construction<br />
function Adder(arg) {<br />
Kernel<br />
Split<br />
Kernel<br />
this.a = arg;<br />
this.work = function() {<br />
Kernel<br />
var e = this.pop();<br />
Kernel ... Kernel Kernel<br />
Kernel Kernel<br />
e = e + this.a;<br />
Kernel<br />
this.push(e);<br />
return false;<br />
Jo<strong>in</strong><br />
Kernel<br />
Kernel<br />
}<br />
}<br />
var add0 = new Adder(1);<br />
var add1 = new Adder(1);<br />
var add2 = new Adder(1);<br />
pipel<strong>in</strong>e split-jo<strong>in</strong> data parallel<br />
var sj = Sluice.SplitRR(1, add0, add1, add2).Jo<strong>in</strong>RR(1);<br />
var p = Sluice.Pipel<strong>in</strong>e(new Count(10), sj, new Pr<strong>in</strong>ter());<br />
> p.run()<br />
1 2 3 4 5 6 7 8 9 10