Lightweight Virtual Machine Introspection for Adaptive Energy Estimation on Multicore x86 Systems

  • Typ:Bachelorarbeit
  • Datum:24.10.2025
  • Betreuung:

    Prof. Dr. Frank Bellosa

    Thorsten Gröninger

  • Bearbeitung:Tobias Merkel
  • Links:PDF
  • Abstract
    Cloud providers restrict access to fine-grained energy metrics in multi-tenant virtualized environments, as they can be exploited for side-channel attacks. Meaningful interpretation requires system-wide oversight, which is prohibited for guest VMs. Developers lack the tools to debug and optimize applications for energy consumption under these restrictions. As a result, energy statistics should be provided by the host system. This poses a semantic gap, as the host needs to introspect the guest to calculate meaningful energy statistics. Existing approaches are either invasive and require VM modifications, or attribute energy only to the entire VM.
    In this thesis, we address this problem by presenting two introspection approaches that provide metrics required for energy attribution. Both techniques leverage hardware features, namely MOV to CR3 VM exiting and Intel Processor Trace (Intel-PT). The MOV to CR3 VM exiting approach allows us to trace an application start and  execution time, happening in the same address space, on modern AMD and Intel processors. Intel-PT enables high-resolution process switch detection and precise cycle counting through the use of trace packets and timestamp
    counter estimation. We evaluate Intel-PT for its impact on performance and power consumption, identifying optimal configuration parameters. Our experiments indicate an increase in execution time within the range 0 - 6 % and a minimal power consumption overhead of 2 to 3 % in the worst case.
    This could in the future allow for better energy attribution in data centers, without the need to modify guest operating systems, yet identify energy-wasting
    processes.

    BibTex:

    @bachelorthesis{Merkel25EnergyEstimation,
      author = {Tobias Merkel},
      title = {Lightweight Virtual Machine Introspection for Adaptive Energy Estimation on Multicore x86 Systems},
      type = {Bachelor Thesis},
      year = 2025,
      month = oct# "24",
      school = {Operating Systems Group, Karlsruhe Institute of Technology (KIT), Germany}
      }