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...

Full description

Bibliographic Details
Authors: 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
Format: report
Publication Date:2018
Country:España
Institution:Universitat Politècnica de Catalunya (UPC)
Repository:UPCommons. Portal del coneixement obert de la UPC
Language:English
OAI Identifier:oai:upcommons.upc.edu:2117/338271
Online Access:https://hdl.handle.net/2117/338271
Access Level:Open access
Keyword: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
Description
Summary: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.