Application-aware Group Scheduler for Android.

Zongwei Zhu,Beilei Sun,Xi Li,Xuehai Zhou
DOI: https://doi.org/10.1109/icadiwt.2014.6814701
2014-01-01
Abstract:Modern multi-core processors propose new cache management challenges (more cache conflicts and misses) due to the subtle interactions of simultaneously executing processes sharing on-chip resources. To address this issue, thread group scheduling scheme that cluster threads with high sharing cache as one group to schedule has been proposed. It has led to numerous academic and industrial attentions. However, by analyzing the programming model of Android which account for a large and increasing fraction of operating system of multi-core smart phones, we find it may be unacceptable for numerous interactive applications since previous scheduling works may cause the terrible response time and directly bring an awful user experience. In order to reduce cache competitions while improving application's response time, we present an application-aware group scheduler (AGS) whose key idea is to adopt a thread group scheduling scheme to partition current running application's threads into one group and give each thread a fair chance to occupy CPU time. We implement AGS on practical hardware running a real Android operating system. The results show that our proposed scheduler can improve performance from different parameters while keeping system fairness, which reduces 3.2% in cache miss rate, 5.5% in response time, 5.3% in data cache (D-Cache) misses and 2.5% in instruction cache (I-Cache) misses to the maximum extent.
What problem does this paper attempt to address?