Brevet FR2566555A1 — publié le 19851227

La présente invention concerne un réseau d'ordina- teurs interconnectables pour des applications en temps réel, consistant en un sous-système de communication et en un cer- tain nombre d'ordinateurs individuels, formant les noeuds du réseau, avec une unité pour synchroniser l'horloge de temps réel locale de chaque unité d'ordinateur. Un réseau d.'ordinateurs, ou système d'ordinateurs distribués, consiste en un certain nombre d'ordinateurs auto- nomes (noeuds) pouvant être interconnectés par un sous-sys- tème de communication (réseau local). Une telle interconne- xion lâche se caractérise par le fait que seuls des messages sont échangés entre des ordinateurs formant les noeuds. Un message est une séquence de bits (comportant typiquement de à plusieurs centaines de bits) traitée comme un ensemble indivisible. Il y a suffisamment de récurrence ou redondance dans un message (codes de détection d'erreur ou CRC, c'est- à-dire contrôle de récurrence cyclique) pour qu'une modification de teneur d'un message résultant d'une erreur de transmis- sion puisse Lêtre décelée avec une probabilité suffisamment grande pour qu'on n'ait pas besoin, au plan du système, de considérer le cas o une telle faute apparaîtrait. On est donc fondé à supposer qu'un message arrive avec une teneur correcte ou bien qu'il n'arrive pas du tout (un message reconnu faux est tout simplement écarté). Selon l'état de la technique, chaque noeud du réseau à temps réel contient sa propre horloge locale de temps réel. La précision de ces horloges est déterminée de façon prédomi- nante par la précision du cristal de quartz local, c'est- à-dire que l'erreur relative est de l'ordre d'une partie par million. Quand une application en temps réei, par exemple un procédé technique, est commandée par un réseau distribué fonctionnant en temps réel, il faut synchroniser les horloges locales de temps réel de chaque noeud. La précision de cette synchronisation détermine les unités ou intervalles de temps que ce système peut encore résoudre ou mesurer. Dans un réseau fonctionnant en temps réel, cette synchronisation peut être réalisée par l'échange de messages (il n'eqt alors pas nécessaire de prévoir des canaux séparés pour la synchronisation des horloges). Le mode opératoire de synchronisation doit, dans la mesure du possible, être tolérant à l'égard de fautes, c'est-à-dire qu'une horloge défectueuse doit être reconnue comme telle et ne doit plus être prise en considération dans le processus de synchroni- sation. Il faut de même tolérer la perte de quelques messages. Au cours des années écoulées, il y a eu publication de quelques algorithmes pour une synchronisation, pouvant tolérer des fautes, des horloges de temps réel dans des réseaux d'ordinateurs reliés par l'intermédiaire de messages. Dans le cadre du projet de recherche SIFT (J.H. Wensley et col., "SIFT: The Design and Analysis of a Fault Tolerant System for Aircraft Control", Proceedings of the IEEE, volume 66, nl10, page 1240-1255, octobre 1978; SIFT: conception et analyse d'un système de commande d'avion pouvant tolérer des fautes), un prototype d'un réseau hautement fiable d'ordinateurs synchronisés par des messages a été construit. Un mini-ordinateur, qui était disponible sur le marché libre, a été choisi comme noeud du réseau. L'algorithme de synchro- nisatiqn a été mis en oeuvre dans l'ordinateur central (uni- que) de ce noeud, en parallèle avec le logiciel d'applica- tion. Uoici quelques résultats importants de ces travaux: (1) la charge ou complication de calculs pour l'algorithme de synchronisation pouvant tolérer des fautes augmente fortement avec le nombre de noeuds et le nombre de fautes tolérées. Il a été montré (K.G. Shin, C.M. Krishna, Synchronization and Fault Masking in Redundant Real-time Sytems, Proc. FTCS 14, Kissimee, Florida, p. 152-157) que cette charge de traitement se rapproche de la capacité de traitement des micro-ordinateurs modernes. (2) Dans un."réseau synchronisé par l'échange de messages, les imprécisions de mesure des instants d'émission et de réception-d'un message constituent les facteurs déter- minants de la précision que l'on peut obtenir pour la syn- chronisation des horloges. Un objet de la présente invention consiste à amélio- rer la précision de la synchronisation d'horloges de temps réel local dans un réseau fonctionnant en temps réel. Comme déjà mentionné, une cause essentielle de l'imprécision de la synchronisation réside dans l'imprécision de la détermination de l'instant d'émission et de l'instant de réception d'un message. Cette imprécision a les causes suivantes: (1) La durée de l'intervalle de temps entre deux signaux d'horloge ou.tic-tac de l'horloge de temps réel local. (2) Le délai souvent inconnu entre l'instant de passage du message au sous-système de communication locale du noeud et l'instant de transmission réelle du message au milieu de communication (c'est-à-dire- le délai inconnu d'attente jusqu'à ce que l'ordinateur constituant un noeud puisse accéder au milieu de communication). (3) L'intervalle de temps, inconnu dans de nombreux réseaux ou systèmes, entre l'instant d'arrivée du message dans le sous-système local de communication du récepteur et l'instant o cette arrivée du message est portée à l'attention de l'unité ou ordinateur central qui peut alors le traiter (l'ordinateur central peut avoir d'autres tâches importantes à réaliser et à terminer). (4) La durée de l'intervalle de temps entre deux cycles de synchronisation. Le temps de transmission du message dans le milieu est donné par la vitesse connue de transmission et la lon- gueur du milieu, et ce temps peut être calculé et corrigé. La présente invention résout le problème posé, dans un réseau d'ordinateurs fonctionnant en temps réel, en prévo- yant dans chaque ordinateur constituant un noeud du réseau une unité séparée de synchronisation placée de façon que la ligne de sortie nûmérique de l'horloge de -temps réel local transportant les signaux de temps non synchronisés soit directement connectée à une entrée numérique de cette unité de synchronisation et que la ligne de sortie numérique de cette unité de synchronisation, transportant les signaux de temps globalement synchronisés, conduise à des entrées numériques des.autres sous-système du noeud (ordinateur cen- tral., unités entrées/sorties). L'unité de synchronisation est directement connectée au sous-système de communication. -L'instant d'émission d'un message, mesuré dans la métrique de l'horloge de temps réel local de l'unité émettrice, est inscrit dans le message après que le sous-système de communi- cation ait accédé au milieu de communication et immédiatement avant que le message ne passe dans le milieu. L'instant d'arrivée d'un message est directement signalé du sous-sys- tème de communication à l'unité de synchronisation. En appli- quant un algorithme connu, l'unité de synchronisation engen- dre, à partir de-ces impulsions de temps non synchronisées et à partir des messages reçus des autres ordinateurs formant des noeuds, des impulsions-de temps synchronisées qui sont acheminées d'une sortie numérique de'l'unité de synchronisa- tion, par la ligne de transmission de signaux, aux entrées numériques des autres unités de l'ordinateur formant noeud. La connexion directe entre l'unité de synchronisa- tion et le sous-système de communication consiste en une ligne de signaux partant d'une sortie numérique du sous- système de communication pour aboutir à une entrée numérique de l'unité de synchronisation et à un raccord omnibus commun. L'invention sera maintenant décrite plus en détail, à titre illustratif et nullement limitatif, en regard du diagramme simplifié suivant: milieu (ligne) de communication avec d'autres noeuds du réseau I. horloge locale 1.3 de b unité de Sous-système de À.e. Àsynchronisation.communication temps réel 1 _ Unité sous-systèmes centrale entrée/sortie mémoire rr Ln Ln Ln _ _ _ _ _ _ iu L'unité de synchronisation peut être réalisée à l'aide d'une micro-calculatrice ou micro-ordinateur du marché (par exemple "Intel 8051") ayant un temps de réponse court après interruption. S'il faut une synchronisation plus précise, il peut s'avérer nécessaire, pour augmenter la vitesse, de réaliser l'unité de synchronisation en utilisant des compo- sants discrets à cirçuit de logique transistor-transistor (TTL) ou en utilisant un composant spécialement conçu de type circuit de logique intégré à multiplicateur (ou à inté- gration à large échelle). L'algorithme de synchronisation, qui ne constitue pas.l'objet de la présente invention, sera mis en oeuvre dans l'unité de synchronisation en coopération avec l'unité centrale ou ordinateur central du noeud du réseau. La réalisation de cette unité de synchronisation autonome permet d'augmenter le temps de cycle de l'horloge locale de temps réel du noeud et diminue ainsi l'imprécision des mesures de temps tout en diminuant la charge imposée à l'unité centrale. Du point de vue du logiciel, cette unité de synchronisation conduit à une séparation des tâches et donc à une diminution de la complexité du logiciel. On voit sur le diagramme schématique ci-dessus que la sortie numérique de l'horloge locale de temps réel est connectée (1) à une entrée numérique de l'unité de synch-roni- sation. Les signaux de temps globalement synchronisés, produits à une ligne de sortie numérique de l'unité de syn- chronisation, peuvent servir à commander, par l'intermédiaire d'une ligne (2), les activités d'autres sous-systèmes. L'unité de synchronisation est aussi connectée à l'aide d'un élément omnibus aux autres sous-systèmes du noeud. De plus, une ligne de signaux est prévue entre le sous-système de communication et l'unité de synchronisation pour indiquer l'instant d'arrivée d'un message de manière que le temps d'arrivée puisse être enregistré sans retard. Une seconde ligne de signaux peut indiquer à l'unité de syn- chronisation que le sous-système de communication a accédé au milieu (ou ligne).de communication de manière que le temps réel d'émission du message puisse être inscrit immédiatement dans le message avant son émission. Quand la stratégie d'accès au milieu de-communication s'effectue par un proto- tocole d'accès multiples par répartition dans le temps, cette seconde ligne n'est pas nécessaire. REVENDICATIONS 1. Réseau d'ordinateurs interconnectables pour des applications-en temps réel, -consistant en un sous-système de communication et un certain nombre d'ordinateurs formant les-noeuds du réseau et comportant, dans chaque noeud, une horloge locale de temps réel, réseau caractérisé en ce qu'il comporte une unité séparée destinée à synchroniser les horlo- ges locales de temps réel.et en ce que ladite unité de syn- chronisation est placée sur l'ordinateur formant noeud du I0 réseau de manière que la ligne de sortie numérique de l'hor- loge locale de temps.réel transportant les signaux de temps non synchronisés est directement reliée à une entrée numéri- que de cette unité de synchronisation et la ligne de sortie -numérique de cette unité de synchronisation, transportant les signaux de temps synchronisés, conduit à des entrées numériques des autres sous-systèmes du noeud (unité centrale, unités à entrées/sorties), cette unité de synchronisation étant également reliée avec le sous-système de communication de manière que l'instant d'émission d'un message, mesuré dans la métrique de l'horloge locale de temps réel de l'émet- teur et contenu dans le messagepet l'instant d'arrivée du messagepuissent être communiqués à l'unité de synchronisa- tion de manière que cette unité de synchronisation engendre, à partir des renseignements concernant l'instant d'émission et drarrivée de ce message dans les autres noeuds et à partir des signaux locaux de temps non synchronisés, à l'aide d'un algorithme connu-, les signaux de temps synchronisés émis sur la ligne de sortie précitée en direction des autres uni- tés de l'ordinateur formant noeud. 2. Réseau d'ordinateurs interconnectables selon la revendication 1, caractérisé en ce que la connexion entre l'unité de synchronisation et le sous-système de communica- tion consiste en un élément omnibus commun et en une ligne de signaux partant d'une sortie numérique du sous-systèmse de communication pour parvenir à l'une des entrées numériques de l'unité de synchronisation.