Preguntas Más Frecuentes
Preguntas más frecuentes
1.- Quiero usar el supercomputador, ¿qué tengo que hacer?
Todos los investigadores de la UCA que lo necesiten pueden solicitar una cuenta en el supercomputador a través del correspondiente CAU
A efectos de uso del supercomputador entendemos como investigador:
- Miembros del PDI de la UCA
- Alumnos que estén realizando la tesis doctoral y que estén avalados por su correspondiente tutor.
- Investigadores externos pero encuadrados en algún proyecto de investigación del que forme parte la UCA, siempre que dichos investigadores estén avalados por el responsable del proyecto dentro de la UCA (miembro del PDI).
2.- ¿Cómo me conecto al cluster cai?
El sistema para conectarse al supercomputador es mediante el protocolo ssh. Para ello, desde Linux, sólo hay que ejecutar el comando:
ssh -X uDNI@cai.uca.es
Sustituyendo «DNI» por el correspondiente número sin la letra, al igual que se usa en otros servicios de la UCA. De la misma forma, la contraseña correspondiente es la misma que para esos servicios. La opción -X es para ejecutar programas gráficos.
Desde Windows tendrá que instalar un cliente SSH. Uno muy popular es PuTTY. Tenga en cuenta que aquí no podrá ejecutar programas gráficos a menos que busque e instale un servidor X-Window para MS-Windows. Se recomienda Xming, que se integra perfectamente con PuTTY. Un cliente SSH más moderno es MobaXterm que integra un servidor X.
3.- ¿Cómo paso mis ficheros al supercomputador o desde este a mi PC?
Desde Linux puede usar el comando scp que, desde su pc sería así:
scp fichero.dat uDNI@urania01:~
Este comando dejaría el fichero «fichero.dat» en su directorio de inicio.
Para la transferencia de ficheros en Windows puede usar Filezilla (win64 o win32).
4.- ¿Dónde dejo mis datos?
Los usuarios del cluster tienen a su disposición 4TB de límite blando y 5TB de límite duro para almacenar datos relativos a su investigación. Los datos se dejarán en la carpeta de inicio de sesión (HOME) o bien en una subcarpeta que cuelgue de ella.
Al alcanzar el límite blando el sistema alertará al usuario, aunque le permitirá seguir añadiendo datos. Sin embargo el límite duro no se puede rebasar.
5.- Después de un rato conectado, el sistema me echa. ¿Estoy haciendo algo mal?
El nodo de acceso le da 10 minutos de tiempo de CPU, suficiente para trabajar interactivamente durante mucho tiempo, pero no para lanzar cálculos en él. Para eso está el clúster de nodos de cómputo, que está gobernado por un sistema de colas llamado SLURM. Tiene documentación sobre este software, así como sobre el curso que se dio en su día para usuarios en este enlace.
6.- Ya tengo mis programas y estoy conectado. ¿Cómo lanzo un trabajo?
El supercomputador se gestiona mediante el software SLURM para gestión de colas de trabajo. La documentación correspondiente se halla en en este enlace y en la web de Slurm.
El comando preferido para el lanzamiento de trabajos es sbatch. Este comando necesita un script para ejecutar los programas que se requieran. En el sistema CAIWEB, nuestra personalización del software OpenOnDemand, encontrará ayudas para la generación, lanzamiento y seguimiento de sus trabajos. Próximamente dispondremos de tutoriales al respecto.
Por si no lo desea, a continuación presentamos un esqueleto del script que deberá ser modificado por el investigador para adecuarlo a sus necesidades, cambiando los elementos marcados en rojo.
#!/bin/bash #------- DIRECTIVAS SBATCH ------- # Datos genericos aplicables a todos los trabajos: #SBATCH --partition=normal # - #SBATCH --exclusive #SBATCH --mail-user=SU.CORREO@uca.es #SBATCH --mail-type=BEGIN,END,FAIL,TIME_LIMIT_90 #SBATCH --requeue #SBATCH --share # Esto para salidas no controladas: #SBATCH --error=/home/GRUPO/USUARIO/job.%J.err #SBATCH --output=/home/GRUPO/USUARIO/job.%J.out # - #SBATCH --workdir="/scratch/USUARIO" # - #SBATCH --workdir="/scratch_local/USUARIO" #SBATCH --workdir="/home/GRUPO/USUARIO" # Descripcion del trabajo: #SBATCH --job-name="TEST" #SBATCH --comment="Prueba de SBATCH" # *** MUY IMPORTANTE *** # Parametrización del trabajo # - #SBATCH --account=CUENTA #SBATCH --tasks=1 # - #SBATCH --cpus-per-task=1 # - #SBATCH --nodes=1 # - #SBATCH --tasks-per-node=1 #SBATCH --time=0-00:05:00 #SBATCH --mem=1GB # - #SBATCH --gres=gpu:tesla:2 #------- CONFIGURACION ENTORNO ------- # Variables de ambiente exportadas para que estén disponibles en # todos los procesos hijo export DATASOURCE=$SLURM_SUBMIT_DIR/input export DATAEND=$SLURM_SUBMIT_DIR/output export SCRATCH1=/scratch/$USER export SCRATCH2=/scratch_local/$USER # Carga de módulos #module load matlab # Configuración del scratch mkdir -p $SCRATCH1 #------- COPIA DE DATOS AL SCRATCH ------- #sbcast --force --fanout=8 --size=100m $DATASOURCE/$SLURM_JOB_NAME.in $SCRATCH2/$SLURM_JOB_NAME.in #------- EJECUTAMOS EL PROGRAMA ------- srun miprograma < $DATASOURCE/$SLURM_JOB_NAME.in > $SCRATCH1/$SLURM_JOB_NAME.out #srun miprograma < $SCRATCH2/$SLURM_JOB_NAME.in > $SCRATCH1/$SLURM_JOB_NAME.out RESULT=$? #------- SALVAMOS LOS RESULTADOS ------- mv $SCRATCH1 $DATAEND/$SLURM_JOB_ID #------- ELIMINAMOS FICHEROS TEMPORALES ------- rm -rf $SCRATCH1 $SCRATCH2 #------- FIN ------- exit $RESULT
7.- Mis trabajos se cortan cuando llevan dos días ejecutándose, aunque no han terminado. ¿Qué está pasando?
Slurm es un sistema de gestión de colas inteligente. Según este sistema si un trabajo puede adelantar su ejecución sin perjudicar por ello a los trabajos que están por delante de él en la cola, Slurm lo adelantará.
Para que este sistema funcione correctamente Slurm necesita saber algunos datos, entre ellos el número de CPUs que se requerirán y el tiempo que durará la ejecución.
Por defecto la duración de los trabajos es de dos días, aunque usted puede definir una duración arbitraria mediante la opción –time.
8.- ¿Cómo calculo cuánto tiempo necesito?
Este no es un cálculo fácil y depende de la experiencia que se tenga con el programa en cuestión, pero si es un proceso a muchos datos lo más normal es realizar una prueba con una muestra que nos dirá dos cosas: si el programa funciona y cuánto ha tardado en ejecutar esa muestra. A partir de ahí podemos extrapolar los resultados según el orden del programa (lineal, exponencial, …)
En general se aconseja que, al resultado obtenido, se le sume un 10% más por fiabilidad.
Además es aconsejable anotar los tiempos para mejorar el cálculo en posteriores ejecuciones.
9.- El sistema me avisa que se ha rebasado el 90% del tiempo de ejecución y aún le queda para terminar. ¿Qué puedo hacer?
Pues en este caso, simplemente abre una consulta con nosotros en el CAU indicándonos cuánto tiempo quieres ampliar la ejecución y nosotros lo haremos. Por favor, hágalo dándonos tiempo para reaccionar y que podamos ampliar la duración del trabajo antes de que termine.
10.- Por qué algunos trabajos se inician antes que otros.
Para proporcionar un reparto equitativo de los recursos del supercomputador, la prioridad de ejecución de trabajos se han fijado los siguientes factores por orden de importancia:
• Reparto justo. Cuanto más se use el supercomputador, menos prioridad tendrán los trabajos. Dando así oportunidad a que otros usuarios puedan usar los recursos.
• Tiempo esperado en la cola. Cuanto más tiempo lleve un trabajo en cola más prioridad tendrá, de modo que los trabajos no se eternicen en ella.
• Tamaño del trabajo. Se da prioridad a los trabajos pequeños, que fácilmente pueden ocupar huecos no usados por los trabajos grandes.
Eso no quiere decir que un trabajo grande de alguien que haya usado mucho el supercomputador no se vaya a ejecutar, sino que puede tardar un poco más en ser ejecutado.
Para más información consulte nuestra Políticas De Gestión De Colas
11.- Necesito usar las GPU, ¿Qué tengo que hacer?
Para ello hay que usar una de las particiones en las que los nodos tienen gpus: gpu o gn.
El método es sencillo. En el script de ejemplo anterior modifique las líneas:
#SBATCH –partition=normal
# – #SBATCH –gres=gpu:tesla:2
por uno de estos dos grupos:
#SBATCH –partition=gpu
#SBATCH –gres=gpu:A100:2
o
#SBATCH –partition=gn
#SBATCH –gres=gpu:2
¿Cómo referenciar a la unidad en las publicaciones?
Para ello se puede añadir el siguiente texto en los reconocimientos/acknowledgment:
Todas las simulaciones se realizaron usando recursos de computación del Área de Sistemas de Información (Supercomputación).
Agradecemos a la unidad de Sistemas del Área de Sistemas de Información de la Universidad de Cádiz los recursos informáticos y el apoyo técnico.
O su versión en inglés:
All simulations were performed using computational facilities from the Information Systems Area (HPC).
We also thank the Systems Unit of the Information Systems Area of the University of Cadiz for computer resources and technical support.