Load-Balancing for Improving User Responsiveness on Multicore-based Embedded SystemsGeunsik Lim
Most commercial embedded devices have been deployed with single processor architecture. Recently, code sizes and complexity of applications running on embedded devices are increasing rapidly due to the emergence of application business models such as Google Play Store and Apple App Store. As a result, a multi-core CPU for high-performance has become a major trend in the embedded mobile market as well as in the personal computer market.
Due to this trend, a lot of manufacturers of embedded mobile devices have adopted a gorgeous user interface and high-performance applications for better user experiences on the multi-core systems.
In this paper, we describe how to improve the real-time performance in reducing the user waiting time on multi-core systems that use a partitioned scheduling (= Run queue scheduling per-CPU) technique. The technical key factor that we want to propose is to minimize the cost of task migration by considering the importance level of running tasks and per-CPU utilization of the mobile platform rather than focusing on naive CPU load-balancing for balanced CPU usage of tasks.
Consequently, this approach aims to improve the real-time characteristics such as cache efficiency, user responsiveness, and low latency by re-balancing the activities that try to move specific tasks among the CPUs on embedded devices where user responsiveness is especially important.