ejecución de trabajos en mageritlaurel.datsi.fi.upm.es/_media/docencia/asignaturas/... · tipos de...
TRANSCRIPT
Ejecución de Trabajos en Magerit
Santiago Muelas Pascual
Magerit
• Cluster de computación del Centro de Supercomputación y Visualización de Madrid (CeSViMa)
• Forma parte de la Red Española de Supercomputación
• Segunda máquina más potente de España
• 90 proyectos y 200 usuarios
Hardware• 1204 nodos
• 2704 CPUs
• Potencia de cálculo: 14 TFLOPS
• 192 Tb disco compartido
• Myrinet
• Latencia 3 micro-sg
• Ancho de banda: 2Gbps
Tipos de Nodos
• Interactivos o de login
• Habilitado acceso desde el exterior (SSH)
• Utilizados para compilar, enviar y monitorizar los trabajos
• No está permitido la ejecución de procesos de cómputo
• Cómputo
• Aislados del exterior
• Encargados de ejecutar los trabajos
Software
• SuSE LES 9
• General Parallel File System (GPFS)
• Load Leveler
• Aplicaciones de cálculo científico: ABINIT, AMBER, GAMESS, NAMD, NETCDF, SIESTA, ...
Sistemas de Ficheros
/gpfs/home trabajo y datos personales
/gpfs/projects datos compartidos por el grupo
/gpfs/scratch datos temporales
/gpfs/apps Aplicaciones y bibliotecas
Ejecución de Trabajos
• Pasos para poder ejecutar un trabajo:
• Conectarse a uno de los nodos interactivos (SSH)
• Preparar el ejecutable
• Preparar la definición de trabajo
• Enviar el trabajo al gestor de colas
Compilación con MPI
• Compilador XLC
• Wrappers que incluyen las opciones -I y -L adecuadas:
• mpicxx (C++)
• mpicc (C)
Load Leveler
• Gestor de trabajos
• Los trabajos pertenecen a una determinada clase (debug, small, medium, large,...)
• distintas prioridades
• Sistema de envejecimiento
Definición del Trabajo#!/bin/bash
#@ group = [project_id] #@ class = [class_name] #@ job_type = [parallel|serial] #@ initialdir = ~/Documents/program_dir #@ output = res_dir/program.$(schedd_hostname).$(jobid).$(stepid).out #@ error = res_dir/program.$(schedd_hostname).$(jobid).$(stepid).err #@ restart = no #@ requirements = (Feature == "mx") #@ total_tasks = number of tasks #@ blocking = unlimited #@ wall_clock_limit = hh:mm:ss #@ queue # Environment export MP_EUILIB=mx export OBJECT_MODE=64 export MP_RSH=ssh # Reserved nodes NPROCS=‘cat ${LL_MACHINE_LIST} | wc -l‘ # Run our program mpirun -np ${NPROCS} -machinefile ${LL_MACHINE_LIST} ./program
Mandatos Útiles
• llsubmit: envía un trabajo
• llclass -l: Muestra los límites de cada cola
• llcancel: cancela un trabajo encolado
• llq: muestra el estado de los trabajos
• llw: muestra la posición del primer trabajo del usuario que está en cola
Estados de un Trabajo
CA Canceled
C Completed
I Idle
NQ Not Queued
RM Removed
R Running
ST Starting
V Vacated
Errores Típicos
bad interpreter: No such file or directory Codificación errónea del retorno de carro
Trabajo termina con el estado vacated
expulsado por:1.motivos administrativos2. fallo en alguno de los nodos
No se escribe en el fichero de salida Sistema de buffering
bash: line 90: ulimit core file size No afecta al funcionamiento
Más Información
• Guía de usuario de Magerit. Centro de Supercomputación y Visualización de Madrid.http://www.cesvima.upm.es/media/docs/Magerit-GuiaUsuarios.pdf