Systems are getting more and more heterogeneous due to the performance and energy advantages of special purpose cores. However, today's operating-systems cannot treat these cores as first-class citizens, i.e. run untrusted code on them and provide OS functionality. M3 (Microkernel for Minimalist Manycores) is an operating system that strives to support arbitrary cores while treating all of them as first-class citizens. Currently, M3 supports only one application per core, which does eliminate the costs of context-switches. On the other hand, it wastes resources for applications that are not performance-critical like printer services, log services or virtual terminals. In this talk, I will present an approach for remote-controlled time-multiplexing in M3 that ensures per-application isolation. I will also discuss my proof of concept implementation, results of its evaluation and possible future work.
Time-Multiplexing for Remote-Controlled Applications