Guía de Usuario

Conexión al cluster

 

La forma de conectarse a los equipos es a traves de conexiones remotas estas se logran desde un equipo con linux o desde windows con alguno de los siguientes programas.

 

Conexión Remota

 

Descargar PuTTY Sitio Web Oficial
Descargar WinSCP 5.7.7 Sitio Web Oficial
Descargar SSH Secure File Transfer Sitio Web Oficial
Descargar VcXsrv 1.18 Sitio Web Oficial
Descargar TurboVNC 2.0.91 Sitio Web Oficial
Descargar VNC Viewer 6.1.0 Sitio Web Oficial

 

 

 

Desde una Pc con Linux

La conexión se hace via ssh mediante el siguiente comando:

ssh -l nombre_usuario ocotillo.acarus.uson.mx

Si es la primera vez que se conecta al cluster le pedira que autorize la conexion preguntandole si quiere continuar, a lo cual deberá contestar 'yes'. Después de esto, le pedira su password y listo, tenemos una sesión en el cluster.

 

Desde una Pc con Windows

Hacer la conexión desde windows no es tan sencillo como desde Linux, para esto es necesario descargar una herramienta que nos permita hacer conexiones via ssh. Para ello utilizaremos 'putty', una herramienta sencilla y robusta a la vez. 
Una vez que lo hallamos descargado lo ejecutamos y nos aparecera la siguiente ventana, en la cual introduciremos el nombre del cluster (ocotillo.acarus.uson.mx) o su IP (148.225.111.150) y presionamos el boton 'Open' para iniciar la sesion en el equipo. 


 

Sistema de Colas

 

El uso de los recursos de cómputo de los nodos esclavos se lleva acabo de manera indirecta a travéz del administrador de recursos TORQUE y SLURM. La ejecución de trabajos se lleva acabo via scripts los cuales son analizados por el sistema de colas para poder identificar el tipo y la cantidad de recursos de cómputo que necesita el trabajo en cuestión, posteriormente el calendarizador ejecutará el trabajo indicado en el script en el numero de nodos solicitados.

 

TORQUE

 

Recursos CPU para utilizarse con el sistema de colas Torque

 

Colas
No. Cores
No. Cores
Walltime
  Nodos Asignados  
q128b
128
16
168 Hrs.
  ibnodo3-1, ibnodo3-2, ibnodo3-3,..., ibnodo3-8, ibnodo4-1, ibnodo4-2, ibnodo4-3,...,ibnodo4-8  
q128c
128
16
168 Hrs.
  ibnodo5-1, ibnodo5-2, ibnodo5-3,..., ibnodo5-8, ibnodo6-1, ibnodo6-2, ibnodo6-3,...,ibnodo6-8  
q128d
128
16
168 Hrs.
  ibnodo7-1, ibnodo7-2, ibnodo7-3,..., ibnodo7-8, ibnodo8-1, ibnodo8-2, ibnodo8-3,...,ibnodo8-8  
q256b
256
32
168 Hrs.
  q128c,q128d  
           
           
           

Recursos ocotillo en el sitema de colas Torque

 

  • 48 ibnodos
  • 8 cores por ibnodo
  • 2 Gb de RAM por core
  • 3 colas de ejecución de 128 cores
  • 1 colas de ejecución de 256 cores

 

Nota: Con el script recursos.sh se obtienen las cores disponibles por cola

 

Para que la ejecución de nuestro trabajo sea exitosa dentro del cluster es necesario indicarle al sistema de colas varias opciones de ejecución para el sistema de colas de TORQUE es el siguiente:

  • Nombre del trabajo. Este es el nombre que el sistema de colas mostrara al momento de consultar el estado de nuestro trabajo.
    Se indica con la opción #PBS -N Tarea1

  • Nombre de la cola. Una cola es una agrupación lógica de características de ejecución en el cluster. Por ejemplo se puede definir la cola long48h6 la cual tiene por caraterística que cualquier trabajo que sea enviado a ella tendra un tiempo de ejecución máximo de 48 horas usando 6 procesadores por default. (la definición de las colas, asi como de sus características son llevadas a cabo por el administrador del sistema) por default en ocotillo estan definidas las colas q128b, q128c, q128d, q256b en la cuales el usuario es el encargado de especificar cual de ellas utilizara.
    El nombre de la cola de ejecucion se indica con la opción #PBS -q nombre_cola

  • Tiempo de ejecución. Es el tiempo en reloj de 'pared' que nuestro calcúlo permanecerá en ejecución, decimos reloj de 'pared' por que dentro del sistema operativo la ejecución de un proceso también es medida por el tiempo efectivo que dicho proceso usó el procesador, a este tiempo se le denomina 'cputime'.
    Se indica con la opción #PBS -l walltime=hrs:min:sec

  • Número de nodos y procesadores. Es posible indicarle al sistema de colas el número nodos esclavos y de procesadores que necesitamos para nuestro trabajo, por ejemplo podemos indicarle que necesitamos 4 nodos usando solamente un procesador por nodo: nodos=4:proc=1, 4 nodos utilizando los 2 procesadores por nodo: nodos=4:proc=2.
    Esta opción se indica: #PBS -l nodes=#nodos:ppn=#procesadores.
    Por ejemplo #PBS -l nodes=4:ppn=2.

  • Standar error y standar output. Son archivos se generan como resultado de la corrida de nuestro código en el cluster en caso de tener alguna salida a consola o en el caso de que hubiese algun error en la ejecución. Ninguno de los dos se genera por default, para ello debemos indicarselo con la opción #PBS -k eo

 

