Abstract

To address the demands of lower energy consumption and higher computing performance, big.LITTLE architecture consisting of high-performance big cores and energy-efficient little cores has been proposed to provide a heterogeneous computing environment for balancing the needs of energy saving and performance improvement. For advanced big.LITTLE platforms, big and little cores can be active simultaneously and are exposed to the kernel scheduler, i.e., the operating system can assign tasks onto any cores. Based on the Linux kernel, Android adopts a heterogeneous multi-processing architecture to assign tasks with higher CPU utilization to big cores, and other tasks can be assigned to little cores so as to maintain the balanced utilization among all cores. However, there could be some tasks with very low utilization, but their response time is critical, e.g., user interfaces, interactive threads, and system monitoring threads. In this work, latency constraints are explicitly assigned to some critical tasks. We then leverage the original Android scheduler for keeping the utilization of all cores balanced and append our kernel module to the scheduler for estimating the latency of each thread and for scheduling all tasks with considerations of their latency constraints. Latency-critical tasks are then scheduled onto cores with latency guarantees, and other tasks can be scheduled for managing the workload balance of the system.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call