Guadalupe: a browser design for heterogeneous hardware

Mobile systems are embracing heterogeneous architectures by getting more types of cores and more specialized cores, which allows applications to be faster and more efficient. We aim at exploiting the hardware heterogeneity from the browser without requiring any changes to either the OS or the web applications. Our design, Guadalupe, can use hardware processing units with different degrees of capability for matched browser services. It starts with a weak hardware unit, determines if and when a strong unit is needed, and seamlessly migrates to the strong one when necessary. Guadalupe not only makes more computing resources available to mobile web browsing but also improves its energy proportionality. Based on Chrome for Android and TI OMAP4, We provide a prototype browser implementation for resource loading and rendering. Compared to Chrome for Android, we show that Guadalupe browser for rendering can increase other 3D application's frame rate by up to 767% and save 4.7% of the entire system's energy consumption. More importantly, by using the two cases, we demonstrate that Guadalupe creates the great opportunity for many browser services to get better resource utilization and energy proportionality by exploiting hardware heterogeneity.

[1]  Feng Zhao,et al.  Gibraltar: Exposing Hardware Devices to Web Pages Using AJAX , 2012, WebApps.

[2]  Jim Zelenka,et al.  Informed prefetching and caching , 1995, SOSP.

[3]  Zhen Wang,et al.  Supporting Distributed Execution of Smartphone Workloads on Loosely Coupled Heterogeneous Processors , 2012, HotPower.

[4]  Christoforos E. Kozyrakis,et al.  Understanding sources of inefficiency in general-purpose chips , 2010, ISCA.

[5]  Leo A. Meyerovich,et al.  Fast and parallel webpage layout , 2010, WWW '10.

[6]  Dawson R. Engler,et al.  Exokernel: an operating system architecture for application-level resource management , 1995, SOSP.

[7]  Feng Qian,et al.  A close examination of performance and power characteristics of 4G LTE networks , 2012, MobiSys '12.

[8]  Adam Barth,et al.  The Security Architecture of the Chromium Browser , 2009 .

[9]  Nikolas Ioannou,et al.  Phase-Based Application-Driven Hierarchical Power Management on the Single-chip Cloud Computer , 2011, 2011 International Conference on Parallel Architectures and Compilation Techniques.

[10]  Alexander V. Veidenbaum,et al.  Towards parallelizing the layout engine of firefox , 2010 .

[11]  Zhen Wang,et al.  Reflex: using low-power processors in smartphones without knowing them , 2012, ASPLOS XVII.

[12]  Shyam Sadasivan An Introduction to the ARM Cortex-M3 Processor , 2006 .

[13]  References , 1971 .

[14]  Michael L. Scott,et al.  Profile-based dynamic voltage and frequency scaling for a multiple clock domain microprocessor , 2003, ISCA '03.

[15]  Samuel T. King,et al.  A case for parallelizing web pages , 2012, HotPar'12.

[16]  Samuel T. King,et al.  Trust and Protection in the Illinois Browser Operating System , 2010, OSDI.

[17]  Zhen Wang,et al.  How far can client-only solutions go for mobile browser speed? , 2011, WWW.

[18]  Mark Silberstein,et al.  PTask: operating system abstractions to manage GPUs as compute devices , 2011, SOSP.

[19]  Jerome H. Saltzer,et al.  End-to-end arguments in system design , 1984, TOCS.

[20]  Jason Flinn,et al.  Ghosts in the machine: interfaces for better power management , 2004, MobiSys '04.

[21]  Mitsuhisa Sato,et al.  Profile-based optimization of power performance by using dynamic voltage scaling on a PC cluster , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[22]  Helen J. Wang,et al.  Resource Management for Web Applications in ServiceOS , 2010 .