Parent Partition Information Test

The hypervisor creates partitions that are used to isolate guests and host operating systems. A partition is comprised of a physical address space and one or more virtual processors. A parent partition creates and manages child partitions. It contains a virtualization stack, which controls these child partitions. The parent partition is in most occasions also the root partition. It is the first partition that is created and owns all resources not owned by the hypervisor. As the root partition it will handle the loading of and the booting of the hypervisor. It is also required to deal with power management, plug and play and hardware failure events.

The Parent Partition Information test monitors the root partition and reports how well the root manages the physical memory resources.

Target of the test : A Hyper-V / Hyper-V VDI server

Agent executing the test : An internal agent

Output of the test : One set of results for the root partition on the Hyper-V host monitored

Configurable parameters for the test
  1. Test period - How often should the test be executed
  2. Host - The host for which the test is to be configured.
Measurements reported by the test
Measurement Description Measurement Unit Interpretation

Address space in the virtual TLB

Indicates the current number of address spaces in the virtual TLB of the partition.

Number

The root partition hosts a data structure called a Translation LookAside Buffer (TLB), which is used to perform Virtual to Physical Address Translation. A TLB has a fixed number of slots containing page table entries, which map virtual addresses onto physical addresses. It is typically a content-addressable memory (CAM), in which the search key is the virtual address and the search result is a physical address.

This measure is a good indicator of the size of the TLB.

Virtual processors

Indicates the number of virtual processors present in the root partition currently.

Number

All execution in the root and child partitions happens on Virtual Processors (VPs).  At a minimum you will see one VP for each Logical Processor (LP).  These account for the root VPs. 

Deposited pages

Indicates the number of pages currently deposited into this partition.

Number

For each partition, the hypervisor maintains a memory pool of RAM SPA pages. This pool acts just like a checking account. The amount of pages in the pool is called the balance. Pages are deposited or withdrawn from the pool. When a hypercall that requires memory is made by a partition, the hypervisor withdraws the required memory from the total pool balance of that partition.

Pages used by the virtual TLB

Indicates the number of page tables that are currently present in the virtual TLB of the  partition.

Number

 

Pages present in the GPA space

Indicates the number of pages currently present in the GPA space of the root partition.

Number

The physical memory that is seen by the hypervisor is called System Physical Address (SPA) space. The pages allocated for the operating system in a child partition are not necessarily contiguous so a remapping takes place to allow the guest to see a contiguous Guest Physical Address (GPA) space.

System Physical Address space refers to the physical memory's physical addresses. Guest Physical Address space is the set of pages that are accessed when a guest references a physical address (i.e. when the CR3 register is loaded with the physical address of the page directory). There is one SPA space per machine and one GPA space per child partition. When the operating system is running within a child partition using Hyper-V, the guest page tables reference GPA, although, as far as the child partition operating system knows, this is physical memory. Even though the guest references a GPA page when referring to physical memory, these references have to be converted so the actual memory access is performed on an SPA page.

GPA space modification

Indicates the rate of modifications to the GPA space.

Modifications/Sec

 

Virtual TLB flush entries

Indicates the rate of flushes of the entire virtual TLB.

Entries/Sec

When the memory map is changed the entries in the TLB many need to be removed (flushed).  TLB flushes can be expensive operations because it may trigger interprocessor interrupts to clear out similar entries on other processors and additional accesses to memory to recompute mappings that were previously in the TLB. Therefore, the value of this measure, should ideally be low.