Existe uma maneira de executar um trabalho exclusivamente em um chip?

0

Nós temos um monte de grandes máquinas NUMA (1TB +) no trabalho e estamos tendo muito barulho em benchmarking. Percebemos que os tempos de execução de nosso aplicativo são muito consistentes de uma execução para a próxima quando não há mais nada em execução na máquina, mas quando há outros trabalhos, mesmo pequenos trabalhos aparentemente insignificantes, entrar no estado de execução pode afetar significativamente o desempenho de nossa aplicação. Nós suspeitamos que isso pode ser devido à contenção de barramento de memória no chip e gostaríamos de testar essa hipótese. Nosso objetivo não é maximizar o desempenho de nosso aplicativo aqui, mas apenas eliminar a variabilidade nele, para que possamos medir com precisão o impacto das otimizações de desempenho.

Existe uma maneira de especificar para o sistema operacional que um trabalho deve ser executado exclusivamente em um único chip de processador? Em nossa configuração, temos 8 chips de processador cada com 10 núcleos de processador (o sistema operacional vê 80 processadores), portanto, gostaríamos que apenas um núcleo de processador fosse usado em cada chip de processador.

Estamos executando o SLES11u3, acho que nesta máquina, mas também tenho acesso ao RHEL5.8 (e SUSE10 / RHEL4). Analisamos o taskset antes, mas ele só especifica afinidade para um determinado processador sem afetar o comportamento de outros jobs (e, infelizmente, há muitos pequenos no sistema operacional, no mínimo).

    
por dromodel 25.04.2014 / 17:41

0 respostas