Permalänk

8 hyperthreaded vs. 6 fysiska kärnor?

Jag bygger en server med ESXi (VMWare hypervisor) i botten. CPUn har 6 fysiska kärnor, 12 hyperthreaded. Gratisvarianten av ESXi tillåter bara 8 logiska CPUer per VM. Hur utnyttjar jag maximal CPUprestanda om jag bara ska köra en enda VM? Självklart hade 12 logiska CPUer varit optimalt men jag har inte den möjligheten.

  1. 8 logiska CPUer med hyperthreading aktivt (borde ge 8/12 av maximal prestanda)

  2. 6 logiska CPUer med hyperthreading inaktivt i bios (borde ge 2/3 av maximal prestanda baserat på att intel hyperthreading kan ge upp till 30% boost)

8/12==2/3

Permalänk
Medlem

Törs jag fråga varför du gör dig besväret med esxi om du bara ska ha en enda gäst?
Ren metall kommer ju rimligtvis bara ge fördelar? Eller är det för övningssyfte?

Number of cores per physical CPU: No limit
Number of physical CPUs per host: No limit
Number of logical CPUs per host: 480
Maximum vCPUs per virtual machine: 8
- See more at: https://www.vmware.com/products/vsphere-hypervisor/gettingsta...

Begränsning ligger på gäst så som svar på din fråga, låt alla cores vara upplåsta och låt gästen ta det den vill.
Det är ytterst osannololikt att du lyckas maxxa samtliga cores oavsett setup om du inte utryckligen kör boinc eller något och där vill man ju gärna använda en GPU ändå.

Permalänk
Skrivet av Spiffman:

Törs jag fråga varför du gör dig besväret med esxi om du bara ska ha en enda gäst?
Ren metall kommer ju rimligtvis bara ge fördelar? Eller är det för övningssyfte?

För att enkelt kunna flytta VMet till en annan server vid senare tillfälle. Men även för att köra fler VM, har bara en just nu där prestanda är viktigt. Vill ha ett flexibelt system.

Permalänk
Medlem

@joohansson:
Jag är inte insatt i ESXi eller så men skummade lite och det är inte så att du blandar ihop vCPU och CPU?
Själva VM använder hela din CPU, även om du säger att den ska ha 1 vCPU så planerar den över alla cores + HT, du ska inte behöva ställa in något med det, allt sådant sker på hårdvaru-nivå av systemet själv och i VM lagret.

Visa signatur

"One is always considered mad, when one discovers something that others cannot grasp."
- Ed Wood

Permalänk
Medlem

Kan gästen nyttja mer än 8 kärnor effektivt?
I så fall känns det som att du bör fundera på att byta hypervisor (eller betala).

Permalänk
Skrivet av Spiffman:

Begränsning ligger på gäst så som svar på din fråga, låt alla cores vara upplåsta och låt gästen ta det den vill.
Det är ytterst osannololikt att du lyckas maxxa samtliga cores oavsett setup om du inte utryckligen kör boinc eller något och där vill man ju gärna använda en GPU ändå.

Men när man definierar en VM så ställer man in maximalt antal vCPU som gästen kan använda. Den kommer aldrig kunna använda 100% av min CPU så länge det är max 8 som gäller. Har egen programvara som utnyttar alla cores max. Men så fort jag kommer köra mer än 1 VM så vinner jag ju på att aktivera hyperthreading så klart.

Permalänk
Skrivet av Ferrat:

@joohansson:
Jag är inte insatt i ESXi eller så men skummade lite och det är inte så att du blandar ihop vCPU och CPU?
Själva VM använder hela din CPU, även om du säger att den ska ha 1 vCPU så planerar den över alla cores + HT, du ska inte behöva ställa in något med det, allt sådant sker på hårdvaru-nivå av systemet själv och i VM lagret.

Det är lite speciellt. Man kan välja bland virtual sockets och virtual cores per socket. T.ex. 8 virtual sockets med 1 core per socket eller 1 virtual socket med 8 cores per socket. Det är 8 vCPU totalt som gäller oavsett. Prestandan blir nog samma men har att göra med licensiering av gästsystemet.

Men kan 1vCPU utnyttja 100% av totala fysika prestandan oavsett hur många fysiska cpuer och kärnor man har menar du? Vad jag förstått så mappar en vCPU mot en fysisk core, alltså den kan inte ligga över flera kärnor samtidigt utan hoppar runt mellan dem. Så man kan säga att 1 vCPU använder alla fysiska kärnor tids nog men inte samtidigt, alltså inte 100%. Jag googlar och googlar men lyckas inte hitta ett vettigt svar.