PDA

Bekijk Volledige Versie : Hyperthreading CPU en vCPU



timmerdanny
02/06/17, 12:13
Ik ben zelf iets dieper in de CPU laag aan het kijken. Ik kwam erachter dat Hyperthreading niet hetzelfde is als een echte CPU core. Bij Hyperthreading wordt mits het programma dat kan meerdere instructies binnen dezelfde core tegelijk uitgevoerd. Ik draai zelf ESXi (gratis variant) in het datacenter, het viel me op dat ik maar liefst 16 vCPU kan uitdelen aan een host terwijl mijn server maar 8 cores heeft.

Uit de theorie die ik nu heb begrepen is een hyperthreaded core echt niet hetzelfde als een fysieke core. Ik kan dus 16 vCPU cores uitdelen aan een host maar in mijn optiek zijn dit dus hyperthreaded core CPU die niet hetzelfde performance heeft als een fysieke core. Hoe kan het dat ik toch 16 vCPU's kan uitdelen? Hoe doen jullie dit? Zit er echt een performance verschil in? Of delen jullie alleen fysieke cores uit?

virtuality
03/06/17, 16:05
Met Hyperthreading krijg je wel extra cores maar deze delen resources zoals cache met de 'normale' cores. Sommige situaties worden langzamer met Hyperthreading en sommige sneller. VMware kan hier wel mee overweg dus kan er rekening mee houden in de planning voor VM toewijzing.

Met 8 echte cores en 16 met Hyperthreading aan zou ik aan een enkele VM maximaal 8 vCPUs uitdelen. Dan kan VMware het efficiƫnt schedulen op de cores.
Hoeveel je er in totaal aan VMs toewijst moet je zelf bepalen. Dit kunnen er veel meer zijn als de 8 of 16 die je er hebt omdat je overboeking mag doen op cores. Wat voor overboeking je kunt aanhouden hangt van de VMs af. Ik heb omgevingen gezien die redelijk goed performen met 8 keer zoveel uitgedeeld als er echte cores zijn. En omgevingen die al overbelast zijn met 2 keer zoveel uitgedeeld.