Diferencia entre revisiones de «Guia de Usuario»

De WikiAbacus
Saltar a: navegación, buscar
Línea 1: Línea 1:
 
Para ingresar al cluster Abacus-I se utiliza SecureShell (SSH) en los nodos de
 
Para ingresar al cluster Abacus-I se utiliza SecureShell (SSH) en los nodos de
 
servicio. De esta manera, a través de la terminal, tanto en en clientes Linux como MAC, puede ejecutarse el comando:
 
servicio. De esta manera, a través de la terminal, tanto en en clientes Linux como MAC, puede ejecutarse el comando:
Para el caso del nodo service0
+
 
 +
Para ingresar al nodo service0 por dirección IP:
  
 
     ''$ ssh usuario@148.247.115.10''  
 
     ''$ ssh usuario@148.247.115.10''  
                  ó
+
 
 +
Para ingresar al nodo service0 por dirección nombre:
 +
 
 
     ''$ ssh usuario@s0.edomex.cinvestav.mx''
 
     ''$ ssh usuario@s0.edomex.cinvestav.mx''
  
Para el service1
+
 
 +
Para ingresar al nodo service0 por dirección IP:
  
 
     ''$ ssh usuario@148.247.115.11''  
 
     ''$ ssh usuario@148.247.115.11''  
                  ó
+
 
 +
Para ingresar al nodo service0 por dirección nombre:
 +
 
 
     ''$ ssh usuario@s1.edomex.cinvestav.mx''
 
     ''$ ssh usuario@s1.edomex.cinvestav.mx''
  

Revisión del 02:03 4 dic 2016

Para ingresar al cluster Abacus-I se utiliza SecureShell (SSH) en los nodos de servicio. De esta manera, a través de la terminal, tanto en en clientes Linux como MAC, puede ejecutarse el comando:

Para ingresar al nodo service0 por dirección IP:

   $ ssh usuario@148.247.115.10 

Para ingresar al nodo service0 por dirección nombre:

   $ ssh usuario@s0.edomex.cinvestav.mx


Para ingresar al nodo service0 por dirección IP:

   $ ssh usuario@148.247.115.11 

Para ingresar al nodo service0 por dirección nombre:

   $ ssh usuario@s1.edomex.cinvestav.mx

Para el caso de clientes Windows es posible utilizar aplicaciones tales como PUTTY.

Administración de recursos


El scheduler utilizado en el cluster es SLURM. SLURM administra recursos tales como CPU, sockets, threads, RAM, tiempo, GPU's, etc.

Es importante mencionar que los nodos de CPU y GPU estan divididos en dos particiones: ICE y GPU, que pueden mostrarse mediante el comando sinfo. Este comando además, muestra los nodos en estado disponibles (idle), los nodos que estan siendo utilizados por otro trabajo (alloc) y los nodos que no estan disponibles para los usuarios (down).

   $ sinfo
   PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
   all up infinite 2 down* r2i0n2,service30
   all up infinite 1 mix r2i1n7
   all up infinite 173 alloc  r1i0n[0-17],r1i1n[0-15],r1i2n[0-17],r1i3n[0-14],r1i4n[0-
   17],r1i5n[0-15],r1i6n[0-17],r1i7n[0-14],r2i0n[0-1,3-17],r2i1n[0-6,8-15],r2i2n[0-6]
   all up infinite 141 idle r2i2n[7-17],r2i3n[0-14],r2i4n[0-1,3-17],r2i5n[0-15],r2i6n
   [0-17],r2i7n[0-14],service[2-29,31-51]
   all up infinite 1 down r2i4n2
   ice* up infinite 1 down* r2i0n2
   ice* up infinite 1 mix r2i1n7
   ice* up infinite 173 alloc r1i0n[0-17],r1i1n[0-15],r1i2n[0-17],r1i3n[0-14],r1i4n[0-
   17],r1i5n[0-15],r1i6n[0-17],r1i7n[0-14],r2i0n[0-1,3-17],r2i1n[0-6,8-15],r2i2n[0-6]
   ice* up infinite 92 idle r2i2n[7-17],r2i3n[0-14],r2i4n[0-1,3-17],r2i5n[0-15],r2i6n
   [0-17],r2i7n[0-14]
   ice* up infinite 1 down r2i4n2
   gpu up infinite 1 down* service30
   gpu up infinite 49 idle service[2-29,31-51]

