Checkpointing y tolerancia a fallas
Leerlo en el Capítulo 2 · checkpoint +50 XP →
Guarda periódicamente el estado del modelo y del optimizador para que una falla cueste minutos de progreso, no días.
Con miles de GPUs, algo falla cada pocas horas. El checkpointing limita el daño: ante una falla, reinicias desde el último estado guardado y pierdes como máximo un intervalo.
Cómo elegir el intervalo: muy frecuente desperdicia tiempo de E/S; muy espaciado desperdicia cómputo cuando hay fallas. Una aproximación clásica (Young/Daly) es intervalo ≈ √(2 × costo_del_checkpoint × MTBF).
Cómo abaratarlo
- Checkpoints repartidos: cada rango escribe su parte en paralelo.
- Checkpointing asíncrono: copia a la memoria del host y escribe en segundo plano.
- Guarda varios checkpoints recientes. Los guardados corruptos o parciales ocurren.
Integración con la operación: scontrol requeue o un bucle de reintento del trabajo, más un pool de repuestos encendidos, convierten "se murió una GPU" en una pausa de 5 minutos. Ese es el ciclo que practicas en Fallen Off the Bus y The Slow Lane.
Úsalo en una misión
Relacionado
Fuentes y lecturas adicionales
- Distributed Training (T. Tsugriy) — parallelism strategies, collectives, memory
- Slurm documentation
Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.