Intel Cluster-On-Die (COD)-technologie op VMware ESXi
Summary: Intel Cluster on Die, COD, VMware ESXi, meerdere NUMA-knooppunten per processorsocket,
Symptoms
Inleiding
In systemen met NUMA worden geheugenkanalen verdeeld over de processors. Voor alle bewerkingen met betrekking tot het geheugen zijn snoop-bewerkingen vereist om de coherentie van cachedata te behouden. Snooping wordt gebruikt om de inhoud van de cache op zowel lokale als externe processors te doorzoeken om de kopie van de gevraagde data te vinden die zich in een van de caches bevindt. Als NUMA is uitgeschakeld (Node interleaving ingeschakeld in het BIOS) wordt de snoop-modus automatisch uitgeschakeld.
Er zijn drie soorten snoop-modus beschikbaar in de Intel Haswell-microarchitectuur. Dell servers van de 13egeneratie (13G) ondersteunen alle drie de snoop-modi, zoals: -
1) Vroeg snuffelen
2) Thuis snuffelen
3) Cluster op matrijs
In deze blog bespreken we de Cluster-On-Die (COD) snoop-modus in termen van VMware ESXi. In deze blog komen de volgende aspecten aan bod.
- Basisprincipes van CZV
- Vereisten om COD in te schakelen vanuit zowel hardware- als VMware ESXi-oogpunt
- Enkele opdrachtregelopties in ESXi die het verschil in NUMA-vermelding laten zien met COD ingeschakeld en uitgeschakeld.
Voordat we ingaan op de details van COD, is het vereist om inzicht te krijgen in typen processors op basis van het aantal cores op de Intel Haswell-processormicroarchitectuur.
Intel heeft de haswell-processorarchitectuur ingedeeld in de volgende typen: -
1) LCC - laag aantal cores [4 -8 cores]
2) MCC - Gemiddeld aantal cores [10 - 12 cores]
3) HCC - Hoog aantal cores [14-18 cores]
OPMERKING: Dit aantal cores varieert op verschillende Intel-microarchitectuur.
Wat is de COD-modus (Cluster-On-Die)?
COD is een nieuwe snoop-modus die is geïntroduceerd in de Intel Haswell-processorfamilie met 10 of meer cores. Voor de MCC- en HCC-processorcategorieën heeft Intel twee geheugencontrollers op één processorsocket ingebouwd, terwijl de LCC-processor slechts één geheugencontroller heeft. Elke geheugencontroller in een processorsocket fungeert als één Home Agent [HA].
Op COD-servers splitst elke processor de socket logischerwijs in 2 NUMA-knooppunten Elk NUMA-knooppunt heeft de helft van het totale aantal fysieke cores en de helft van de last level cache (LLC) met één thuisagent. De term cluster wordt gevormd als processorcores en de bijbehorende geheugencontroller worden gegroepeerd en gevormd als cluster op de socket-dobbelsteen. Elke Home Agent maakt gebruik van twee geheugenkanalen en ziet aanvragen van een kleiner aantal logische processorcores, waardoor een hogere geheugenbandbreedte en lage latentie worden geboden. Deze bedrijfsmodus wordt voornamelijk gebruikt voor het optimaliseren van de NUMA-workloads. Het besturingssysteem geeft het aantal NUMA-knooppunten weer door de ACPI SRAT-tabellen te lezen.
Een grafische weergave van COD is als volgt: -

In de tweede afbeelding is te zien dat de dobbelsteen met één processorsocket is verdeeld in twee logische knooppunten wanneer COD is ingeschakeld.
Vereisten:
In dit gedeelte bespreken we de vereisten voor zowel hardware als VMware ESXi.
Hardware:
- COD kan alleen worden ingeschakeld op een Intel Haswell-EP processor met 10 of meer cores.
- Het geheugen moet worden gevuld via alternatieve geheugenkanalen (CH0, CH2, CH1 en CH3). De R730, R730xd, R630 en T630 server heeft bijvoorbeeld 4 geheugenkanalen per socket.

Laten we een voorbeeld nemen om de bovenstaande voorwaarde beter te begrijpen. Voor een server met slechts twee geheugenmodules per gevuld kanaal, moeten de volgende slots worden gevuld voor een specifiek kanaal
- A1 en A3
Met 4 geheugenmodules,
- A1, A3 & B1, B3
Met 8 geheugenmodules,
- A1, A3, B1, B3 en A2, A4, B2, B4
OPMERKING: Er moeten minimaal twee geheugenmodules worden gevuld om COD in te schakelen.
- Cluster On Die-token moet worden ingeschakeld in de BIOS-instellingen.
- VMware-ondersteuning voor COD begon in het begin vanaf vSphere 6.0 en wordt nu ook ondersteund in ESXi 5.5 U3b. Raadpleeg VMware KB 2142499 voor meer informatie.
VMware ESXi leest ACPI SRAT (System Resource Affinity Tables) en SLIT (System Locality Information Tables) om de beschikbare hardwareresources te identificeren en in kaart te brengen. Dit omvat ook het in kaart brengen van de NUMA-knooppunten. In dit gedeelte worden enkele opdrachtregelopties besproken die de gebruikers kunnen gebruiken om de COD-status van VMware ESXi te bekijken.
- esxtop biedt een optie om de NUMA-knooppunten gevuld te zien. Wanneer de opdracht esxtop is ingevoerd, drukt u op 'm' om de details van de NUMA-knooppunten als volgt te bekijken.
De volgende schermafbeeldingen zijn gemaakt van een systeem met twee processorsockets en 128 GB systeemgeheugen. In de standaardconfiguratie zonder COD ingeschakeld, zou esxtop twee NUMA-knooppunten weergeven met 64 GB toegewezen per NUMA-knooppunt. De volgende afbeelding toont de uitvoer van de opdracht esxtop in VMware ESXi met COD uitgeschakeld. 
Als COD is ingeschakeld, vermeldt esxtop vier NUMA-knooppunten in plaats van twee, omdat de dobbelsteen met één processorsocket in tweeën is verdeeld.
esxcli biedt weinig opdrachtregelopties om het aantal NUMA-knooppunten weer te geven dat vanuit de hardware wordt blootgesteld.
Voordelen
In de COD-modus ziet het besturingssysteem twee NUMA-knooppunten per socket. COD heeft de beste lokale latentie. Elke thuisagent ziet aanvragen van een kleiner aantal threads die mogelijk een hogere geheugenbandbreedte bieden. De COD-modus heeft bitondersteuning in de geheugenmap. Deze modus is het beste voor sterk NUMA-geoptimaliseerde workloads. Raadpleeg een blog van het Dell HPC-team waarin de verschillende snooping-modi worden beschreven.
Verwijzingen
Cause
Niet van toepassing
Resolution
Niet van toepassing
