Het be­lang­rijk­ste verschil tussen CPU’s en vCPU’s is dat CPU’s fysiek van aard zijn, terwijl vCPU’s een virtuele variant zijn die op software is gebaseerd. De twee soorten centrale ver­wer­kings­een­he­den ver­schil­len ook qua pres­ta­ties en wanneer ze worden gebruikt.

Verschil 1: Tech­no­lo­gi­sche basis

Het cruciale verschil tussen CPU en vCPU is van tech­ni­sche aard. Een CPU is een stuk com­pu­ter­hard­wa­re dat ge­woon­lijk ‘processor’ wordt genoemd. Moderne CPU’s hebben doorgaans meerdere cores, waaraan ze processen kunnen toewijzen die moeten worden uit­ge­voerd.

Een vCPU daar­en­te­gen is een soft­wa­re­ma­ti­ge variant van een com­pu­ter­be­stu­rings­een­heid. Deze bestaat niet in fysieke vorm, maar is gebaseerd op een fysieke CPU. Af­han­ke­lijk van de vereisten kunnen meerdere vCPU’s worden afgeleid van een klassieke fysieke CPU. Hoewel het niet mogelijk is dat een vCPU op meerdere fysieke CPU’s is gebaseerd, kan de vCPU wel meerdere cores van een fysieke CPU gebruiken.

Om vCPU’s te creëren en toe te wijzen aan een virtuele machine (VM), hebben hy­per­vi­sors toegang tot de cores of threads van fysieke pro­ces­sors die be­schik­baar zijn.

Verschil 2: Pres­ta­ties

Wat pres­ta­ties betreft, zul je een duidelijk verschil merken tussen de ver­wer­kings­kracht van vCPU’s en CPU’s. Dit komt doordat vCPU’s strikt genomen soft­wa­re­ma­ti­ge sub­een­he­den van een CPU zijn. Als je een enkele vCPU en een enkele CPU met dezelfde klok­snel­heid (gigahertz) ver­ge­lijkt, is de ge­vir­tu­a­li­seer­de variant niet zo krachtig als zijn hardware-te­gen­han­ger. Dit komt deels doordat de co­ör­di­na­tie met de fysieke CPU tijd kost. Hoewel de hoe­veel­heid tijd die dit kost vaak ver­waar­loos­baar is, wordt het wel merkbaar bij het uitvoeren van bijzonder veel­ei­sen­de taken.

Bovendien kan de fysieke CPU met zijn on­der­ver­deel­de cores en threads meerdere in­struc­ties of processen direct en ge­lijk­tij­dig verwerken. Om dit te kunnen doen, zou de vCPU moeten worden aangevuld met nog meer vCPU’s, wat be­hoor­lijk pro­ble­ma­tisch kan zijn. Met een toenemend aantal vCPU’s wordt het voor de CPU-planner steeds complexer om de uit­voe­rings­tijd van ver­schil­len­de processen te reguleren. Door de re­sul­te­ren­de wacht­tij­den kan de prestatie van het virtuele CPU-netwerk niet volledig worden benut.

Verschil 3: Toe­pas­sings­ge­bied

CPU’s vormen het hart van de klassieke computer. Zonder voldoende re­ken­kracht zouden pc’s niet in staat zijn om een breed scala aan taken uit te voeren, zoals gamen, streamen, beeld- en vi­deo­be­wer­king en be­re­ke­nin­gen. Fysieke CPU’s worden ook gebruikt in veel andere al­le­daag­se apparaten, zoals kof­fie­ma­chi­nes, vaat­was­sers, koel­kas­ten en na­tuur­lijk smartpho­nes en andere mobiele apparaten.

vCPU’s vervullen de rol van centrale com­pu­ter­com­po­nent in ge­vir­tu­a­li­seer­de om­ge­vin­gen. Er zijn tal van ge­bruiks­sce­na­rio’s mogelijk als het gaat om virtuele machines met een eigen be­stu­rings­sys­teem. Testom­ge­vin­gen en server-/ap­pli­ca­tie­hos­ting, zoals da­ta­ba­se­ser­vers, cloud­op­slag en virtual private servers (VPS), zijn bijzonder populair. Hier wordt duidelijk dat het niet zozeer gaat om CPU versus vCPU, maar meer om hoe fysieke en ge­vir­tu­a­li­seer­de re­ken­kracht met elkaar kunnen in­ter­a­ge­ren. De on­der­lig­gen­de fysieke CPU kan worden gebruikt als basis voor ver­schil­len­de ge­vir­tu­a­li­seer­de om­ge­vin­gen die te­ge­lij­ker­tijd voor meerdere ge­brui­kers draaien. Dit maakt vCPU’s zo in­te­res­sant voor providers en ge­brui­kers van cloud­dien­sten.

Hoe worden CPU’s omgezet in vCPU’s?

Als u de fysieke CPU van uw computer wilt gebruiken om vCPU’s voor een of meer virtuele machines te leveren, kunt u de volgende formule gebruiken om het aantal vCPU’s dat kan worden geleverd bij be­na­de­ring te berekenen:

(Threads x Cores) x Aantal fysieke CPU’s = Aantal vCPU’s

Als u bij­voor­beeld een CPU met vier cores en acht threads hebt ge­ïn­stal­leerd, kunt u maximaal 32 vCPU’s leveren:

(8 threads x 4 cores) x 1 = 32 vCPU’s

U kunt op elk moment in slechts enkele stappen ach­ter­ha­len hoeveel cores en threads uw CPU heeft. Als u op een Windows-pc werkt, kunt u de volgende stappen uitvoeren:

  1. Gebruik de toet­sen­com­bi­na­tie Ctrl + Shift + Esc om Taak­be­heer te openen.
  2. Klik op het menu Pres­ta­ties.
  3. Daar vindt u een lijst met in­for­ma­tie waarin u de waarden voor cores, logische pro­ces­sors (threads) en sockets (fysieke CPU’s) kunt vinden.
Afbeelding: Windows Task Manager: CPU information
Windows Task Manager: CPU in­for­ma­ti­on

Als u een Linux-be­stu­rings­sys­teem gebruikt, kunt u de CPU-in­for­ma­tie ach­ter­ha­len via de terminal en met behulp van de volgende opdracht:

lscpu
bash
Ga naar hoofdmenu