  Most commercial embedded devices have been deployed with a single processor
architecture. The code size and complexity of applications running on embedded
devices are rapidly increasing due to the emergence of application business
models such as Google Play Store and Apple App Store. As a result, a
high-performance multicore CPUs have become a major trend in the embedded
market as well as in the personal computer market. Due to this trend, many
device manufacturers have been able to adopt more attractive user interfaces
and high-performance applications for better user experiences on the multicore
systems. In this paper, we describe how to improve the real-time performance by
reducing the user waiting time on multicore systems that use a partitioned
per-CPU run queue scheduling technique. Rather than focusing on naive
load-balancing scheme for equally balanced CPU usage, our approach tries to
minimize the cost of task migration by considering the importance level of
running tasks and to optimize per-CPU utilization on multicore embedded
systems. Consequently, our approach improves the real-time characteristics such
as cache efficiency, user responsiveness, and latency. Experimental results
under heavy background stress show that our approach reduces the average
scheduling latency of an urgent task by 2.3 times.
