GNU parallel - Um ferramenta para execução de processos em paralelo

Publicado por danilo em 16/07/2012

[ Hits: 9.737 ]

 


GNU parallel - Um ferramenta para execução de processos em paralelo



GNU parallel é uma excelente ferramenta, muito fácil de usar, até para quem não tem muita experiência com shell script.

Basicamente, ela possibilita a execução de processos em paralelo, tanto no mesmo computador, quanto em computadores diferentes.

Um exemplo simples de uso, e que foi o meu caso: eu precisa fazer um grep em um arquivo muito grande, de quase um milhão e meio de linhas. A rotina estava demorando cerca de 6 segundos. Então, quebrei o arquivo em vários arquivos menores (usando o split), e executei um "grep" para cada arquivo, usando o parallel:

ls | parallel -X grep "$busca" {}

O exemplo acima, executa o "grep" para cada nome de arquivo do 'ls', fazendo a busca pelo texto representado pela variável "$busca". O pulo do gato aí, é a substituição do '{}' pelo nome do arquivo, e isso é feito pelo parallel.

Existem muitas opções de usar o parallel, inclusive para dividir o processamento em vários computadores, e explicar detalhadamente o uso desta ferramenta não é meu intuito, e sim compartilhar essa ferramenta fantástica.

O pacote pode ser baixado do site do GNU:
Atualmente, o repositório padrão do Ubuntu não tem este pacote, ao tentar instalar:

sudo apt-get install parallel

É sugerido a instalação do pacote "moreutils", cujo comando parallel, é diferente do GNU parallel.

Obrigado.

Outras dicas deste autor

Shell script: auto-completion - Como implementar

Leitura recomendada

Filtrando sites navegados por máquinas no log do Squid

Verificando se um arquivo cabe dentro de um DVD

Realizar cópia mantendo mesma permissão da pasta

Processos rivais

SSH simultâneo para vários servidores

  

Comentários
[1] Comentário enviado por julio_hoffimann em 16/07/2012 - 18:13h

Ótima dica Danilo!

Abraço!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts