Checkpoint

Définition, exemples et bonnes pratiques

À retenir

  • Permet la reprise après une panne sans repartir de zéro.
  • Capture l'état instantané (variables, mémoire) du programme.
  • Indispensable pour les traitements informatiques qui durent plusieurs heures ou jours.

Un checkpoint est un point de contrôle ou une sauvegarde intermédiaire réalisée durant l'exécution d'un programme ou d'un processus long. C'est comme une « borne de sauvegarde » dans un jeu vidéo : si le système s'arrête brutalement, il pourra repartir de cet endroit précis au lieu de tout recommencer depuis le début.

Étymologie

Emprunté à l'anglais checkpoint, composé de check (vérification) et point (lieu, instant). Initialement utilisé dans le milieu militaire ou logistique pour désigner un poste de contrôle, le terme a été adopté en informatique pour marquer des étapes de validation de l'état d'un système.

Exemples d'usage

  • Entraînement d'IA : Sauvegarder l'état d'un modèle de langage toutes les heures pour ne pas perdre l'apprentissage en cas de coupure de courant.
  • Bases de données : Écriture régulière des modifications en attente sur le disque dur pour garantir la cohérence des données.
  • Jeux vidéo : Franchir une porte qui déclenche une sauvegarde automatique de la progression du joueur.

Cas d'usage

On utilise les checkpoints principalement dans les calculs scientifiques intensifs, la gestion des bases de données (DBMS), le rendu d'images de synthèse (CGI) ou lors de transferts de fichiers volumineux. C'est un mécanisme essentiel de la « tolérance aux pannes ».

Bonnes pratiques

Il faut trouver le bon équilibre : faire des checkpoints trop fréquents ralentit le système car l'écriture des données prend du temps, mais en faire trop peu augmente le risque de perte importante de travail en cas de crash. Il est conseillé de supprimer les anciens checkpoints inutiles pour ne pas saturer le stockage.

Synonymes

point de contrôle point de sauvegarde instantané snapshot

Antonymes

reprise à froid réinitialisation complète

Conseil

Si vous développez un script qui traite des milliers de données, intégrez un système de checkpoint (par exemple, enregistrez l'index en cours dans un petit fichier texte) pour pouvoir relancer votre script là où il s'est arrêté.

Questions fréquentes

Le checkpoint ralentit-il mon programme ?

Oui, car le système doit marquer une courte pause pour enregistrer son état sur le disque dur. C'est un compromis entre performance et sécurité.

Est-ce la même chose qu'une sauvegarde classique ?

Pas tout à fait. Une sauvegarde concerne généralement des fichiers finis, alors qu'un checkpoint capture l'état interne d'un processus en cours d'exécution.