  Web browsing is an activity that billions of mobile users perform on a daily
basis. Battery life is a primary concern to many mobile users who often find
their phone has died at most inconvenient times. The heterogeneous multi-core
architecture is a solution for energy-efficient processing. However, the
current mobile web browsers rely on the operating system to exploit the
underlying hardware, which has no knowledge of individual web contents and
often leads to poor energy efficiency. This paper describes an automatic
approach to render mobile web workloads for performance and energy efficiency.
It achieves this by developing a machine learning based approach to predict
which processor to use to run the web rendering engine and at what frequencies
the processors should operate. Our predictor learns offline from a set of
training web workloads. The built predictor is then integrated into the browser
to predict the optimal processor configuration at runtime, taking into account
the web workload characteristics and the optimisation goal: whether it is load
time, energy consumption or a trade-off between them. We evaluate our approach
on a representative ARM big.LITTLE mobile architecture using the hottest 500
webpages. Our approach achieves 80% of the performance delivered by an ideal
predictor. We obtain, on average, 45%, 63.5% and 81% improvement respectively
for load time, energy consumption and the energy delay product, when compared
to the Linux heterogeneous multi-processing scheduler.
