Platform-agnostic steal-time measurement in a guest operating system

Steal time is a key performance metric for applications executed in a virtualized environment. Steal time measures the amount of time the processor is preempted by code outside the virtualized environment. This, in turn, allows to compute accurately the execution time of an application inside a virt...

Descripción completa

Detalles Bibliográficos
Autores: Verdú Mulà, Javier|||0000-0003-4485-2419, Costa Prats, Juan José|||0000-0003-2479-0230, Otero Calviño, Beatriz|||0000-0002-9194-559X, Rodríguez Luna, Eva|||0000-0001-5904-7039, Pajuelo González, Manuel Alejandro|||0000-0002-5510-6860, Canal Corretger, Ramon|||0000-0003-4542-204X
Tipo de recurso: informe técnico
Fecha de publicación:2018
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/338271
Acceso en línea:https://hdl.handle.net/2117/338271
Access Level:acceso abierto
Palabra clave:Operating systems
Virtual computer systems
Steal time
Virtual machine
Hypervisor
Guest operating system
Sistemes operatius (Ordinadors)
Sistemes virtuals (Informàtica)
Àrees temàtiques de la UPC::Informàtica::Sistemes operatius
Descripción
Sumario:Steal time is a key performance metric for applications executed in a virtualized environment. Steal time measures the amount of time the processor is preempted by code outside the virtualized environment. This, in turn, allows to compute accurately the execution time of an application inside a virtual machine (i.e. it eliminates the time the virtual machine is suspended). Unfortunately, this metric is only available in particular scenarios in which the host and the guest OS are tightly coupled. Typical examples are the Xen hypervisor and Linux-based guest OSes. In contrast, in scenarios where the steal time is not available inside the virtualized environment, performance measurements are, most often, incorrect. In this paper, we introduce a novel and platform agnostic approach to calculate this steal time within the virtualized environment and without the cooperation of the host OS. The theoretical execution time of a deterministic microbenchmark is compared to its execution time in a virtualized environment. When factoring in the virtual machine load, this solution -as simple as it is- can compute the steal time. The preliminary results show that we are able to compute the load of the physical processor within the virtual machine with high accuracy.