Brevet FR2925191A1 — publié le 20090619

ARCHITECTURE DE TRAITEMENT NUMERIQUE A HAUTE INTEGRITE A MULTIPLES RESSOURCES SUPERVISEES L'invention se place dans le contexte des unités de traitement numériques de calculateurs avioniques pour lesquels un haut degré d'intégrité des données traitées est requis. La solution proposée suivant plusieurs alternatives ou versions permet d'atteindre des objectifs de 10E-9 par heure de vol de données erronées et non détectées en compatibilité avec les objectifs de sûreté de fonctionnement des applications et fonctions avioniques hébergées par ce type de calculateur. Cette haute intégrité est traditionnellement obtenue en prévoyant plusieurs chaînes de calculateurs sur lesquelles une même application tournera en parallèle. Chaque calculateur comporte son propre processeur doté d'une horloge et de mémoires de travail et est connecté directement au réseau des différents calculateurs qui échangent des données. Un des calculateurs exécute la fonction de supervision. Les deux chaînes sont synchronisées de manière lâche, c'est à dire à quelques cycles applicatifs: quelques 10ms par exemple souvent par des liaisons dédiées. La comparaison des données produites par la chaîne principale se faisant sur une base de fenêtre d'acceptation (intervalle de valeurs acceptées en fonction de la variable considérée). De ce fait Il est possible que certaines erreurs sur des données intermédiaires ne soient pas détectées et puissent avoir des conséquences à terme sur des données qu'elles servent à élaborer. Une erreur sur la donnée critique sera donc détectée plus tardivement, alors qu'elle était déjà présente dans des données intermédiaires depuis plusieurs cycles de calcul. Cette supervision peut donc être qualifiée de � lâche � et présente un temps de réaction sur erreur élevé. Un autre type d'implémentation existe permettant d'améliorer le temps de réaction. Elle consiste à utiliser une architecture dite � dual-lane � ou � mufti- lane �, constituée de deux ou plus de deux processeurs, eux-mêmes étant synchronisés. Les comparaisons peuvent alors s'effectuer systématiquement à chaque traitement élémentaire de données effectué par les deux ou plus processeurs. Le problème posé par cette approche est qu'elle est très gourmande en comparaison, et d'autant plus difficile à implémenter que les processeurs sont rapides. Celles-ci s'appliquent en effet à tous les traitements élémentaires exécutés (code et données) par les processeurs ce qui ne présente pas d'intérêt du point de vue de l'intégrité globale de la fonction et peut nuire à la disponibilité. Il est à noter de plus que l'évolution des architectures des microprocesseurs s'oriente majoritairement vers une intégration au sein de la même puce du processeur, de son bridge et de son contrôleur mémoire, rendant ainsi impossible la détection au niveau des bus locaux aux processeurs puisque enfouis au sein de la puce. La présente invention résout ce problème par une architecture de traitement 10 optimisée en termes d'intégrité et de disponibilité. A cet effet l'invention divulgue un dispositif de traitement comprenant au moins deux voies de calcul, chacune dotée d'une unité centrale, lesdites voies étant synchronisées entre elles et disposant d'une zone de mémoire vive, comprenant en outre au moins une zone de mémoire d'échange de 15 données entre voies et entre les unités centrales et un réseau externe de communication, et étant caractérisé en ce qu'il comprend en outre un module de supervision supportant de manière paramétrable différents modes de comparaison des données desdites voies. Avantageusement, les zones de mémoire d'échange de données et le 20 module de supervision sont intégrés au sein d'un unique module de gestion des interfaces connecté d'une part à chacune des voies de calcul et d'autre part au réseau externe. Avantageusement, la comparaison des données des deux voies est réalisée par un comparateur bit à bit à structure parallèle comportant un comparateur 25 élémentaire par bit de donnée au sein de groupes de bit de taille paramétrable. Avantageusement, la fonction de comparaison est testable. L'invention divulgue également un procédé de traitement d'au moins une application informatique s'exécutant en parallèle sur au moins deux voies de 30 calcul, chacune dotée d'une unité centrale, organisée en partitions, lesdites voies étant synchronisées entre elles et disposant d'une zone de mémoire vive, ledit procédé comprenant plusieurs étapes d'échange de données entre des zones mémoires d'échange de données entre partitions d'une unité centrale et entre les unités centrales et un réseau externe de communication 35 et étant caractérisé en ce qu'il comprend en outre des étapes de supervision d'un sous-ensemble paramétrable desdits échanges en fonction d'un critère de comparaison des données desdites voies. Avantageusement, le sous-ensemble des échanges soumis à comparaison est l'ensemble des données produites par les voies de calcul. Avantageusement, le sous-ensemble des échanges soumis à comparaison est l'ensemble des données consommées par les voies de calcul. Avantageusement, le sous-ensemble des échanges soumis à comparaison est l'ensemble des données présentes dans la mailbox de l'abonné réseau à des intervalles de temps choisis. Avantageusement, le sous-ensemble des échanges soumis à comparaison exclut des modes opératoires programmés de l'application informatique. Avantageusement, le sous-ensemble des échanges soumis à comparaison exclut des données auxquelles est réservé un espace mémoire spécifique. Avantageusement, la comparaison s'effectue bit à bit au sein de chaque mot. Avantageusement, la comparaison s'effectue bit à bit au sein de chaque bloc d'un nombre prédéterminé de plusieurs mots. Avantageusement, le procédé de traitement informatique de l'invention comprend au plus deux voies. Avantageusement, dans le procédé de traitement inforrnatique de l'invention qui comprend au plus deux voies, le transfert n'est pas autorisé si les données des deux voies qui sont comparées ne sont pas identiques. Avantageusement, dans le procédé de traitement inforrnatique de l'invention qui comprend au plus deux voies, le transfert est autorisé si les données des deux voies qui sont comparées sont identiques, la donnée transmise étant celle d'une des deux voies dont le choix est paramétrable. Avantageusement, le procédé de traitement informatique de l'invention comprend plus de deux voies. Avantageusement, dans le procédé de traitement informatique de l'invention qui comprend plus deux voies, le transfert n'est pas autorisé si aucune voie ne satisfait à un critère de vote entre les données de toutes les voies. Avantageusement, dans le procédé de traitement informatique de l'invention qui comprend plus deux voies, est autorisé le transfert de la donnée de la voie ayant satisfait à un critère de vote entre les données de toutes les voies. Ainsi, selon l'invention, deux chaînes de traitement de données effectuent les mêmes opérations (par duplication des ressources et exécutions parallèles simultanées des traitements) et une fonction �superviseur� basée sur un �comparateur� raccordé en écriture et en lecture à l'ensemble des chaînes vérifie ainsi la cohérence des données calculées et consommées par ces chaînes en particulier vis à vis de leurs communications sur le réseau externe. Un mode de réalisation privilégié consiste à intégrer dans un composant unique la fonction �superviseur� au sein de la brique de connexion du calculateur avec le réseau externe, dénommée fonction �end-system�. L'invention présente plusieurs avantages. Tout d'abord, la fonction de supervision peut être réalisée de manière simple par des comparateurs constitués par des ensembles peu coûteux en portes logiques. En outre, il est facile d'intégrer ces comparateurs dans le circuit qui relie les processeurs au réseau de communication qui peut être un réseau Ethernet ou un bus AFDX (Avionics Full DupleX). Enfin, l'architecture est facilement transposable d'une architecture à deux processeurs à une architecture à N processeurs, ce qui permet d'augmenter encore le taux d'intégrité. L'invention sera mieux comprise et ses différentes caractéristiques et avantages ressortiront de la description qui suit de plusieurs exemples de réalisation et de ses figures annexées dont : - Les figures 1A et 1B représentent deux architectures de traitement selon l'art antérieur ; - La figure 2 représente un schéma de principe d'architecture de traitement selon l'invention ; - La figure 3 représente un mode de réalisation de l'architecture de traitement selon l'invention dans le cas de deux voies de traitement ; La figure 4 représente un mode de réalisation du module de supervision selon l'invention dans le cas où ledit module est intégré dans le module de gestion des interfaces du dispositif de traitement ; La figure 5 représente un organigramme simplifié des traitements selon l'invention ; La figure 6 représente différents modes de réalisation de l'invention en fonction des objectifs d'intégrité visés. Sauf mention contraire, dans la description et les figures, les sigles, acronymes et abréviations ont la signification en français et en anglais indiquée dans le tableau ci-dessous. Sigle/Abréviation Signification AFDX Avionics Full DupleX switched Ethernet AP Auto Pilot ou Pilote automatique COM Partie Commande d'une double chaîne de calcul CPU Central Processing Unit ou Unité Centrale de calcul E/S End System ou Equipement terminal, de connexion réseau FMS Flight Management System ou Système de gestion de vol IMA Integrated Modular Avionics ou Avionique Modulaire Intégrée MAC Medium Access Control ou couche d'accès réseau Mlbx Mailbox ou boîte aux lettres MON Partie Moniteur d'une double chaîne de calcul PCI Personal Computer Interface RAM Random Access Memory ou mémoire volatile RM Redundancy Management ou Gestion de la redondance RX Receive module ou Module de réception SUP Module de supervision TX Transmit module ou Module de transmission UDP User Datagram Protocol La figure 1A présente une architecture de l'art antérieur, couramment mise en oeuvre et permettant d'atteindre l'objectif de haute intégrité. Cette architecture s'appuie sur une association à deux calculateurs avioniques identiques ou très proches chacun à structure interne mono-chaine. L'un des ~o calculateurs exécute l'application avionique (la chaîne COM). Le second calculateur exécute une application avionique image (identique mais sans sortie de données excepté l'information de sanction), et compare ses résultats à ceux de la chaîne COM. En cas d'écart, la chaîne MON désactive la chaîne COM. Plusieurs applications avioniques peuvent s'exécuter sur chacune des chaînes. Les 2 chaînes sont synchronisées de manière lâche, c'est à dire à quelques cycles applicatifs: quelques 10ms par exemple, souvent par des liaisons dédiées. La comparaison des données produites par la chaîne COM porte sur des valeurs critiques et se fait sur une base de fenêtre d'acceptation (plage de valeurs acceptées en fonction de la variable considérée). La comparaison se fait donc a posteriori et après quelques cycles. Cette solution nécessite la présence de deux rnodules complets et leur interconnexion via un réseau de bord. La figure 1B représente une autre architecture de l'art antérieur permettant elle aussi d'atteindre l'objectif de haute intégrité. Cette architecture s'appuie sur une association à deux unités de traitement à couplage temporel strict. Cette architecture exige une relation temporelle forte entre les deux unités de traitement car aussi bien le code exécuté que les données produites/consommées sont contrôlées/votées. Généralement le contrôle/vote se situe sur le chemin d'accès à la mémoire centrale. La figure 2 représente une architecture de traitement: selon l'invention. La structure de base utilise deux unités centrales de calcul (CPU) qui pilotent deux voies ou chaînes de calcul. La structure étendue utilise n CPU. L'unité superviseur ù unique - contrôlant l'intégrité ne traite que les données et variables, c'est à dire qu'elle ne traite pas le code exécuté. Cette architecture permet de traiter les données à destination du réseau et aussi les données inter partitions locales à l'équipement. Ce choix permet la comparaison des données inter-partition à une cadence cohérente de leur traitement (à la production ou à la consommation des données) et est applicable tant pour des échanges entre partitions d'un même module qu'entre des partitions réparties sur plusieurs modules. Une architecture multiprocesseur ou � multi- fane � (i.e. multi voies) permet d'augmenter encore l'intégrité sans compromettre la disponibilité ou d'augmenter la disponibilité à intégrité constante, comme expliqué plus loin dans la description. Le fonctionnernent détaillé de ces architectures est également expliqué plus loin dans la description. II est également possible de débrayer par configuration sécurisée (matérielle et/ou logicielle) du comparateur la fonction de supervision et de faire fonctionner les deux chaînes en mode dual simplex (les deux chaînes n'effectuent pas exactement les mêmes traitements) ou en mode simple simplex (une seule des deux chaînes est active). La solution selon la revendication nécessite une exécution ordonnée des opérations entre les chaînes, et une comparaison bloquante (à fenêtre temporelle d'acceptance) des données homologues, sans que ces données soient nécessairement issues d'une synchronisation au cycle d'horloge près. II est possible d'assurer la synchronisation en prévoyant une horloge commune à toutes les CPU. La fonction de supervision est raccordée en écriture et en lecture à ~o l'ensemble des chaînes (deux ou n) et vérifie la cohérence des données produites ou consommées par ces chaînes, soit, dans le premier cas, avant qu'elles ne soient envoyées sur le réseau soit, dans le deuxième cas, lorsqu'elles sont acheminées du réseau vers les voies de calcul. Le module de supervision se trouve donc avantageusement positionné entre l'interface 15 réseau et les voies de calcul. La figure 3 décrit l'architecture cible dans le cas de deux voies ou chaînes de traitement (chaîne/voie 100 et chaîne/voie 200), comportant chacune des ressources séparées: 20 une unité centrale de calcul (CPU 110, 210) ; - un bridge (140, 240) constituant l'unité d'interconnexion et de contrôle des données, celui-ci pouvant être intégré ou non dans la CPU ; -une RAM CPU (120, 220) ; une mémoire de stockage non-volatile du code CPU (150, 250) ; 25 - un watchdog (160, 260) qui réalise la surveillance comportementale des CPU. Chaque voie est connectée à une unité de supervision 400 commune pour ces deux voies qui réalise la fonction �superviseur� des données de ces deux voies suivant plusieurs possibilités ou modes détaillées plus loin. L'unité 30 de raccordement 300 en aval de l'unité de supervision, également commune aux deux voies, réalise la fonction �end-system� (E:/S) de raccordement externe. Le regroupement de l'unité de supervision avec l'unité de raccordement réseau dans une unité de raccordement et de supervision est une option avantageuse qui permet d'aboutir à une solution intégrée 35 optimisée pour satisfaire les contraintes d'embarquabilité (caractère crucial de l'intégration aux plans de la surface occupée, de la dissipation thermique et du coût, notamment). Une ou plusieurs mémoires d'échange 130, 230, pour le stockage des données échangées entre partitions locales ou distantes sont associées à l'unité de supervision. Ces zones de mémoire d'échange sont positionnées à côté de l'unité de supervision. L'unité de supervision est connectée à chacune des chaînes de façon indépendante par un lien interne d'échanges dédié. La figure 4 décrit de manière plus détaillée le module de supervision dans le mode de réalisation à deux voies. La supervision est basée sur une comparaison simple des données suivant différentes possibilités ou modes: - lors de la production d'une information fournie par les deux voies ; lors de la consommation d'une information par les deux voies ; - de façon autonome, à une fréquence prédéterminée. La supervision des commandes est basée sur une comparaison simple à la production de cette commande û la notion de consommation de la commande n'ayant pas de sens. Dans le mode de réalisation, ici représenté, où l'unité de raccordement et le module de supervision sont intégrés dans un même circuit, celui-ci est connecté via deux bus de données séparés aux deux processeurs de traitement (liaisons internes d'échange 1 et 2). Ces liaisons seront avantageusement réalisées par des liens numériques série rapides (type PCI express, RapidlO, ...) ou par des liaisons parallèles (PCI, ...). Chacune de ces liaisons étant interne ou non au module de traitement. Cette unité est connectée au réseau externe de communication par une interface standard unique qui ne présente pas de spécificité par rapport aux solutions de l'art antérieur. Le module de gestion des interfaces comprenant, dans le mode de réalisation ici représenté, le module de supervision, est connecté à une ou deux mémoires d'échange (mlbx 130, 230), destinées à stocker de manière temporaire les messages en provenance et en partance vers le réseau (ou en interne module) et les informations de contrôle associées. Le dispositif peut fonctionner avec une ou deux mlbx, l'architecture à deux boîtes aux lettres étant cependant nécessaire dans le mode de fonctionnement privilégié où la comparaison des données s'effectue à la consommation par les voies de calcul. Elles doivent en effet dans ce cas être stockées en provenance du réseau ou d'une autre partition avant comparaison. Les boîtes aux lettres peuvent être réalisées dans une mémoire unique, à zones dédiées ; chaque zone dédiée étant structurée de façon à isoler les données des différentes partitions (allocation par port de communication). Chaque zone mémoire comprend également une zone d'horodatage permettant de garantir que les comparaisons s'effectuent bien sur les données produites ou consommées par les voies au même cycle. Dans le mode à deux voies auquel on s'intéresse ici, le contrôle de l'intégrité repose sur une comparaison de certaines données produites ou ~o consommées par les deux voies. Dans le cas de CPU à 32 bits traitant des mots de données de 32 bits, ce qui est l'état de la technique actuel en avionique, on prévoit 32 unités de comparaison logiques bit à bit. Toute erreur de bit entraîne une erreur de comparaison sur le mot, montrant le caractère exhaustif (non probabiliste) de la comparaison. La performance de 15 la solution n'est pas contrainte ni par la taille du mot ni par la taille du message. La comparaison est avantageusement continue en mode dual, c'est-à-dire qu'elle n'est pas déclenchée. Cette option simplifie la réalisation. Il peut cependant être envisagé de déclencher la comparaison, notamment dans le mode de fonctionnement autonome à cycle prédéterminé. De 20 manière privilégiée, le résultat de la comparaison est pris en compte par le consommateur de l'information, c'est à dire soit par le � end system �, soit par les chaines. Cette fonction est critique car l'intégrité repose sur la qualité de son comportement ; l'intégrité de cette fonction doit être au moins meilleure de 2 25 décades par rapport à l'objectif global d'intégrité calculateur (10e-11 / 10e-09). Un équivalent de 100 portes logiques et une capacité de testabilité contribue à cet objectif. Une comparaison positive valide l'autorisation du transfert de la donnée alors qu'une comparaison négative l'invalide, selon des modalités exposées plus 30 loin. La fonction d'autorisation peut être appliquée soit à la production soit à la consommation des données, soit de manière autonome. La sélection du mode d'application de la fonction d'autorisation à savoir : à la production des données, à la consommation des données ou de manière autonome peut être géré de différentes façons: • soit il s'agit d'un choix initial d'implémentation figé à la conception ou au design du ou des composants réalisant la brique de connexion ; • soit il s'agit d'une configuration réalisée à l'initialisation du ou des composants réalisant la brique de connexion ; soit en fonction du type d'accès, sachant que de façon privilégiée les accès de type commande pourront être soumis à une application à la production, les transferts de données à une application soit à la consommation des données soit de manière autonome, l'application à la consommation des données étant privilégiée car elle couvre la perte d'intégrité possible durant la phase de stockage. Dans un premier mode, la fonction de supervision est activée de façon temporellement liée à la production par les deux chaînes des données. Deux granularités de comparaison détaillées plus loin, sons: possibles, soit une comparaison mot à mot soit une comparaison de groupes de mots. Après réception du premier mot de la première chaîne, la réception du deuxième mot (a priori identique) de la deuxième chaîne déclenche la comparaison. Une ressource minimale (taille du mot) de stockage associée à chaque chaîne permet d'absorber un éventuel décalage temporel entre la production des deux mots par les deux chaînes. Si la comparaison détecte une différence entre les deux mots, une erreur est levée, la donnée n'est pas mémorisée (donc l'émission sur le réseau ou la consommation locale par les deux chaînes ne seront pas effectuées). Si la comparaison ne détecte pas de différence, une des deux occurrences (identiques) du mot est mémorisée dans la zone d'échange pour consommation ultérieure (émission sur le réseau ou consommation locale par les deux chaînes). Le mot transmis peut être celui d'une des mlbx qui est prédéterminée. Dans un deuxième mode de réalisation la fonction de supervision est appliquée à la consommation de la donnée soit par l'abonné réseau soit par les chaînes de calcul. Ce mode de réalisation est privilégié dans la mesure où, in fine, ce sont les données consommées qui doivent être garanties intègres. La consommation est réalisée soit par l'abonné réseau selon une table qui lui est propre et qui est ou non temporellement liée à la production soit par les chaînes de calcul. La comparaison est liée temporellement à la consommation: sur demande d'émission d'un message de l'abonné réseau, la fonction de comparaison est appliquée. II faut que les données aient été produites par chacune des chaînes (information de � Refresh �), la comparaison ne pouvant s'effectuer que sur des données homologues antérieurement produites par les chaînes de traitement. Dans le cas où la(les) donnée(s) n'auraient pas été rafraîchies, la fonction de comparaison ne sera pas déclenchée. Il n'y aura donc pas d'émission par l'abonné réseau. Les informations émises sur le réseau seront nécessairement des informations rafraîchies et comparées. La consommation par les chaînes de calcul est basée sur le même principe. Dans un troisième mode de réalisation, la fonction de supervision est exécutée de façon autonome par l'abonné réseau. Ce mode de réalisation permet de relâcher la contrainte de synchronisation des voies. Il oblige cependant à prévoir un cycle de comparaison cohérent avec les occurrences des traitements de façon à comparer des données identiques, c'est à dire issue du même cycle de production. La fonction de supervision est appliquée de façon asynchrone du fonctionnement des deux chaînes et du E/S. En mode émission réseau, les deux chaînes émettent chacune leur message vers leur mailbox et en indiquent le rafraîchissement. Le superviseur détecte suivant son cycle propre le rafraîchissement de deux messages homologues et en effectue la comparaison. Sur comparaison correcte, une indication d'autorisation d'émission est fournie pour le E/S. Le E/S sélectionne ensuite une des deux occurrences du message consolidé. En mode réception réseau, le E/S stocke deux occurrences du message chacune dans une mailbox. Le superviseur détecte suivant son cycle propre le rafraîchissement de deux messages homologues et en effectue la comparaison. Sur comparaison correcte, une indication d'autorisation de consommation est fournie pour les deux chaînes. Chacune des chaînes de traitement ira acquérir son occurrence propre sans que le superviseur n'intervienne moyennant le fait que la comparaison se soit effectuée. D'autre part, il apparaît soit durant certains modes opératoires de l'équipement (par exemple pour un mode transitoire de synchronisation des 2 chaînes), soit pour certaines variables (information de status, de Bite, certaines I/O) la nécessité de ne pas activer la comparaison pour valider l'autorisation du transfert. Dans ce cas l'autorisation de transfert doit être configurable pour que certaines données puissent être différentes entre les deux chaînes de calcul, par exemple au démarrage, ou lors de l'envoi de messages d'erreur ù certains erreurs n'arrivant temporellement que sur une voie (ex : panne d'un boîtier mémoire). L'activation ou non de la fonction de transfert se fera alors soit par programmation d'un mode global de fonctionnement (par exemple mode de démarrage versus mode de fonctionnement), soit par tri sur les données. Le tri sera préférentiellement effectué selon l'adressage en mémoire de la variable (propriété d'une variable et ce variable par variable: avec ou sans comparaison), un espace mémoire spécifique étant réservé aux données non concernées par la supervision. Du point de vue du module E/S, le fonctionnement du comparateur peut être décrit de la manière suivante en émission et en réception. En mode émission réseau, le E/S effectue une demande uniquement de lecture d'une donnée (au plus d'une taille correspondant à une trame ou fragment) d'un port. Le superviseur effectue sur réception de cette demande la lecture des deux informations produites par les deux chaînes (accès dans deux zones d'échange). Le superviseur effectue la comparaison des données (data/adresse fragment) récupérées dans les deux zones d'échange. Sur comparaison correcte, une des deux occurrences du fragment est envoyée au E/S pour émission. En mode réception réseau, le EiS effectue son travail de � redundancy management �, c'est à dire sélectionne la première trame arrivée bonne (si RM désactivé: les 2 trames seront stockées). Le E/S effectue une demande de stockage au superviseur de chaque fragment reçu Le superviseur peut fonctionner de deux manières. Soit il duplique la demande de stockage vers les mailbox. Chaque chaîne effectue une demande de lecture du message, les demandes seront comparées. A la remontée, les deux occurrences récupérées par le superviseur seront comparées avant fourniture (comparaison croisée). Soit il stocke l'occurrence correspondante à la demande dans la mailbox. Chaque chaîne effectue une demande de lecture du message, les demandes seront comparées. A la remontée, l'occurrence récupérée par le superviseur est directement fournie aux deux chaines. Au lieu d'effectuer les comparaisons mot à mot, il est possible de les réaliser 35 par groupe de mots. Le nombre de mots par groupe doit être choisi en fonction du niveau de performance souhaité (en intégrité/disponibilité et vitesse de traitement). Dans le cas d'une comparaison par groupes de mots, le processus est déclenché après réception des deux chaînes du dernier mot d'un groupe. Une ressource minimale (taille du groupe de mots) de stockage associée à chaque chaîne permet d'absorber un éventuel décalage temporel entre la production des deux groupes de mots. Si la comparaison détecte une différence entre les deux groupes, une erreur est levée, les données ne sont pas mémorisées (donc l'émission sur le réseau ou la consommation locale par les deux chaînes ne seront pas effectuées). Si la comparaison ne détecte pas de différence, un des deux groupes (identiques) de mots est mémorisé dans la zone d'échange pour consommation ultérieure (émission sur le réseau ou consommation locale par les deux chaînes). Celui des groupes qui est transmis peut être celui d'une des mlbx prédéterminée. La figure 5 représente un organigramme simplifié des traitements. Le déroulement temporel est schématisé par les deux axes sur lesquels se positionnent l'application exécutée respectivement par les CPU 100, 200. Applil_1 est une application exécutée sur la CPU 100 qui nécessite l'envoi ou la réception d'un message Msg1_1 vis à vis d'une autre application locale ou distante. Identiquement, Appli2_1 est une application exécutée sur la CPU 200 qui nécessite l'envoi ou la réception d'un message Msg2_1, normalement identique à Msgl_1, vis à vis d'une autre application. Cette partie gauche de la figure illustre le mode de fonctionnement dans lequel la fonction de supervision est activée à la production des données par les chaînes de calcul. La partie droite de la figure illustre le mode de réalisation dans lequel la fonction de supervision est activée à la consommation des données par les chaînes de calcul. Dans le premier cas, le transfert vers la mlbx est effectué par l'instruction COPY. Dans le deuxième cas, l'appel de la variable sur la mlbx est effectué par l'instruction READ. Dans les deux cas, sont fournis au comparateur : l'instruction, l'adresse dans la mlbx et la donnée elle-même. Ces deux enregistrements sont comparés bit à bit. Dans les cas où la comparaison est positive, la donnée est transférée. Lorsqu'il s'agit de fournir une donnée produite, l'une des deux occurrences du message û celle désignée par défaut û est envoyée à l'abonné réseau pour émission. Lorsqu'il s'agit de consommer une donnée appelée d'une autre application, la mlbx désignée par défaut est utilisée pour envoi de la donnée aux deux chaînes. Dans les cas où la comparaison est négative, un message d'erreur est envoyé aux deux CPU dont les applications contiennent les routines nécessaires pour traiter l'incident (ABORT par exemple). La figure 6 représente différents modes de réalisation de l'invention qui se différentient par le nombre de voies de calcul et par la manière dont est mise en oeuvre la fonction de supervision. Dans une architecture à deux voies (partie gauche de Ila figure), il peut être décidé de fonctionner en mode � dual simplex �, c'est à dire en n'exécutant l'application que sur une des deux voies de calcul. Dans ce cas, la fonction de supervision est débrayée. Dans une architecture à plus de deux voies, il est possible de se baser soit sur une comparaison par égalité stricte bit à bit des données de toutes les voies, soit de se baser sur vote majoritaire sur les données des différentes voies. Le premier mode permet d'améliorer l'intégrité vis à vis d'une structure à deux voies. Le second mode permet d'augmenter la disponibilité tout en proposant une intégrité au moins égale à celle de l'architecture à deux voies. L'architecture physique du système n'est pas différente de l'architecture à deux voies. Le comparateur aura une des architectures décrites ci-dessus. II faudra prévoir une boîte aux lettres de taille suffisante pour permettre la comparaison des données à la consommation, la taille de la mailbox pour une architecture à n voies étant égale à n fois celle d'une architecture mono-voie. Ces différents modes de réalisation à deux ou plus de deux voies entrent 25 tous dans le champ de la protection revendiqué par le demandeur. 30 REVENDICATIONS 1. Dispositif de traitement informatique comprenant au moins deux voies de calcul (100, 200) , chacune dotée d'une unité centrale (110, 210), lesdites voies étant synchronisées entre elles et disposant d'une zone de mémoire vive (120, 220), comprenant en outre au moins une zone (130, 230) de mémoire d'échange de données entre voies et entre les unités centrales et un réseau externe de communication (300), et étant caractérisé en ce qu'il comprend en outre un module de supervision (400) supportant de manière paramétrable différents modes de comparaison des données desdites voies. 2. Dispositif de traitement informatique selon la revendication 1 caractérisé en ce que lesdites zones de mémoire d'échange de données et ledit module de supervision sont intégrés au sein d'un unique module de gestion des interfaces connecté d'une part à chacune des voies de calcul et d'autre part au réseau externe. 3. Dispositif de traitement informatique selon la revendication 1 caractérisé en ce que la comparaison des données des deux voies est réalisée par un comparateur bit à bit à structure parallèle comportant un comparateur élémentaire par bit de donnée au sein de groupes de bit de taille paramétrable. 4. Dispositif de traitement informatique selon la revendication 3 caractérisé en ce que la fonction de comparaison est testable. 5. Système de calcul comprenant au moins un dispositif de traitement informatique selon la revendication 1. 6. Procédé de traitement d'au moins une application informatique s'exécutant en parallèle sur au moins deux voies de calcul, chacune dotée d'une unité centrale, organisée en partitions, lesdites voies étant synchronisées entre elles et disposant d'une zone de mémoire vive, ledit procédé comprenant plusieurs étapes d'échange de données entre des zones mémoires d'échange de données entre partitions d'une unité centrale et entre les unités centrales et un réseau externe de communication et étant caractérisé en ce qu'il comprend en outre des étapes de supervision d'un sous-ensemble paramétrable desditséchanges en fonction d'un critère de comparaison des données desdites voies. 7. Procédé de traitement informatique selon la revendication 6 caractérisé en ce que le sous-ensemble des échanges soumis à comparaison est l'ensemble des données produites par les voies de calcul. 8. Procédé de traitement informatique selon la revendication 6 caractérisé en ce que le sous-ensemble des échanges soumis à comparaison est l'ensemble des données consommées par les voies de calcul. 9. Procédé de traitement informatique selon la revendication 6 caractérisé en ce que le sous-ensemble des échanges soumis à comparaison est l'ensemble des données présentes dans la mailbox de l'abonné réseau à des intervalles de temps choisis. 10. Procédé de traitement informatique selon la revendication 6 caractérisé en ce que le sous-ensemble des échanges soumis à comparaison exclut des modes opératoires programmés de l'application informatique. 11. Procédé de traitement informatique selon la revendication 6 caractérisé en ce que le sous-ensemble des échanges soumis à comparaison exclut des données auxquelles est réservé un espace mémoire spécifique. 12. Procédé de traitement informatique selon la revendication 6 caractérisé en ce que la comparaison s'effectue bit à bit au sein de chaque mot. 13. Procédé de traitement informatique selon la revendication 6 caractérisé en ce que la comparaison s'effectue bit à bit au sein de chaque bloc d'un nombre prédéterminé de plusieurs mots. 14. Procédé de traitement informatique selon la revendication 6 caractérisé en ce qu'il comprend au plus deux voies. 15. Procédé de traitement informatique selon la revendication 14 caractérisé en ce que le transfert n'est pas autorisé si les données des deux voies qui sont comparées ne sont pas identiques. 16. Procédé de traitement informatique selon la revendication 14 caractérisé en ce que le transfert est autorisé si les données des deuxvoies qui sont comparées sont identiques, la donnée transmise étant celle d'une des deux voies dont le choix est paramétrable. 17. Procédé de traitement informatique selon la revendication 6 caractérisé en ce qu'il comprend plus de deux voies. 18. Procédé de traitement informatique selon la revendication 17 caractérisé en ce que le transfert n'est pas autorisé si aucune voie ne satisfait à un critère de vote entre les données de toutes les voies. 19. Procédé de traitement informatique selon la revendication 17 caractérisé en ce qu'est autorisé le transfert de la donnée de la voie ~o ayant satisfait à un critère de vote entre les données de toutes les voies.