Comandos Básicos del Sistema de Colas usando Torque

qsub Lanza un job

qsub –I

Lanza un job interactivo
qdel job_id

Cancela un job
Ejemplo:Cancela el trabajo con identificador 1221
qdel 1221

qstat –a Muestra el estatus de todos los jobs
qstat –n Muestra el estatus de los jobs y los nodos asignados
qstat –r Muestra los jobs en ejecución
showq Muestra los jobs en ejecución, los encolados y los bloqueados
showbf Muestra la disponibilidad
showbf –S Muestra la disponibilidad detallada por nodo
pbsnodes –a Muestra el estatus de los nodos
checkjob job_id Muestra información detallada de un job

 

 

Scripts de Torque

 

Creación de Scripts

La manera de enviar un trabajo al sistema de colas en el cluster es mediante un script, este script definira las variables de ambiente necesarias para la correcta ejecucion del trabajo ademas de la secuencia de comandos necesaria para ejecutarlo.

Ejemplos de Scripts PBS

 

SLURM

Como su nombre lo indica (Simple Linux Utility for Resource Management), SLURM es un administrador open-source de carga de trabajos diseñado para clusters Linux de cualquier dimensión. Es utilizado en varias de las computadoras más grandes del mundo.

 

Recursos GPU y CPU para utilizarse con el sistema de colas Slurm

 

Colas
No. Cores
 
No. Nodos
RAM por nodo
Horas máximo de uso
  Nodos Asignados
general
680
 
17
128Gb
168 hrs.
  ibnodo9 - ibnodo25
serial
40
 
1
128Gb
168 hrs.
  ibnodo26
gpu
128 
 
2
128Gb

168 hrs.

  ibnodo1, ibnodo2
visualizacion
16 
 
2
96Gb
4 hrs.
  visualización1, visualizacion2

 

Comandos Básicos del Sistema de Colas usando Slurm

 

srun Lanza un job
  Lanza un job interactivo
squeue Muestra el estatus de todos los jobs
scancel

Cancela un job en ejecucion o pendiente
Ejemplo:Cancela el trabajo con identificador 1221
scancel 1221

sinfo Informa el estado de las particiones y los nodos gestionados por SLURM. Cuenta con una amplia variedad de opciones de filtrado, clasificación y formato.
sacct

Muestra los jobs en ejecución, los encolados y los bloqueados.

Se utiliza para reportar la información de las cuentas de jobs o pasos de jobs activos o completados.

sbatch Se utiliza para enviar un job por medio de un script para su ejecución. El script contendrá típicamente uno o más comandos srun para lanzar tareas paralelas.
salloc Se utiliza para asignar recursos a un job en tiempo real. Normalmente se utiliza para asignar recursos y generar un itérprete de comandos shell. Dicha terminal es utilizada entonces para ejecutar comandos srun para iniciar tareas en paralelo.
smap Reporta la información del estado de los job, particiones y nodos gestionados por SLURM, pero muestra gráficamente la información para reflejar la topología de red.
   
  Resumen de comandos Slurm

 

 

Información básica para el envío de tareas de cálculo en SLURM

 

Los siguientes son los comandos de información básica para que usuarios puedan ejecutar programas en SLURM:

 

  • Se requiere crear un archivo script (extensión .slrm ) con los detalles del cálculo y enviarlo al sistema de colas SLURM mediante la orden:
 

sbatch nombre_script.slrm

donde nombre_script es el nombre del archivo creado.

  • Para monitorear los jobs en SLURM se realiza con el comando
 

squeue -u user_name

donde user_name es el nombre de su cuenta de usuario.

  • Para monitorear todos los jobs corriendo en la supercomputadora
 

squeue

  • Para cancelar alguna tarea se hace con el comando
 

scancel job_id

donde job_id es el identificador que aparece en la salida de squeue

  • Para conocer detalles sobre un job específico usar
 

scontrol show job job_id

donde job_id es el identificador que aparece en la salida de squeue

 

 

Scripts de Slurm

 

Ejemplos de Scripts SLURM

 

 

Ejemplos completos

 

 

 

Manuales de Software

Archivo PDF Sitio Web oficial
Gaussian 09 User´s Reference www.gaussian.com
Gromacs 5.0.4 Reference Manual www.gromacs.org
Quantum Esresso 5.0.2 User´s Guide www.quantum-espresso.org
NAMD 2.11 User´s Guide www.ks.uiuc.edu
NWChem 6.6 www.nwchem-sw.org
Matlab R2011b www.mathworks.com
Cuda 5.5 developer.nvidia.com/cuda-zone
Aplvoro 3.0-28.1 www.aplvoro.org/