Intel Cluster-On-Die(COD)-teknologi på VMware ESXi
Summary: Intel-klynge på matrice, COD, VMware ESXi, flere NUMA-noder pr. processorsokkel,
Symptoms
Indledning
I NUMA-aktiverede systemer er hukommelseskanalerne fordelt på tværs af processorerne. Alle hukommelsesrelaterede handlinger kræver snoop-handlinger for at opretholde cachedatakohærens. Snooping bruges til at undersøge indholdet af cache på både lokale og eksterne processorer for at finde kopien af anmodede data findes i en af cacherne. Hvis NUMA er deaktiveret (nodeindfletning aktiveret i BIOS), deaktiveres snoop-tilstand automatisk.
Der er tre typer snoop-tilstand tilgængelig i Intel Haswell-mikroarkitektur. 13. generation af Dell-servere (13G) understøtter alle tre snoop-tilstande såsom:
1) Tidlig snoop
2) Hjem snoop
3) Klynge på matrice
I denne blog diskuterer vi Cluster-On-Die (COD) snoop-tilstand med hensyn til VMware ESXi. Denne blog dækker følgende aspekter.
- Grundlæggende om COD
- Forudsætninger for at aktivere COD fra både hardware- og VMware ESXi-synspunkt
- Få kommandolinjeindstillinger i ESXi, som viser forskellen i NUMA-liste med COD aktiveret og deaktiveret.
Før vi går i detaljer med COD, er det nødvendigt at forstå typer processorer baseret på kernetællingen på Intel Haswell-processorens mikroarkitektur.
Intel har klassificeret haswell-processorarkitekturen i følgende typer: -
1) LCC – lavt antal kerner[4 -8 kerner]
2) MCC- Antal middelhøje kerner[10-12 kerner]
3) HCC- Antal høje kerner[14-18 kerner]
BEMÆRK: Disse kernetællingstyper varierer på forskellige Intel-mikroarkitekturer.
Hvad er Cluster-On-Die (COD)-tilstand?
COD er en ny snoop-tilstand introduceret fra Intel Haswell-processorfamilien, der har 10 eller flere kerner. For MCC- og HCC-processorkategorierne har Intel indbygget to hukommelsescontrollere på en enkelt processorsokkel, mens LCC-processoren kun har en hukommelsescontroller. Hver hukommelsescontroller i en processorsokkel fungerer som en hjemmeagent [HA].
På COD-aktiverede servere opdeler hver processor logisk soklen i 2 NUMA-noder Hver NUMA-node har halvdelen af det samlede antal fysiske kerner og halvdelen af det sidste niveau cache (LLC) med en hjemmeagent. Udtrykket klynge dannes som processorkerner, og den tilsvarende hukommelsescontroller grupperes sammen og dannes som klynge på soklens matrice. Hver hjemmeagent bruger to hukommelseskanaler og ser anmodninger fra et mindre antal processorlogiske kerner, hvilket giver højere hukommelsesbåndbredde og lav latenstid. Denne driftstilstand bruges hovedsageligt til optimering af NUMA-arbejdsbelastninger. Operativsystemerne viser antallet af NUMA-noder ved at læse ACPI SRAT-tabellerne.
En grafisk gengivelse af COD er som følger:-

Det kan ses på det andet billede, at enkeltprocessorstikmatricen er opdelt i to logiske noder, når COD er aktiveret.
Forudsætninger:
I dette afsnit diskuterer vi forudsætninger fra både hardware- og VMware ESXi-synspunkt.
Hardware:
- COD kan kun aktiveres på Intel Haswell-EP-processor med 10 eller flere kerner.
- Hukommelsen skal udfyldes i alternative hukommelseskanaler (CH0, CH2 & CH1 & CH3). F.eks. har R730-, R730xd-, R630- og T630-serveren 4 hukommelseskanaler pr. sokkel.

Lad os tage et eksempel for bedre at forstå ovenstående forudsætning. For en server, der kun har to hukommelsesmoduler pr. kanal udfyldt, skal følgende pladser udfyldes for en bestemt kanal
- A1 og A3
Med 4 hukommelsesmoduler,
- A1, A3 og B1, B3
Med 8 hukommelsesmodul,
- A1,A3,B1,B3 og A2,A4,B2,B4
BEMÆRK: Det er nødvendigt at udfylde mindst to hukommelsesmoduler for at aktivere COD.
- Cluster On Die-token skal aktiveres i BIOS-indstillingerne.
- VMware-understøttelse af COD startede fra vSphere 6.0 i begyndelsen, og nu understøttes den også i ESXi 5.5 U3b. Se VMware KB-2142499 for at få flere oplysninger.
VMware ESXi læser ACPI SRAT (System Resource Affinity Tables) og SLIT (System Locality Information Tables) for at identificere og kortlægge de tilgængelige hardwareressourcer. Dette omfatter også kortlægning af NUMA-noderne. Dette afsnit taler om få kommandolinjeindstillinger, som brugerne kan bruge til at se COD-tilstanden fra VMware ESXi.
- esxtop giver mulighed for at se NUMA-noderne udfyldt. Når esxtop-kommandoen indtastes, skal du trykke på 'm' for at se NUMA-noderne som følger.
Følgende skærmbilleder er taget fra et system med to processorsokler og 128 GB systemhukommelse. I standardkonfigurationen uden COD aktiveret ville esxtop vise to NUMA-noder med 64 GB allokeret pr. NUMA-node. Følgende figur viser esxtop-kommandooutputtet i VMware ESXi med COD deaktiveret. 
Når COD er aktiveret, viser esxtop fire NUMA-noder i stedet for to, da matrice med en enkelt processor er opdelt i to.
esxcli giver få kommandolinjemulighed til at vise antallet af NUMA-noder, der eksponeres fra hardwaren.
Fordele
I COD-tilstand ser operativsystemet to NUMA-noder pr. Sokkel. COD har den bedste lokale latenstid. Hver hjemmeagent ser anmodninger fra et færre antal tråde, der potentielt giver højere hukommelsesbåndbredde. COD-tilstand har i hukommelsesmappen bitunderstøttelse. Denne tilstand er bedst til meget NUMA-optimerede workloads. Se en blog udgivet af Dell HPC-teamet, som beskriver forskellige snooping-tilstande.
Referencer
Cause
Ikke relevant
Resolution
Ikke relevant
