Projet Marignan 1973-1974

HomeYD-home-fr.htmlshapeimage_1_link_0
 
 

J'ai conçu le système MARIGNAN en 1973-1974, lors de mon détachement par la DRME auprès de la CII-DMSA en tant qu'appelé scientifique. Cette étude était menée dans le cadre d'un contrat de recherche de la DRME concernant la détection d'erreurs et la reconfiguration des systèmes informatiques à haute disponibilité.

L'objectif principal du système MARIGNAN était la tolérance des fautes fugitives. L'architecture du système était basée sur une structure duplex avec détection d'erreurs par comparaison de sommes de contrôle et comparaison des entrées-sorties. La reprise était assurée par la gestion d'une pile de reprise par processus, contenant toutes les informations modifiées entre deux points de contrôle. Cette technique est comparable à celle des "recovery blocks" développés par Brian Randell à la même époque.

Deux types de redondance étaient envisagés :

  1. Redondance temporelle : sur un monoprocesseur, chaque déroulement de processus entre deux points de contrôle est exécuté deux fois successivement et les sommes de contrôle des traitements sont comparées ; en cas d'identité, la pile de reprise est effacée et le traitement se poursuit ; en cas de différence, la pile de reprise est utilisée pour restaurer le contexte du processus dans l'état du point de contrôle précédent, et l'exécution est reprise.

  2. Redondance spatiale : deux calculateurs identiques sont interconnectés et déroulent les mêmes programmes en même temps (macro-synchronisme) ; à chaque point de contrôle, les sommes de contrôle sont échangées; en cas d'identité, les piles de reprises sont effacées et les traitements se poursuivent ; en cas de divergence, les deux copies du processus sont restaurées dans l'état du point de contrôle précédent, à l'aide des piles de reprise, et le traitement est repris.

La gestion des piles de reprise et des sommes de contrôle étant réalisés par le microcode des instructions standard, la tolérance aux fautes était entièrement transparente aux programmes d'application : le même code objet pouvait s'exécuter sur une machine standard ou sur MARIGNAN. Ceci a fait l'objet d'un brevet et cette technique a été utilisée par la suite par le CNET dans le projet PÉNÉLOPE. Un prototype industriel de MARIGNAN  a été réalisé en 1975-1976, basé sur deux Mitra-15.