Redesigning data-center supervisory software for the new generation of peripheral interconnects
Files
Item Status
Embargo End Date
Date
Authors
Xing, Tong
Abstract
We live in an era dominated by cloud computing.
Computer systems in the cloud data-center are becoming increasingly powerful but at the cost of complexity. At the forefront of recent technology advancements, newer PCIe generations and the Compute Express Link (CXL) protocol promise significant improvements in connectivity within data-center environments. These innovations introduce a new layer of resource sharing and aggregation, which is crucial for managing the increasing demands of large data volumes and diverse computational processing expected in the near future. However, these advances also increases the complexity of resource sharing in data centers, posing significant challenges to the adequacy of traditional supervisory software designs, including operating systems (OS) and hypervisor.
This thesis explores how to redesign supervisory software for platforms with such emerging high-speed and shared-memory peripheral interconnects,
in order to improve application software resource utilization. Specifically, the Thesis investigates how to extend current hypervisor designs to effectively enable CPU oversubscription with PCIe-enabled faster IO, and transparently and effectively use CXL-enabled tiered memory. In addition to that the Thesis explores how to extend traditional OSes to run across multiple server inteconnected by CXL-enabled shared memory, potentially with CPUs of diverse ISA.
The Thesis makes the following contributions. First, motivated by the introduction of faster interconnects IO devices, we design and implement Anubis, a new IO-aware VM scheduler for Linux KVM -- the most popular Virtual Machine Monitor (VMM) in today's clouds. Anubis is a practical solution that provides close-to-non-overcommit performance for IO workloads in VM overcommitted scenarios. Second inspired by the possibility of sharing memory amongst different machines we propose Stramash, a novel operating system kernel design that enables a single-OS among different machines, potentially of diverse ISA. We called such design fused-kernel, which leverages cache-coherent shared memory among heterogeneous ISA CPUs as a fundamental feature. We built a prototype fused-kernel OS, Stramash-Linux, to demonstrate the applicability of our design to monolithic OS kernels. We profile Stramash OS components on real-hardware but tested them on an architectural simulator -- Stramash-QEMU, which we design and build. Third, driven by the introduction of tiered memory we introduce Libra, an extension of the hypervisor memory subsystem designed to enhance tiered memory management within cloud environments. Libra is a new approach that dynamically adjusts the VM's memory proportion between local and extended memory, optimizing overall memory utilization. Note, all solutions have been rigorously evaluated with real-world datasets and have been applied in actual systems to support various applications, and all source code is released open source.
This item appears in the following Collection(s)

