Se você deseja fazer a paralelização em uma máquina com vários núcleos, basta usar (GNU) xargs
, por exemplo:
echo seq_[0-9][0-9].gz | xargs -n 1 -P 16 ./crunching
Significado: xargs
inicia até 16 processos em paralelo de ./crunching
usando 1 token de stdin para cada processo.
Você também pode usar split
em combinação com xargs.
Ou você pode criar um Makefile simples para execução de trabalhos e chamar make -f mymf -j $CORES
(você precisa de arquivos temporários para esta solução).
PS: O manual paralelo GNU também inclui algumas comparações com outras ferramentas, incluindo xargs e make , curiosamente eles escrevem:
(Very early versions of GNU parallel were coincidently implemented using make -j).