Modern mobile System-on-chip(SoC) often embraces heterogeneous cores that are hosted in separate coherence domains, i.e. no hardware coherence among them. This architecture promises high energy efficiency, however complicates software development, thus preventing the energy efficiency from being harvested by software.
Can we ease software development by properly constructing OS for such an architecture? To answer this question, we create K2. As a refactoring of Linux 3.4, K2 reuses most of the existing Linux source. Spanning heterogeneous coherence domains, K2 provides a single system image, preserves the current OS performance, and finally ensures high energy efficiency.
K2 runs on Texas Instruments OMAP4430/4460 SoC, the hearts of Samsung Galaxy Nexus, Amazon Kindle Fire, Google Glass, etc. OMAP4 incorporates both the powerful ARM Cortex-A9 and the low-power ARM Cortex-M3.
[ASPLOS’14] "K2: A Mobile Operating System for Heterogeneous Coherence Domains," Felix Xiaozhu Lin, Zhen Wang, and Lin Zhong, in Proc. ACM Int. Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS), March 2014. Best Paper Award
[HotPower’12] "Supporting Distributed Execution of Smartphone Workloads on Loosely Coupled Heterogeneous Processors," Felix Xiaozhu Lin, Zhen Wang, and Lin Zhong, in Proc. the 2012 Workshop on Power-Aware Computing and Systems (HotPower), October 2012.