Restringir dinamicamente Qual CPU é executada em um novo processo

3

Então, eu olhei rapidamente para cgroups e numactl, mas nenhum dos dois parece, com base nas informações que eu encontrei, ser exatamente o que eu preciso.

Usamos um software, "fast-X", para nossos usuários fazerem login em suas sessões gráficas pela rede. parece ter uma falha terrível, quando começa a rodar em mais de 120 núcleos, o desempenho cai. O problema é que nossas máquinas de processamento de números grandes são sistemas centrais de 240.

Então eu preciso encontrar uma maneira que possa dizer dinamicamente "oh, alguém está iniciando um processo fastx, limitá-lo a esses X núcleos", como numctl e cgroups parecem depender de você iniciar o processo com eles, ou forçadamente movendo o processo depois que ele começou, eles não funcionam para mim ...

Para quem não está familiarizado com o fastx, que provavelmente é muitos, é basicamente um cliente desktop / X11 remoto que salva uma sessão de usuários e, em geral (em sistemas de 120 núcleos ou menos), tem ótimo desempenho. Assim, um usuário estaria se conectando ao servidor por meio de um aplicativo do Windows, que iniciaria automaticamente sua sessão, e por isso preciso de algo no servidor que o restringirá automaticamente, em vez de ser algo que precisaria ser iniciado com força .

Até agora não encontrei nada, qualquer ideia seria apreciada.

    
por Gravy 16.07.2015 / 01:13

1 resposta

0

A maioria dos agendadores de cluster / gerenciadores de recursos também permite a vinculação de uma tarefa a CPUs ou núcleos específicos. Slurm e por 16.07.2015 / 01:51