Executando tarefas bash paralelas em um cluster HPC usando o GNU paralelo [closed]

7

Em um cluster HPC, estou tentando executar vários scripts bash ( permute2.sh ) de um script bash usando o GNU paralelo, mas ele não completa todos os trabalhos. Ele conclui aleatoriamente um trabalho, enquanto ele está preso ao outro.

permute1.sh:

PROCS=144 
permuations=1000
seq 1 $permuations | parallel -j $PROCS sh permute2.sh {}

permute2.sh (tirando 100 linhas aleatórias de um arquivo e realizando algumas ações para permutação)

id=$1
randomlines=100
awk 'BEGIN{srand();} {a[NR]=$0}
END{for(I=1;I<='$randomlines';I++){x=int(rand()*NR);print a[x];}}'
FILE.txt > results/randomlines.$id.txt

# do stuff with randomlines.$id.txt.. 

Quando executo permute1.sh , vejo que cria 144 arquivos, para cada cpu 1 (randomlines.1.txt - randomlines.144.txt), mas a maioria deles está vazia e parou de funcionar, e alguns estão concluídos. O que estou fazendo de errado?

    
por tafelplankje 18.12.2012 / 20:44

1 resposta

1

Seu ulimit -u é < 144. Faça um administrador mudar isso.

    
por 14.05.2013 / 05:00