Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller...

28
Mayo 2017 Acceso y portal de usuarios. VPN Taller práctico Hackathon: Acceso a Finis Terrae II

Transcript of Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller...

Page 1: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Mayo 2017

Acceso y portal de

usuarios. VPN

Taller práctico Hackathon:

Acceso a Finis Terrae II

Page 2: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Conexión por SSH

En Linux/Mac: ssh [email protected]

En Windows: Abrir una sesión con Putty o MobaXterm a ft2.cesga.es

MobaXterm: terminal SSH, servidor X y cliente SCP/FTP

El acceso a nuestros servidores de cálculo está restringido a los centros autorizados

(universidades gallegas, centros del CSIC, centros con convenios especiales, ...).

Fuera de ahí se puede usar:

VPN (https://portalusuarios.cesga.es/info/conexion)

Usuario: <login>@cesga.es

Terminal SSH (https://portalusuarios.cesga.es/tools/web_ssh)

Escritorio Remoto (https://portalusuarios.cesga.es/tools/remote_vis)

Acceso al FT

Page 3: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Clientes gráficos para la transferencia de datos:

Windows: WinSCP, MobaXterm

Mac: Fugu

Windows/Mac/Linux: Filezilla

Línea de comandos (scp, sftp, rsync)

IMPORTANTE: Los ficheros en Windows tienen el carácter Ctrl-M como salto de

línea

Solución 1: Transferir los ficheros en modo texto

Solución 2: dos2unix FICHERO

Transferencia de ficheros

Page 4: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Mayo 2017

Utilización del

sistema de colas.

Taller práctico Hackathon :

Acceso a Finis Terrae II

Page 5: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

sbatch: Envía un script a una partición de SLURM. El único

parámetro obligatorio es el tiempo estimado.

sinfo: Muestra información sobre los nodos de SLURM y las

particiones.

squeue: Muestra información sobre los trabajos, su estado y las

colas.

squeue -u <login>

scancel: Permite cancelar un trabajo.

scontrol: Devuelve información más detallada sobre los nodos,

particiones, trabajos y la configuración.

scontrol show jobid -dd <jobid>

sacct: Consulta del histórico de trabajos y muestra información de

consumo.

SLURM: Comandos básicos

Page 6: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Particiones existentes en estos momentos:

Particiones

PartitionName Default MaxNodes MaxTime Shared

TotalN

odes

MemPer

CPU

MaxMemPer

Node

cola-corta UNLIMITED 4:00:00 EXCLUSIVE 48 120G

fatnode UNLIMITED UNLIMITED SHARED 1 5120 4000G

gpu-interactive 1 UNLIMITED SHARED 1 5120 120G

gpu-shared UNLIMITED UNLIMITED SHARED 3 5120 120G

iphi-interactive 1 UNLIMITED SHARED 1 5120 120G

iphinodes UNLIMITED UNLIMITED EXCLUSIVE 2 120G

thin-interactive 1 1-00:00:00 SHARED 2 5120 120G

thinnodes UNLIMITED UNLIMITED EXCLUSIVE 222 120G

thin-shared YES 1 UNLIMITED SHARED 32 5120 120G

Page 7: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Cada usuario tiene asignada una QOS por defecto

Para utilizar una QOS diferente se debe añadir la opción “--qos QOS_NAME” a la hora

de enviar el trabajo

Aunque no suelen ser habituales, algunos usuarios pueden tener algunos límites

especiales, por ejemplo por pertenecer a una determinada institución o grupo

Comandos útiles:

batchlim sacctmgr show user <login> –s

Default QOS y otros límites

Page 8: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Es obligatorio especificar el tiempo máximo de ejecución con la opción “-t D-

HH:MM:SS” o “--time D-HH:MM:SS”

Opciones por defecto: -N 1 -n 1 -c 1 (shared), -N 1 -n 1 –c 24 (exclusive)

Los requisitos del trabajo se pueden indicar a la hora de enviar el trabajo con el

comando sbatch o bien con directivas dentro del script utilizado (#SBATCH)

sbatch exporta el entorno existente en el momento de ejecutarlo al trabajo, incluidos

los módulos cargados

Se puede evitar con la opción “--export=NONE”

En el caso de los módulos puede ejecutarse “module purge”

Envío de trabajos: sbatch

Page 9: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Envío de un trabajo secuencial

#!/bin/bash

#

# this file is myjob.sh

#

#SBATCH –t 10:00

#SBATCH --job-name MyJob

#SBATCH --mail-type BEGIN,END

#

myprog -n 100 < infile

% sbatch myjob.sh

#!/bin/bash

#

# this file is myjob2.sh

#

myprog -n 100 < infile

% sbatch –t 10:00 --job-name

MyJob --mail-type BEGIN,END

myjob2.sh

Page 10: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Slurm combina por defecto la salida estándar y de error en un único fichero llamado

slurm-<job_number>.out o en slurm-<job_number>_<array_index>.out caso de

un job array

Localización por defecto: directorio de envío

Se puede modificar este comportamiento con las opciones:

--error /path/to/dir/filename

--output /path/to/dir/filename

Ficheros de salida/error

Page 11: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Al entrar en ejecución un trabajo se crean los siguientes directorios de scratch:

$LUSTRE_SCRATCH: directorio temporal en el Lustre

$LOCAL_SCRATCH o $TMPDIR: directorio temporal en el disco local del nodo

Estos directorios se borran automáticamente al finalizar los trabajos

Atención: El contenido del $LUSTRE_SCRATCH también cuenta para calcular la

cuota en el LUSTRE.

sbatch: directorios de scratch

Page 12: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Razones para usar los nodos interactivos:

Testeo/Debugging de códigos con requisitos de CPU y memoria medios

Pre/post-proceso de datos

Aplicaciones gráficas

Razones para NO usar los nodos interactivos:

Más fáciles de usar que enviar un trabajo a cola

Comando compute (sesiones limitadas a 8 horas)

[prey@fs6803 ~]$ compute -u

Uso: compute [-c <NCORES>]

[--mem <MEM>]

[--gpu]

[--phi]

[--x11]

Trabajos interactivos: compute

Page 13: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Comandos:

squeue: listado de los trabajos en cola

scontrol show job JOB_ID [-dd]: información de un trabajo

sacct: información de los recursos utilizados por los trabajos (tanto

finalizados como en cola).

Conexión a los nodos: top, strace, revisión de ficheros temporales, …

Los usuarios (tu) son los responsables de monitorizar sus trabajos

Monitorización de trabajos

Page 14: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Envío de trabajos a estos nodos (4 nodos):

sbatch –p gpu-shared --gres=gpu script.sh

sbatch --partition=gpu-shared --gres=gpu script.sh

Si no se indica la opción --gres=gpu no se asignará la GPU

Se puede solicitar el uso de más de una GPU con la opción --gres=gpu:N donde N es

un valor entre 1 y 4

Uso de los nodos con GPU

Page 15: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Envío de trabajos a estos nodos (2 nodos):

sbatch –p iphinodes --gres=mic script.sh

sbatch --partition=iphinodes --gres=mic script.sh

Se puede solicitar el uso de más de un Intel PHI con la opción --gres=mic:N donde N

es un valor entre 1 y 2

Uso de los nodos Intel PHI

Page 16: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Cuentas: curso871 a curso880

Se han reservado 2 nodos con GPU y 2 nodos con PHI por lo que habrá que añadir

alguna opción para poder usarlos.

Trabajos interactivos:

compute.hack en vez de compute

Envío de trabajos: añadir la opción --reservation=<RES_NAME> al sbatch

sbatch --reservation=HACK_PHI_30May –p iphinodes

--gres=mic script.sh

Reservas: Una reserva por día y tipo de nodo:

HACK_GPU_30May, HACK_PHI_30May

HACK_GPU_31May, HACK_PHI_31May

HACK_GPU_01Jun, HACK_PHI_01Jun

Recursos Hackathon

Page 17: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Se ha creado una MV con 2 cores y 2GB de memoria para los equipos que utilizan

Windows.

Team1: 10.38.3.51; usuario hackathon

Team2: 10.38.3.52; usuario hackathon

Team6: 10.38.3.56; usuario hackathon

Acceso:

ssh -X [email protected] con N=1,2 ó 6

Software en $HOME/pwtrainer-0.4.0-Linux

Parallware Trainer: MV

Page 18: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Mayo 2017

Compilación

Taller práctico Hackathon:

Acceso a Finis Terrae II

Page 19: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Combinaciones de compiladores, librerías BLAS/LAPACK y MPI disponibles:

Compiladores de Intel

Compiladores GNU

Otros.

Aceleradores

NVIDIA GPU: CUDA/PGI

INTEL PHI

Compiladores y herramientas de

desarrollo

Page 20: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Soporte de estándares

Programación: Soporte de los últimos estándares

Todas las implementaciones estables de los estándares de programación

actuales

Posibilidad de instalación de implementaciones experimentales: LLVM

Paralelización

OpenMP: Intel/GCC

OpenACC: PGI/GCC

MPI: Intel MPI/OpenMPI

Page 21: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Compilación

Uso de módulos

module av o module spider [app] -> para ver versiones disponibles

module list -> muestra los módulos cargados

module purge -> descarga todos los módulos cargados

module load -> carga un módulo

module rm -> descarga un módulo

module help -> breve guía de uso

Existe jerarquía de módulos

Page 22: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Compilación CPU

Page 23: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Aceleradores

NVIDIA GPUs

CUDA

Intel Phi

Intel compilers

Page 25: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Compilación GPU

Page 26: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Aceleradores

Intel Phi

Intel compilers

Page 27: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

https://www.nersc.gov/assets/MKL_for_MIC.pdf

Compilacion Intel Xeon Phi

Page 28: Taller práctico Hackathon: Acceso a Finis Terrae II · Utilización del sistema de colas. Taller práctico Hackathon : Acceso a Finis Terrae II . sbatch: Envía un script a una partición

Dudas, preguntas, comentarios….