• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations

Dynamic parallelization of javascript applications using an ultra-lightweight speculation mechanism (2011)

by M Mehrara, P-C Hsu, M Samadi, S Mahlke
Venue:in Proc.of HPCA
Add To MetaCart

Tools

Sorted by:
Results 1 - 7 of 7

High-Performance and Energy-Efficient Mobile Web Browsing on Big/Little Systems

by Yuhao Zhu, Vijay Janapa Reddi - 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
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.
(Show Context)

Citation Context

...omputationally intensive [17, 18] or an intensive stress on the memory management system. They require optimizations on the Just-In-Time (JIT) engine, programming model, or the garbage collector (GC) =-=[28,34,39]-=-, all of which are beyond the scope of our work. Thus, our focus and mechanism in this paper are largely independent of JavaScript execution and its browser engine performance. Web Browser Performance...

Enhancing JavaScript with Transactions

by Mohan Dhawan, Chung-chieh Shan, Vinod Ganapathy
"... 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
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
(Show Context)

Citation Context

...sactions for performance. Crom [35] applies speculation to event handlers and takes non-speculative event handlers to create speculative versions, running them in a cloned browser context. ParaScript =-=[32]-=- implements a selective checkpointing scheme which avoids JavaScript constructs that allow code injection like document.write, innerHTML, etc., and stops speculation if checkpointing becomes expensive...

WebCore: Architectural support for mobile Web browsing

by Yuhao Zhu, Vijay Janapa Reddi - 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
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.
(Show Context)

Citation Context

...ctly studies how the browser engine can improve JavaScript performance and energy efficiency. There are prior works on the JavaScript language engine itself, including analysis [69] and optimizations =-=[45, 60, 61]-=-. They are separate and complementary to our work involving the browser engine. Specialization alternatives L0 caches and scratchpad memories [33, 52] have long been used to reduce data communication ...

Improving JavaScript Performance by Deconstructing the Type System

by Wonsun Ahn, Jiho Choi, Thomas Shull, María J. Garzarán, Josep Torrellas
"... 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
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%.
(Show Context)

Citation Context

...ugh program analysis, to statically infer a variable’s type [14, 16]. Another proposal extends the ISA to load and check the type with a single instruction [9]. Finally, ParaGuard [19] and ParaScript =-=[18]-=- propose hardware support for parallel execution of JavaScript programs. The former offloads the runtime checks to another thread while the main thread continues with the execution of the user code; t...

Using Javascript and WebCL for numerical computations: a comparative study of native and web technologies

by Faiz Khan , Vincent Foley-Bourgon , Sujay Kathrotia , Erick Lavoie , Laurie Hendren - 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
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.
(Show Context)

Citation Context

... Rodinia and OpenDwarfs suites and adding new web implementations. The advent of multiple numerical computing libraries built entirely in JavaScript, such as math.js[25], sylvester[23], and numeric.js=-=[34]-=- shows the need for numerical computing abstractions in web applications. In addition, there have been numerous initiatives to leverage available parallelism in today’s hardware, by extending JavaScri...

Compiler and Runtime Techniques for Automatic Parallelization of Sequential Applications

by Mojtaba Mehrara, Amir Hormati, Shantanu Gupta , 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
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
(Show Context)

Citation Context

...tation focuses on extracting parallelism from JavaScript web applications. In order to exploit hardware concurrency while retaining the traditional sequential programming model, we propose ParaScript =-=[58]-=-, an automatic runtime parallelization system for JavaScript applications. First, we introduce a runtime scheme for identifying parallelizable regions, generating the parallel code on-the-fly, and spe...

Microarchitectural Implications of Event-driven Server-side Web Applications

by Yuhao Zhu, Daniel Richins, Matthew Halpern, Vijay Janapa Reddi
"... 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
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.
(Show Context)

Citation Context

...essor architectures. While there are numerous studies that have focused on various aspects of dynamic languages on hardware, such as garbage collection [2], type checking [3], exploiting parallelisms =-=[4, 5]-=-, and leveraging hardware heterogeneity [6], we study the implications of the programming model that is emerging in server-side JavaScript applications, i.e., asynchronous event-driven programming. In...

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University