baixo desempenho no cluster HPC (sge) ao executar vários trabalhos

baixo desempenho no cluster HPC (sge) ao executar vários trabalhos

Sei que isso é um tiro no escuro, mas não tenho a menor ideia aqui. Estou executando várias simulações de computador no cluster de computação de alto desempenho (HPC) do mecanismo de grade oracale (sge). Um único trabalho é executado a uma determinada velocidade (cerca de 80 passos por segundo). Quando adiciono trabalhos à máquina, em um determinado limite, a velocidade é reduzida em dois. Em uma máquina (não sei o tipo de CPU), o limite é de 11 trabalhos para 16 CPUs. Em outro com o mesmo número e tipo de CPUs, o limite é 8.

A princípio pensei que fosse um problema de memória, mas cada trabalho ocupa cerca de 60 MB - 100 MB e tenho 16 GB de RAM em cada uma dessas máquinas.

Algum de vocês encontrou esse problema? existe alguma maneira de analisar isso?

Obrigado.

Responder1

Sem saber a configuração do seu cluster, me pergunto se as CPUs estão usando hiperameaça? Os núcleos hiperameaçados são mostrados como o dobro da quantidade de núcleos físicos, mas o poder de cálculo pode não aumentar linearmente para os núcleos não físicos.

https://superuser.com/questions/279629/how-much-speedup-does-a-hyper-thread-give-in-theory

Responder2

Podem existir várias razões.

Embora seus trabalhos não consumam muita memória, eles podem estar preenchendo o barramento de memória (que conecta as CPUs à RAM). Se o barramento estiver cheio, adicionar mais trabalhos apenas criará mais pressão no barramento de memória, fazendo com que tudo fique lento.

Outra razão possível é E/S. Se seus trabalhos executarem muitas operações de arquivo (por exemplo, operações de abertura/gravação/fechamento de arquivo), o disco no sistema poderá não conseguir acompanhar se muitos trabalhos estiverem sendo executados ao mesmo tempo.

Outras razões são outros gargalos nas CPUs, por exemplo, caches compartilhados ou unidades de execução de ponto flutuante.

informação relacionada