K2 is an academic project OS developed out of the Rice University Efficient Computing Group. Its stated purpose is: “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.” Learn more here.
Looks like it’s not in active development (since 2016?).
I looked through the 2014 paper and was fascinated — I mostly work at the scripting language level or at lowest user-mode C-ish level, so peeking under the hood in kernel-land, especially on complex systems like this, is really interesting…
The idea of a single system image that is kept consistent through manual synchronization (where needed) plus process separation is really _freak-you-out_ scary coming from a world of linear memory address spaces that are magically consistent… especially when the different domains may need to execute different variants of the instruction set!
I wonder has any of this has been folded back into mainstream Linux? I recall reading about Android’s recent focus on battery efficiency and background tasks but didn’t get a clear picture of what’s going on in the kernel side of that.