FR2742894A1 - Systeme d'echange d'informations entre plusieurs operateurs - Google Patents

Systeme d'echange d'informations entre plusieurs operateurs Download PDF

Info

Publication number
FR2742894A1
FR2742894A1 FR9515509A FR9515509A FR2742894A1 FR 2742894 A1 FR2742894 A1 FR 2742894A1 FR 9515509 A FR9515509 A FR 9515509A FR 9515509 A FR9515509 A FR 9515509A FR 2742894 A1 FR2742894 A1 FR 2742894A1
Authority
FR
France
Prior art keywords
transaction
node
operator
outputs
nodes
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
FR9515509A
Other languages
English (en)
Other versions
FR2742894B1 (fr
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.)
Colisto Fund Ii Nv Us LLC
Original Assignee
Individual
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
Application filed by Individual filed Critical Individual
Priority to FR9515509A priority Critical patent/FR2742894B1/fr
Priority to US08/769,958 priority patent/US6023454A/en
Publication of FR2742894A1 publication Critical patent/FR2742894A1/fr
Application granted granted Critical
Publication of FR2742894B1 publication Critical patent/FR2742894B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

L'invention concerne un réseau d'échange de transactions entre des opérateurs (CPU, MEM), comprenant une pluralité de noeuds (N) dont chacun comporte des entrées et des sorties en même nombre, reliées à des opérateurs ou à d'autres noeuds, et des moyens pour router plusieurs transactions de même destination vers des sorties respectives différentes.

Description

