Horcrux: Automatic Java']JavaScript Parallelism for Resource-Efficient Web Computation

被引:0
作者
Mardani, Shaghayegh [1 ]
Goel, Ayush [2 ]
Ko, Ronny [3 ]
Madhyastha, Harsha, V [2 ]
Netravali, Ravi [4 ]
机构
[1] Univ Calif Los Angeles, Los Angeles, CA 90024 USA
[2] Univ Michigan, Ann Arbor, MI 48109 USA
[3] Harvard Univ, Cambridge, MA 02138 USA
[4] Princeton Univ, Princeton, NJ 08544 USA
来源
PROCEEDINGS OF THE 15TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION (OSDI '21) | 2021年
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Web pages today commonly include large amounts of JavaScript code in order to offer users a dynamic experience. These scripts often make pages slow to load, partly due to a fundamental inefficiency in how browsers process JavaScript content: browsers make it easy for web developers to reason about page state by serially executing all scripts on any frame in a page, but as a result, fail to leverage the multiple CPU cores that are readily available even on low-end phones. In this paper, we show how to address this inefficiency without requiring pages to be rewritten or browsers to be modified. The key to our solution, Horcrux, is to account for the non-determinism intrinsic to web page loads and the constraints placed by the browser's API for parallelism. Horcrux-compliant web servers perform offline analysis of all the JavaScript code on any frame they serve to conservatively identify, for every JavaScript function, the union of the page state that the function could access across all loads of that page. Horcrux's JavaScript scheduler then uses this information to judiciously parallelize JavaScript execution on the client-side so that the end-state is identical to that of a serial execution, while minimizing coordination and offloading overheads. Across a wide range of pages, phones, and mobile networks covering web workloads in both developed and emerging regions, Horcrux reduces median browser computation delays by 31-44% and page load times by 18-37%.
引用
收藏
页码:461 / 477
页数:17
相关论文
共 79 条
  • [31] Google, CHROMIUM
  • [32] Google, WHY PERF MATT
  • [33] Hidayat Ariya., Esprima
  • [34] HTTP Archive, 2020, STAT JAV
  • [35] Speculatively Exploiting Cross-Invocation Parallelism
    Huang, Jialu
    Prabhu, Prakash
    Jablin, Thomas B.
    Ghosh, Soumyadeep
    Apostolakis, Sotiris
    Lee, Jae W.
    August, David I.
    [J]. 2016 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURE AND COMPILATION TECHNIQUES (PACT), 2016, : 207 - 219
  • [36] AMP up your Mobile Web Experience: Characterizing the Impact of Google's Accelerated Mobile Project
    Jun, Byungjin
    Bustamante, Fabian E.
    Whang, Sung Yoon
    Bischof, Zachary S.
    [J]. MOBICOM'19: PROCEEDINGS OF THE 25TH ANNUAL INTERNATIONAL CONFERENCE ON MOBILE COMPUTING AND NETWORKING, 2019,
  • [37] Kansal N, 2021, PROCEEDINGS OF THE 18TH USENIX SYMPOSIUM ON NETWORKED SYSTEM DESIGN AND IMPLEMENTATION, P269
  • [38] Ko R, 2021, PROCEEDINGS OF THE 18TH USENIX SYMPOSIUM ON NETWORKED SYSTEM DESIGN AND IMPLEMENTATION, P289
  • [39] ExpoSE: Practical Symbolic Execution of Standalone Java']JavaScript
    Loring, Blake
    Mitchell, Duncan
    Kinder, Johannes
    [J]. SPIN'17: PROCEEDINGS OF THE 24TH ACM SIGSOFT INTERNATIONAL SPIN SYMPOSIUM ON MODEL CHECKING OF SOFTWARE, 2017, : 196 - 199
  • [40] Lymberopoulos D, 2012, ASPLOS XVII: SEVENTEENTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, P1