Devo desativar o hyperthreading? [fechadas]

1

Eu tenho um trabalho grande e estou experimentando a topologia para ver o que dá melhores resultados (jogando com ntasks , ncores-per-cpu , nodes , etc.) Estou usando slurm como meu gerenciador de filas de trabalho .

Eu tenho dois nós (CentOS 7, gerenciado com o Bright 7), cada um com 2xIntel (R) Xeon (R) CPU E5-2680 v3 @ 2.50GHz. Portanto, dois processadores com 12 núcleos, todos com hyper-threaded, parecem ter 48 núcleos por nó. (Veja abaixo a topologia do processador lstopo dá)

Minha pergunta: devo desabilitar o hyperthreading no BIOS ou tentar desabilitá-lo no SLURM? Ou apenas trate meu sistema como se eu tivesse o dobro dos núcleos? Especificar --thread-per-core=1 não parece ter efeito.

Meu trabalho é um grande modelo ambiental, muita E / S, muitos cálculos de matrizes, etc, e leva na ordem dos dias agora para ser executado.

Eu tenho lido as Perguntas frequentes do SLURM , mas ainda estou confuso sobre como proceder.

    
por Matt 07.03.2016 / 05:47

2 respostas

1

Basicamente, se você acha que suas operações se beneficiariam do cache L2 / L3 mais livre que é possível quando o HT está desabilitado, vá em frente e desative o HT do BIOS.

Se, no entanto, houver um grande número de pequenas operações que podem ser executadas em paralelo, você definitivamente se beneficiará de deixar o HT ativado.

VMWare ESXi e Hyperthreading

link

    
por 07.03.2016 / 18:07
1

Slurm aloca por núcleos, o SLURM foi projetado para portabilidade e não para desempenho. Portanto, a maneira como ele aloca é "Observe que, mesmo em sistemas com hyperthreading ativado, os recursos geralmente serão alocados a tarefas no nível de um núcleo (veja a NOTA abaixo). Dois trabalhos diferentes não compartilharão um núcleo". Ele sabe o que é hyperthreading e pode ser ativado, mas está especificamente procurando núcleos por soquete. É open source e tenho certeza que uma otimização hyperthread está em ordem.

    
por 07.03.2016 / 20:07