Asimismo, este scheduler utiliza comandos tales como SBATCH, SRUN y SEXEC en favor de encolar trabajos en el cluster. Ejemplo:

   $ sbatch < example.slurm

Ademas, es importante mecionar que en el momomento que se crea la cuenta en el cluster, un script de slurm es presentado dentro del directorio home del usuario, este script contiene la siguiente informacion

   #!/bin/bash
   # DEFINE EL NUMERO DE NODOS
   #SBATCH -N 1
   # DEFINE EL NUMERO DE PROCESADORES "THREADS"
   #SBATCH -n 14
   # DEFINE LA PARTICION DONDE CORRERAN LOS TRABAJOS "ice PARA CPU" "gpu PARA GPU"
   #SBATCH --partition=ice
   # DEFINE EL DIRECTORIO DE TRABAJO
   #SBACTH -D /lustre/home/Cinvestav/Computacion/matrices/larivera/
   # DEFINE EL TIEMPO DE EJECUCION "INDISPENSABLE DEFINIR days-hours:minutes:seconds"
   #SBATCH --time=6-00:00:00
   # NOMBRE DEL ARCHIVO DE SALIDA DE ERROR
   #SBATCH –error=myjob%J.err
   # nOMBRE DEL ARCHIVO DE SALIDA ESTANDAR
   #SBATCH –output=myjob%J.out
## AQUI SE DEFINEN LOS COMANDOS NECESARIOS PARA LANZAR TU TRABAJO
mpicc job.c -o myjob mpirun -n 14 myjob

En favor de conocer el estado del trabajo enviado al cluster se utiliza el comando squeue; por ejemplo:

   $ squeue
   JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
   4220 ice sbatch larivera R 1:40:06 1 r1i0n0
   4221 ice sbatch larivera R 1:40:06 1 r1i0n0
   4222 ice sbatch larivera R 1:40:06 1 r1i0n0
   4223 ice sbatch larivera R 1:40:06 1 r1i0n0
   4224 ice sbatch larivera R 1:40:06 1 r1i0n1  
   4225 ice sbatch larivera R 1:40:06 1 r1i0n1

Como puede observarse, la salida del comando muestra el JOBID, la partición(cola de ejecucion), el usuario que envio el trabajo, el estado del trabajo(en este caso R, es decir, ejecutandose), el tiempo que lleva en ese estado y, el nodo en el que esta corriendo o la razon por la que se encuentra en un estado diferente a R.

Para detener un trabajo en ejecución o en estado de espera, se utiliza el comando scancel, seguido del JOBID; por ejemplo:

   $ scancel 4220

Ademas, cada usuario presenta diferentes requisitos de acuerdo con las aplicaciones y versiones. De esta manera, en favor de que puedan existir diferentes versiones de aplicaciones, se utiliza Environment Modules, el cual se describe en favor de administrar el tipo de compiladores,(ICC(intel) y GCC(gnu)), las versiones (CUDA 6.0,CUDA 6.5 y CUDA 7.0) y las aplicaciones y bibliotecas.

En caso de conocer las aplicaciones instaladas en Abacus-I puede ejecutarse el comando:

   $ module avail

La salida de esta comando, mostrara las aplicaciones disponibles dentro del cluster. Asimismo, en favor de conocer si esta presente un modulo en especifico, puede ser de utilidad el comando:

   $ module list

Finalmente, para cargar una aplicación puede ejecutarse el comando:

   $ module load NOMBRE DE LA APLICACION

En caso de nececitar soporte técnico, por favor visita la pagina de soporte de Abacus-I, en la cual es posible presentar la descripción del problema o duda que se presente. Es importante mencionar que, unicamente se revisarán casos de usuarios registrados en el sitio web; en caso de nececitar ayuda con el regsitro, puede consultarse la Guia de Soporte.