Diferencia entre revisiones de «Enviando un trabajo al cluster»

De Cluster Mazinger - Ingeniería UC
Saltar a: navegación, buscar
(Página creada con «A continuación se explicará la forma de enviar trabajos al cluster. == Explicación de la forma de trabajo == Cada usuario ingresará a "BigZ", servidor de login, el cu...»)
 
Línea 16: Línea 16:
  
 
Se le pide a los usuarios que envíen su trabajo a la cola correcta, esto permitirá obtener los resultados de forma más rápida.
 
Se le pide a los usuarios que envíen su trabajo a la cola correcta, esto permitirá obtener los resultados de forma más rápida.
 +
 +
== Módulos de funciones ==
 +
 +
Las distintas herramientas han sido modularizadas con el fin de facilitar el uso de las herramientas, la forma de utilizar un módulo es:
 +
 +
<pre>
 +
module load <nombre modulo>
 +
</pre>
 +
 +
Los módulos disponibles son:
 +
 +
<pre>
 +
intel/xe2013       
 +
mpich2/1.5/intel
 +
mpich2/1.5/gcc
 +
openmpi/1.6.5/intel
 +
openmpi/1.6.5/gcc
 +
</pre>
 +
 +
Todos aquellos módulos que terminan en gcc fueron compilados con los compiladores libres, aquellos que terminan en intel fueron compilados con los compiladores de intel. Los compiladores de intel pueden ser cargados mediante su módulo intel/xe2013.
 +
 +
 +
== Enviar un trabajo ==
 +
 +
El comando para enviar un trabajo es '''qsub''', el cual permite colocar un trabajo en una cola. Se recomienda crear un script que permita definir ciertos parámetros para el trabajo. Posteriormente se podrá enviar el trabajo como:
 +
 +
<pre>
 +
qsub job1.pbs
 +
</pre>
 +
 +
El archivo tiene esta forma
 +
 +
<pre>
 +
#------------------------------------------------------------------------
 +
# Asigna un nombre al trabajo
 +
#------------------------------------------------------------------------
 +
 +
#PBS -N <NOMBRE_TRABAJO>
 +
 +
#------------------------------------------------------------------------
 +
# Configura la cantidad de nodos a utilizar.
 +
# nodes indica la cantidad de maquinas y ppn la cantidad de procesos
 +
# por nodo.
 +
# Si queremos solicitar 3 procesos con 1 por nodo.
 +
# EJ. -l nodes=3
 +
# Si queremos solicitar 8 procesos con 2 procesos por nodo.
 +
# EJ. -l nodes=4:ppn=2
 +
# También se pueden solicitar procesadores como
 +
# EJ. -l ncpus=12
 +
# O memoria
 +
# EJ. -l mem=12
 +
#------------------------------------------------------------------------
 +
 +
#PBS -l nodes=<NODOS>:ppn=<PROCESADORES POR NODO>
 +
 +
#------------------------------------------------------------------------
 +
# Tiempo maximo de ejecucion del trabajo (opcional)
 +
#------------------------------------------------------------------------
 +
 +
#PBS -l walltime=2:00:00
 +
 +
#------------------------------------------------------------------------
 +
#  Ejecuta el trabajo
 +
#------------------------------------------------------------------------
 +
 +
module load intel/xe2013
 +
ifort comm_fortran.f
 +
 +
</pre>
 +
 +
 +
== Monitoreo de trabajos ==
 +
 +
Para monitorear los trabajos se puede utilizar el comando '''qstat''', el cual produce una salida similar a esta:
 +
 +
<pre>
 +
Job ID                    Name            User            Time Use S Queue
 +
------------------------- ---------------- --------------- -------- - -----
 +
15.bigz                    STDIN            test                  0 R test
 +
</pre>
 +
 +
Aquí se podrán ver todos los trabajos enviados por el usuario y su estado (bajo la letra S), los cuales pueden ser: '''Q'''ueued, '''R'''unning, '''C'''omplete, '''E'''rror.
 +
 +
 +
== Eliminar trabajos ==
 +
 +
Si por algún motivo desea eliminar un trabajo, puede realizarlo con el comando '''qdel'''. Por ejemplo para eliminar el trabajo que aparece en el ejemplo anterior se debe ejecutar:
 +
 +
<pre>
 +
qdel 15
 +
</pre>

Revisión de 00:29 9 jul 2013