Tecnologia Intel Cluster-On-Die (COD) no VMware ESXi
Summary: Cluster Intel on die, COD, VMware ESXi, vários nós NUMA por soquete de processador,
Symptoms
Introdução
Em sistemas habilitados para NUMA, os canais de memória são distribuídos entre os processadores. Todas as operações relacionadas à memória exigem operações de snoop para manter a coerência dos dados de cache. O snooping é usado para sondar o conteúdo do cache em processadores locais e remotos para encontrar a cópia dos dados solicitados reside em qualquer um dos caches. Se o NUMA estiver desativado (intercalação de nós ativada no BIOS), o modo de snoop será desativado automaticamente.
Há três tipos de modo de snoop disponíveis na microarquitetura Intel Haswell. Os servidores Dell13ª geração (13G) oferecem suporte a todos os três modos de espionagem, como:
1) Espionagem antecipada
2) Bisbilhotagem doméstica
3) Cluster On Die
Neste blog, abordaremos o modo de snoop Cluster-On-Die (COD) em termos de VMware ESXi. Este blog aborda os seguintes aspectos.
- Noções básicas de DQO
- Pré-requisitos para habilitar o COD do ponto de vista do hardware e do VMware ESXi
- Algumas opções de linha de comando no ESXi mostram a diferença na listagem de NUMA com COD ativado e desativado.
Antes de entrarmos nos detalhes do COD, é necessário entender os tipos de processadores com base na contagem de núcleos da microarquitetura do processador Intel Haswell.
A Intel classificou a arquitetura do processador haswell nos seguintes tipos: -
1) LCC - baixa contagem de núcleos [4 a 8 núcleos]
2) MCC – Contagem média de núcleos[10 – 12 núcleos]
3) HCC - alta contagem de núcleos [14-18 núcleos]
Nota: Esses tipos de contagem de núcleos variam de acordo com a microarquitetura Intel diferente.
O que é o modo Cluster-On-Die (COD)?
COD é um novo modo de snoop introduzido pela família de processadores Intel Haswell que tem 10 ou mais núcleos. Para as categorias de processador MCC e HCC, a Intel incorporou dois controladores de memória em um único soquete de processador, enquanto o processador LCC tem apenas um controlador de memória. Cada controlador de memória em um soquete de processador funciona como um agente doméstico [HA].
Em servidores habilitados para COD, cada processador divide logicamente o soquete em 2 nós NUMA Cada nó NUMA tem metade do número total de núcleos físicos e metade do cache de último nível (LLC) com um agente doméstico. O termo cluster é formado como núcleos de processador e o controlador de memória correspondente é agrupado e formado como cluster na matriz de soquete. Cada agente doméstico usa dois canais de memória e vê solicitações de um número menor de núcleos lógicos do processador, proporcionando maior largura de banda de memória e baixa latência. Esse modo operacional é usado principalmente para otimizar as cargas de trabalho NUMA. Os sistemas operacionais exibem o número de nós NUMA lendo as tabelas ACPI SRAT.
Uma representação gráfica do COD é a seguinte:-

Na segunda imagem, pode-se ver que a matriz de soquete de processador único é dividida em dois nós lógicos quando o COD está ativado.
Pré-requisitos:
Nesta seção, discutiremos os pré-requisitos do ponto de vista de hardware e do VMware ESXi.
Hardware:
- O COD só pode ser ativado no processador Intel Haswell-EP com 10 ou mais núcleos.
- A memória precisa ser preenchida em canais de memória alternativos (CH0, CH2 & CH1 & CH3). Por exemplo, o servidor R730, R730xd, R630 & T630 tem 4 canais de memória por soquete.

Vamos pegar um exemplo para entender melhor o pré-requisito acima. Para um servidor com apenas dois módulos de memória por canal preenchidos, os seguintes slots precisam ser preenchidos para um canal específico
- A1 & A3
Com 4 módulos de memória,
- A1,A3 & B1, B3
Com 8 módulos de memória,
- A1,A3,B1,B3 & A2,A4,B2,B4
Nota: Um mínimo de dois módulos de memória precisam ser preenchidos para habilitar o COD.
- O token Cluster On Die precisa ser ativado nas configurações do BIOS.
- O suporte da VMware para COD começou no vSphere 6.0 no início e agora também é compatível com o ESXi 5.5 U3b. Consulte o 2142499 da base de conhecimento da VMware para obter detalhes.
O VMware ESXi lê o SRAT (System Resource Affinity Tables, tabelas de afinidade de recursos do sistema) e o SLIT (System Locality Information Tables, tabelas de informações de localidade do sistema) da ACPI para identificar e mapear os recursos de hardware disponíveis. Isso também inclui o mapeamento dos nós NUMA. Esta seção fala sobre algumas opções de linha de comando que os usuários podem usar para ver o estado COD do VMware ESXi.
- O esxtop oferece uma opção para ver os nós NUMA preenchidos. Quando o comando esxtop for inserido, pressione 'm' para ver os detalhes dos nós NUMA da seguinte maneira.
As capturas de tela a seguir são obtidas de um sistema com dois soquetes de processador e memória de sistema de 128 GB. Na configuração padrão sem COD ativado, o esxtop exibiria dois nós NUMA com 64 GB alocados por nó NUMA. A figura a seguir mostra a saída do comando esxtop no VMware ESXi com COD desativado. 
Com o COD ativado, o esxtop lista quatro nós NUMA em vez de dois, pois a matriz de soquete de processador único é dividida em dois.
O esxcli fornece algumas opções de linha de comando para exibir o número de nós NUMA expostos do hardware.
Benefícios
No modo COD, o sistema operacional vê dois nós NUMA por soquete. O COD tem a melhor latência local. Cada agente doméstico vê solicitações de um número menor de threads, potencialmente oferecendo maior largura de banda de memória. Modo COD tem suporte a bits no diretório de memória. Esse modo é o melhor para cargas de trabalho altamente otimizadas para NUMA. Consulte um blog publicado pela equipe de HPC da Dell detalhando diferentes modos de espionagem.
Referências
Cause
Não aplicável
Resolution
Não aplicável
