ialab-puc/cluster

Discusión del Código de Conducta

fdelrio89 opened this issue · 0 comments

Esta issue es para que podamos discutir acerca del código de conducta del cluster. La idea es que todos aportemos en esto y sea hecho entre todos. A continuación dejo el primer borrador, la página de la wiki del Código la pueden ver aquí.

Código de conducta del cluster

Este código de conducta tiene como finalidad dar algunas guías y buenas prácticas para un uso del cluster, con la finalidad de que la convivencia en torno a esta recurso sea lo más fluida posible.

Principios

  • Respeto por los demás al interactuar tanto con los recursos compartidos y otros integrantes del grupo.
  • Utilizar los recursos compartidos con criterio y responsabilidad, para que puedan ser usados al mismo tiempo por otros integrantes que lo requieran y que se pueda seguir utilizando de buena forma en el tiempo.
  • Este documento debe ser tomado como una guía y las reglas y buenas prácticas descritas en este pueden ser ignoradas siempre y cuando se haga con criterio y se siga el principio de respeto a los demás. En caso de ignorar una de estas guías, siempre preguntarse si vale la pena comunicar al resto la situación y en caso de duda, hacerlo.

Buenas Conductas

Uso del cluster

  • Todos los procesos que quedarán corriendo de manera offline en el cluster deben ser ejecutados a través de SLURM.
  • Todo código que esté en modo en modo de desarrollo o prueba, debe ser ejecutado sin utilizar las GPUs del cluster, es decir en modo CPU o en Google Colab.

Discos compartidos

  • Debes poner especial atención y nunca llenar los discos o rutas críticas para el funcionamiento del cluster, por ejemplo /.
  • Cuando utilices discos compartidos, debes hacerlo con cuidado y preocupar de que estos no se llenen, utilizando el comando df -h.
  • Si notas que a un disco le queda poco espacio, debes avisar inmediatamente.
  • En caso de que termines de utilizar los discos compartidos (ya sea por que se terminó un experimento, magister o doctorado), es tu responsabilidad liberar ese espacio.
  • Los workspace son discos de trabajo y deben ser solamente utilizados con este fin. Si dejas de utilizar los datos en este debes borrarlos inmediatamente.

GPUs

  • No utilizar más de 2 GPUs en un momento dado. En casos excepcionales en que se necesite un número mayor, avisar al resto de los integrantes del laboratorio y ser consciente del resto elegir para el número de GPUs a utilizar.
  • Si tu experimento no llena la memoria de una GPU y vas a correr más de uno en paralelo, córrelos en la misma GPU utilizando &.
  • Para no interferir con la asignación de GPUs de SLURM, no sobrescribir el índice de la GPU en tu script y solamente utilizar la asignación de SLURM para esto.
  • Priorizar el uso de GPUs con menos memoria, dejando las de más memoria para casos que sean necesarias.

Buenas Prácticas

SLURM

  • Para evitar que un proceso interfiera con el del resto de las personas, debes asignar límites de memoria, tiempo, CPUs, etc. a todos tus trabajos.
  • Cuando utilices notebooks utilizando GPUs, debes hacerlo a través de SLURM, asignando un límite de tiempo para que la GPU no quede tomada indefinidamente.

Datasets

  • Previamente a agregar un dataset debes asegurarte de que no exista previamente en el cluster.
  • Cuando agregues al cluster un dataset que puede ser utilizado por otros integrantes del laboratorio, debes guardarlo en el lugar especificado para esto. Esto se hace agregándolo al documento de datasets.

Home

  • A modo de evitar problemas con tu home, debes revisar periódicamente el espacio libre que tienes.