Supporting Distributed Execution of Smartphone Workloads on Loosely Coupled Heterogeneous Processors
Modern Smartphones are embracing asymmetric, loosely coupled processors that have drastically different performance-power tradeoffs. To exploit such architecture for energy proportionality, both application and OS workloads need to be distributed. The authors propose Kage, a combination of runtime and OS support, to replicate application execution and OS functions over asymmetric processors. Kage selectively creates replicas of application and OS services and maintains state consistency for them with low overhead. By doing so, it is able to reduce processor energy consumption of light-loaded smartphones manyfold. While enabling energy-proportionality, Kage simplifies application programming by providing the illusion of a single system image and per-process address spaces.