Manual de uso

⌘K
  1. Inicio
  2. Documentos
  3. Manual de uso
  4. 12. Green Computing
  5. Buenas Prácticas para Usuarios

Buenas Prácticas para Usuarios

El papel del Investigador

Como usuario del cluster, tu forma de trabajar influye directamente en nuestra huella energética. Un código eficiente no solo reduce los tiempos de espera, sino que minimiza el desperdicio de energía. Te mostramos cómo monitorizar y optimizar tus trabajos.

Herramientas de Monitorización en Tiempo Real

Para comprender el impacto de tus procesos, puedes utilizar las siguientes herramientas desde la línea de comandos mientras tus trabajos están en ejecución:

  1. Monitorización de GPUs (NVIDIA)

    Si tu trabajo utiliza aceleradores gráficos, el comando nvidia-smi es fundamental para supervisar el consumo de energía.

    • Comando: nvidia-smi –query-gpu=power.draw,utilization.gpu –format=csv -l 5
    • Interpretación: Muestra el consumo de energía (W) y la utilización de la GPU cada 5 segundos. Si la utilización es baja pero el consumo es alto, tu código necesita optimización en la transferencia de datos.
  2. Análisis de Eficiencia de Slurm (Post-mortem)

    Una vez finalizado tu trabajo, analiza su eficiencia para ajustar las solicitudes de recursos en el futuro.

    • Comando: seff <JOB_ID>
    • Interpretación: Proporciona un resumen de la eficiencia de CPU y memoria. Solicitar menos memoria o núcleos de los que realmente necesitas, o tener una eficiencia de CPU baja, indica que estás manteniendo recursos activos innecesariamente.
  3. Monitorización de Procesadores

    Para observar el comportamiento de los núcleos de CPU asignados:

    • Comando: top o htop (dentro de una sesión interactiva en el nodo).
    • Análisis: Observa la columna %CPU. Un valor bajo con muchos núcleos reservados sugiere un uso ineficiente de la energía del nodo.

Consejos para la Eficiencia Energética

  • Solicitud Precisa de Recursos: No solicites más memoria o núcleos de los que tu código puede escalar linealmente.
  • Checkpointing: Implementa puntos de control en simulaciones largas para evitar repetir cálculos desde cero en caso de fallo, ahorrando tiempo de computación innecesario.
  • Compilación Optimizada: Utiliza flags de optimización (como -O3 o -march=native) para que el procesador complete el trabajo con el menor número de ciclos posible. Más info.
  • Profiling de Código: Utiliza herramientas de profiling para identificar cuellos de botella y áreas de mejora en tu código.

Nuevas herramientas (todavía en desarrollo)

Estamos desarrollando nuevas herramientas para ayudar a evaluar la eficiencia de los programas y el uso adecuado de los recursos. Serán anunciadas cuando estén disponibles.

¿Cómo podemos ayudarte?