SYST D'E D'INFORMXTIONS ENTRE PLUSIEURS OPÎRATEURS
La présente invention concerne un système d'échange d'informations entre plusieurs opérateurs, tels que des processeurs, des mémoires, et des périphériques.
Dans un système particulièrement performant pour échanger des informations, on utilise des aiguillages ou "crossbars".
Chaque opérateur, souvent prévu sur une carte individuelle, est muni d'un aiguillage de sortie et d'un aiguillage d'entrée.
L'aiguillage de sortie est destiné à transmettre des informations émises par l'opérateur vers un opérateur sélectionné dans un premier ensemble d'opérateurs, et l'aiguillage d'entrée est destiné à transmettre à l'opérateur les informations provenant d'un deuxième ensemble d'opérateurs.
Dans un système typique comprenant des cartes processeur et des cartes mémoire, les aiguillages d'entrée et de sortie de chaque carte processeur permettent d'échanger des informations avec chacune des cartes mémoire, et les aiguillages d'entrée et de sortie de chaque carte mémoire permettent d'échanger des informations avec chacune des cartes processeur.
Une transaction, que ce soit une requête issue d'un processeur ou une réponse issue d'une mémoire, comprend une adresse de destination et une adresse d'émetteur. Chaque aiguillage examine les adresses de destination des transactions qui lui arrivent et détermine les sorties associées à ces transactions. Si plusieurs transactions sont en collision, c'està-dire que ces transactions sont associées à une même sortie, une seule des transactions est envoyée vers cette sortie et les autres sont mises en attente dans une mémoire tampon.
Un aiguillage d'un tel système est particulièrement coûteux. L'une des raisons est que le mécanisme de gestion des collisions, éventuellement au moyen de niveaux de priorité, est complexe.
Une autre raison est que chaque aiguillage comporte une mémoire tampon de taille relativement importante et dont la vitesse doit être adaptée à la vitesse élevée des transferts. La taille de la mémoire tampon détermine les performances du système. En effet, si la mémoire tampon déborde, les opérateurs qui émettent des transactions vers l'aiguillage doivent être arrêtés. La taille mémoire est d'autant plus importante que chaque transaction à stocker est constituée d'un grand nombre de bits (elle comporte au moins une adresse d'émetteur, une adresse de destination, une instruction, une adresse de donnée, et une donnée).
Encore une autre raison est que la densité de connexion des aiguillages croît rapidement avec la complexité du système, de sorte que les connecteurs doivent être réalisés avec extrême précision. En effet, le nombre de couples d'entrées/sorties de chaque carte est égal au nombre de cartes avec lesquelles ladite carte doit communiquer. Et chaque entrée ou sortie est de la taille d'une transaction.
Outre les inconvénients de coût susmentionnés, un système à aiguillages est de structure rigide. C'est-à-dire que, une fois que le système a été défini et assemblé, il est impossible de le faire évoluer par rajout d'opérateurs.
Pour limiter la densité de connexion des aiguillages, les cartes processeur ne sont généralement reliées qu'aux cartes mémoire. Si un premier processeur doit communiquer avec un deuxième, il faut alors instaurer un système de sémaphore, c'est à-dire que le premier processeur écrit à un emplacement mémoire spécifique une donnée en validant un drapeau. Le deuxième processeur vérifie périodiquement l'état du drapeau pour savoir si l'emplacement spécifique contient des données qui lui sont destinées. Outre le ralentissement des échanges entre deux processeurs qu'entraîne un système de sémaphore, un tel système doit être mis en oeuvre par une programmation des processeurs, ce qui constitue une contrainte supplémentaire pour le programmeur.
Un objet de la présente invention est de prévoir un système d'échange de transactions entre des opérateurs, qui soit particulièrement rapide tout en étant évolutif et de coût relativement bas.
Cet objet est atteint en connectant les opérateurs à un réseau formé de noeuds de routage particuliers qui peuvent être disposés selon une structure quelconque. Chaque noeud comporte autant d'entrées que de sorties et est prévu pour router vers des sorties différentes plusieurs transactions entrantes de même destination. En d'autres termes, si plusieurs transactions sont en collision dans un noeud, l'une des transactions est routée vers la sortie qui lui est associée et les autres transactions sont forcément routées vers des sorties respectives différentes.
Ainsi, plutôt que de mettre une transaction en attente dans une mémoire tampon, cette transaction est déviée de son chemin nominal et parviendra à sa destination par un deuxième chemin éventuellement plus long. I1 en résulte que toutes les transactions ayant pénétré dans le réseau de routage selon l'invention sont en circulation continue et arrivent toutes à destination, soit par un chemin optimal, soit par un chemin dévié.
Selon un mode de réalisation de l'invention, chaque noeud comprend une table de routage qui associe 1 'une des sorties du noeud à chaque destination d'une transaction.
Selon un mode de réalisation de l'invention, chaque noeud comprend autant de tables de routage que d'entrées ou sorties, chaque table associant une sortie différente à une méme destination de transaction, de manière que plusieurs transactions de même destination soient associées à des sorties différentes fournies par des tables respectives.
Selon un mode de réalisation de l'invention, les tables de routage successives sont associées à des chemins de préférence décroissante pour une destination donnée et à des priorités décroissantes des transactions, chaque noeud étant prévu pour incrémenter la priorité d'une transaction lorsque cette transaction n'est pas routée selon la table de préférence maximale.
Selon un mode de réalisation de l'invention, chaque noeud comprend une table de routage supplémentaire qui associe à chaque entrée une sortie qui se trouve, avec ladite entrée, sur un chemin reliant tous les noeuds et tous les opérateurs, cette table étant utilisée pour les transactions dont la priorité a atteint une limite supérieure.
Selon un mode de réalisation de l'invention, chaque noeud associe au hasard des tables respectives à plusieurs transactions de même priorité et de même destination.
Selon un mode de réalisation de l'invention, chaque opérateur comporte une entrée et une sortie reliées respectivement à une sortie et à une entrée d'un ou deux noeuds, l'opérateur étant prévu pour recevoir toute transaction sur son entrée et la renvoyer aussitôt à sa sortie si la transaction ne lui est pas destinée.
Selon un mode de réalisation de l'invention, chaque opérateur renvoie une transaction qui lui est destinée lorsque cette transaction arrive à un moment où l'opérateur est occupé.
Selon un mode de réalisation de l'invention, chaque opérateur génère et envoie une transaction de priorité nulle lorsque l'opérateur n'a aucune transaction à envoyer, cette transaction de priorité nulle étant ignorée par tout opérateur qui la reçoit.
Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles
la figure 1 représente schématiquement un noeud de routage selon l'invention comportant des tables utilisées dans un exemple optimisé d'algorithme de routage selon l'invention
la figure 2 représente schématiquement un mode de réalisation d'interface entre un réseau de noeuds de routage selon l'invention et un opérateur connecté à ce réseau
la figure 3 représente un exemple de réseau selon l'invention à quatre noeuds de routage pour interconnecter huit opérateurs ; et
la figure 4 représente un exemple de réseau selon l'invention à seize noeuds de routage pour interconnecter huit opérateurs.
Selon l'invention, une pluralité d'opérateurs, tels que des processeurs, des mémoires, des périphériques, etc. qui doivent échanger des informations, sont reliés à un réseau formé de noeuds de routage qui peuvent être reliés les uns aux autres de manière quelconque. L'invention réside plus particulièrement dans la fonction de chaque noeud de routage.
La figure 1 représente schématiquement un noeud de routage N selon l'invention. Il est nécessaire que le noeud comporte autant d'entrées que de sorties. De bons résultats sont obtenus avec des noeuds comportant, comme cela est représenté, quatre couples d'entrées/sorties E/S, mais tout autre nombre supérieur à deux peut être utilisé.
Chaque entrée ou chaque sortie peut être reliée indif férertirent à une sortie ou à une entrée d'un autre noeud, du même noeud, ou d'un opérateur quelconque muni d'une interface adaptée à un réseau de routage selon l'invention.
La fonction essentielle de chaque noeud N est de router plusieurs transactions entrantes de même destination vers des sorties différentes. En d'autres termes, si n transactions entrent simultanément dans le noeud (n étant inférieur ou égal au nombre de couples d'entrées/sorties), ces n transactions sont aussitôt routées vers n sorties respectives, même si certaines des transactions doivent ainsi emprunter un chemin plus long vers leur destination. Plutôt que de mettre une transaction en attente dans une mémoire tampon, toute transaction qui a pénétré dans le réseau est mise en circulation continue jusqu'à ce qu'elle atteigne sa destination. Bien entendu, on souhaite que chaque transaction atteigne sa destination le plus vite possible.
La présente invention prévoit un algorithme pour gérer le routage des entrées vers les sorties d'un noeud de manière à obtenir un transfert optimal des transactions vers leurs destinations. Cet algorithme, particulièrement simple, est de préférence mis en oeuvre par des circuits logiques et séquentiels dans chaque noeud N.
Pour mettre en oeuvre l'algorithme, chaque noeud N comporte une table (T1 à T4) par couple d'entrée/sortie, qui affecte un numéro de sortie à chaque destination possible d'une transaction. Les numéros de sortie affectés à une même destination diffèrent d'une table à 1' autre. Les numéros de sortie de la première table correspondent à un chemin préférentiel, et les numéros de sortie des autres tables correspondent à des chemins déviés de préférence décroissante.
Une transaction circulant dans un réseau selon l'invention comporte, de manière classique, un champ d'adresse de destination qui identifie l'opérateur destinataire de la transaction.
Ce sont toutes les adresses de destination utilisées qui constituent les entrées des tables susmentionnées. Par ailleurs, chaque transaction comporte, de manière classique, un champ d'adresse d'émetteur, un champ d'adresse de donnée, un champ de donnée, un champ d'instruction, et un champ de priorité. Dans un réseau selon l'invention, la priorité d'une transaction est initialisée à 1 par l'émetteur de la transaction.
Selon l'algorithme optimisé susmentionné, lorsqu'un noeud N reçoit une transaction par l'une quelconque de ses entrées, la transaction est routée vers la sortie associée à l'adresse de destination de cette transaction dans la première table T1.
Dans un cas de collision, plusieurs transactions entrantes ont la même adresse de destination. Dans ce cas, les transactions sont routées respectivement, par ordre décroissant de priorité, selon les premières tables successives qui associent une sortie différente à chacune des transactions en collision.
Dans un cas de collision entre un nombre limité de transactions, par exemple deux, la sortie associée par la deuxième table à la deuxième transaction, moins prioritaire, peut coïncider avec la sortie associée par la première table à une troisième transaction qui n'était pas en collision. Alors la transaction de priorité la plus élevée est routée vers la sortie débattue et l'autre est routée selon une table différente (la troisième transaction serait routée selon la deuxième table ou la deuxième transaction serait routée selon la troisième table). Et ainsi de suite, jusqu'à ce qu'une sortie différente soit attribuée à chacune des transactions entrantes.
I1 en résulte que toutes les transactions entrantes sont routées simultanément vers des sorties respectives différentes, même si ces sorties ne correspondent pas à des chemins préférentiels.
Une transaction qui n'est pas routée selon la première table préférentielle, voit sa priorité incrémenter de un.
Bien entendu, il peut arriver que plusieurs transactions en collision aient la même priorité. Dans ce cas, les transactions sont affectées aux différentes tables par un tirage au sort aléatoire.
La priorité d'une transaction comporte une limite supérieure déterminée par le nombre de bits du champ de priorité de chaque transaction. Si une transaction atteint cette limite supérieure, il est probable que des concours de circonstances font que le routage selon les tables normales susmentionnées est défavorable. On adopte alors, de préférence, une autre stratégie de routage.
Pour cela, chaque noeud N comporte une table supplémentaire TS associée aux transactions de priorité en butée supérieure. Cette table affecte un numéro de sortie différent à chacun des numéros d'entrée. La table TS est telle qu'une entrée et la sortie associée se trouvent sur un chemin (chemin eulérien) qui relie tous les éléments du réseau (noeuds et opérateurs). Une transaction de priorité en butée supérieure est nécessairement routée vers la sortie fournie par cette table supplémentaire TS.
Une autre transaction à laquelle aurait été affectée la même sortie par une table normale est routée selon une autre table normale. Ainsi, toutes les transactions de priorité en butée supérieure empruntent un chemin sur lequel ils trouveront nécessairement leur destination.
Parmi plusieurs transactions entrantes de priorité en butée supérieure, une seule, tirée au sort, est routée selon la table supplémentaire et les autres sont routées selon les tables normales, également tirées au sort, le cas échéant.
La figure 2 représente schématiquement une interface entre un réseau selon l'invention et un opérateur 10. L'interface comporte un commutateur 12 qui relie une entrée d'un noeud et une sortie d'un noeud respectivement à la sortie et à l'entrée de l'opérateur 10.
Lorsque le commutateur 12 reçoit du réseau une transaction, cette transaction est fournie à l'opérateur 10 si son adresse de destination correspond à l'opérateur 10. Du fait du fonctionnement précédemment décrit des noeuds selon 1' inven- tion, le commutateur 12 est susceptible de recevoir également des transactions qui ne sont pas destinées à l'opérateur 10. Dans ce cas, la transaction est aussitôt renvoyée vers le réseau par le commutateur 12. Pendant ce temps, le commutateur 12 active un signal 13 de réseau occupé qui empêche la fourniture d'une transaction par l'opérateur 10. Ce mécanisme particulièrement simple permet de gérer automatiquement les cas de saturation du réseau.
Lorsque l'opérateur 10 ne peut pas traiter une transaction, il active un signal 14 d'opérateur occupé. Dans ce cas, si la transaction reçue par le commutateur 12 est destinée à l'opé- rateur 10, la transaction est aussitôt renvoyée vers le réseau.
Selon une première variante, la transaction est renvoyée vers le réseau telle quelle, de sorte qu'elle est susceptible de revenir rapidement vers l'opérateur. Selon une deuxième variante, le commutateur 12 intervertit l'adresse de destination et l'adresse d'émetteur, de sorte que la transaction retourne vers l'émetteur qui saura de ce fait que la transaction n'a pas été traitée et pourra prendre des mesures adaptées.
Comme pour les noeuds de routage, aucune transaction n'est mise en attente dans un opérateur.
De préférence, si un opérateur 10 ne fournit aucune transaction alors que le réseau est libre, le commutateur 12 génère une transaction fantôme de priorité nulle. Chaque noeud génère également de telles transactions fantômes sur des sorties non-occupées. Ceci simplifie les circuits de réception et de traitement des transactions dans un noeud ou dans un opérateur.
Le commutateur 12 associé à un opérateur est alors prévu pour ignorer toute transaction fantôme lui parvenant et la remplacer, le cas échéant, par une vraie transaction.
Des opérateurs et des noeuds de routage selon l'invention peuvent être interconnectés de manière tout à fait quelconque, à condition que chaque sortie (d'un noeud ou d'un cpéra- teur) soit toujours reliée à une entrée (d'un opérateur, d'un autre noeud, ou du même noeud). Bien entendu, les tables normales (T1-T4) et la table supplémentaire (TS) de chaque noeud contiennent des valeurs qui dépendent de la configuration du réseau. Les tables de chaque noeud sont, par exemple, stockées dans des mémoires non-volatiles (ROM), ou bien dans des mémoires volatiles initialisées à la mise sous tension par un programme exécuté par l'un des opérateurs. Pour accéder aux tables afin de les mettre à jour, il suffit qu'elles soient reliées à un bus classique qui n'a pas besoin d'être rapide. De préférence, on utilise pour cela un bus de test (norme IEEE 1149.1) qui est par ailleurs utilisé pour tester les composants du système.
Bien entendu, les performances du système dépendent de la configuration choisie pour le réseau. De façon générale, il vaut mieux regrouper les noeuds de routage dans un noyau central autour duquel sont connectés les opérateurs.
La figure 3 représente un exemple de réseau selon l'invention à quatre noeuds de routage Nll à N22 pour interconnecter huit opérateurs (quatre processeurs CPU1 à CPU4 et quatre mémoires MEM1 à MEM4). Les noeuds sont connectés en anneau par deux couples d'entrées/sorties de chacun des noeuds. Les deux couples restants d'entrées/sorties de chacun des noeuds sont reliés à deux opérateurs. Comme cela est représenté pour les processeurs CPU1 et CPU3, et pour les mémoires MEM2 et Mes4, 1' entrée et la sortie d'un opérateur ne sont pas forcément reliées à la sortie et à l'entrée d'un même noeud.
La figure 4 représente une interconnexion des mêmes processeurs et mémoires par l'intermédiaire d'un exemple de réseau à seize noeuds N11 à N44 selon l'invention. Par souci de clarté, chaque couple d'entrée/sortie est représenté par une liaison bidirectionnelle unique. La configuration représentée du réseau de seize noeuds est une optimisation par rapport à une simple configuration en matrice. Ici, chaque noeud Nij est relié au noeud Ni+1,j et au noeud Ni+1,j+11 où i et j varient entre 1 et 4 et où i+l et j +1 sont calculés modulo 4. Les noeuds Nll à N14 sont reliés respectivement aux opérateurs CPU1, MEM2, CPU3, MEM4 et les noeuds N41 à N44 sont reliés respectivement aux opérateurs
CPU2, MET3, CPU4, MEM1.
Généralement, chaque processeur CPU travaille essen tellement avec une seule mémoire qui lui est dédiée et occasionnellement avec d'autres merrires. Ainsi, les processeurs sont disposés le plus près possible de leurs mémoires dédiées.
Dans la figure 4, chaque mémoire dédiée à un processeur est reliée à ce processeur par l'intermédiaire de deux noeuds seule ment (par exemple, la mémoire MEM2 est reliée au processeur CPU2 par l'intermédiaire des noeuds N12 et N41).
I1 est particulièrement simple de faire évoluer un système d'échange d'informations selon l'invention.
Lors du retrait d'un opérateur, il suffit de relier lune à l'autre l'entrée et la sortie libérées sur le réseau. I1 n'est pas nécessaire de reprogrammer les tables mais il faut s'assurer que les opérateurs restant sur le réseau n'émettent pas de transaction vers l'opérateur retiré.
Pour ajouter un opérateur, on dispose d'une multitude de solutions. Par exemple, l'opérateur est inséré dans une liaison entre deux noeuds en connectant 1' entrée de l'opérateur à la sortie du premier noeud et la sortie de l'opérateur à 1 'entrée du deuxième noeud. Une telle modification est représentée en pointillés à la figure 3 entre les noeuds N2l et N22. Bien entendu, on complète les tables de chacun des noeuds de routage par les sorties associées à la nouvelle adresse de destination correspondant au nouvel opérateur. Dans 1' exemple de la figure 3, dans la première table du noeud N21, 1' adresse de destination du nouvel opérateur est associée à la sortie directement reliée à cet opérateur. Dans la première table du noeud N22, la nouvelle adresse est associée à la sortie reliée au noeud N21.
Bien entendu, on peut chercher à reproduire la régularité du réseau de noeuds lors de l'ajout d'opérateurs, ceci en rajoutant des noeuds au réseau.
Dans une réalisation pratique, chaque opérateur et chaque noeud se trouve sur une carte individuelle. Dans ce cas, le choix de quatre couples d'entrées/sorties pour chaque noeud correspond à un bon compromis entre le nombre de noeuds nécessaires pour interconnecter de manière optimale tous les opérateurs et la densité de connexion des cartes. La densité de connexion maximale est celle d'une carte-noeud et elle est comparable, dans cet exemple, à celle d'une carte d'un système classique à aiguillages avec cinq cartes dont chacune peut communi- quer avec les quatre autres. Un réseau selon l'invention permet avantageusement de relier un nombre quelconque de cartes avec une densité de connexion fixe.
Les noeuds et les opérateurs sont reliés entre eux par nappes de fils. Les nappes sont constituées, selon les besoins, de fils simples, de paires torsadées, ou de fils coaxiaux. La fréquence de fonctionnement du système est déterminée par la longueur maximale ininterrompue des fils. Si le système doit fonctionner à une fréquence particulièrement élevée, la longueur des fils est réduite en multipliant le nombre de cartes-noeud interposées entre deux points distants à connecter ; chaque carte-noeud sert de relais de synchronisation.
La taille mémoire occupée par les tables d'un noeud est comparable à celle d'une mémoire tampon d'un aiguillage classique, mais les tables ne sont pas organisées selon une structure de mémoire tampon et on n'y accède à vitesse élevée qu'en lecture, ce qui réduit notablement leur coût.
L'algorithme de routage particulièrement simple selon l'invention, incorporant les tables, peut être directement programmé dans des circuits FPGA ("Fast Programmable Gate Array") à partir desquels on peut constituer économiquement des noeuds fonctionnant à vitesse élevée.
La présente invention a été décrite en relation avec un algorithme optimisé pour gérer chaque noeud de routage. Toutefois, d'autres algorithmes moins performants sont envisageables.
Par exemple, chaque noeud peut ne comporter qu'une table. Parmi des transactions en collision, une seule est routée selon la table et les autres sont affectées de sorties différentes de manière aléatoire.

