This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Horcrux:Automatic JavaScript Parallelism for
Resource-Efficient Web Computations
Shaghayegh Mardani1, Ayush Goel2, Ronny Ko3, Harsha Madhyastha2, Ravi Netravali41UCLA, 2University of Michigan, 3Harvard University, 4Princeton University
1
Modern Web Browsing
2
Performance MattersWeb Traffic is Dominated by Mobile
Users
53% of visits are abandoned if a
mobile site takes longer than 3
seconds to load.Source: thinkwithgoogle.com
Content Providers
Source: bluecorona.com
If your site makes $100,000/day, 1 sec
improvement in page load increases revenue
by $7,000 daily.
The Problem: Computation Delays
• Evaluation setup
• With NO network delays:
3
Developed Region Emerging Region
• 582 pages in US• Google Pixel 3
• 2.0 GHz octa-core
• 91 pages in Pakistan• Redmi 6A
• 2.0 GHz quad-core
Performance metrics:• Page Load Time (PLT)• Speed Index (SI)
• Impact on browser computation delays?• Impact on end-to-end performance?• Horcrux comparison to prior compute optimizations?• What do conservative signatures forgo?• How much are the server-side overheads?
22
Computation Delay Reductions
• Total Computation Time (TCT)
23
0
20
40
60
80
Developed Emerging
% Im
prov
emen
t in
TC
T
Network: WiFi LTEMedian Improvements:
Developed: WiFi (41%), LTE (34%)
Emerging: WiFi (44%), LTE (31%)
End-to-end Performance Improvements
• Page Load Time (PLT) and Speed Index (SI)
24
0.00
0.25
0.50
0.75
1.00
0 25 50 75% Improvement
CD
F
LTE, PLTLTE, SIWiFi, PLTWiFi, SI
100
27%
Developed Region
0.00
0.25
0.50
0.75
1.00
0 25 50 75% Improvement
CD
F
LTE, PLTLTE, SIWiFi, PLTWiFi, SI
100
29%
Emerging Region
Conclusion
• More cores != Better performance• Horcrux automatically parallelizes JavaScript execution using concolic
execution to take advantage of phones multi-core CPUs