FAQ: Cluster IALab - Preguntas Frecuentes
Esta sección contiene las respuestas a las dudas más comunes sobre el uso y operación del Cluster IALab.
Conceptos Básicos y Acceso
1-. ¿Por qué no puedo acceder al clúster?
Si tu sesión es rechazada, es probable que hayas excedido la cuota de almacenamiento de tu home. Envía un ticket de soporte CENIA (detallado en el soporte@cenia.cl para revisar tu situación.
2-. ¿Qué es el nodo Kraken?
Es el nodo de gestión (headnode). Úsalo solo para organizar archivos y lanzar tareas; no ejecutes cálculos pesados aquí.
3-. ¿Cómo accedo al cluster?
Debes conectarte vía SSH a través del nodo Kraken utilizando tus credenciales.
4-. ¿Cómo solicito acceso inicial?
Contacta al equipo de administración a través de los canales oficiales del laboratorio.
5-. ¿Qué es el "Cluster"?
Es un conjunto de computadoras interconectadas que trabajan como una unidad para procesar tareas científicas masivas.
Uso de Recursos, Slurm y Memoria
6-. ¿Cómo envío un trabajo al cluster?
Utiliza el comando sbatch seguido de tu script de ejecución configurado para Slurm. Todo trabajo enviado directamente al nodo sin pasar por Slurm será cancelado automáticamente.
7-. ¿Cómo verifico el estado de mis trabajos?
Usa squeue -u <tu_usuario> para ver la lista de tus procesos activos.
8-. ¿Cómo cancelo un trabajo?
Usa scancel <job_id> para detener un proceso.
9-. ¿Qué significa que un trabajo esté en estado "PENDING"?
Significa que está en cola esperando recursos (CPU/GPU) o que no hay nodos disponibles.
10-. ¿Existe un límite de tiempo por ejecución?
Sí, el límite máximo es de 24 horas por trabajo.
11-. ¿Qué pasa si mi trabajo se excede de las 24 horas?
El sistema lo terminará automáticamente. Implementa checkpoints en tu código.
12-. ¿Qué pasa si no especifico memoria en mi script?
Si no defines el parámetro --mem, el sistema asignará por defecto 4GB de RAM por cada CPU solicitada.
13-. ¿Cuál es el máximo de memoria RAM que puedo asignar?
El límite máximo estipulado por cada trabajo en el IALab es de 128 GB de memoria RAM.
14-. ¿Existe un límite en la cantidad de CPUs a solicitar?
Sí. Si no utilizas el flag --mem para definir una memoria específica, el límite máximo de CPUs que puedes solicitar es de 33. Esto evita que el cálculo automático de memoria (4GB por CPU) exceda el límite total de 128 GB del clúster por trabajo.
Hardware y Nodos (NVIDIA vs AMD)
15-. ¿Cuáles son los nodos con GPU NVIDIA?
Son Hydra, Scylla, Llaima, Ahsoka y Yodaxico.
16-. ¿Es obligatorio usar contenedores en el nodo Antuco?
No es un requisito estricto, pero es altamente recomendado. La arquitectura de AMD (ROCm) requiere librerías muy específicas y dependencias que suelen entrar en conflicto con el entorno local del usuario. Utilizar un contenedor asegura la compatibilidad con el hardware.
17-. ¿Cómo solicito una GPU específica en mi script?
Usa la directiva #SBATCH --gres=gpu:1 en tu script.
18-. ¿Puedo elegir en qué nodo ejecutar específicamente?
Sí, puedes usar --nodelist=nombre_nodo, aunque se recomienda dejar que Slurm gestione la carga.
Gestión de Archivos, Espacio y Workspaces
19-. ¿Dónde debo guardar mis archivos?
Utiliza directorios de usuario (home) o volúmenes compartidos.
20-. ¿Cómo uso los workspaces?
Cada nodo de cómputo tiene un disco o discos de almacenamiento local, ubicados en /workspace1. Este es el único almacenamiento que se puede usar para tareas de entrenamiento. Está estrictamente prohibido leer y escribir desde tu almacenamiento persistente (home, scratch o archive) durante tareas de entrenamiento. Por esto, si vas a usar un nodo determinado para un experimento o investigación, el procedimiento correcto es copiar los datos que vayas a utilizar desde tu almacenamiento persistente (scratch o archive) al workspace del nodo y guardar todos los modelos/pesos/outputs en este mismo directorio.
Puedes hacer esto directamente desde kraken. Por ejemplo, si vas a entrenar en el nodo ahsoka, puedes copiar los datos relevantes desde tu scratch o archive al directorio /workspaces/ahsoka-workspace1/<usuario_investigador>/<tu nombre de usuario> (solo disponible en kraken) con los comandos cp o rsync. Si este último directorio no existiese, puedes enviar un ticket al soporte TI para solicitar su creación. Si vas a copiar muchos datos, es recomendable dejar el proceso de copia corriendo dentro de una instancia de tmux.
Es tu propia responsabilidad desocupar el espacio en los workspaces de los nodos de cómputo cuando termines un proyecto y respaldar lo necesario a tu almacenamiento persistente (scratch o archive). Recuerda que la capacidad de los workspaces es limitada y compartida, y datos de mucha antigüedad en un workspace pueden estar sujetos a ser eliminados.
21-. ¿Qué es el directorio /scratch de mi home y cómo lo uso?
Es almacenamiento temporal de alto rendimiento. Úsalo para cálculos, pero mueve los resultados a tu /home al finalizar.
22-. ¿Qué es el directorio /archive de mi home y cómo lo uso?
Almacenamiento a largo plazo para resultados importantes, Ideal para: Almacenar backups importantes, Resultados finales, datos de publicaciones.
23-. ¿Cómo transfiero archivos desde mi PC local al cluster?
Usa scp o rsync. Ejemplo: rsync -avz mi_proyecto/ usuario@kraken:/home/usuario/.
24-. ¿Qué hago si me quedo sin espacio en disco?
Revisa tu uso con du -sh * y elimina archivos temporales o logs antiguos.
25-. ¿Los archivos en el cluster están respaldados?
No existe backup automático. Mantén copias de resultados críticos fuera del cluster.
26-. ¿Puedo compartir datos con otros usuarios?
Sí, utiliza directorios de grupo con permisos de lectura (chmod g+r).
Entorno de Software y Contenedores
27-. ¿Puedo usar Docker?
Sí, pero el uso de Docker en nodos de cómputo debe ser autorizado previamente. Envía un ticket a soporte@cenia.cl para evaluar tu caso.
28-. ¿Por qué debo ejecutar mis contenedores a través de Slurm?
Es estrictamente obligatorio porque Slurm garantiza que tu contenedor tenga acceso exclusivo y seguro al hardware (GPU/CPU/RAM) asignado. Ejecutar fuera de Slurm compromete la estabilidad del sistema, causa conflictos de memoria con otros usuarios y evita que el clúster balancee la carga correctamente.
Optimización y Rendimiento
29-. ¿Qué son los "nodos de cómputo" vs "headnode"?
Kraken coordina; los otros ejecutan. No entrenes en Kraken.
30-. ¿Cómo sé cuánta memoria RAM requiere mi trabajo?
Prueba y revisa con el comando seff <job_id> al terminar.
31-. ¿Por qué mis resultados son inconsistentes?
Asegúrate de configurar semillas (seeds) aleatorias si tu código es estocástico.
32-. ¿Es mejor enviar muchos trabajos pequeños o uno grande?
Usa arreglos de tareas (job arrays) si tienes muchos archivos pequeños.
33-. ¿Qué significa "Hyperthreading"?
Considera que un núcleo físico ejecuta dos hilos al solicitar --cpus-per-task.
Resolución de Problemas Avanzada
34-. ¿Cómo depuro un error de segmentación (segfault)?
Ejecuta interactivamente con srun --pty bash.
35-. ¿Qué hago si olvido cancelar un trabajo en bucle?
Usa scancel -u <tu_usuario>.
36-. ¿Por qué Antuco me da errores de librerías CUDA?
Es un nodo AMD; usa contenedores compatibles con ROCm.
37-. ¿Qué es el "OOM Killer"?
El sistema mata tu proceso porque se quedó sin RAM. Solicita más memoria con --mem=....
38-. ¿Cómo reporto un problema de infraestructura?
Envía un correo detallando: nodo, job ID, comando y error exacto a soporte@cenia.cl