gerando vários processos em segundo plano

1

Eu tenho um arquivo que tem 2,000,000 linhas nele. Eu estou executando alguns comandos para cada linha. Eu estava tentando alcançar algum paralelismo usando GNU-parallel e swift como discutido aqui . No entanto, tive uma ideia interessante de um dos meus amigos.

Ele estava sugerindo gerar vários processos no servidor, já que o servidor é muito poderoso. Eu estava pensando se eu usar um índice para cada linha de arquivo, eu poderia gerar vários processos com base no totallines mod number_of_processes .

Por exemplo, se line_numbers forem 1,11 e 21, ele será enviado para o primeiro processo e se os números de linha forem 2,12 e 22, ele será enviado para o segundo processo, assim por diante.

Para alcançar o acima, eu estava passando por processos em segundo plano no script de shell. Na maioria dos tutoriais / links, eles estão anexando um & ao comando e informando que um processo em segundo plano será gerado pelo computador. Estou achando difícil entender esse conceito.

    
por Ramesh 14.02.2014 / 05:07

1 resposta

1

Como a sua idéia difere do --pipe --round-robin do GNU Parallel?

seq 100 | parallel --pipe --round-robin -j10 -N 1 'echo Start;cat'

Fazê-lo linha por linha é um pouco ineficiente para o Paralelo GNU. Fazer isso bloco por bloco é mais eficiente:

seq 1000000 | parallel --pipe --round-robin -j10 'echo Start;cat'

Ajuste o bloco para atender às suas necessidades.

    
por 14.02.2014 / 10:11