Como posso executar o comando e selecionar o core a ser usado

2

Eu tenho um comando para executar (neste caso é um script php5) e gostaria de saber se há algo para executar este comando e selecionar o núcleo a ser executado.

O que eu quero fazer é executar 1 comando por cada núcleo para usar os múltiplos núcleos do meu servidor.

Alguma ideia? Ou eu tenho que reescrever o script em outras linguagens com suporte multicore e desenvolver o controle central diretamente no script?

    
por enedebe 24.02.2012 / 11:38

3 respostas

5

O comando para executar ou atribuir um comando específico a um núcleo específico é taskset .

Incorpore-o ao seu script de inicialização ou use-o na linha de comando como:

taskset -c 0,5 command_name -c é uma lista de uma ou mais CPUs para executar o comando; neste caso, core 0 e 5.

Você também pode modificar a atribuição principal de um processo em execução, especificando um PID com taskset .

Mas você também pode querer ver: Atribuindo Processos aos Núcleos da CPU

    
por 24.02.2012 / 14:08
5

O programador de kernels fará isso tudo por si só e não precisa de um usuário para fazer seu trabalho.

    
por 24.02.2012 / 11:42
1

What I want to do is to run 1 command per each core to use the multiple cores of my server.

Multi core para iniciantes: o agendador do sistema cuida disso.

Instâncias StartX, com X sendo o número de hardware que você possui (núcleos ou núcleos reais x2 para intel com hyperthreading.

Se o seu programa usar apenas um núcleo, o nothign irá otimizá-lo, já que você usa um sistema operacional que esteja ciente do NUMA em uma arquitetura NUMA.

    
por 24.02.2012 / 14:08