K2: A mobile operating system for heterogeneous coherence domains

FX Lin, Z Wang, L Zhong - ACM SIGPLAN Notices, 2014 - dl.acm.org
ACM SIGPLAN Notices, 2014dl.acm.org
Mobile System-on-Chips (SoC) that incorporate heterogeneous coherence domains
promise high energy efficiency to a wide range of mobile applications, yet are difficult to
program. To exploit the architecture, a desirable, yet missing capability is to replicate
operating system (OS) services over multiple coherence domains with minimum inter-
domain communication. In designing such an OS, we set three goals: to ease application
development, to simplify OS engineering, and to preserve the current OS performance. To …
Mobile System-on-Chips (SoC) that incorporate heterogeneous coherence domains promise high energy efficiency to a wide range of mobile applications, yet are difficult to program. To exploit the architecture, a desirable, yet missing capability is to replicate operating system (OS) services over multiple coherence domains with minimum inter-domain communication. In designing such an OS, we set three goals: to ease application development, to simplify OS engineering, and to preserve the current OS performance. To this end, we identify a shared-most OS model for multiple coherence domains: creating per-domain instances of core OS services with no shared state, while enabling other extended OS services to share state across domains. To test the model, we build K2, a prototype OS on the TI OMAP4 SoC, by reusing most of the Linux 3.4 source. K2 presents a single system image to applications with its two kernels running on top of the two coherence domains of OMAP4. The two kernels have independent instances of core OS services, such as page allocator and interrupt management, as coordinated by K2; the two kernels share most extended OS services, such as device drivers, whose state is kept coherent transparently by K2. Despite platform constraints and unoptimized code, K2 improves energy efficiency for light OS workloads by 8x-10x, while incurring less than 6% performance overhead for a device driver shared between kernels. Our experiences with K2 show that the shared-most model is promising.
ACM Digital Library