Use operações de API para visualizar e modifique topologias de CPU de instâncias ECS e otimizar o desempenho em cenários como virtualização, programação multithread e HPC.
Contexto
Topologia de CPU
Somente famílias específicas de instâncias do Alibaba Cloud oferecem suporte a dois tipos de topologia de CPU: Hyper-Threading (HT) continuous (ContinuousCoreToHTMapping) e HT discrete (DiscreteCoreToHTMapping).
Topologia de CPU HT continuous: os núcleos lógicos são atribuídos continuamente aos núcleos físicos, o que reduz a comunicação e a contenção entre threads. Ideal para tarefas que exigem baixa latência de acesso à memória e poder de computação próximo ao do núcleo físico, como computação científica, análise de dados e HPC.
Topologia de CPU HT discrete: os núcleos lógicos distribuem-se discretamente entre os núcleos físicos, reduzindo a contenção de recursos em ambientes multithread e proporcionando melhor isolamento de desempenho. Recomendada para tarefas atribuídas a threads separadas ou que demandam alto desempenho single-thread.
As figuras a seguir usam como exemplo uma instância x86 com oito vCPUs.
Os dois tipos de topologia de CPU estão ilustrados abaixo.
Topologia de CPU HT continuous

Relações entre núcleos lógicos e físicos:
HT 0eHT 1pertencem aoCORE 0.HT 2eHT 3pertencem aoCORE 1.HT 4eHT 5pertencem aoCORE 2.HT 6eHT 7pertencem aoCORE 3.
Topologia de CPU HT discrete

Relações entre núcleos lógicos e físicos:
HT 0eHT 4pertencem aoCORE 0.HT 1eHT 5pertencem aoCORE 1.HT 2eHT 6pertencem aoCORE 2.HT 3eHT 7pertencem aoCORE 3.
Limitações
A modificação da topologia de CPU tem suporte apenas nas seguintes famílias de instâncias:
ecs.g9i, ecs.c9i e ecs.r9i
ecs.hfg9i, ecs.hfc9i e ecs.hfr9i
ecs.g8i, ecs.c8i e ecs.r8i
ecs.g7, ecs.c7 e ecs.r7
ecs.g7a, ecs.c7a e ecs.r7a
ecs.hfg8i, ecs.hfc8i e ecs.hfr8i
ecs.hfg7, ecs.hfc7 e ecs.hfr7
ecs.g6, ecs.c6 e ecs.r6
ecs.g6e, ecs.c6e e ecs.r6e
Consulte Família de instâncias.
Visualize topologias de CPU
Chame a operação DescribeInstances com o parâmetro AdditionalAttributes e verifique o parâmetro de resposta TopologyType para identificar o tipo de topologia de CPU. Consulte DescribeInstances.
Valores válidos de TopologyType:
ContinuousCoreToHTMapping: topologia de CPU HT continuous.DiscreteCoreToHTMapping: topologia de CPU HT discrete.Vazio: não é possível modifique a topologia de CPU.
Modifique topologias de CPU
Antes de modificar uma topologia de CPU, execute testes de benchmark e avaliação de desempenho para determinar o modo mais adequado.
Defina o parâmetro CpuOptions.TopologyType para modifique a topologia de CPU de uma instância.
-
Modifique topologias de CPU durante a criação da instância
Chame a operação RunInstances e defina o parâmetro
CpuOptions.TopologyType. Consulte RunInstances. -
Modifique a topologia de CPU de uma instância existente
NotaA instância deve estar no estado Stopped.
Chame a operação ModifyInstanceAttribute e defina o parâmetro
CpuOptions.TopologyType. Consulte ModifyInstanceAttribute.
Valores válidos de CpuOptions.TopologyType:
ContinuousCoreToHTMapping: topologia de CPU HT continuousDiscreteCoreToHTMapping: topologia de CPU HT discrete