Toen de wereld er nog eenvoudig uitzag bestond de Central Processing Unit (CPU oftewel processor) van een computer uit een chip die sequentieel instructies uitvoerde. Dit veranderde in eerste instantie met de introductie van het – inmiddels verouderde – hyper-threading hardwareconcept in de CPU en later met de introductie van multicore CPU’s. Een multicore CPU is in staat parallel instructies uit te voeren en gedraagt zich alsof er meerdere “logische” processoren aanwezig zijn binnen één fysieke processor.
Microsoft heeft er sinds de introductie van multicores voor gekozen om software-licenties te binden aan de fysieke processor, onafhankelijk van het aantal cores (logische processoren) die deze bevat. Een consequentie hiervan is dat Microsoft’s operating systemen bij opstart onderzoeken op hoeveel fysieke processoren ze draaien.
De introductie van Hyper-V – en hypervisors in het algemeen – maakt dit schema wat complexer. Dit komt omdat de scheiding tussen “fysieke” processor en “logische” processor wordt verstoord door de introductie van “virtuele” processoren. De vraag is dus of Hyper-V de logische processor aanbiedt aan de virtuele machine (dus aan het guest operating systeem), of juist de fysieke processor. Het antwoord is beide.
Voorbeeld 1: Stel Hyper-V draait op vier fysieke CPU’s. Je kunt dan voor een virtuele machine 1 tot 4 virtuele CPU’s definiëren, die door het guest operating systeem als 1 tot 4 fysieke CPU’s worden gezien.
Voorbeeld 2: Hyper-V draait op twee fysieke dualcore CPU’s, die elk dus twee logische processoren bevatten. Je kunt dan opnieuw 1 tot 4 virtuele processoren definiëren voor een virtuele machine. Het erin draaiend guest operating systeem zal dit achtereenvolgens zien als één singlecore CPU, één dualcore CPU, één singlecore plus één dualcore CPU, of twee dualcore CPU’s.
Voorbeeld 3: Hyper-V draait op één quad-core CPU, met dus vier logische processoren. Als je dan 1 tot 4 CPU’s aan een virtuele machine toekent, dan ziet het guest operating systeem altijd één fysieke processor met daarin 1 tot 4 logische processoren.
Zie de Virtual PC Guy’s weblog voor meer hierover.