Getting Over Moore's Law: Parallelization Using JavaScript in the Browser
summary
A presentation about using parallel JavaScript in the browser to speed up data- and image-processing tasks. It describes a custom library called picha that manages a workers pool, splits arrays, and uses transferable ArrayBuffer to avoid cloning (about 10× faster transfers in a benchmark). Simple array-splitting yields modest 1.4×–2.4× image-processing gains, but combining workers with Cindy (a SIMD approach) multiplies throughput to roughly 4× per worker and up to ~16× total; shared memory with Atomics is mentioned as a possible but more complex alternative.
AI-written summary · about
chapters (20)
- 0:00JavaScript parallel processing
- 1:12Moore's Law and CPU limits
- 2:14Parallelism challenges in JS
- 3:40Speed impact on UX
- 4:21Task division for speed
- 5:02Web Workers intro
- 6:08Efficient data transfer with SharedArrayBuffer
- 7:10Buffer transfer demo
- 9:16Image compression case study
- 12:26Picha library for parallelism
- 13:51Interactive activity
- 14:58SIMD in JavaScript
- 16:00SIMD multiple operations
- 17:46SIMD math demo
- 18:27Physics simulation with SIMD
- 19:10Fractal simulation with SIMD
- 20:35Future of parallelism
- 22:03SharedArrayBuffer pros and cons
- 23:04Image processing results
- 24:06Conclusions
related talks
33mParallelism experiments in JavaScript
24mShared Memory & Parallel Programming with JavaScript
41mConcurrency and Parallel Computing in JavaScript
23mParallel JavaScript
32mMulticore JavaScript: Past, Present and Future
43mThe Compute Revolution You’re Ignoring: JavaScript in Science
22mFearless Concurrency with JavaScript and Beyond
33mAsync patterns to scale your multicore JavaScript elegantly.
