Skip to main content
eScholarship
Open Access Publications from the University of California

Adaptive Parallelism in Browsers

  • Author(s): Zambre, Rohit Shahaji
  • Advisor(s): Chandramowlishwaran, Aparna
  • et al.
Abstract

Mozilla Research is developing Servo, a parallel web browser engine, to exploit the benets

of parallelism and concurrency in the web rendering pipeline. Parallelization results in

improved performance for pinterest.com but not for google.com. This is because the workload of a browser is dependent on the web page it is rendering. In many cases, the overhead of creating, deleting, and coordinating parallel work outweighs any of its benets. In this work, I model the relationship between web page primitives and a web browser's parallel

performance and energy usage using both regression and classication learning algorithms.

I propose a feature space that is representative of the parallelism available in a web page

and characterize it using seven key features. After training the models to minimize custom-de

ned loss functions, such a model can be used to predict the degree of parallelism available

in a web page and decide the optimal thread conguration to use to render a web page. Such

modeling is critical for improving the browser's performance and minimizing its energy usage.

As a case study, I evaluate the models on Servo's styling stage. Experiments on a quad-core

Intel Ivy Bridge (i7-3615QM) laptop show that we can improve performance and energy

usage by up to 94.52% and 46.32% respectively on the 535 web pages considered in this

study. Looking forward, we identify opportunities to tackle this problem with an online-learning

approach to realize a practical and portable adaptive parallel browser on various

performance- and energy-critical devices.

Main Content
Current View