FusedOS: Fusing LWK Performance with FWK Functionality in a Heterogeneous Environment
In order to reach exascale, systems will require several orders of magnitude improvement in node-level performance and power efficiency. This aggressive power/performance challenge has led hardware vendors to re-evaluate node-level processor architectures. While it is anticipated that processors will continue to follow the general trend towards massive multi-core to increase performance, there is an increased focus on how the cores themselves may be simplified to optimize for power efficiency and density. Additionally, node-level components traditionally considered to be peripherals such as networking interfaces, secondary storage, and even memory are being imbued with their own processing elements and purpose-built accelerators. The programmable nature of this heterogeneous set of system elements broadens the scope of responsibility for systems software, transforming the nodelevel operating system and runtime into a distributed system in its own right. At the same time, there is an increased call for high performance computing system software to provide richer (and more familiar to the desktop) environments allowing a broader range of applications. This has implications across the full range of system software. It results in a need to support the capabilities provided by a traditional, time-shared, generalpurpose operating system, such as Linux, including libraries, file systems, and daemon-provided services. One challenge with just using Linux is that historically, Linux developers have been reticent to adopt changes specific to the HPC community. This is in part because the Linux community tends to accept changes that matter for the general population, while HPC architectures have tended to push technology limits in order to achieve the highest performance for scientific and engineering applications. Traditionally, HPC operating systems have fallen into one of two categories: full-weight kernels (FWK) such as Linux and light-weight kernels (LWK) such as Blue Gene’s Compute Node Kernel (CNK)  or Sandia’s Catamount kernel for Cray systems . Instead of forcing users and applications into one of these two extremes, we propose a hybrid approach which allows the co-existence of both environments on multicore platforms while at the same time extending support to emerging heterogeneous computing environments. We call this approach a FusedOS .