Claims (9)

REUEHD I cL= S
1. Réseau d'échange de transactions entre des cpéra- teurs (CPU, MEM), caractérisé en ce qutil comprend une pluralité de noeuds (N) dont chacun comporte des entrées et des sorties en même nombre, reliées à des opérateurs ou à d'autres noeuds, et des moyens pour router plusieurs transactions de même destination vers des sorties respectives différentes.
2. Réseau d'échange selon la revendication 1, caractérisé en ce que chaque noeud comprend une table de routage (T1) qui associe 1 'une des sorties du noeud à chaque destination d'une transaction.
3. Réseau d'échange selon la revendication 2, caractérisé en ce que chaque noeud comprend autant de tables de routage (T1-T4) que d'entrées ou sorties, chaque table associant une sortie différente à une même destination de transaction, de manière que plusieurs transactions de même destination soient associées à des sorties différentes fournies par des tables respectives.
4. Réseau d'échange selon la revendication 3, caractérisé en ce que les tables de routage successives sont associées à des chemins de préférence décroissante pour une destination donnée et à des priorités décroissantes des transactions, chaque noeud étant prévu pour incrémenter la priorité d'une transaction lorsque cette transaction n'est pas routée selon la table de préférence maximale.
5. Réseau d'échange selon la revendication 4, caractérisé en ce que chaque noeud comprend une table de routage supplémentaire (TS) qui associe à chaque entrée une sortie qui se trouve, avec ladite entrée, sur un chemin reliant tous les noeuds et tous les opérateurs, cette table étant utilisée pour les transactions dont la priorité a atteint une limite supérieure.
6. Réseau d'échange selon la revendication 4 ou 5, caractérisé en ce que chaque noeud associe au hasard des tables respectives à plusieurs transactions de même priorité et de même destination.
7. Réseau d'échange selon l'une quelconque des revendications 1 à 6, caractérisé en ce que chaque opérateur (10) comporte une entrée et une sortie reliées respectivement à une sortie et à une entrée d'un ou deux noeuds, l'opérateur étant prévu pour recevoir toute transaction sur son entrée et la renvoyer aussitôt à sa sortie si la transaction ne lui est pas destinée.
8. Réseau d'échange selon la revendication 7, caractérisé en ce que chaque opérateur renvoie une transaction qui lui est destinée lorsque cette transaction arrive à un moment où 1' opérateur est occupé.
9. Réseau d'échange selon la revendication 7, caractérisé en ce que chaque opérateur génère et envoie une transaction de priorité nulle lorsque l'opérateur n'a aucune transaction à envoyer, cette transaction de priorité nulle étant ignorée par tout opérateur qui la reçoit.
FR9515509A 1995-12-20 1995-12-20 Systeme d'echange d'informations entre plusieurs operateurs Expired - Lifetime FR2742894B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR9515509A FR2742894B1 (fr) 1995-12-20 1995-12-20 Systeme d'echange d'informations entre plusieurs operateurs
US08/769,958 US6023454A (en) 1995-12-20 1996-12-19 Deflection network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9515509A FR2742894B1 (fr) 1995-12-20 1995-12-20 Systeme d'echange d'informations entre plusieurs operateurs

