FR2561009A1 - Systemes de traitement de donnees comportant au moins deux unites de traitement de donnees ayant chacune acces aux memes donnees - Google Patents

Systemes de traitement de donnees comportant au moins deux unites de traitement de donnees ayant chacune acces aux memes donnees Download PDF

Info

Publication number
FR2561009A1
FR2561009A1 FR8503539A FR8503539A FR2561009A1 FR 2561009 A1 FR2561009 A1 FR 2561009A1 FR 8503539 A FR8503539 A FR 8503539A FR 8503539 A FR8503539 A FR 8503539A FR 2561009 A1 FR2561009 A1 FR 2561009A1
Authority
FR
France
Prior art keywords
data
node
nodes
address
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8503539A
Other languages
English (en)
Other versions
FR2561009B1 (fr
Inventor
James Colin Dann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales Training and Simulation Ltd
Original Assignee
Thales Training and Simulation Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GB848406322A external-priority patent/GB8406322D0/en
Priority claimed from GB848420617A external-priority patent/GB8420617D0/en
Application filed by Thales Training and Simulation Ltd filed Critical Thales Training and Simulation Ltd
Publication of FR2561009A1 publication Critical patent/FR2561009A1/fr
Application granted granted Critical
Publication of FR2561009B1 publication Critical patent/FR2561009B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

LA PRESENTE INVENTION CONCERNE UN SYSTEME DE TRAITEMENT DE DONNEES FONCTIONNANT EN TEMPS REEL. CE SYSTEME EST CARACTERISE EN CE QU'IL COMPREND AU MOINS DEUX NOEUDS DE TRAITEMENT, UNE MEMOIRE DE DONNEES 16 DANS CHACUN DES NOEUDS, CHAQUE MEMOIRE DE DONNEES 16 ETANT DIVISEE EN SECTIONS POUR LE STOCKAGE DE DONNEES LOCALES ET POUR LE STOCKAGE DE DONNEES DEVANT ETRE PARTAGEES ENTRE LES NOEUDS, UNE LIGNE DE TRANSMISSION DE DONNEES 12, 18 INTERCONNECTANT LES NOEUDS, DES MOYENS POUR ALLOUER A CHAQUE ADRESSE DANS LES SECONDES SECTIONS DES MEMOIRES DE DONNEES UN NOEUD RESPECTIF QUI DOIT ETRE LE NOEUD "MAITRE" POUR CETTE ADRESSE, ET DES MOYENS POUR EMPECHER QU'UNE DONNEE SOIT INSCRITE DANS UNE ADRESSE QUELCONQUE DANS LA SECONDE SECTION D'UNE MEMOIRE DE DONNEES AUTRE QUE CELLE DU NOEUD "MAITRE" ALLOUE.

Description

La présente invention concerne des systèmes de traitement de données
comportant au moins deux unités de
traitement de données ayant chacune accès aux mêmes don-
nées. Chaque unité de traitement de données peut être un ordinateur pratiquement indépendant ou bien elle peut coopé-
rer avec une ou plusieurs des autres unités de traitement.
Des unités de traitement de données de l'un ou l'autre type sont appelés ci-après des "noeuds" et les données auxquelles deux ou plusieurs noeuds ont accbs, sont appelées ci-dessous
des "données partagées".
Dans un système connu utilisé, par exemple, dans des simulateurs de vol, une donnée partagée est conservée dans une mémoire de données commune qui est accessible à deux ou
plusieurs noeuds. Chaque noeud peut également avoir sa pro-
pre mémoire locale pour conserver des données auxquelles seul le noeud considéré a accès. Un problème qui survient avec un tel système est que les noeuds doivent entrer en compétition pour pouvoir avoir accès à la donnée partagée et par conséquent il peut se produire un conflit entre deux ou plusieurs noeuds qui essayent chacun simultanément d'avoir accès au même article de la donnée partagée se trouvant dans la mémoire commune. En outre il se produit des retards de transmission appréciables entre la mémoire contenant la donnée partagée et les noeuds relativement éloignés. Il en résulte que l'accès aux données partagées peut être très lent. Le brevet US-3 889 237 décrit un système à deux
noeuds dans lequel chaque noeud reçoit, dans sa propre mé-
moire locale, une copie constituant une reproduction de la donnée partagée. Pour pouvoir être sûr que les deux copies sont maintenues conformes l'une à l'autre, chaque noeud a un accès direct à la mémoire locale de l'autre noeud de manière que l'on puisse inscrire simultanément une nouvelle valeur de la donnée partagée dans les deux mémoires locales. Un problème que l'on rencontre avec cette solution antérieure est qu'un conflit peut intervenir entre les noeuds si ces deux noeuds tentent d'avoir accès, au même moment, au même article de la donnée partagée, et chaque noeud doit attendre que toutes les inscriptions dans les portions des mémoires locales affectées aux données partagées soient achevées avant que le traitement puisse se poursuivre. Ceci entraîne une réduction notable du rendement du système et rend très difficile l'extension de cette solution à plus de deux noeuds.
Le brevet européen NOO 092 895 décrit un autre sys-
tème dans lequel chaque noeud a sa propre mémoire locale dans laquelle est stockée une donnée partagée. Les noeuds sont interconnectés par une ligne de transmission de donnée et chaque fois qu'un noeud procède à une inscription dans
une adresse de sa mémoire locale contenant une donnée parta-
gée, il produit également un message contenant la donnée inscrite ainsi que ladite adresse. Ce message est appliqué à la ligne de transmission et les autres noeuds utilisent la donnée inscrite pour mettre à jour l'adresse de la donnée
partagée appropriée dans leur propres mémoires locales.
Chaque noeud continue le traitement après l'inscription dans une adresse de donnée partagée et il n'attend pas que le message relatif à la donnée inscrite ait atteint les autres noeuds. La ligne de transmission est organisée sous la forme d'un anneau de "jetons" à un seul "jeton" si bien qu'un seul
message peut être présent sur l'anneau à un instant quelcon-
que. Ainsi chaque noeud reçoit des messages suivant la même séquence, en établissant ainsi un ordre chronologique pour les messages même si les noeuds individuels fonctionnent d'une manière asynchrone. Cependant si un premier noeud reçoit un message d'inscription de donnée à partir d'un deuxième noeud tandis que le premier noeud se trouve encore avoir à transmettre un message en cours d'inscription de donnée, le message reçu peut être superposé à l'adresse de
donnée o a déjà été effectuée l'inscription par le deuxiè-
me noeud. L'adresse de donnée pourrait alors être en quelque sorte "surimprimée" par une valeur chronologiquement plus récente et les données stockées dans les mémoires de données partagées des différents noeuds ne se trouveraient plus correspondre les unes aux autres. Pour empêcher que ceci ne
se produise, le processeur du deuxième noeud voit son acti-
256 100
vité suspendue dans toute la durée de l'accomplissement du ou des messages en cours.- La suspension des processeurs entraîne naturellement un ralentissement du fonctionnement du système et ceci constitue un problème sérieux lorsqu'il y a un trafic de messages très dense. Dans les systèmes de caleul en temps réel tels que ceux utilisés pour les simulateurs d'entraînement au vol, la vitesse à laquelle le système fonctionne a une importance fondamentale. On connait déjà des systèmes fonctionnant en temps réel dans lesquels chaque noeud d'une série de noeuds
assume une fonction particulière mais ce dans un cadre tem-
porel imposé par un ordinateur de commande du système. Des exemples de tels systèmes sont décrits dans les brevets
US-4 414 624 et 4 351 025.
Dans le brevet US-4 414 624 les opérations des noeuds sont réglées par l'ordinateur de commande en fonction du traitement requis. Au début de chaque "cadre" temporel un mot de commande de temps est transmis à chaque noeud
afin d'établir le temps disponible pour le traitement. Cha-
que noeud a une mémoire locale pour stocker les données partagées et chaque noeud peut effectuer simultanément et globalement des inscriptions dans certaines des mémoires
locales des autres noeuds ou dans la totalité de ces mémoi-
res. Toutes les données sont tout d'abord inscrites dans une mémoire commune et ensuite la donnée requise est lue, à partir de la mémoire commune, pour être dirigée vers les mémoires locales. Ainsi chaque remise à jour d'un article d'une donnée dans une mémoire locale exige à la fois une étape d'inscription dans la mémoire commune et une étape de lecture en direction de la mémoire locale. Ceci ralentit
considérablement la vitesse de fonctionnement du système.
Suivant le brevet US-4351025 le fonctionnement en temps réel des noeuds et celui de l'ordinateur de commande du système sont entrelacés sans chevauchement, l'inscription de données en provenance des noeuds étant répartie pendant le segment de temps de fonctionnement de l'ordinateur de commande du système. Une telle disposition est relativement aisée à obtenir mais elle est relativement lente du point de vue fonctionnement du fait que les deux parties du système
fonctionnent alternativement et non pas continuellement.
Ainsi dans les systèmes suivant la technique anté-
rieure y compris les systèmes fonctionnant en temps réel, un
protocole de fonctionnement rigide est établi afin de main-
tenir la cohérence des données partagées dans les diverses mémoires locales. Ce protocole rigide limite d'une manière inévitable la vitesse et la souplesse de fonctionnement des
systèmes.
Un but de la présente invention est d'éliminer ou de
limiter les problèmes précités.
Suivant l'invention il est prévu un système de traitement de données fonctionnant en temps réel caractérisé en ce qu'il comprend au moins deux noeuds de traitement, une mémoire de données dans chacun des noeuds, chaque mémoire
de données étant divisée en sections dont une première sec-
tion est réservée pour le stockage de données locales con-
cernant le noeud respectif et une seconde section est réser-
vée pour le stockage de données devant être partagées entre
les noeuds, une ligne de transmission de données intercon-
nectant les noeuds, des moyens dans chaque noeud, pour pro-
duire un message d'inscription comprenant une adresse et une donnée devant être inscrite à ladite adresse chaque fois que le noeud procède à une inscription à une adresse se trouvant
dans la seconde section d'une mémoire de données, des mo-
yens pour transmettre chaque message produit par l'inter-
médiaire de la ligne de transmission de données, en direc-
tion de chacun des noeuds, des moyens pour allouer chaque adresse dans les secondes sections des mémoires de données un noeud respectif qui doit être le noeud "maltre" pour cette adresse, et des moyens pour empêcher qu'une donnée soit inscrite dans une adresse quelconque dans la seconde section d'une mémoire de données autre que celle du noeud
"maître" alloué.
Comme chaque adresse des mémoires de données qui contient une donnée partagée entre les noeuds peut être soumise à une inscription par un seul processeur de noeud, il n'est pas nécessaire d'imposer des commandes rigides en ce qui concerne la priorité allouée aux messages d'inscription, pour être sor que la donnée partagée ne devienne
pas altérée. Ceci permet d'accroltre la vitesse de fonction-
nement du système mais en outre on peut utiliser un nombre
relativement grand de noeuds opérant en parallèle en utili-
sant des unités de traitement standards, sans procédures de fonctionnement complexes. On peut satisfaire d'une manière relativement aisée à une large gamme d'exigences diverses des systèmes fonctionnant en temps réel. Par exemple la
présente invention trouve des applications dans les simula-
teurs de vol et autres simulateurs, les systèmes de comman-
des de processus industriels et les systèmes de commande anti-incendie. De préférence un comparateur de gamme d'adresses est prévu pour chaque noeud, afin de comparer l'adresse d'un message d'inscription de donnée produit par ce noeud avec une gamme prédéterminée d'adresses, et de transférer le message d'inscription de donnée sur la ligne de transmission
de données uniquement si l'adresse comparée se trouve com-
prise dans la gamme d'adresses prédéterminée. Ainsi le com-
pararateur d'adresses détermine effectivement quelles sont les adresses dans la mémoire de donnée partagée qui peuvent être soumise à une inscription par les noeuds respectifs. Un autre comparateur d'adresses peut être prévu pour chaque noeud pour comparer l'adresse d'un message d'inscription de donnée reçu à partir de la ligne de transmission de données avec une gamme d'adresses prédéterminée et pour transférer le message d'inscription de donnée ainsi reçu à la mémoire
de données locale uniquement si l'adresse comparée se trou-
ve comprise dans la gamme d'adresses prédéterminée. Ainsi ce comparateur d'adresses additionnel détermine les adresses dans une mémoire locale o une donnée peut être inscrite à
partir de la ligne de transmission de données.
Les noeuds peuvent être connectés en parallèle par une ligne de transmission de données unique ou bien encore
par une pluralité de telles lignes. En outre on peut égale-
ment prévoir des structures plus complexes du sytème. Par exemple les noeuds peuvent être disposés en une pluralité de groupes, les noeuds de chaque groupe étant connectésen
parallèle par une ligne de transmission de données respec-
tive et l'un au moins des noeuds appartenant à deux groupes différents. Avec une telle disposition la section de la mémoire de données recevant la donnée partagée dans le
noeud appartenant aux deux groupes est divisée en une plura-
lité de sous-sections, chacune de ces sous-sections recevant les données devant être partagées entre les noeuds d'un groupe respectif. Un logiciel est prévu pour commander le transfert d'une donnée d'une sous-section à l'autre lorsque
la donnée doit être partagée entre deux groupes de noeuds.
De préférence il est prévu une autre mémoire qui est
connecté à la ligne de transmission de données sur laquel-
le des données d'entrée/sortie peuvent être inscrites par les noeuds. Les adresses attribuées à cet effet sont alors prévues dans les mémoires de données locales des noeuds à partir desquelles les données peuvent être lues et o des données peuvent être inscrites, par. l'intermédiaire de la
ligne de transmission de données.
On décrira ci-après,à titre d'exemples non limita-
tifs, diverses formes d'exécution de la présente invention, en référence au dessin annexé sur lequel: La figure 1 est un schéma synoptique d'un système de
traitement de données connu.
La figure 2 est un schéma synoptique d'une forme
d'exécution de la présente invention.
La figure 3 illustre schématiquement les lignes
prévues sur un bus de données représenté 'sur la figure 2.
La figure 4 est un schéma synoptique d'une unité de détection de lecture/inscription représentée sur la figure 2. Les figures 5,6,7,8,9 illustrent schématiquement
diverses variantes de structures de systèmes suivant l'in-
vention. Si on se réfère à la figure 1, on y voit que le système connu illustré est un système disponible dans le
commerce basé sur l'ordinateur GOULD Computer Systems Divi-
sion 32/27. Une unité de traitement centrale (CPU) 1 est branchée sur un bus.d'ordinateur 2 de capacité 26,6 MB/s,
connu sous le nom de "SELBUS", lequel constitue le bus prin-
cipal de communication rapide. Une mémoire de données réa-
lisée sous la forme d'un module de mémoire à circuit intégré
(IMM) 3, assure une capacité de mémoire de IMB et la logi-
que de commande de mémoire associée. Une unité IOP 4 est un contrôleur qui supporte une console 5 du système et qui constitue le contrôleur "maître" pour un bus universel
(MPBUS) 6 de capacité 1 MB/s.
Des dispositifs à grande vitesse tels que des con-
trôleurs à disques ou bandes 7 et un interface (HSDI) 8 avec
un dispositif à grande vitesse sont connectés au bus prin-
cipal 2. Des périphériques à petite vitesse tels que des
contrôleurs 9 à écran cathodique (à fonctionnement ssyn-
chrone sur 8 lignes), des contrôleurs 10 d'imprimantes en lignes/disquettes, etc.. sont connectés au MPBUS 6. Les termes "SELBUS", "IMM","IOP","MPBUS","IPU"et"HSDI" sont ceux qui sont utilisés par le fabricant pour décrire les éléments du système de calcul connus COULD 32/27 et une nomenclature différente peut être utilisée par les autres fabricants pour
les composants équivalents. La nomenclature GOULD est em-
ployée présentement uniquement à des fins de commodité.
Un système suivant l'invention est illustré sur la figure 2. Le système illustré comprend une série d'unités de
traitement 11 basées chacune sur un ordinateur GOUJLD 32/27.
Chaque unité de traitement 11 a son piopre SELBUS 12 et
fonctionne d'une manière asynchrone par rapport aux autres.
Les unités de traitement 11 n'attaquent pas des périphéri-
ques mais elles sont connectées à une autre unité de traite-
ment 13 qui est pourvue d'un équipement complet de périphé-
riques complémentaires. Chacune des unités de traitement 11
effectue un traitement lié à un aspect particulier du sys-
tème; par exemple dans le cas d'un système de simulateur de vol une unité 11 calcule les paramètres du vol tels que par
exemple l'altitude, une autre unité 1l calcule les paramè-
tres du moteur, tels que par exemple la poussée, une autre unité 11 calcule les paramètres du pilote automatique et ainsi de suite. Chacune des unités de traitement 11,13 avec l'équipement qui lui est associé, tel que les mémoires de
données, constitue un noeud du système.
Comme les noeuds de calcul comportant les unités de traitement 11 n'attaquent pas des périphériques, la capacité d'entrée/sortie requise de ces noeuds est limitée, toute les
opérations d'entrée/sortie lentes étant exécutées par l'u-
nité de traitement 13 qui est située à l'extrémité du sys-
tème. Ceci permet de maximimiser la puissance de calcul disponible en temps réel pour chaque noeud de calcul. Un
canal secondaire RS 232 assure les fonctions d'initialisa-
tion et de commande et il contribue également à faciliter les diagnostics de dépannage dans le cas o le système se
révèle être défaillant.
Chaque unité de traitement 11 est augmentée d'un nombre d'unités de processeurs parallèles similaires (PPU) 14. Chaque unité parallèle PPU 14 est semblable à l'unité de processeur interne (IPU) GOULD présente sur les ordinateurs
GOULD 32/67, 32/77, 32/87 mais elle peut être étendue, con-
formément aux techniques conventionnelles, pour permettre
d'utiliser plus de deux processeurS 32/27 par SELOUS 12.
Une console d'opérateurs isolés (UOC) 15 est as-
sociée à chaque unité de traitement 11. La console UOC 15 est essentiellement un IOP (figure 1), avec une logique suplémentaire afin d'éviter la nécessité de la présence d'un MP8US qui est normalement prévu lorsque des périphériques
doivent être attaqués.
Le SELBUS 12 de chaque unité de traitement 11,13 est connecté par un module de mémoire intégré à fenêtre double
(DPIMM) 16 et par une logique de détection de lecture/ins-
cription 17, à une ligne de transmission de données 18 d'une
capacité de 26,6 Mb/s ou à un bus de mémoire réfléchissante.
Z561009
Le DPIMM 16 est fourni par GOULD et il est agencé normale-
ment avec sa seconde fenêtre connectée à l'équipement péri-
phérique, c'est-à-dire à des fin d'entrée/sortie. Cependant dans l'agencement illustré le DPIMM 16 est utilisé pour permettre de réaliser un système de "mémoire réfléchissante"
suivant l'invention.
Le principe du système de "mémoire réfléchissante" illustré est que chaque mémoire de données DPIMM 16 qui contient 2 mégabits de mémoire, est subdivisée logiquement
en un point déterminé. La totalité des données et du pro-
gramme d'un côté de ce point prédéterminé sont affectés localement au SELBUS 12 de l'unité 11 ou 13 dans laquelle se trouve la mémoire de données DPIMM 16 tandis que la totalité des données et du programme de l'autre côté du point précité sont partagés, par l'intermédiaire du bus 18, avec les
autres unités 11,13. L'unité logique de détection de lec-
ture/inscription 17 convertit l'usage du DPIMM 16 en système
local/partagé. L'unité logique de détection de lec-
ture/inscription 17 est connectée à la seconde fenêtre de chaque DPIMM 16. Si une unité de traitement centrale 13,11 (ou PPU 14) procède à une inscription à une adresse dans la partie des données partagées de son DPIMM 16 associé, ceci est détecté par l'unité logique de détection de
lecture/inscription 17 et l'adresse et la donnée sont appli-
quées sur le bus 18 de la mémoire réfléchissante. Tout les DPIMM 16 acceptent alors automatiquement cette donnée et l'admettent dans leurs propres mémoires. Tout les DPIMM 16 possèdent ainsi, dans leurs propres mémoires, une copie de toutes les données partagées. Chaque unité de traitement
peut ainsi avoir accès à la donnée qu'elle requiert directe-
ment à partir de sa mémoire de données respective (DPIMM 16). L'accès n'est jamais retardé par suite du fait qu'un autre processeur se trouve en train d'avoir accès à la même
mémoire de données.
Il est d'une importance fondamentale d'empêcher des "collisions" dues au fait que deux ou plusieurs processeur se trouvent en train d'essayer de traiter simultanément le même article de donnée. Ceci est réalisé au moyen de l'unité logique de détection de lecture/inscription 17 qui, ainsi qu'il a été décrit ci-dessus, est utilisée pour délivrer un ordre d'inscription unique en direction de chacun des autres
noeuds du système. Chaque noeud a sa propre séparation uni-
que des adresses si bien qu'un seul noeud est capable d'ins- crire une donnée dans n'importe quelle adresse dans les
sections des données partagées des mémoires de données, l'a-
dresse pour un article de donnée dans une mémoire de don-
nées 16 étant la même que l'adresse pour ce même article de
donnée dans toutes les autres mémoires de données 16.
Ainsi, bien que tous les noeuds soient capables de procéder à une inscription dans les sections de données partagées de toutes les mémoires de données 16, les seules transactions qui ont effectivement lieu, sont celles dans lesquelles
l'adresse à laquelle une donnée doit être inscrite, se trou-
ve dans le segment de mémoire pour lequel le système est "maetre". Par exemple, dans un simulateur de vol comprenant un processeur de vol, seul ce processeur peut effectivement
changer la valeur stockée pour l'altitude parce que l'alti-
tude se trouve comprise à l'intérieur de ses limites d'adresses mais à l'extérieur des limites d'adresses de tous les autres processeurs. Ces autres processeurs peuvent lire la valeur stockée de l'altitude mais ils ne peuvent pas la modifier. On évite ainsi des écarts numériques sans qu'il soit nécessaire de prévoir des procédures complexes pour maintenir le même ordre chronologique pour les remises à jour des données partagées dans les différentes mémoire de données. L' unité logique de détection de lecture/inscription 17 peut assumer une fonction supplémentaire, à savoir
qu'elle peut détecter des requêtes de lectures et d'inscrip-
tions en entrée/sortie à des adresses associés à des données
d'entrée/sortie dans la mémoire du DPIMM 16. L'adresse re-
présente un emplacement dans une mémoire vive 19 qui est connectée à un équipement d'entrée/sortie à grande vitesse de l'utilisateur, par exemple un câble de liaison entree/sortie avec un simulateur de vol. Ceci permet une acquisition rapide de données. (Le DPIMM 16 a été utilisé 1l antérieurement pour des fonctions d'entrée/sortie, mais
dans le cas d'un transfert en bloc et non pas pour le trans-
fert d'élément de données individuels). Ce type d'entrée/sortie peut être appelé MNIO (entrée/sortie h carte de mémoire). Le traitement des communications entre le SELBUS 12 d'un noeud quelconque et le bus de mémoire réfléchissante 18 sera maintenant décrit d'une manière plus détaillée en se
référant aux figures 3 et 4.
Les bus 12 et 18 transportent chacun des signaux parallèles correspondants aux données, aux adresses, h l'organisation des bus et la commande des bus, et ce avec un débit de 26,6 MB/s. Ce débit des données peut être maintenu pour une longueur de bus de 12 mètres mais il doit être réduit si le bus est plus long, ce débit étant par exemple
de 13,3 MB/s pour un bus ayant une longueur de 24,4 mètres.
La figure 3 représente schématiquement le bus 18 qui com-
prend trente deux lignes de données LD, vingt quatre lignes d'adresse LA, neuf lignes de requête de bus RB, neuf lignes d'accord de bus AB, quatre lignes d'identité de noeud, et des lignes de commande LC dont seules deux sont représentées
comme concernant la communication de données par l'inter-
médiaire du bus 18. I1 y a neuf noeuds en tout, chacun
d'eux étant affecté à des lignes respectives parmi les ii-
gnes de requête de bus RB et d'accord de bus AB, l'un de ces noeuds comprenant une unité de traitement central CPU 13 tandis que les autres noeuds comprennent chacun une unité de
traitement central CPU 11.
La figure 4 représente d'une manière plus détaillée que la figure 2 l'agencement du DPIMM 16 et de 1' unité logique de détection de lecture/inscription 17 connectés entre le bus 12 et le bus 18. On supposer1a que le processeur de noeud associé au circuit de la figure 4 doit procéder à une inscription dans la mémoire de données 16. La donnée devant être inscrite et son adresse sont chargées dans un circuit de verrouillage 20 et l'adresse o cette donnée doit
être inscrite est chargé dans un comparateur d'adresses 21.
Si on suppose que la donnée a réussi h être inscrite dans la
61009
mémoire de données 16, un signal "inscription réussie" est appliqué à un détecteur 22. Le signal "inscription réussie" est transmis par une des lignes de commande LC du bus 12 d'une manière tout à fait conventionnelle. Si l'adresse ne se trouve pas comprise dans une gamme d'adresses prédétermi- née, ce qui est contrôlé par le comparateur 21, elle est
alors relative à une donnée locale et ne doit pas être par-
tagée avec les autres noeuds. Par contre, si l'adresse se trouve comprise dans la gamme d'adresse prédéterminée, le comparateur 21 délivre un signal de sortie appliqué à une entrée d'une porte ET 23. Le détecteur 22 délivre également un signal de sortie appliqué à une autre entrée de la porte ET 23 qui commande alors le circuit de verrouillage 20 de telle façon que l'adresse et la donnée se trouvant dans ce circuit de verrouillage 20 soient chargées dans un registre "premier entré premier sorti" (FIFO) 24 uniquement si
l'adresse se trouve comprise dans la gamme d'adresses prédé-
terminée et si le signal "inscription réussie" a été détec-
té. Le registre FIFO 24 peut assembler, les uns à la suite des autres, jusqu'à soixante quatre messages pour la transmission, bien que normalement il n'y ait qu'un ou deux messages dans la file. Si une file de soixante messages ou
davantage est formée, un signal "occupé" est fourni au sys-
tème de manière à augmenter la priorité du noeud respectif lorsque celuici formule des requêtes d'accès au bus. Un circuit approprié (non représenté) est prévu pour suspendre le processeur de noeud associé si le registre FIFO 24 est
rempli de messages attendant leur transmission.
Lorsque le registre FIFO 24 emmagasine un message en vue de sa transmission, ceci est détecté par un circuit logique 25 de requête, de bus lequel délivre un signal de requête de bus sur la ligne RB respective du bus 18. Ce
signal de requête de bus est transmis à l'unité de traite-
ment central 13 (figure 2) qui commande les opérations sur le bus 18. Cette unité 13 accorde l'accès aux noeuds qui ont des messages à transmettre, à raison d'un à la fois, dans un ordre prédéterminé si bien que le premier message se
L561009
trouvant dans la file de chaque noeud est transmis pendant
un cycle de fonctionnement du bus 18, et ainsi de suite.
Ainsi le circuit logique de requête de bus 25 reçoit, en temps opportun, un signal "accord du bus" en provenance du bus 18 et qui amène ensuite le message présent dans le re- gistre FIFO à être appliqué au bus 18 par l'intermédiaire
d'un transmetteur 26.
On supposera maintenant que le circuit de la figure 4 est celui d'un noeud en train de recevoir le message transmis et on décrira le traitement de ce message. Lorsque l'unité de traitement central 13 accorde une requête de bus, un signal d'horloge est transmis sur l'une des lignes de commande LC du bus 18. Ce signal d'horloge est utilisé pour initialiser un cycle de transmission et de réception d'un message. Lorsque message a été transmis, il est contrôlé, en ce qui concerne sa validité, par l'unité de traitement
central 13, suivant des routines conventionnelles, par exem-
ple au moyen d'un contrôle de parité, et si la donnée pré-
sente sur le bus est trouvée être valide, un signal "donnée valide" est transmis sur l'autre ligne de commande LC du bus 18. Ainsi le messagetransmis est encadré par les signaux
d'horloge et de "donnée valide".
La donnée et l'adresse transmises sont chargées dans un circuit de verrouillage 27 par un récepteur 28 et l'adresse est chargée dans un comparateur d'adresses 29. Le signal "donnée valide" est détecté par un détecteur de donnée valide 30. Une porte ET 31 a deux entrées connectées repectivement au comparateur 29 et au détecteur 30. Dans le comparateur 29 est enregistrée une gamme prédéterminée d'adresses qui correspondent aux parties de la mémoire de
données 16 dans lesquelles peuvent être effectuées des ins-
criptions par des noeuds autres que celui pour lequel la mémoire de données 16 est la mémoire locale. Si l'adresse reçue se trouve dans ladite gamme et si le signal "donnée valide" est détecté, la porte 31 commande le transfert de la
donnée du message se trouvant dans le circuit de verrouil-
lage 27 à un registre FIFO 32 qui stocke une file de messa-
ZS61009
ges pouvant aller jusqu'à soixante quatre messages conte-
nant des données devant être inscrites dans la mémoire de
données 16.
Lorsque le registre FIFO 32 contient un message devant être inscrit dans la mémoire de données 16, une
requête de transfert dans la mémoire est adressée à un cir-
cuit logique de requête 33 qui communique avec la mémoire de données 16 et qui reçoit en temps opportun un signal d'accord de requête en provenance de cette mémoire 16. Le premier message dans la file de messages contenus dans le registre FIFO 32 est alors envoyé pour mettre à jour
l'adresse appropriée de la mémoire 16.
Il peut arriver qu'un nombre significatif de messa-
ges formés dans les registres FIFO 24 et 32 contiennent des articles de données qui sont inscrits, en temps opportun,
dans les mémoires, dans un ordre différent de l'ordre chro-
nologique suivant lequel ils ont été produits. Cdpendant, comme chaque adresse affectée à une donnée partagée peut
être inscrite uniquement par son propre "noeud maître" uni-
que, et les messages produits par ce noeud sont assemblés dans le registre FIFO 24 et transmis à partir de celui-ci
dans l'ordre chronologique, chaque adresse de mémoire indi-
viduelle est remise à jour dans l'ordre correct. Les données dans différentes adresses peuvent sortir quelque peu de l'ordre chronologique mais dans des systèmes interactifs fonctionnant en temps réel la vitesse de changement de paramètres stockés est relativement lente si on la compare avec la vitesse d'itération du système et par conséquent ceci ne pose pas de problème. Ainsi il n'est pas nécessaire pour le concepteur du système d'imposer des procédures strictes pour maintenir une chronologie et il est simplement
nécessaire de régler correctement les comparateurs d'adres-
ses 21 et 29. Le système est par conséquent très souple et relativement facile à réaliser même dans le cas de fonctions en temps réel très complexes telles que la simulation de vol. Les quatres lignes d'identité des noeuds IN (figure 3) du bus 18 assure l'identification du noeud qui est à
l'origine d'un message transmis sur le bus. Cette informa-
tion n'est pas nécessaire pour permettre à la donnée d'être traitée par l'unité logique de détection de lectu- re/inscription 17 (figure 4) mais elle est fournie pour permettre de surveiller le trafic sur le bus 18. Les défauts et les "engorgements" sur le bus 18 peuvent être détectés plus facilement et on peut y remédier si cette information
additionnelle est disponible.
Les figures 5 à 7 illustrent schématiquement trois configuration d'un système qui sont possibles suivant l'invention. La figure 5 représente la configuration de la
figure 2 c'est-à-dire le cas d'une série de noeuds N con-
nectés par un bus unique de mémoire réfléchissante RM1. La figure 6 représente une configuration similaire à celle de la figure 5 mais avec deux bus de mémoire réfléchissante parallèles RM1 et RM2. Avec une telle disposition le système fonctionne normalement en utilisant le bus RM1, le bus RM2 étant alors inactif, mais dans le cas de dommages causes au bus RM1 le système est commuté pratiquement immédiatement sur le bus RM2. En surveillant les conditions des bus et en pilotant séparément les bus RM1 et RM2 on peut obtenir un
ensemble fonctionnant en toute sécurité. En outre la sécu-
rité du système pourrait être obtenue en dupliquent ces
noeuds de traitement eux-mêmes, l'un de ses noeuds fonction-
nant normalement tandis que l'autre reste en réserve, chaque
paire de noeuds étant connectés aux deux bus RM1 et RM2.
Dans les montages suivant les figures 5 et 6 chaque bus de mémoire réfléchissante est connecté à chaque noeud de telle façon que les deux noeuds les plus éloignés l'un de l'autre ne soient pas écartés d'une distance supérieure à la limite de transport du bus qui est habituellement de douze mètres pour un débit de 26,6 MB/s. Dans certains cas il est fortement désirable de pouvoir placer des noeuds écartés d'une plus grande distance, par exemple dans le cas de systèmes de surveillance anti-incendie à bord de bateaux o l'on cherche à maintenir le système opérationnel même
* si un noeud est totalement détruit, et à répartir très lar-
gement les noeuds de telle façon que des dommages localisés ne puissent pas entraîner la mise hors service d'un nombre appréciable de noeuds. La figure 7 illustre un agencememnt suivant l'invention qui permet de faire en sorte que la distance entre les noeuds adjacents les plus proches soit égale à la distance de transport maximale du bus de mémoire réfléchissante. Dans le montage illustré sur la figure 7, une série de six noeuds N1 à N6 sont disposés effectivement en cinq paires N1 N2, N2 N3, N1 N4, N2 N5 et N3 N6, chacune de ces paires fonctionnant conformément aux procédures décrites précédemment en référence à la figure 2. Les paires de noeuds sont reliées par des bus de mémoire réfléchissante respectifs RM1 à RM5. Chaque noeud a une mémoire séparée en une section de données locales et une section de données partagées mais la section des données partagées est en outre séparée en sous- sections dont chacune est affectée à un bus
de mémoire réfléchissante respectif. Ainsi chaque noeud com-
prend une section de données partagées mais celle du noeud N1 est subdivisée en deux sous-sections, celle du noeud N2 est subdivisée en trois sous-sections et celle du noeud N4 n'est pas subdivisée. Chaque sous-section de la mémoire
affectée aux données partagées a son propre circuit de dé-
tection de lecture associé qui est équivalent aux composants
27 à 33 de la figure 4.
Si on suppose que le noeud Ni émette une donnée
devant être partagée, cette donnée a alors une adresse uni-
que dans tout le système, adresse o seul le noeud Ni peut procéder à une inscription. Le noeud NI essaye d'inscrire cette donnée dans chacune des sous-sections de la mémoire affectées aux données partagées et il réussit à procéder à cette inscription uniquement si l'adresse affectée à la donnée se trouve comprise dans la gamme d'adresses qui est
prédéterminée par le comparateur d'adresses du circuit logi-
que de détection de lecture. On supposera que la donnée est inscrite dans chacune des sous-sections et que cette donnée est alors transférée aux noeuds N2 et N4. Dans le noeud N2 un logiciel commande le transfert de la donnée fraîchement inscrite dans sa propre mémoire de données partagées en direction des noeuds N3 et N5 en copiant, dans les sous-sections de mémoire affectées aux bus de mémoire RM2 et RM4, la donnée provenant de la sous-section de mémoire af- fectée au bus de mémoire RM1. Un autre tranfert est effectué
du noeud N3 vers le noeud N6. Etant donné que chaque empla-
cement de mémoire peut être inscrit par un seul noeud, on
peut suivre des procédures relativement simples pour trans-
férer des données entre les noeuds. Dans le montage illustré il existe un seul trajet possible pour les données entre deux noeuds quelconques. Toutefois ceci n'est pas forcément obligatoire. Par exemple un autre bus de mémoire RM6 peut être prévu, ainsi qu'il est indiqué en trait interrompu entre les noeuds N4 et N5. Si une donnée provenant du noeud NI doit être inscrite dans la mémoire des données partagées
du noeud NS, le logiciel peut être prévu de manière à trans-
férer la donnée par l'intermédiaire des bus RMI et RM4 ou bien, si ceuxci se révèlent défaillants, pour sélectionner alternativement un transfert par les bus RM5 et RM6. Tout ce qui est nécessaire est de prévoir une routine de logiciel
commandant les sous-sections des mémoires des données parta-
gées dans lesquelles la donnée est inscrite.
Le montage représenté sur la figure 8 est semblable à celui de la figure 7 sauf en ce que, au lieu que des noeuds individuels soient interconnectés par paires par des bus de mémoire réfléchissante respectifs, les noeuds sont interconnectés en groupes contenant chacun neuf noeuds et ces groupes sont à leur tour interconnectés en paires par
l'intermédiaire d'autres bus de mémoire réfléchissante con-
nectés à un seul noeud dans chaque groupe. Comme on peut le voir sur la figure 8, chaque groupe comprend un noeud de processeur extrême FEN semblable à celui comportant une
unité de traitement 13 sur la figure 2, lequel est inter-
connecté, par l'intermédiaire d'un bus de mémoire réfléchis-
sante RMG, à huit autres noeuds N1 à N8 semblables à ceux comportant les unités de traitement 11 sur la figure 2. Les noeuds N8 sont connectés par paires, au moyen de bus de mémoire réfléchissante RM1 à RMn et ils fonctionnent par "échanges de logiciel" de la même manière que dans le cas du
noeud N2 sur la figure 7.
Les "échanges de logiciels" entre les différents bus de mémoire réfléchissante introduisent certains délais dans
le transfert de données entre les bus. La figure 9 représen-
te un "répéteur" conçu pour remplacer "l'échange de logi-
ciel" et qui assure une commutation automatique du matériel
accélérant le transfert des données.
Si on se réfère à la figure 9 on y voit que le "ré-
péteur" représenté remplace le noeud N8 entre les bus RM2 et
RM3 et comprend trois ensembles d' unité logique de détec-
tion de lecture/inscription 17 semblables à l'unité logique
de détection de lecture/inscription 17 des figures 2 et 4.
Chaque ensemble comprend un circuit de détection de lecture RSC et un circuit de détection d'inscription WSC pour chaque
fenêtre à laquelle est connecté un bus de mémoire réfléchis-
sente, chaque circuit de détection de lecture RSC transmet-
tant des données aux circuits de détection d'inscription WSC des deux autres fenêtres. Chaque fenêtre a-sa propre adresse séparée et la gamme de ces adresses est prédéterminée pour limiter le transfert de données entre les bus à celui qui
est effectivement requis. Ainsi le "répéteur" réagit exacte-
ment de la même façon que les autres noeuds sur les bus auxquels il est connecté et une donnée transférée à un bus de mémoire réfléchissante par un "répéteur" est traitée exactement de la même manière qu'une donnée émise par un autre noeud quelconque sur ce bus. La donnée est stockée en mémoire tampon à travers le "répéteur" par des registres du type FIFO afin de commander l'accès aux bus comme dans le
cas d'un noeud normal. Il n'y a donc aucune dépense de logi-
ciel concernée par les transferts de données entre bus et le trafic sur les bus est limité à celui qui est essentiel en sélectionnant la gamme des adresses pour lesquelles des
données peuvent être transférées par chaque circuit de dé-
tection de lecture/inscription. Ainsi le système fonctionne à une vitesse élevée ce qui facilite l'utilisation de bus à
débit de données relativement faible sur de longues distan-
ces de transport.
Le répéteur facilite la prévision d'un système de réserve qui est maintenu constamment à jour si bien qu'il peut être mis en service immédiatement dans le cas
d'une panne. Le répéteur lui-même peut être dupliqué.
25610 î9

Claims (8)

REVENDICATIONS
1.- Un système de traitement de données fonction-
nant en temps réel caractérisé en ce qu'il comprend au moins deux noeuds de traitement, une mémoire de données (16) dans chacun des noeuds, chaque mémoire de données (16) étant divisée en sections dont une première section est réservée pour le stockage de données locales concernant le noeud respectif et une seconde section est réservée pour le stockage de données devant être partagées entre les noeuds,
une ligne de transmission de données (12,18) interconnec-
tant les noeuds, des moyens, dans chaque noeud, pour pro-
duire un message d'inscription comprenant une adresse et une donnée devant être inscrite à ladite adresse chaque fois que le noeud procède à une inscription à une adresse se trouvant dans la seconde section d'une mémoire de données, des
moyens pour transmettre chaque message produit par l'inter-
médiaire de la ligne de transmission de données (12,18), en direction de chacun des noeuds, des moyens pour allouera chaque adresse dans les secondes sections des mémoires de données un noeud respectif qui doit être lè noeud "maître"
pour cette adresse, et des moyens pour empêcher qu'une don-
née soit inscrite dans une adresse quelconque dans la se-
conde section d'une mémoire de données autre que celle du
noeud "maitre" alloué.
2.- Un système de traitement de données fonction-
nant en temps réel suivant la revendication 1 caractérisé
en ce que les moyens pour l'allocation des adresses et l'em-
pêchement de l'inscription d'une donnée comprennent un com-
parateur de gamme (21) d'adresses pour chaque lequel noeud effectue une comparaison entre l'adresse d'un message d'inscription de données produit par ce noeud avec une gamme
prédéterminée d'adresses, et commande le ftransfert du mes-
sage d'inscription de données sur la ligne de transmission de données (18) uniquement si l'adresse comparée se trouve
incluse dans la gamme d'adresses prédéterminée.
3.- Un système de traitement de données fonction-
nant en temps réel suivant la revendication 2 caractérisé
en ce qu'il comprend, dans chaque noeud, un circuit de ver-
rouillage (20) dans lequel chaque message d'inscription de donnée est chargé, un premier registre (24) du type "premier entré premier sorti" lequel est connecté à la sortie du
circuit de verrouillage (20), un détecteur (22) pour détec-
ter une inscription réussie d'une donnée dans la mémoire de
données locale du noeud considéré, une porte ET (23) con-
nectée au détecteur (22) et au comparateur (21), cette porte commandant le circuit de verrouillage (20) de telle façon que le contenu de ce circuit de verrouillage (20) soit transféré au registre (24) lorsque l'adresse comparée se trouve comprise dans la gamme d'adresses prédéterminée et qu'une inscription réussie d'une donnée a été détectée, et
un transmetteur (26) connecté au registre f24) pour trans-
mettre, sur la ligne de transmission de données (18), les
messages stockés dans le registre (24).
4.- Un système de traitement de données fonction-
nant en temps réel suivant la revendication 2 caractérise
en ce que les moyens pour l'allocation des adresses et l'em-
pêchement de l'inscription d'une donnée comprennent en outre
dans chaque noeud, un comparateur d'adresses (29) pour com-
parer l'adresse d'un message d'inscription de donnée reçu à partir de la ligne de transmission de données (18), avec une gamme prédéterminée d'adresses et pour transférer le message d'inscription de donnée reçu à la mémoire de données locale (16) uniquement si l'adresse comparée se trouve comprise
dans la gamme d'adresses prédéterminée.
5.- Un système de traitement de données fanction-
nant en temps réel suivant la revendication 4 caractérisé en ce que l'un des noeuds (13) commande le trafic sur la ligne de transfert de données (12) et chaque autre noeud (11) comprend une unité logique des requête d'accès, le premier noeud (13) comprenant des moyens pour allouer des accès à la ligne de transmission de données (12) aux autres
noeuds (11) à raison d'un à la fois, en réponse à des re-
quêtes d'accès en provenance de l'unité logique de requête d'accès, des moyens pour appliquer un signal d'horloge à la ligne de transmission de données (12) chaque fois qu'un noeud a accès h cette ligne, des moyens pour contrôler la validité des messages transmis sur la ligne de transfert des données, des moyens pour appliquer un signal "donnée valide"
à la ligne de transmission de données si un message con-
trôlé est valide, et des moyens, dans chaque noeud, pour empêcher qu'une donnée contenue dans des messages transmis ne soit transférée à la mémoire de données locale avant la
réception du signal "donnée valide".
6.- Un système de traitement de données fonction-
nant en temps réel suivant la revendication i caractérisé en ce qu'il comprend deux lignes de transmission de données
(RHI,RM2) connectées en parallèle aux noeuds.
7.- Un système de traitement de données fonction-
nant en temps réel suivant la revendication 1 caractérisé en ce qu'il comprend une pluralité de groupes de noeuds les
noeuds (FEN N1-N8) de chaque groupe étant connectés en pa-
rallèle par l'intermédiaire d'une ligne de transmission de données respective (RMG) et au moinsun noeud particulier (N8) parmi ces noeuds appartenant à deux des groupes, la seconde section de la mémoire de données de ce ou ces noeuds particulier (N8) étant divisée en une pluralité de sous-sections dont chacune reçoit des données devant être partagées avec les noeuds d'un groupe de noeuds respectifs, et des moyens sont prévus pour commander le transfert de données à partir d'une soussection en direction des autres sous-sections lorsqu'une donnée doit être partagée entre
deux groupes de noeuds.
8.- Un systbme de traitement de données fonction-
nant en temps réel suivant la revendication I caractérisé en ce qu'il comprend deux groupes de noeuds qui sont chacun interconnectés par une ligne de transmission de données respective et un répéteur connecté à chaque ligne de transmission de données, le répéteur comprenant une unité de détection lecture/inscription (RSC/WSC) pourchaque ligne de transmission de données (RMG,RM2,RM3) afin de transférer des messages ayant une première gamme d'adresses sélectionnée à partir d'une première ligne de transmission de données en direction de la seconde ligne de transmission de données et pour transférer des messages ayant une seconde gamme
?561009
d'adresses sélectionnée h partir de la seconde ligne de transmission de données en direction de la première ligne de
transmission de données.
FR858503539A 1984-03-10 1985-03-11 Systemes de traitement de donnees comportant au moins deux unites de traitement de donnees ayant chacune acces aux memes donnees Expired - Lifetime FR2561009B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB848406322A GB8406322D0 (en) 1984-03-10 1984-03-10 Data processing system
GB848420617A GB8420617D0 (en) 1984-08-14 1984-08-14 Data processing system

Publications (2)

Publication Number Publication Date
FR2561009A1 true FR2561009A1 (fr) 1985-09-13
FR2561009B1 FR2561009B1 (fr) 1991-03-29

Family

ID=26287440

Family Applications (1)

Application Number Title Priority Date Filing Date
FR858503539A Expired - Lifetime FR2561009B1 (fr) 1984-03-10 1985-03-11 Systemes de traitement de donnees comportant au moins deux unites de traitement de donnees ayant chacune acces aux memes donnees

Country Status (5)

Country Link
US (2) US4991079A (fr)
CA (1) CA1221463A (fr)
DE (1) DE3508291C2 (fr)
FR (1) FR2561009B1 (fr)
GB (1) GB2156554B (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0258736A2 (fr) * 1986-09-05 1988-03-09 Hitachi, Ltd. Calculateur parallèle à mémoires partagées distribuées et circuits partagés pour activer des tâches
FR2604003A1 (fr) * 1986-09-15 1988-03-18 France Etat Systeme d'interconnexion d'ordinateurs identiques ou compatibles
EP0344827A1 (fr) * 1988-04-29 1989-12-06 Océ-Nederland B.V. Méthode et appareil pour la conversion de données de contour en données de trame
EP0817094A1 (fr) * 1996-07-02 1998-01-07 Sun Microsystems, Inc. Un système d'ordinateur avec SMP partagé
US5923847A (en) * 1996-07-02 1999-07-13 Sun Microsystems, Inc. Split-SMP computer system configured to operate in a protected mode having repeater which inhibits transaction to local address partiton

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581732A (en) * 1984-03-10 1996-12-03 Encore Computer, U.S., Inc. Multiprocessor system with reflective memory data transfer device
US5146607A (en) * 1986-06-30 1992-09-08 Encore Computer Corporation Method and apparatus for sharing information between a plurality of processing units
AU598101B2 (en) * 1987-02-27 1990-06-14 Honeywell Bull Inc. Shared memory controller arrangement
US5124943A (en) * 1988-08-22 1992-06-23 Pacific Bell Digital network utilizing telephone lines
US5276806A (en) * 1988-09-19 1994-01-04 Princeton University Oblivious memory computer networking
US5594866A (en) * 1989-01-18 1997-01-14 Intel Corporation Message routing in a multi-processor computer system with alternate edge strobe regeneration
SG49752A1 (en) * 1990-01-05 1998-06-15 Sun Microsystems Inc High speed active bus
US5301340A (en) * 1990-10-31 1994-04-05 International Business Machines Corporation IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle
EP0543512B1 (fr) * 1991-11-19 1999-10-06 International Business Machines Corporation Système à plusieurs processeur
JP2677454B2 (ja) * 1992-03-25 1997-11-17 エンコアー コンピューター ユーエス インコーポレイテッド リアルタイム処理システム
EP0632913B1 (fr) * 1992-03-25 2001-10-31 Sun Microsystems, Inc. Systeme de couplage de memoires a fibres optiques
AU4400893A (en) * 1992-06-12 1994-01-04 Dow Chemical Company, The Stealth interface for process control computers
US5444714A (en) * 1992-11-30 1995-08-22 Samsung Electronics Co., Ltd. Communication and exchange processing system
EP0600623B1 (fr) * 1992-12-03 1998-01-21 Advanced Micro Devices, Inc. Servocommande à boucle
JP2826028B2 (ja) * 1993-01-28 1998-11-18 富士通株式会社 分散メモリ型プロセッサシステム
US5515537A (en) * 1993-06-01 1996-05-07 The United States Of America As Represented By The Secretary Of The Navy Real-time distributed data base locking manager
US5694548A (en) * 1993-06-29 1997-12-02 International Business Machines Corporation System and method for providing multimedia quality of service sessions in a communications network
US5581703A (en) * 1993-06-29 1996-12-03 International Business Machines Corporation Method and apparatus for reserving system resources to assure quality of service
US5388097A (en) * 1993-06-29 1995-02-07 International Business Machines Corporation System and method for bandwidth reservation for multimedia traffic in communication networks
US5530907A (en) * 1993-08-23 1996-06-25 Tcsi Corporation Modular networked image processing system and method therefor
EP0640929A3 (fr) * 1993-08-30 1995-11-29 Advanced Micro Devices Inc Communication interprocesseur via une MEV poste.
US5456252A (en) * 1993-09-30 1995-10-10 Cedars-Sinai Medical Center Induced fluorescence spectroscopy blood perfusion and pH monitor and method
US5503559A (en) * 1993-09-30 1996-04-02 Cedars-Sinai Medical Center Fiber-optic endodontic apparatus and method
JPH07225727A (ja) * 1994-02-14 1995-08-22 Fujitsu Ltd 計算機システム
US5606666A (en) * 1994-07-19 1997-02-25 International Business Machines Corporation Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element
US5588132A (en) * 1994-10-20 1996-12-24 Digital Equipment Corporation Method and apparatus for synchronizing data queues in asymmetric reflective memories
US5574863A (en) * 1994-10-25 1996-11-12 Hewlett-Packard Company System for using mirrored memory as a robust communication path between dual disk storage controllers
US5550973A (en) * 1995-03-15 1996-08-27 International Business Machines Corporation System and method for failure recovery in a shared resource system having a moving write lock
JPH0926892A (ja) * 1995-04-27 1997-01-28 Tandem Comput Inc 遠隔的に複製されかつ動的に再構成可能なメモリを有するコンピュータシステム
US6049889A (en) * 1995-06-07 2000-04-11 Digital Equipment Corporation High performance recoverable communication method and apparatus for write-only networks
US6295585B1 (en) 1995-06-07 2001-09-25 Compaq Computer Corporation High-performance communication method and apparatus for write-only networks
US5754877A (en) * 1996-07-02 1998-05-19 Sun Microsystems, Inc. Extended symmetrical multiprocessor architecture
US5758183A (en) * 1996-07-17 1998-05-26 Digital Equipment Corporation Method of reducing the number of overhead instructions by modifying the program to locate instructions that access shared data stored at target addresses before program execution
US5887184A (en) * 1997-07-17 1999-03-23 International Business Machines Corporation Method and apparatus for partitioning an interconnection medium in a partitioned multiprocessor computer system
US6961801B1 (en) 1998-04-03 2005-11-01 Avid Technology, Inc. Method and apparatus for accessing video data in memory across flow-controlled interconnects
US7836329B1 (en) * 2000-12-29 2010-11-16 3Par, Inc. Communication link protocol optimized for storage architectures
US7831974B2 (en) * 2002-11-12 2010-11-09 Intel Corporation Method and apparatus for serialized mutual exclusion
US6917967B2 (en) * 2002-12-13 2005-07-12 Sun Microsystems, Inc. System and method for implementing shared memory regions in distributed shared memory systems
US6898687B2 (en) * 2002-12-13 2005-05-24 Sun Microsystems, Inc. System and method for synchronizing access to shared resources
US7028147B2 (en) * 2002-12-13 2006-04-11 Sun Microsystems, Inc. System and method for efficiently and reliably performing write cache mirroring
US6795850B2 (en) * 2002-12-13 2004-09-21 Sun Microsystems, Inc. System and method for sharing memory among multiple storage device controllers
US7185223B2 (en) * 2003-09-29 2007-02-27 International Business Machines Corporation Logical partitioning in redundant systems
US20060039949A1 (en) * 2004-08-20 2006-02-23 Nycz Jeffrey H Acetabular cup with controlled release of an osteoinductive formulation
US20070038432A1 (en) * 2005-08-15 2007-02-15 Maurice De Grandmont Data acquisition and simulation architecture
US9578054B1 (en) 2015-08-31 2017-02-21 Newman H-R Computer Design, LLC Hacking-resistant computer design
US10949289B1 (en) * 2018-12-28 2021-03-16 Virtuozzo International Gmbh System and method for maintaining data integrity of data on a storage device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3940743A (en) * 1973-11-05 1976-02-24 Digital Equipment Corporation Interconnecting unit for independently operable data processing systems
FR2316661A1 (fr) * 1975-06-30 1977-01-28 Ibm Reseau d'unites de traitement de donnees
EP0092895A2 (fr) * 1982-04-28 1983-11-02 International Computers Limited Système de traitement de données

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3618045A (en) * 1969-05-05 1971-11-02 Honeywell Inf Systems Management control subsystem for multiprogrammed data processing system
US3845474A (en) * 1973-11-05 1974-10-29 Honeywell Inf Systems Cache store clearing operation for multiprocessor mode
US3889237A (en) * 1973-11-16 1975-06-10 Sperry Rand Corp Common storage controller for dual processor system
US3873819A (en) * 1973-12-10 1975-03-25 Honeywell Inf Systems Apparatus and method for fault-condition signal processing
JPS5440182B2 (fr) * 1974-02-26 1979-12-01
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4209839A (en) * 1978-06-16 1980-06-24 International Business Machines Corporation Shared synchronous memory multiprocessing arrangement
US4253146A (en) * 1978-12-21 1981-02-24 Burroughs Corporation Module for coupling computer-processors
US4351025A (en) * 1979-07-06 1982-09-21 Hall Jr William B Parallel digital computer architecture
US4335426A (en) * 1980-03-10 1982-06-15 International Business Machines Corporation Remote processor initialization in a multi-station peer-to-peer intercommunication system
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
US4539637A (en) * 1982-08-26 1985-09-03 At&T Bell Laboratories Method and apparatus for handling interprocessor calls in a multiprocessor system
US4527238A (en) * 1983-02-28 1985-07-02 Honeywell Information Systems Inc. Cache with independent addressable data and directory arrays
US4642755A (en) * 1983-03-31 1987-02-10 At&T Bell Laboratories Shared memory with two distinct addressing structures
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
EP0251686B1 (fr) * 1986-06-30 1994-01-19 Encore Computer Corporation Méthode et appareil de partage d'information entre plusieurs unités de traitement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3940743A (en) * 1973-11-05 1976-02-24 Digital Equipment Corporation Interconnecting unit for independently operable data processing systems
FR2316661A1 (fr) * 1975-06-30 1977-01-28 Ibm Reseau d'unites de traitement de donnees
EP0092895A2 (fr) * 1982-04-28 1983-11-02 International Computers Limited Système de traitement de données

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ELECTRONICS INTERNATIONAL, vol. 57, no. 1, janvier 1984, pages 164-169, New York, US; S.J. FRANK: "Tightly coupled multiprocessor system speeds memory-access times" *
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 26, no. 3A, août 1983, pages 1198-1200, New York, US; R.C. DIXON: "Group address structure for network service nodes" *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0258736A2 (fr) * 1986-09-05 1988-03-09 Hitachi, Ltd. Calculateur parallèle à mémoires partagées distribuées et circuits partagés pour activer des tâches
EP0258736A3 (en) * 1986-09-05 1990-10-24 Hitachi, Ltd. Parallel computer with distributed shared memories and distributed task activating circuits
US5043873A (en) * 1986-09-05 1991-08-27 Hitachi, Ltd. Method of parallel processing for avoiding competition control problems and data up dating problems common in shared memory systems
FR2604003A1 (fr) * 1986-09-15 1988-03-18 France Etat Systeme d'interconnexion d'ordinateurs identiques ou compatibles
EP0344827A1 (fr) * 1988-04-29 1989-12-06 Océ-Nederland B.V. Méthode et appareil pour la conversion de données de contour en données de trame
EP0817094A1 (fr) * 1996-07-02 1998-01-07 Sun Microsystems, Inc. Un système d'ordinateur avec SMP partagé
US5923847A (en) * 1996-07-02 1999-07-13 Sun Microsystems, Inc. Split-SMP computer system configured to operate in a protected mode having repeater which inhibits transaction to local address partiton

Also Published As

Publication number Publication date
GB2156554A (en) 1985-10-09
US4991079A (en) 1991-02-05
DE3508291A1 (de) 1985-09-12
FR2561009B1 (fr) 1991-03-29
GB2156554B (en) 1987-07-29
GB8505967D0 (en) 1985-04-11
US5072373A (en) 1991-12-10
CA1221463A (fr) 1987-05-05
DE3508291C2 (de) 1997-01-16

Similar Documents

Publication Publication Date Title
FR2561009A1 (fr) Systemes de traitement de donnees comportant au moins deux unites de traitement de donnees ayant chacune acces aux memes donnees
EP1701274B1 (fr) Architecture de noeud de communication dans un système de réseau sur puce globalement asynchrone
US7552312B2 (en) Identifying messaging completion in a parallel computer by checking for change in message received and transmitted count at each node
EP1641197B1 (fr) Architecture de communication NoC (réseau sur puce ) pour applications de type flots de données
FR2578071A1 (fr) Installation de multitraitement a plusieurs processus
CN106104500A (zh) 存储数据的方法和设备
EP0755010A1 (fr) Dispositif d'interface entre un calculateur à architecture redondante et un moyen de communication
US11593288B2 (en) Methods and apparatus for fabric interface polling
EP0755013A1 (fr) Procédé de transfert de messages dans un système informatique multinodal
FR2925191A1 (fr) Architecture de traitement numerique a haute integrite a multiples ressources supervisees
EP2507711A1 (fr) Controleur d'acces direct a une memoire pour le transfert direct de donnees entre memoires de plusieurs dispositifs peripheriques
EP0089440B1 (fr) Procédé et dispositif d'échange d'information entre des terminaux et une unité de commande centrale
CN103093446B (zh) 基于多处理器片上系统的多源图像融合装置和方法
CA2226715C (fr) Registre semaphore rapide a fonctionnement securise sans protocole de bus specifique
FR2642246A1 (fr) Procede de deblocage d'un systeme multiprocesseurs multibus
EP0177429B1 (fr) Procédé d'échange d'informations entre abonnés par bus en anneau et dispositif multiprocesseur en comportant application
CN114860511A (zh) 数据处理方法和装置、芯片、电子设备、介质
FR2977339A1 (fr) Dispositif et procede de synchronisation de taches executees en parallele sur une plateforme comprenant plusieurs unites de calcul
CH632350A5 (en) Data processing assembly
FR2726383A1 (fr) Systeme de traitement d'informations comportant au moins deux processeurs
EP0910021A1 (fr) Dispositif de communication entre plusieurs processeurs
EP1341093B1 (fr) Accès à une ressource collective
EP0333537A1 (fr) Dispositif de traitement numérique de signaux
EP0059293B1 (fr) Procédé et dispositif pour l'attribution sélective de ressources d'une unité de commande à un parmi plusieurs utilisateurs
CN207123833U (zh) 一种数据处理系统

Legal Events

Date Code Title Description
TP Transmission of property
TP Transmission of property
TP Transmission of property
ST Notification of lapse