The classic scheduler provides a fair share, preemptive round- robin scheduling model for guest virtual processors.
The classic scheduler has been the default for all versions of the Windows Hyper-V hypervisor since its inception, including Windows Server 2016 Hyper-V. These scheduler types are: The classic scheduler Starting with Windows Server 2016, the Hyper-V hypervisor supports several modes of scheduler logic, which determine how the hypervisor schedules virtual processors on the underlying logical processors. While the hypervisor scheduler takes care to consider temporal cache locality, NUMA topology, and many other factors when scheduling a guest VP, ultimately the VP could be scheduled on any host LP. A host VP always runs on the same underlying LP – there is no migration of the root partition's VPs.īy default, the LPs on which host VPs run can also run guest VPs.Ī guest VP may be scheduled by the hypervisor to run on any available logical processor. Microsoft strongly recommends not running any application workloads in the root partition.Įach virtual processor (VP) of the root partition is mapped 1:1 to an underlying logical processor (LP). The root partition provides the management services that control all guest virtual machines, provides virtual device support for guests, and manages all device I/O for guest virtual machines. The root partition is itself a virtual machine partition, although it has unique properties and much greater privileges than guest virtual machines. Partitions provide strong isolation boundaries between all guest virtual machines, and between guest VMs and the root partition. Hyper-V creates and manages virtual machine partitions, across which compute resources are allocated and shared, under control of the hypervisor. These are important concepts for this article: You can find a general summary in Hyper-V Technology Overview. Understanding how Hyper-V virtualizes processorsīefore considering hypervisor scheduler types, it's also helpful to understand the Hyper-V architecture. Intel refers to their SMT offerings as Intel Hyper Threading Technology, or Intel HT.įor the purposes of this article, the descriptions of SMT and how it is utilized by Hyper-V apply equally to both Intel and AMD systems.įor more information on Intel HT Technology, refer to Intel Hyper-Threading Technologyįor more information on AMD SMT, refer to The "Zen" Core Architecture Processors supporting SMT are available from both Intel and AMD. SMT generally offers a modest performance boost to most workloads by parallelizing computations when possible, increasing instruction throughput, though no performance gain or even a slight loss in performance may occur when contention between threads for shared processor resources occurs. Simultaneous multithreading, or SMT, is a technique utilized in modern processor designs that allows the processor's resources to be shared by separate, independent execution threads. Backgroundīefore discussing the logic and controls behind Hyper-V virtual processor scheduling, it's helpful to review the basic concepts covered in this article.
Updates are required to use the hypervisor scheduler features described in this document.