I. Introduction
The massive competition in the mobile computing industry has triggered an unprecedented growth in the capabilities of mobile devices. In response, consumers are becoming ever more demanding in their expectations of modern smartphones, fueling an important amount of innovation in every passing generation. Yet this comes with an important consequence: multi-core processors, high fidelity graphics through high resolution displays and a variety of accompanying sensors have become the norm, a fact that severely affects the battery life of mobile platforms. Indeed, in spite of the significant progress made in battery design and software-based power optimizations, battery remains (and will remain) a first-class design constraint for mobile devices [2].