AbstractsMathematics

The Omni-Kernel Architecture: Scheduler Control Over All Resource Consumption in Multi-Core Computing Systems

by Åge Andre Kvalnes




Institution: Universitetet i Tromsø
Department:
Year: 2014
Keywords: VDP::Mathematics and natural science: 400::Information and communication science: 420::System development and system design: 426 ; VDP::Matematikk og Naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Systemutvikling og -arbeid: 426
Record ID: 1286636
Full text PDF: http://hdl.handle.net/10037/6148


Abstract

Clouds commonly employ virtual machine technology to leverage and efficiently utilize computational resources in data centers. The workloads encapsulated by virtual machines contend for the resources of their hosting machines and interference from resource sharing can cause unpredictable performance. Despite the use of virtual machine technology, the role of the operating system as an arbiter of resource allocation persists – virtual machine monitor functionality is implemented as an extension to an operating system and the resources provided to a virtual machine are managed by an operating system. Visibility and opportunity for control over resource allocation is needed to prevent execution by one workload from usurping resources that are intended for another. If control is incomplete, no amount of over-provisioning can compensate for it and there will inevitably be ways to circumvent policy enforcement. The accurate and high fidelity control over resource allocation that is required from an operating system in a virtualized environment is a new operating system challenge. This dissertation presents the omni-kernel architecture, a novel operating system architecture designed around the basic premise of pervasive monitoring and scheduling. The architecture ensures that all resource consumption is measured, that the resource consumption resulting from a scheduling decision is attributable to an activity, and that scheduling decisions are fine-grained. The viability of the omni-kernel architecture is substantiated through a faithful implementation, Vortex, for multi-core x86-64 platforms. Vortex instantiates all architectural elements of the omni-kernel and provides a large range of commodity operating system functionality and abstractions. Using Vortex, we experimentally corroborate the efficacy of the omni-kernel architecture by showing accurate scheduler control over resource allocation in scenarios with competing workloads. Experiments involving Apache, MySQL, and Hadoop quantify the cost of the omni-kernel pervasive monitoring and scheduling to be around 5% of CPU utilization or substantially less.