Publications (2)

Publication Number Publication Date
FR2742894A1 true FR2742894A1 (fr) 1997-06-27
FR2742894B1 FR2742894B1 (fr) 1998-03-13

Family

ID=9485969

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9515509A Expired - Lifetime FR2742894B1 (fr) 1995-12-20 1995-12-20 Systeme d'echange d'informations entre plusieurs operateurs

Country Status (2)

Country Link
US (1) US6023454A (fr)
FR (1) FR2742894B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3080198A1 (fr) * 2018-04-16 2019-10-18 Stmicroelectronics (Rousset) Sas Procede de gestion du routage de transactions entre au moins un equipement source et au moins un equipement cible, par exemple une memoire multiports, et systeme sur puce correspondant

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW436695B (en) * 1999-09-28 2001-05-28 Geneticware Co Ltd Data process system having an architecture for allocating data/address channel
US7299277B1 (en) * 2002-01-10 2007-11-20 Network General Technology Media module apparatus and method for use in a network monitoring environment
US6801940B1 (en) * 2002-01-10 2004-10-05 Networks Associates Technology, Inc. Application performance monitoring expert

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60130942A (ja) * 1983-12-20 1985-07-12 Agency Of Ind Science & Technol 計算機用ネツトワ−ク
WO1987002157A1 (fr) * 1985-10-02 1987-04-09 American Telephone & Telegraph Company Reseau de commutation maille
JPH04262645A (ja) * 1991-02-15 1992-09-18 Fuji Xerox Co Ltd 選択型ルーティングシステム
US5151900A (en) * 1991-06-14 1992-09-29 Washington Research Foundation Chaos router system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1108325B (it) * 1978-04-10 1985-12-09 Cselt Centro Studi Lab Telecom Procedimento e dispositivo di in stradamento per una rete di comunicazione a commutazione di pacchetto
JP3679813B2 (ja) * 1991-07-22 2005-08-03 株式会社日立製作所 並列計算機
US5754792A (en) * 1992-03-19 1998-05-19 Hitachi, Ltd. Switch circuit comprised of logically split switches for parallel transfer of messages and a parallel processor system using the same
US5416769A (en) * 1993-07-13 1995-05-16 At&T Corp. Controlled-feedback packet switching system
US5617413A (en) * 1993-08-18 1997-04-01 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Scalable wrap-around shuffle exchange network with deflection routing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60130942A (ja) * 1983-12-20 1985-07-12 Agency Of Ind Science & Technol 計算機用ネツトワ−ク
WO1987002157A1 (fr) * 1985-10-02 1987-04-09 American Telephone & Telegraph Company Reseau de commutation maille
JPH04262645A (ja) * 1991-02-15 1992-09-18 Fuji Xerox Co Ltd 選択型ルーティングシステム
US5151900A (en) * 1991-06-14 1992-09-29 Washington Research Foundation Chaos router system

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
ALBERTENGO G ET AL: "DEFLECTION NETWORK: PRINCIPLES, IMPLEMENTATION, SERVICES (*)", EUROPEAN TRANSACTIONS ON TELECOMMUNICATIONS AND RELATED TECHNOLOGIES, vol. 3, no. 2, 1 March 1992 (1992-03-01), pages 195 - 206, XP000291694 *
CHOUDHURY A K ET AL: "AN APPROXIMATE ANALYSIS OF THE PERFORMANCE OF DEFLECTION ROUTING IN REGULAR NETWORKS", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 11, no. 8, 1 October 1993 (1993-10-01), pages 1302 - 1316, XP000491825 *
CHOUDHURY A K ET AL: "EFFECT OF CONTENTION RESOLUTION RULES ON THE PERFORMANCE OF DEFLECTION ROUTING", IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, GLOBECOM '91, vol. 3 OF 3, 2 December 1991 (1991-12-02), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 1706 - 1711, XP000313692 *
CHOUDHURY A K ET AL: "PERFORMANCE ANALYSIS OF DEFLECTION ROUTING IN THE MANHATTAN STREET NETWORK", INTERNATIONAL CONFERENCE ON COMMUNICATIONS, ICC '91, vol. 3 OF 3, 23 June 1991 (1991-06-23), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 1659 - 1665, XP000277595 *
PATENT ABSTRACTS OF JAPAN vol. 009, no. 291 (E - 359) 19 November 1985 (1985-11-19) *
PATENT ABSTRACTS OF JAPAN vol. 017, no. 047 (E - 1313) 28 January 1993 (1993-01-28) *
ROBERTAZZI T ET AL: "DEFLECTION STRATEGIES FOR THE MANHATTAN STREET NETWORK", INTERNATIONAL CONFERENCE ON COMMUNICATIONS, ICC '91, vol. 3 OF 3, 23 June 1991 (1991-06-23), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 1652 - 1658, XP000277594 *
SZYMANSKI T: "AN ANALYSIS OF "HOT-POTATO" ROUTING IN A FIBER OPTIC PACKET SWITCHED HYPERCUBE", PROCEEDINGS IEEE INFOCOM '90, THE CONFERENCE ON COMPUTER COMMUNICATIONS, vol. VOL. 3, no. CONF. 9, 3 June 1990 (1990-06-03), INSTITUTE OF ELECTRICAL AND ELECTRONIC ENGINEERS, pages 918 - 925, XP000164311 *
TEIN Y CHUNG ET AL: "A ROUTING SCHEME FOR DATAGRAM AND VIRTUAL CIRCUIT SERVICES IN THE MSN", PROCEEDINGS OF THE ANNUAL INTERNATIONAL PHOENIX CONFERENCE ON COMPUTERS AND COMMUNICATIONS, SCOTTSDALE, MAR. 22 - 24, 1989, no. 1989, 22 March 1989 (1989-03-22), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 214 - 218, XP000040922 *
ZHENSHENG ZHANG ET AL: "PERFORMANCE ANALYSIS OF MULTIHOP LIGHTWAVE NETWORKS WITH HOT POTATO ROUTING AND DISTANCE-AGE-PRIORITIES", PROCEEDINGS IEEE INFOCOM '91 THE CONFERENCE ON COMPUTER COMMUNICATIONS, vol. 3, 7 April 1991 (1991-04-07), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 1012 - 1021, XP000223429 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3080198A1 (fr) * 2018-04-16 2019-10-18 Stmicroelectronics (Rousset) Sas Procede de gestion du routage de transactions entre au moins un equipement source et au moins un equipement cible, par exemple une memoire multiports, et systeme sur puce correspondant
EP3557433A1 (fr) * 2018-04-16 2019-10-23 STMicroelectronics (Rousset) SAS Procédé de gestion du routage de transactions entre au moins un équipement source et au moins un équipement cible, par exemple une mémoire multiports, et système sur puce correspondant
US10740141B2 (en) 2018-04-16 2020-08-11 Stmicroelectronics (Rousset) Sas Method for managing transactions routing between source equipment and target equipment

