Redesign System Software for Heterogeneous Mobile Devices

75
Опубликовано 21 июня 2016, 21:39
The computer industry has hit the power and thermal wall. This is most obvious in mobile devices due to their tight thermal and battery constraints. To overcome such obstacles, mobile devices have pioneered the adoption of heterogeneous compute resources. The resulting system architectures, while having the potential for high energy efficiency, usually lack hardware cache coherence and therefore invalidate the basic assumptions made by today’s mobile software stack. Towards enabling the software stack to easily exploit heterogeneous processors for high energy efficiency, we construct system software that realizes two key abstractions – coherent memory and a unified OS namespace. The system software consists of two main components: 1) A user-level runtime named Reflex that provides user programs with software coherence, built around an unconventional invariant that guarantees efficiency; 2) An OS named K2, the outcome of refactoring a legacy OS, spans most of its components transparently across incoherent processors while running a small set of components as independent instances. Overall, the system software eases programming and improves energy efficiency by one order of magnitude. In this talk, I will outline the system design, highlight principles distilled from the design, and share our experiences in hardware and software hacking. Finally, I will identify new research directions as heterogeneity is reshaping the entire landscape of computing.
автотехномузыкадетское