MxKernel: Rethinking the System Software Architecture for Modern Heterogeneous Manycore Computers
The core concepts of today's commonly used operating systems have been invented multiple decades ago. However, the hardware landscape has changed dramatically. Unlike in the past, modern hardware is inherently parallel, has complex memory hierarchies, and often incorporates heterogeneous processors, such as a mix of CPU and GPGPU cores.
A lot of work has gone into retrofitting system software to leverage the potential of modern hardware, but the core abstractions used by applications have not been touched for compatibility reasons. Yet, these old abstractions, for example the thread-based control-flow model and lock-based synchronization, make efficient resource usage by the OS very difficult. As a consequence, performance-hungry parallel applications often bypass the OS and deal with classic operating system functions, such as synchronization and scheduling, either on their own or with user-level frameworks, such as Intel Threading Building Blocks (TBB) or OpenMP.
The MxKernel project (mxkernel.org) is an academic effort to rethink the design of OS abstractions to better suit modern manycore hardware and to reinstate the OS as the central resource manager that it used to be. It has a two-level architecture for cleanly separating functionality related to fair resource partitioning (lower level) from application services (upper level) that aim at optimal topology-aware exploitation of the assigned manycore hardware resources.
The talk will motivate and present the design of MxKernel. Some of the key features are a task-based execution model, automatic prefetching of application data, and lock-free task synchronization by following a holistic approach for (time/space) scheduling and synchronization. First results obtained with our prototype implementation indicate that we might be on the right track.
MxKernel is a sub-project of DFG Priority Programme 2037 "Scalable Data Management for Future Hardware" (dfg-spp2037.de).