Publications

Enabling multi-stack software on partitioned hardware for exascale systems

Abstract

Exascale architectures will exhibit a much greater degree of heterogeneity both at the hardware level as well as in the software that is executed on each compute node. Additionally, more functionality will need to be localized on each compute node due to power and performance constraints. As a result, exascale system software will be tasked with handling a much larger number of co-located and in-situ tasks while at the same time delivering the same level of performance and isolation achievable on a dedicated system. In this paper, we claim that no single system software stack is capable of addressing all of the requirements for every workload executing on a local exascale node. Therefore we believe that future exascale systems should embrace a partitioned multi-stack approach to system software, wherein multiple specialized system software stacks execute in parallel and directly manage disjoint sets of hardware resources. Our approach is based on a multi-stack system software architecture that uses a version of the Kitten lightweight kernel modified to run alongside a Linux based environment on the same local machine. In this architecture, fully independent Kitten (co-) kernels, running concurrently on the same local node, directly manage local hardware resources that have been dynamically allocated into isolated partitions. Furthermore, in combination with the Palacios lightweight virtual machine monitor we demonstrate that we can reduce cross workload interference that results from the co-location of multiple workloads.

Date
January 1, 1970
Authors
Jiannan Ouyang, Brian Kocoloski, John Lange, Kevin Pedretti
Journal
Memory
Volume
2
Issue
3
Pages
4