Also Published As

Publication number Publication date
FR2742894B1 (fr) 1998-03-13
US6023454A (en) 2000-02-08

Similar Documents

Publication Publication Date Title
EP1701274B1 (fr) Architecture de noeud de communication dans un système de réseau sur puce globalement asynchrone
EP0349371B1 (fr) Système informatique à interconnexion centrale
EP1280376B1 (fr) Procédé de gestion de tâches pour un automate de routage d'un commutateur de paquets faisant partie d'un réseau sécurisé de transmission à commutation par paquets
FR2472234A1 (fr) Protocoles de communication geres par les modules de communication utilises dans un systeme de traitement de donnees reparti
FR2637997A1 (fr) Procede et dispositif pour mettre en file d'attente des requetes et des reponses sur un bus
FR2779843A1 (fr) Composant memoire multiport serie et application a un ordinateur
FR2617304A1 (fr) Sequenceur d'entrees/sorties programmable pour processeur d'entree/sortie
FR2482746A1 (fr)
WO2007048987A1 (fr) Routeur et reseau de routage
EP0920157A1 (fr) Dispositif de gestion de mémoire tampon partagée
CH640646A5 (fr) Dispositif de partage temporel de l'acces a une memoire principale connectee a un bus unique entre un calculateur central et une pluralite de calculateurs peripheriques.
EP0616479B1 (fr) Procédé de reconfiguration d'un réseau maillé
FR2865334A1 (fr) Procede et systeme de transmission de messages dans un reseau d'interconnexions.
EP1531589B1 (fr) Système et procédé de transmission d'une séquence de messages dans un réseau d'interconnexions
FR2742894A1 (fr) Systeme d'echange d'informations entre plusieurs operateurs
EP0120731B1 (fr) Récepteur de télétexte à moyens de décision d'acquisition anticipée
FR2893471A1 (fr) Systeme et procede de routage statique de flux de paquets de donnees dans un reseau d'interconnexion
EP0344035B1 (fr) Réseau de transmission d'informations numériques entre plusieurs stations
WO2001022684A1 (fr) Procede et systeme de transmission d'une chaine de messages pour base de donnees
EP0113272B1 (fr) Réseau maille modulaire de communications
EP1052573A1 (fr) Procédé et dispositif pour commander l'ordre de départ d'informations ou d'objets stockés temporairement
EP0589743B1 (fr) Dispositif modulaire permettant le couplage et le multiplexage de bus de différents types
EP0634724A1 (fr) Ensemble informatique à mémoire partagée
FR2726383A1 (fr) Systeme de traitement d'informations comportant au moins deux processeurs
EP0369843B1 (fr) Unité centrale à plusieurs processeurs et plusieurs mémoires pour systèmes de traitement de données

Legal Events

Date Code Title Description
TQ Partial transmission of property

Owner name: COLISTO FUND II NV, L.L.C., US

Effective date: 20120723