NetworkedOS: Multi-Layer Network Partitioning for a Scalable Application-Aware Microkernel OS
A methodology that models the dynamic dependencies among an application, the OS kernel/services, physical memory frames, and hardware cores as a weighted multi-layer (multiplex) network, then (1) at compile time partitions the application layer into overlapping clusters via a greedy modularity-style algorithm whose quality function extends Amdahl's law (balancing sequential work, parallel work, and IPC message cost) to choose the optimal number of processes, and (2) at run time maps processes to cores with an O(P) affinity- and memory-aware greedy scheduler that minimizes IPC hops and memory-block operations. On MINIX 3 it achieves up to 7.11x speedup over Linux (128 cores) and 2.01x over Barrelfish (64 cores).
Exploiting Application-to-Architecture Dependencies for Designing Scalable OS Yao Xiao∗ Nikos
This computer-systems paper introduces NetworkedOS, a design methodology for a scalable, application-aware microkernel operating system. The authors argue that conventional monolithic and even microk…