Horcrux: Automatic JavaScript Parallelism for Resource-Efficient Web Computation
Talkat 15th USENIX Symposium on Operating Systems Design and Implementation (OSDI '21) · 2021-07-14..07-16·
summary
Horcrux automatically parallelizes legacy page JavaScript by doing offline concolic + dynamic analysis on servers to produce conservative per-function signatures, rewriting pages to include a client-side scheduler that parcels root-call graphs and state to web workers. It claims median browser computation delays drop 31–44% and page load times 18–37% (median developed-page compute up 41% → ~1s saved). Root-function offloading yields ~4x fewer offloads while retaining ~72% of potential parallel speedup, with DOM accesses mediated on the main thread.
AI-written summary · about
chapters (14)
- 0:00Intro
- 0:29Modern Web Browsing
- 0:59The Problem: Computation Delays
- 2:01Why Are Computation Delays Significant?
- 3:11More cores != Better performance
- 3:49Parallelization Opportunities
- 5:03Challenges
- 5:39Signature Generation
- 7:56Horcrux Dynamic Scheduler
- 11:09Offloading Granularity
- 12:28Evaluation Questions
- 12:45Computation Delay Reductions
- 13:17End-to-end Performance Improvements
- 13:37Conclusion
related talks
34mJavaScript Concurrency and the DOM
41mMake JavaScript Faster
48mJavaScript in Browser Performance
23mParallel JavaScript
29mParallel computing in ReactJS: Provide a pleasant user experience
36mOptimizing ClojureScript Apps For Speed
37mSecret Shortcuts of Loading Web Performance
25mGetting Over Moore's Law: Parallelization Using JavaScript in the Browser
