Results 1 -
7 of
7
High-Performance and Energy-Efficient Mobile Web Browsing on Big/Little Systems
- in Proc. of HPCA
, 2013
"... Internet web browsing has reached a critical tipping point. Increasingly, users rely more on mobile web browsers to ac-cess the Internet than desktop browsers. Meanwhile, webpages over the past decade have grown in complexity by more than tenfold. The fast penetration of mobile browsing and ever-ric ..."
Abstract
-
Cited by 19 (5 self)
- Add to MetaCart
(Show Context)
Internet web browsing has reached a critical tipping point. Increasingly, users rely more on mobile web browsers to ac-cess the Internet than desktop browsers. Meanwhile, webpages over the past decade have grown in complexity by more than tenfold. The fast penetration of mobile browsing and ever-richer webpages implies a growing need for high-performance mobile devices in the future to ensure continued end-user browsing experience. Failing to deliver webpages meeting hard cut-off constraints could directly translate to webpage abandonment or, for e-commerce websites, great revenue loss. However, mobile devices ’ limited battery capacity limits the degree of performance that mobile web browsing can achieve. In this paper, we demonstrate the benefits of heterogeneous systems with big/little cores each with different frequencies to achieve the ideal trade-off between high performance and en-ergy efficiency. Through detailed characterizations of different webpage primitives based on the hottest 5,000 webpages, we build statistical inference models that estimate webpage load time and energy consumption. We show that leveraging such predictive models lets us identify and schedule webpages us-ing the ideal core and frequency configuration that minimizes energy consumption while still meeting stringent cut-off con-straints. Real hardware and software evaluations show that our scheduling scheme achieves 83.0 % energy savings, while only violating the cut-off latency for 4.1 % more webpages as compared with a performance-oriented hardware strategy. Against a more intelligent, OS-driven, dynamic voltage and frequency scaling scheme, it achieves 8.6 % energy savings and 4.0 % performance improvement simultaneously. 1.
Enhancing JavaScript with Transactions
"... Abstract. Transcript is a system that enhances JavaScript with support for transactions. Hosting Web applications can use transactions to demarcate regions that contain untrusted guest code. Actions performed within a transaction are logged and considered speculative until they are examined by the h ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
(Show Context)
Abstract. Transcript is a system that enhances JavaScript with support for transactions. Hosting Web applications can use transactions to demarcate regions that contain untrusted guest code. Actions performed within a transaction are logged and considered speculative until they are examined by the host and committed. Uncommitted actions simply do not take and cannot affect the host in any way. Transcript therefore provides hosting Web applications with powerful mechanisms to understand the behavior of untrusted guests, mediate their actions and also cleanly recover from the effects of security-violating guest code. This paper describes the design of Transcript and its implementation in Firefox. Our exposition focuses on the novel features introduced by Transcript to support transactions, including a suspend/resume mechanism for JavaScript and support for speculative DOM updates. Our evaluation presents case studies showing that Transcript can be used to enforce powerful security policies on untrusted JavaScript code, and reports its performance on real-world applications and microbenchmarks. 1
WebCore: Architectural support for mobile Web browsing
- In Proc. the 2014 ACM/IEEE 41st International Symposium on Computer Architecture
, 2014
"... The Web browser is undoubtedly the single most impor-tant application in the mobile ecosystem. An average user spends 72 minutes each day using the mobile Web browser. Web browser internal engines (e.g., WebKit) are also growing in importance because they provide a common substrate for developing va ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
(Show Context)
The Web browser is undoubtedly the single most impor-tant application in the mobile ecosystem. An average user spends 72 minutes each day using the mobile Web browser. Web browser internal engines (e.g., WebKit) are also growing in importance because they provide a common substrate for developing various mobile Web applications. In a user-driven, interactive, and latency-sensitive environment, the browser’s performance is crucial. However, the battery-constrained na-ture of mobile devices limits the performance that we can de-liver for mobile Web browsing. As traditional general-purpose techniques to improve performance and energy efficiency fall short, we must employ domain-specific knowledge while still maintaining general-purpose flexibility. In this paper, we first perform design-space exploration to identify appropriate general-purpose architectures that uniquely fit the characteristics of a popular Web browsing engine. Despite our best effort, we discover sources of energy inefficiency in these customized general-purpose architectures. To mitigate these inefficiencies, we propose, synthesize, and evaluate two new domain-specific specializations, called the Style Resolution Unit and the Browser Engine Cache. Our opti-mizations boost energy efficiency and at the same time improve mobile Web browsing performance. As emerging mobile work-loads increasingly rely more on Web browser technologies, the type of optimizations we propose will become important in the future and are likely to have lasting widespread impact. 1.
Improving JavaScript Performance by Deconstructing the Type System
"... Increased focus on JavaScript performance has resulted in vast performance improvements for many benchmarks. How-ever, for actual code used in websites, the attained improve-ments often lag far behind those for popular benchmarks. This paper shows that the main reason behind this short-fall is how t ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
(Show Context)
Increased focus on JavaScript performance has resulted in vast performance improvements for many benchmarks. How-ever, for actual code used in websites, the attained improve-ments often lag far behind those for popular benchmarks. This paper shows that the main reason behind this short-fall is how the compiler understands types. JavaScript has no concept of types, but the compiler assigns types to ob-jects anyway for ease of code generation. We examine the way that the Chrome V8 compiler defines types, and identify two design decisions that are the main reasons for the lack of improvement: (1) the inherited prototype object is part of the current object’s type definition, and (2) method bind-ings are also part of the type definition. These requirements make types very unpredictable, which hinders type special-ization by the compiler. Hence, we modify V8 to remove these requirements, and use it to compile the JavaScript code assembled by JSBench from real websites. On average, we reduce the execution time of JSBench by 36%, and the dynamic instruction count by 49%.
Using Javascript and WebCL for numerical computations: a comparative study of native and web technologies
- In: Proceedings of the 10th ACM symposium on dynamic languages
"... Abstract From its modest beginnings as a tool to validate forms, JavaScript is now an industrial-strength language used to power online applications such as spreadsheets, IDEs, image editors and even 3D games. Since all modern web browsers support JavaScript, it provides a medium that is both easy ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
(Show Context)
Abstract From its modest beginnings as a tool to validate forms, JavaScript is now an industrial-strength language used to power online applications such as spreadsheets, IDEs, image editors and even 3D games. Since all modern web browsers support JavaScript, it provides a medium that is both easy to distribute for developers and easy to access for users. This paper provides empirical data to answer the question: Is JavaScript fast enough for numerical computations? By measuring and comparing the runtime performance of benchmarks representative of a wide variety of scientific applications, we show that sequential JavaScript is within a factor of 2 of native code. Parallel code using WebCL shows speed improvements of up to 2.28 over JavaScript for the majority of the benchmarks.
Compiler and Runtime Techniques for Automatic Parallelization of Sequential Applications
, 2011
"... and support. His encouragement, enthusiasm, and energy have kept me going at many critical moments of frustration during graduate school. He is always ready to discuss ideas and come up with interesting ways to tackle research problems. This dissertation would not have been completed without his hel ..."
Abstract
- Add to MetaCart
(Show Context)
and support. His encouragement, enthusiasm, and energy have kept me going at many critical moments of frustration during graduate school. He is always ready to discuss ideas and come up with interesting ways to tackle research problems. This dissertation would not have been completed without his help, vision, and support. I would also like to thank my dissertation committee, Prof. Todd Austin, Dr. Tim Harris, Prof. Robert Dick, and Prof. Satish Narayanasamy for their valuable feedback. I learned a lot from Todd about how to develop ideas and come up with ways to present them in writing and speech. Special gratitude goes to Tim for his enthusiasm and patience. I learned a lot from him during my internship at Microsoft Research. He has also been very kind to provide useful suggestions and feedback on all parts of this work, when we were submitting different pieces for publication. Ideas and presentations throughout the dissertation improved a lot as a result of incorporating his vision and suggestions. Prof. Robert Dick also provided many useful comments on this dissertation. I should thank my colleagues, Jeff Hao, Po-chun Hsu, and Mehrzad Samadi for helping with infrastructures and experiments, and Ganesh Dasika, Shuguang Feng, Shantanu Gupta, and
Microarchitectural Implications of Event-driven Server-side Web Applications
"... Enterprise Web applications are moving towards server-side scripting using managed languages. Within this shifting context, event-driven programming is emerging as a crucial programming model to achieve scalability. In this paper, we study the microarchitectural implications of server-side script-in ..."
Abstract
- Add to MetaCart
(Show Context)
Enterprise Web applications are moving towards server-side scripting using managed languages. Within this shifting context, event-driven programming is emerging as a crucial programming model to achieve scalability. In this paper, we study the microarchitectural implications of server-side script-ing, JavaScript in particular, from a unique event-driven pro-gramming model perspective. Using the Node.js framework, we come to several critical microarchitectural conclusions. First, unlike traditional server-workloads such as CloudSuite and BigDataBench that are based on the conventional thread-based execution model, event-driven applications are heavily single-threaded, and as such they require significant single-thread performance. Second, the single-thread performance is severely limited by the front-end inefficiencies of today’s server processor microarchitecture, ultimately leading to over-all execution inefficiencies. The front-end inefficiencies stem from the unique combination of limited intra-event code reuse and large inter-event reuse distance. Third, through a deep understanding of event-specific characteristics, architects can mitigate the front-end inefficiencies of the managed-language-based event-driven execution via a combination of instruction cache insertion policy and prefetcher.