Betreuer | Prof. Dr.-Ing. Christian Dietrich |
IBR Gruppe | VSS (Prof. Dietrich) |
Art | Masterarbeit |
Status | offen |
ProblemCloud computing environments benefit greatly from specialized operating systems, such as the OSv unikernel, for use with special-purpose services. These operating systems often lack the extensive development and optimization seen in general-purpose operating systems like Linux. This thesis focuses on enhancing the OSv Unikernel, primarily in its memory management and I/O subsystems, to unlock its full potential in cloud applications. The goal of this project is two-fold: firstly, to optimize OSv's memory management by integrating a modern physical memory allocator (LLFree). This integration aims to improve memory allocation efficiency, which is crucial for the unikernel performance. Secondly, the thesis will enhance the I/O path for NVMe disks, aiming to provide a more efficient and a truly asynchronous I/O interface for high-performance cloud applications. These improvements are expected to significantly enhance OSv efficiency and performance. Background: UnikernelsIn the cloud computing environment, applications usually run within two isolation layers. First, the cloud provider isolates the virtual machine from other customers using an hypervisor, such as KVM, Virtual Box, or HyperV. Second, the operating system isolates the application process from other processes running within the virtual machine. However, this isolation can cause overhead, reducing the application's performance. To address this issue, Unikernels have emerged as an alternative to traditional operating systems, replacing Linux in the stack. Unikernels are specialized operating systems that support only one running application and tear down process isolation. This approach allows for a deep integration between the operating system and the application, reducing overhead and improving performance. One such Unikernel is OSv, which is written in C++ and designed to run unmodified Linux executables. Unlike Linux, OSv does not support multiple processes, and there is no separation between kernel and user space. This design allows for a deep integration between the two components, further reducing overhead and improving performance. Additional ContextLLFree offers a scalable, lock- and log-free approach to memory allocation, significantly outperforming the traditional Linux frame allocator in terms of allocation time and memory compaction. Its cache-friendly data structures and antifragmentation behavior make it an ideal candidate for integration with advanced DRAM management techniques. This thesis aims to integrate LLFree with OSv. NVMe: In a previous thesis, we have implemented an NVMe disk driver. NVMe is the hardware interface of modern high-speed SSDs that allows to fully exploit the inherent parallelism of flash-based storage. Furthermore, it emerges as the standard to attach block-based devices to virtual machines in the cloud. Requirements
Related Work
For more information about OSv and this thesis project, you can refer to the following resources:
|
Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
Postfach: 38092 Braunschweig
Telefon: +49 (0) 531 391-0