¿Por qué mi nodo maestro está inactivo cuando se ejecuta gnu paralelo de forma remota?


1

Estoy usando gnu-parallel para ejecutar una serie de scripts de Python en paralelo a través de varias computadoras en mi red de gigabit.

Los archivos que se procesan se encuentran en una carpeta tmpfs (RAM) en mi nodo maestro. Cuando comienzo un proceso paralelo, puedo ver que todos los núcleos en el nodo remoto funcionan, pero mi nodo maestro permanece inactivo.

Aquí es como se ve mi línea paralela:

parallel --workdir ./netshare --filter-hosts -S :,192.168.88.222\
 'myscript.py {.}.shp output_{.}.shp input.shp' ::: tile_{1..445}.shp

He intentado invertir el orden de las direcciones IP 192.168.88.222 ,: con el mismo resultado.

Intenté ejecutar solo en el nodo maestro local y, aparte de la advertencia de que no hay nodos remotos disponibles, los 8 subprocesos locales comienzan a funcionar.

Pensé que podría ser la latencia de la red, ¡pero ningún script de python comienza en absoluto! Mientras que en el host remoto veo cuatro corriendo sin problema.

Según el comentario de Ole, probé el problema con bzip2, aquí está el comando:

 parallel -S $SERVER1,: 'cd /path/to/mounted/network/share && cp largefile.avi file{1}.avi && bzip2 -v file{1}.avi && rm file{1}.avi.bz2' ::: {1..100}

La prueba funcionó exactamente como se esperaba. Todos los núcleos de todos los hosts se activaron con cp y luego bzip. Así que supongo que el problema radica en mi script de python de alguna manera.


1
¿Puedes reproducir esto con otros comandos, como bzip2?
Ole Tange

Resulta que la respuesta estaba relacionada con el acceso al directorio de trabajo. El remontaje cuidadoso de cada carpeta y la verificación de los indicadores de directorio de trabajo lo arreglaron. La solución definitivamente no vale mi respuesta. Gracias por el puntero, aunque @Ole me dio un medio simple para corregir errores.
Mr Purple
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.