DE60208252T2 - Vorrichtung für ein Mehrrechnersystem mit einer mehrstufigen Verbindungsanordnung - Google Patents

Vorrichtung für ein Mehrrechnersystem mit einer mehrstufigen Verbindungsanordnung Download PDF

Info

Publication number
DE60208252T2
DE60208252T2 DE60208252T DE60208252T DE60208252T2 DE 60208252 T2 DE60208252 T2 DE 60208252T2 DE 60208252 T DE60208252 T DE 60208252T DE 60208252 T DE60208252 T DE 60208252T DE 60208252 T2 DE60208252 T2 DE 60208252T2
Authority
DE
Germany
Prior art keywords
network
level
cluster
stage
packets
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.)
Expired - Lifetime
Application number
DE60208252T
Other languages
English (en)
Other versions
DE60208252D1 (de
Inventor
Tomohiro Yokohama-shi Morimura
Hideharu Yokohama-shi Amano
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.)
Semiconductor Technology Academic Research Center
Original Assignee
Semiconductor Technology Academic Research Center
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 Semiconductor Technology Academic Research Center filed Critical Semiconductor Technology Academic Research Center
Publication of DE60208252D1 publication Critical patent/DE60208252D1/de
Application granted granted Critical
Publication of DE60208252T2 publication Critical patent/DE60208252T2/de
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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17393Indirect interconnection networks non hierarchical topologies having multistage networks, e.g. broadcasting scattering, gathering, hot spot contention, combining/decombining

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Description

  • Diese Anmeldung basiert auf der Anmeldung Nr. 2001-056475, eingereicht in Japan, deren Inhalt hiermit durch Bezugnahme einbezogen wird.
  • TITEL DER ERFINDUNG
    • Mehrprozessorsystemvorrichtung
  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Mehrprozessorsystemvorrichtung, die zwei oder mehrere Prozessoren verwendet, und insbesondere auf eine Mehrprozessorsystemvorrichtung, die Cluster von Prozessoren und Speichermodulen hat, die mit mehreren Stufen der Umschaltung (d. h. einem mehrstufigen Verbindungsnetzwerk) verbunden sind.
  • 2. Beschreibung des Standes der Technik
  • Eine Mehrprozessorsystemvorrichtung mit Clustern von Prozessoren und Speichermodulen, die durch Schaltelemente miteinander verbunden sind, nehmen eine größere Zeitdauer zur Datenverarbeitung in Anspruch, wenn zwei oder mehrere Datenpakete von einem einzigen Schaltelement empfangen werden, was eine Kollision von Daten verursacht, so dass der Wirkungsgrad der Datenverarbeitung herabgesetzt wird. Zum Ausgleich dazu wurden einige Anordnungen mit einem nicht-blockierenden Netzwerk, einem umarrangierbaren Netzwerk und einem blockierenden Netzwerk vorgeschlagen, um das Auftreten von Datenpaket-Kollision in einem Schalter auf ein Minimum herabzusetzen.
  • Das nicht-blockierende Netzwerk, bspw. das Crossbar-Netzwerk oder Kreuz-Netzwerk, können eine Kollision von Daten in einem Schalter vermeiden, wenn die Konzentration aller Anrufleitungen durch eine Ablaufplanung unterdrückt wird. Auch ein umarrangierbares Netzwerk kann keine Kollision gestatten, wenn die Einstellung der Schaltelemente durch eine Ablaufplanung gesteuert wird. Das blockie rende Netzwerk kann hingegen im allgemeinen jegliche Kollision vermeiden, indem nicht nur eine Ablaufplanung sondern eine Ablaufplanung eines Musters der Zugriffsanfragen gemacht wird. Ein nichtblockierendes Netzwerk wird jedoch in der Hardwareanordnung groß, um die Anzahl der Prozessor- und Speichermodule aufzunehmen, und es führt zu erhöhten Kosten der Systemproduktion in großem Maßstab. Obwohl seine Hardwarekosten kleiner sind als bei dem nicht-blockierenden Netzwerk, erfordert das umarrangierbare Netzwerk mehr Zeit für die Ablaufplanung und ist kaum mit einem Mehrprozessorsystem kompatibel. Zusätzlich ist, da die Ablaufplanung des blockierenden Netzwerks im allgemeinen keine Kollision durch Umarrangieren von Mustern der Zugriffsanfragen erlaubt, die praktische Wirkung auf dem Vielprozessorsystem nur auf einen speziellen Fall eingeschränkt, wo Anfragefaktoren in einer vorgegebenen Ordnung ausgerichtet sind.
  • K. IWAI, I. MORIMURA, I. FUJIWARA, K. SAKAMOTO: „An interconnection network of ASCA: a multiprocessor for multi-grain parallel processing" (Online) Februar 1998 (1 998–02), S. 262–264, XP002272859 offenbart eine Mehrprozessorsystemvorrichtung mit einer Vielzahl von Prozessoren, die durch eine Netzwerkanordnung miteinander verbunden sind. Die Vorrichtung umfasst eine Vielzahl von Prozessorelementen, wobei jedes Prozessorelement einen Prozessor, einen Speicher und eine Schnittstelle zum Anschluss mit der Netzwerkanordnung und ein Feld von mehrstufigen Verbindungsnetzwerken hat, die eine mehrstufige Anschlussanordnung haben, wobei mehrere Stufen von Schaltelementen zur Verbindung zwischen den Prozessorelementen vorgesehen sind, wobei die Prozessorelemente und die mehrstufigen Verbindungsnetzwerke auf der Basis einer speziellen Nummer zu Clustern zusammengefasst und in mehreren Niveaus angeordnet sind. In dieser Vorrichtung wird die Übertragung von Datenpaketen zwischen den Prozessorelementen entsprechend einem statistisch bestimmten Ablauf durchgeführt.
  • Die vorliegende Erfindung wurde entwickelt, um die vorstehenden Probleme zu lösen, und ihre Aufgabe ist es, eine Mehrprozessorsystemvorrichtung zu erhalten, die es einem Kompilierer zu gestattet, ein statistisches Ablaufverfahren über einem groß angelegten System von Prozessor- und Speichermodulen leicht durchzuführen und dass die Übertragung von Datenpaketen ohne Kollision von Daten in Antwort auf ein gemeinsames Muster an gleichzeitigen Zugriffsanfragen durchführen kann. Diese Aufgabe wird durch das Mehrprozessorsystem gemäß Anspruch 1 erreicht, während bevorzugte Ausführungsbeispiele der Erfindung in den Unteransprüchen charakterisiert sind.
  • Eine Mehrprozessorsystemvorrichtung gemäß der vorliegenden Erfindung, die zwei oder mehrere Prozessoren hat, die miteinander durch eine Netzwerkanordnung verbunden sind, umfasst eine Vielzahl von Prozessorelementen (verarbeitenden Elementen) und eine Schnittstelle zur Verbindung mit einer Netzwerkanordnung. Jedes Prozessorelement umfasst einen Prozessor, einen Speicher und eine Schnittstelle zum Anschluss mit der Netzwerkanordnung. Andererseits haben mehrstufige Verbindungsnetzwerke eine mehrstufige Anschlussanordnung; wobei mehrere Stufen von Schaltelementen für die Verbindung zwischen den Prozessorelementen vorgesehen sind. Die Prozessorelemente und die mehrstufigen Verbindungsnetzwerke sind auf der Basis einer speziellen Nummer zu Clustern zusammengefasst und in mehreren Niveaus angeordnet. Die Übertragung von Datenpaketen zwischen den Prozessorelementen wird gemäß einem Ablauf durchgeführt, der statistisch unter Verwendung von Schaltstatustabellen bestimmt wird.
  • Die Tabelle wird an unterschiedlichen Zeiten erzeugt und zeigt den Status der Schaltelemente in den mehrstufigen Verbindungsnetzwerken an. Diese Konstruktion ermöglicht es der Mehrprozessorsystemvorrichtung, eine nicht-synchrone Bearbeitung durchzuführen. Als Resultat kann die Hardware, die für die Synchronisation erforderlich ist, in dem Overhead reduziert werden, und ihr Parallelbetrieb wird in Bezug auf den Wirkungsgrad verbessert.
  • Die mehrstufigen Verbindungsnetzwerke einer mehrstufigen Verbindungsanordnung können in die folgenden zwei Funktionen klassifiziert werden. D. h., dass eines ein Aufwärtsverbindungsnetzwerk für die Aufwärtsübertragung von Datenpaketen von einer niedrigeren Stufe zu einer höheren Stufe ist. Das andere ist ein Abwärtsverbindungsnetzwerk für die Abwärtsübertragung von Datenpaketen von einer oberen Stufe zu einer niedrigeren Stufe. In diesem Fall können die Pakete daran gehindert werden, sich in einem speziellen Netzwerk der Vermittlungseinrichtung zur Verbindungsherstellung zwischen Kreuz-Netzwerken anzusammeln und einen Hot-Spot zu erzeugen, wodurch zu einer Verbesserung der Arbeitsweise der Mehrprozessorsystemvorrichtung beigetragen wird.
  • Insbesondere kann die Schaltstatustabelle Daten eines Pakets, das einem speziellen Ausgangsteil zugeordnet ist, Daten an anderen Paketen, die eine Verbindung zu dem Ausgangsteil anfordern, und Daten des Zustands des Ausgangsteils für jedes Schaltelement enthalten. In diesem Fall gestattet sie, dass das statistische Schema in einer Anordnung mit großem Maßstab, die Prozessorelemente und mehrstufige Verbindungsnetzwerke umfasst, leicht durchgeführt werden kann.
  • Sie kann modifiziert werden, wobei in diesem Fall, wenn die Verbindung zu einem Ausgangsboard eines Schaltelementes von zwei oder mehr Paketen zur selben Zeit angefordert wird, die Übertragung der Pakete zwischen den Prozessorelementen nach dem Schema über die merhstufigen Verbindungsnetzwerke ausgeführt wird. Damit wird einem Paket, das dem Ausgangsport nicht durch eine spezielle Art der Abschätzung zugeordnet ist, gestattet, den Ausgangsport mit einer Schaltstatustabelle an einem anderen Zeitpunkt anzufordern. In diesem Fall kann die Übertragung der Pakete ohne Kollision der Daten in Antwort auf ein gemeinsames Muster von gleichzeitigen Zugriffsanforderungen durchgeführt werden.
  • Es kann im übrigen auch modifiziert werden, wobei in diesem Fall die mehrstufigen Verbindungsnetzwerke aus Kreuz-Netzwerken bestehen, und wenn die Verbindung des Ausgangsports eines Schaltelementes von zwei oder mehreren Paketen zur gleichen Zeit angefordert wird, die Übertragung von Paketen zwischen den Prozessorelementen nach dem Schema über die mehrstufigen Verbindungsnetzwerke ausgeführt wird. Somit wird einem Paket, das nicht einem Ausgangsport durch eine spezielle Art der Abschätzung zugeordnet ist, gestattet werden, einen anderen Ausgangsport anzufordern, der nicht von anderen Paketen angefordert ist. In diesem Fall kann sie den Wirkungsgrad der Übertragung von Datenpaketen, der Höhen und damit zu einer Verbesserung der Arbeitsweise der Mehrprozessorsystemvorrichtung beitragen.
  • Mehr speziell kann die Zeitplanung für jedes Paket vorläufig durch einen Kompilierer durchgeführt werden. In diesem Fall kann die Zeitplanung der Pakete, die im Falle einer Kollision im Stand der Technik dynamisch durchgeführt wird, durch den Kompilierprozess gesteuert werden. Auch kann die Hardwareanordnung, bspw. ein FIFO-Modul, der bei der dynamischen Zeitplanung für die Pakete wesentlich erforderlich ist, in seiner Größe erheblich reduziert werden. Darüber hinaus kann die Netzwerkumgebung für nicht-synchrone Bearbeitungsvorgänge zwischen den Prozessoren in vorteilhafter Weise aufgebaut werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Verschiedene Charakteristiken und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung genommen, in Zusammenhang mit den bevorzugten Ausführungsbeispielen unter Bezugnahme auf die beigefügten Zeichnungen klar, in denen durchgehend gleiche Teile mit gleichen Bezugszahlen versehen sind, und in denen:
  • 1 ein schematisches Blockdiagramm einer Mehrprozessorsystemvorrichtung ist, die das erste Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 2 ein schematisches Blockdiagramm einer beispielhaften Anordnung des Prozessorelementes ist;
  • 3 ein Diagramm ist, das ein Kreuz-Netzwerk zeigt;
  • 4 ein Diagramm ist, das eine Netzwerkanordnung an dem Niveau 0 in dem Kreuz-Netzwerk zeigt;
  • 5 ein Diagramm ist, das eine Netzwerkanordnung an dem Niveau 1 des Kreuz-Netzwerk zeigt;
  • 6 eine Darstellung ist, die eine mehrstufige Gruppierungsanordnung der Mehrprozessorsystemvorrichtung zeigt;
  • 7 ein Diagramm einer Schaltstatustabelle ist;
  • 8 ein Flußdiagramm einer statistischen Zeitplanungsprozedur ist, die die Schaltstatustabelle verwendet;
  • 9 ein Flußdiagramm einer statistischen Zeitplanungsprozedur ist, die die Schaltstatustabelle verwendet;
  • 10 ein Flußdiagramm der statistischen Zeitplanungsprozedur ist, die die Schaltstatustabelle verwendet;
  • 11 ein Diagramm einer Schaltstatustabelle vor der Abschätzung ist;
  • 12 ein Diagramm der Schaltstatustabelle nach der Abschätzung ist;
  • 13 ein Diagramm einer anderen Anordnung eines Kreuz-Netzwerks ist;
  • 14 ein Flußdiagramm einer Zeitplanungsprozedur in einem Kreuz-Netzwerk ist, das eine Zugriffsliste AL und einen Gültig-Porf-Zähler VPC verwendet;
  • 15 ein Diagramm ist, das den Anfangszustand der Zugriffsliste ALcur zeigt;
  • 16 ein Diagramm ist, das einen Anfangszustand des Gültig-Port-Zählers VPC zeigt;
  • 17 ein Diagramm ist, das einen Zustand der Zugriffsliste ALnew zeigt, nach dem jedes Paket zugeordnet ist;
  • 18 ein Diagramm ist, das einen Zustand des Gültig-Port-Zählers VPC zeigt, nach dem jedes Paket zugeordnet ist;
  • 19 ein Diagramm ist, das die Route von jedem Paket nach der Zeitplanung zeigt;
  • 20 eine Darstellung einer mehrstufigen Clusteranordnung einer Mehrprozessorsystemvorrichtung ist, die ein zweites Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 21 eine Darstellung der Mehrprozessorsystemvorrichtung von 20 ist, die eine Abwärtsverbindung zwischen Kreuz-Netzwerken und einem Erweiterungsnetzwerk zeigt;
  • 22 ein Diagramm ist, das eine Übertragung von Daten zwischen zwei Prozessorelementen zeigt; und
  • 23 ein Diagramm ist, das eine Übertragung von Paketen zwischen Prozessorelementen in der Mehrprozessorsystemvorrichtung 1a zeigt, die in 20 dargestellt ist.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Als nächstes wird die vorliegende Erfindung in größerem Detail unter Bezugnahme auf einige Ausführungsbeispiele beschrieben, die in den jeweiligen Zeichnungen gezeigt sind.
  • (Erstes Ausführungsbeispiel)
  • 1 ist ein schematisches Blockdiagramm einer Mehrprozessorsystemvorrichtung, die das erste Ausführungsbeispiel der vorliegenden Erfindung zeigt. Wie in 1 gezeigt ist, hat die Mehrprozessorsystemvorrichtung 1 einige 10 bis 1000 Prozessorelemente PE, die durch ein mehrstufiges Verbindungsnetzwerk (MIN) mit mehreren Stufen miteinander verbunden sind. Das mehrstufige Verbindungsnetzwerk, das in 1 gezeigt ist, umfasst drei Lagen.
  • Die Mehrprozessorsystemvorrichtung 1 umfasst eine Gruppierung von Clustern D0 bis Dx (wobei x eine ganze Zahl x>0 ist) und ein Verbindungsnetzwerk E0 zur Verbindung zwischen den Clustern D0 bis Dx. Jedes der Cluster D0 bis Dx umfasst Cluster A0 bis An (wobei n eine ganze Zahl n>0 ist) und ein Verbindungsnetzwerk, eines aus C0 bis Cx, zur Verbindung zwischen den Clustern A0 bis An. Auf ähnliche Weise umfasst jedes der Cluster A0 bis An Prozessorelemente PE0 bis PEm (wobei m eine ganze Zahl m>0 ist) und ein Verbindungsnetzwerk, eines aus B0 bis Bn, zur Verbindung zwischen den Prozessorelementen PE0 bis PEm.
  • Daher hat die Mehrprozessorsystemvorrichtung 1 einige hundert bis tausend Prozessorelemente PE, die durch ein mehrstufiges Verbindungsnetzwerk miteinander verbunden sind, das mehrere Stufen der Umschaltung hat, wobei jede Schaltstufe vorzugsweise für die Verbindung zwischen einigen bis einigen zehn Prozessorelementen als Systemvorrichtung mittlerer Größe ausgelegt ist. Auf das Ziel-Prozessorelement PE kann durch Umschaltung der Route an jeder Stufe zugegriffen werden.
  • Da die Prozessorelemente PE0 bis PEm in ihrem Aufbau identisch sind, wird ihr Repräsentant PEi (i=0 bis m) nun erläutert.
  • 2 ist ein schematisches Blockdiagramm, das eine Anordnung des Prozessorelements PEi zeigt.
  • Wie in 2 gezeigt ist, umfasst das Prozessorelement PEi einen Prozessor PU, einen Speicher ME und eine Netzwerkschnittstelle NI. Der Prozessor PU und der Speicher ME sind miteinander verbunden und ferner mit einem Verbindungsnetzwerk Bi durch die Netzwerkschnittstelle NI.
  • In dieser Anordnung wird nun angenommen, dass die Verbindung zwischen den Prozessorelementen in jedem der Cluster A0 bis An als Niveau 0 bezeichnet wird, dass die Verbindung zwischen den Clustern A0 bis An als Niveau 1 bezeichnet wird, und dass die Verbindung zwischen den Clustern D0 bis Dx als Niveau 2 bezeichnet wird. Daher arbeiten die Cluster A0 bis An an dem Niveau 0, die Cluster D0 bis Dx an dem Niveau 1 und das Verbindungsnetzwerk E0 arbeitet an dem Niveau 2, so dass eine Verbindungsanordnung mit drei Niveaus von dem Niveau 0 bis zu dem Niveau 3 aufgebaut wird, Mit anderen Wort sind die Cluster D0 bis Dx und das Verbindungsnetzwerk E0 zu einem Cluster F0 zusammengefasst, das an dem Niveau 2 betrieben wird.
  • 3 zeigt ein Kreuz-Netzwerk als ein übliches Beispiel eines mehrstufigen Verbindungsnetzwerks.
  • Das Kreuz-Netzwerk umfasst drei Schaltstufen mit einem Verteiler als erste Stufe, einer Austauscheinheit als zweite Stufe und einer Konzentriereinheit als dritte Stufe. Da jede Stufe, die in 3 gezeigt ist, vier Schalter aufweist, hat jeder Schalter vier Eingangsboards und vier Ausgangsboards.
  • Die Anzahl der Noden des mehrstufigen Verbindungsnetzwerkes oder die Anzahl der Stufen zur Bestimmung der Route zu jedem der Prozessorelemente PE wird ausgedrückt durch logk(m + 1), wobei (m + 1) die Anzahl der Prozessorelemente PE und k die Anzahl der Eingangs- oder Ausgangsports des Schalters ist. Da die gleichen Prozessorelemente an gegenüberliegenden Enden gezeigt sind, umfasst die in 3 gezeigte Anordnung m + 1 = 16 und k = 3.
  • Obwohl die Route zu den Prozessorelementen PE durch die letzten zwei Stufen der Umschaltung bestimmt werden kann, umfasst das Kreuz-Netzwerk 3 Stufen der Umschaltung, um die Menge an zu übertragenden Daten zu erhöhen und eine Redundanz der Routen bereitzustellen. Daher ist jedes Prozessorelement PE an einem Ende mit einem Eingangsport des Schalters in dem Verteiler und an dem anderen Ende mit einem Ausgangsport des Schalters in der Konzentriereinheit verbunden.
  • Das vielstufige Verbindungsnetzwerk ist in der Lage, in drei unterschiedlichen Betriebsweisen zu arbeiten, je nach der Anzahl der Eingangs- oder Ausgangsports von jedem Schalter und der Gesamtzahl der Schalter:
    In der nicht-blockierenden Betriebsweise, in der oben arrangierbaren Betriebsweise und in der blockierenden Betriebsweise. Die nicht-blockierende Betriebsweise ist in der Lage, eine Route statistisch zu bestimmen, die keine Kollision von zu übertragenden Daten erzeugt, während die umarrangierbare Betriebsweise eine andere Route auswählen kann, wenn eine Kollision von Daten auf einer vorgewählten Route auftritt. Die blockierende Betriebsweise ist nicht in der Lage, eine kollisionsvermeidende Route auszuwählen, wenn eine Kollision der Daten auf der vorausgewählten Route auftritt. Es sei bspw. angenommen, dass die Anzahl der Eingangs- oder Ausgangsports von jedem Schalter und die Zahl der Schalter an der Zwischenstufe in dem in 3 gezeigten Kreuz-Netzwerke gleich P ist, sodann ist die Arbeitsweise die nicht-blockierende Arbeitsweise, wenn p > (2k – 1) gilt, die umarrangierbare Betriebsweise, wenn p ≥ k gilt, und die blockierende Arbeitsweise, wenn p > k gilt.
  • Im übrigen ist es in der Form einer Hardwareanordnung nicht praktisch, einige hundert bis tausend Prozessorelemente PE durch ein einziges mehrstufiges Verbindungsnetzwerk zu verbinden. Zum Vergleich sind mehrere Prozessorelemente PE mit einer Kreuzschienen-Umschaltanordnung verbunden und bilden somit ein Netzwerk an dem Niveau 0. Dann wird eine größere Anzahl, nämlich ein Dutzend oder mehrere zehn Prozessorelemente PE mit einem höheren Niveau der Schaltanordnung verbunden, deren Eingänge mit den Crossbar-Schaltanordnungen verbunden sind, die ein Netzwerk an dem Niveau 1 bilden. Zusätzlich sind die Schaltanordnungs-Netzwerke des höheren Niveaus mit einer Erweiterungsstufe verbunden, die ein Cluster von Schaltern umfasst und damit ein Netzwerk an dem Niveau 2 bildet.
  • Auf ähnliche Weise kann, wenn eine gewünschte Anzahl von Systemvorrichtungen miteinander durch Hinzufügung von weiteren Stufen an höheren Niveaus miteinander verknüpft werden, eine resultierende Mehrniveaustruktur auf der Basis der mehrstufigen Verbindungsnetzwerke entwickelt werden, wo durch die Skalierbarkeit des Datenaustauschs vergrößert wird. Da das Netzwerk in jeder Stufe im wesentlichen als ein Unter-Netzwerk betrachtet wird, wird es im folgenden als ein Netzwerk NWs (wobei s eine ganze Zahl s > 0 ist) mit dem Niveau s bezeichnet.
  • Eine Netzwerkanordnung basierend auf mehrstufigen Verbindungsnetzwerken eines Crossbar-Verbindungstyps wird nun erläutert.
  • Die 4 und 5 sind Diagramme, die Unter-Netzwerke in einem Kreuz-Netzwerk der grundlegenden Anordnungen zeigen. 4 zeigt ein Niveau-0-Netzwerk in dem Kreuz-Netzwerk. 5 zeigt ein Niveau-1-Netzwerk in dem Kreuz-Netzwerk. Die Anordnung, die in jeder der 4 und 5 gezeigt ist, umfasst vier der Cluster A0 bis A3, wobei jedes Cluster vier Prozessorelemente PE0 bis PE3 hat.
  • Wie in den 4 und 5 gezeigt ist, ist ein Cluster von Schaltelementen SD0 bis SD3 vorgesehen, das als Verteiler arbeitet, eine anderes Cluster von Schaltelementen SE0 bis SE3, das als Austauscheinheit arbeitet, und eine weiteres Cluster von Schaltelementen SC0 bis SC3, das als Konzentriereinheit in dem Kreuz-Netzwerk arbeitet. Jedes der Schaltelemente SD0 bis SD3, SE0 bis SE3 und SC0 bis SC3 hat vier Eingangsports und vier Ausgangsports.
  • Die Schaltelemente SD0 und SC0 mit ihren entsprechenden Sätzen von vier Prozessorelementen PE0 bis PE3 sind zu einem Cluster A0 gruppiert. In gleicher Weise sind die Schaltelemente SD1 und SC1 mit ihren entsprechenden Sätzen von Prozessorelementen PE0 bis PE3 zu einem Cluster A1 gruppiert, die Schaltelemente SD2 und SC2 mit ihren entsprechenden Sätzen von Prozessorelementen PE0 bis PE3 sind zu einem Cluster A0 gruppiert, und die Schaltelemente SD3 und SC3 mit ihren entsprechenden Sätzen von vier Prozessorelementen PE0 bis PE3 sind zu einem Cluster A3 gruppiert.
  • Wenn die Schaltelemente SE0 bis SE3 für das Verbindungsnetzwerk C0 für eine gerade Verbindung von einem Eingangsport zu seinem entsprechenden Ausgangsport betätigt werden, wie durch den Pfeil in 4 dargestellt ist, wird das Niveau-0-Netzwerk für die Übertragung von Daten in jedem der Cluster A0 bis A3 implementiert. Alternativ werden die Schaltelemente SE0 bis SE3 in der Austauscheinheit für das Verbindungsnetzwerk C0 an der zweiten Stufe zur Austauschverbindung des Eingangs ports zu einem anderen Ausgangsport betätigt, wie durch den Pfeil in 5 angedeutet ist, und dann wird das Niveau-1-Netzwerk für die Übertragung von Daten zwischen den Clustern A0 bis A3 implementiert.
  • Wenn die Schaltelemente SE0 bis SE3 in der Austauscheinheit an der zweiten Stufe eine Schaltfunktion ausführen, bilden sie ein Niveau-1-Netzwerk. Wenn nicht, bilden sie ein Niveau-0-Netzwerk. Daher umfasst das Kreuz-Netzwerk sowohl das Niveau-0-Netzwerk als auch das Niveau-1-Netzwerk als zwei Unternetzwerke.
  • Das Verbindungsnetzwerk E0 höheren Niveaus, das in 1 zur Verbindung zwischen Kreuz-Netzwerken gezeigt ist, wird nun erläutert.
  • 6 zeigt eine Anordnung einer Mehrprozessorsystemvorrichtung 1 mit einer mehrstufigen Cluster-Struktur. Die mehrstufige Cluster-Struktuer, die in 6 gezeigt ist, umfasst vier Cluster D0 bis D3, wobei jedes Cluster aus vier Clustern A0 bis A3 besteht und jedes Unter-Cluster vier Prozessorelemente PE0 bis PE3 hat, die zur Vereinfachung der Erläuterung nicht dargestellt sind.
  • Da jedes der Cluster D0 bis D3, die in 6 gezeigt sind, 16 Prozessorelemente hat, die mit dem Kreuz-Netzwerk verbunden sind, sind die Cluster D0 bis D3 mit Kreuz-Netzwerken durch ein Cluster von Schaltelementen SEa0 bis SEa3 in der Austauscheinheit an der höheren Stufe oder dem Niveau 2 verbunden. Die Schaltelemente SEa0 bis SEa3, die jeweils vier Eingangsports und vier Ausgangsports haben, bilden ein Verbindungsnetzwerk E0, wie es bspw. in 1 gezeigt ist. Auch ist in diesem Fall jedes der Schaltelemente SE0 bis SE3 von jedem Kreuz-Netzwerk an der niedrigeren Stufe mit einem Paar von zusätzlichen Eingangs- und Ausgangsports ausgerüstet, so dass sie fünf Eingangsports und fünf Ausgangsports haben. Auch in dem Fall, dass eine größere Anzahl von Prozessorelementen miteinander verbunden werden sollen, kann eine höhere Stufe oder ein Niveau-3-Netzwerk als Austauscheinheit zur Verbindung zwischen den Niveau-2-Netzwerken hinzugefügt werden. Daher sind zwei oder mehrere der Systemanordnungen, die in 1 gezeigt sind, vorgesehen und durch ein zusätzliches Verbindungsnetzwerk miteinander verbunden, so dass eine Vier-Lagen-Anordnung entwickelt wird. Wenn die Anzahl der Lagen R ist, wird die Anzahl N der miteinander zu verbindenden Prozessorelemente aus der folgenden Gleichung (1) berechnet. N = (m + 1) × k(R–1) (1)wobei (m + 1) die Anzahl der Prozessorelemente in dem grundlegenden mehrstufigen Verbindungsnetzwerk ist.
  • Da die Mehrprozessorsystemvorrichtung 1, die in 1 gezeigt ist, m + 1 = k × k aufweist, wird die Gleichung (1) ausgedrückt als N = k × k × k(R–1) = k(R+1) (2)
  • Als nächstes wird ein statistisches Zeitplanungsverfahren für das vielstufige Verbindungsnetzwerk der obigen Anordnung beschrieben.
  • Es wird nun als Voraussetzung für die statistische Zeitplanung angenommen, dass die Übertragung jeglicher Daten statistisch vollständig durch einen Zeitplaner analysiert wird, der in einem Kompilierer vorgesehen ist, und dass der Zugriff auf die Daten nach einem Zeitplan vorgenommen wird, wobei alle Informationen über die Übertragung von allen Daten in Paketen an einem gegebenen Zeitpunkt vorgegeben worden ist.
  • Für die Ausführung des statistischen Zeitplans ist es wesentlich, den Status von jedem Schaltelement zu erfassen. Daher wird eine Schaltstatustabelle für jeden Ausgangsport des Schaltelements erstellt, die Klassifikationen wie „gegenwärtiger Zeitpunkt", „Halte den Porf", „Halte den Takt", „Portanfragen-Warteschlange" und „Status" umfasst. „Halte den Port" bezeichnet eine Eingangsportnummer, die den Ausgangsport hält. „Halte den Takt" ist die Anzahl der „Takt"-Zyklen, die von dem Port gehalten werden. „Portanforderungs-Warteschlange" ist eine Warteschlange, um die Eingangsportnummer einzufügen, die von einem Augangsport angefordert wird. „Status" ist der Status des Ausgangsports, wobei die Wahl zwischen „freigegeben" und „halten" ist.
  • 7 zeigt ein Beispiel der Schaltstatustabelle. Das in 7 gezeigte Schalterelement hat vier Eingangsporfs und vier Ausgangsports.
  • In 7 ist das Schaltelement zu dem gegenwärtigen Zeitpunkt von 157843 gezeigt, wobei der Ausgangsport Nr. 0 während zwei Takten durch den Eingangsport Nr. 3 gehalten wird. Dadurch wird somit ermöglicht, dass auf den Ausgangsport Nr. 0 durch keinen anderen Eingangsport während der Übertragung von Paketen während der Zeit von zwei Takten zugegriffen werden kann. Da der Ausgangsport Nr. 1 frei ist, wird sein Anschluss für die Paketübertragung von zwei Eingangsports Nr. 0 und Nr. 2 angefordert. Da die Ausgangsportnummer Nr. 2 und Nr. 3 frei sind, wird der Anschluss an den Ausgang Nr. 2 durch ein Paket an dem Eingangsport Nr. 1 angefordert.
  • Die Schaltstatustabellen von jedem Schaltelement, die in 7 gezeigt sind, sind vorgesehen und werden von dem Zeitplaner in dem Kompilierer für die Zeitplanung verwendet. Wenn die Portanforderungs-Warteschlange 2 oder mehr Anfragen wie an dem Ausgangsport Nr. 1 enthält, wie in 7 gezeigt ist, wird die Priorität von jedem Paket durch eine Abschätzung überprüft und die Anfrage von einem Paket, die in der Abschätzung verloren gegangen ist, wird später angenommen.
  • Dabei wird die vom Paket gewonnene Priorität bei der Zulassung zur Verbindung mit deren Ausgangsport in dem Halteport und der Haltetakt in der Schaltstatustabelle des Augangsports aufgelistet und gehalten, bis der Haltetakt 0 zählt. Entsprechend dann die Schaltstatustabelle für jede Zugriffszeit benötigt werden. Da jedoch die Schaltstatustabelle, die zur Zeitplanung des Zugriffs von einem Paket an einem gegebenen Zeitpunkt dem vorgegebenen Zeitpunkt nicht vorausgeht, kann jede andere Tabelle, die dem vorgegebenen Zeitpunkt vorausgeht, verworfen werden.
  • Eine statistische Zeitplanungsprozedur, die durch einen Kompilierer unter Verwendung der Schaltstatustabellen durchgeführt wird, wird nun erläutert. Es wird angenommen, dass ein Cluster von Paketen Uts, die zu dem Zeitpunkt Ts ausgegeben werden, Uts = p0, p1, ..., pN ist. Die statistische Zeitplanungsprozedur wird durch den Kompilierer durchgeführt, wenn nicht anderweitig spezifiziert ist.
  • Die Prozedur startet damit, dass die Schaltstatustabellen eines Schaltelementes in dem Verteiler für jedes Paket pj (j=0 bis N) das Cluster erzeugt werden, das den Daten eines Kopfteils (bspw. einem Routing-Tag) des Pakets entspricht: Die gegenwärtige Zeit in der Schaltstatustabelle wird auf Ts gesetzt. Wenn die Schaltstatustabellen des Schaltelements in dem Verteiler für die Pakete p1 bis pN fertig gestellt sind, wird die Priorität der Pakete in der Ortanforderungs-Warteschlange, die an den Eingangsports ansteht, durch die Abschätzung bestimmt. Jedes Paket, das in der Abschätzung verloren geht, wird von der gegenwärtigen Paketgruppe Uts getrennt und in eine nachfolgende Gruppe von Paketen Uts+1 eingefügt, die an dem Zeitpunkt Ts+1 ausgegeben wird.
  • Die Pakete, die bei der Abschätzung Priorität erhalten haben, werden den Ausgangsports zugeordnet, deren Schaltstatustabellen erzeugt und durch eine Anzahl, die von den Haltetaktzyklen bestimmt wird, neu geschrieben. Wenn der Status der Ausgangsports von jedem Schaltelement bestimmt wird, werden die Schaltstatustabellen für jedes Schaltelement an der nachfolgenden Stufe erzeugt oder neu geschrieben. Die Schaltstatustabellen zeigen den Status des Schaltelements an, wenn die gegenwärtige Zeit um eins weiter gezählt wird.
  • Während diese Schritte wiederholt werden, werden die an dem Bestimmungsort empfangenen Pakete aus der Paketgruppe Uts an einem Zeitpunkt entfernt. Die Aktion wird wiederholt, bis die Paketgruppe Uts abgearbeitet ist.
  • Das an dem Zeitpunkt Ts ausgegebene Paket wird so eingestellt oder der Zeitplanung unterworfen, dass keine Kollision erzeugt wird. Wenn zwei der Pakete, die gleichzeitig von einem Noden abgegeben werden, in der Paketgruppe weitergeleitet werden, wird auch eines davon in die nachfolgende Paketgruppe übertragen. Entsprechend werden, da der Zugriff durch Pakete in hohem Maße intensiviert wird, die Paketgruppen einem nach der anderen zurück verschoben. Da die Zeitplanungsprozedur wie an dem Zeitpunkt Ts für jeden Zeitpunkt durchgeführt wird, kann die Übertragung von Paketen statistisch geplant werden.
  • Die 8 bis 10 sind Flußdiagramme, die die Prozedur der statistischen Planung mit den Schaltstatustabellen zeigt. Die statistische Planungsprozedur wird in größerem Detail unter Bezugnahme auf die Flußdiagramme der 8 bis 10 beschrieben. Es wird auch bei den 8 bis 10 angenommen, dass eine Gruppe von Paketen Uts, die an dem Zeitpunkt Ts ausgegeben werden, Uts=p0, p1, p..., pN sind. Die statistische Planungsprozedur, die in den 8 bis 10 gezeigt ist, wird durch den Kompilierer durchgeführt, wenn nicht anderweitig spezifiziert ist.
  • Wie in 8 gezeigt ist, wird eine Paketgruppe Uts, die an dem Zeitpunkt Ts ausgegeben wird, von den Eingangsports von jedem Schaltelement an der ersten Stufe (Schritt S1) empfangen. Die Stufen des mehrstufigen Verbindungsnetzwerks sind aufsteigend von 1 an der Eingangsstufe numeriert. Die gegenwärtige Schaltstufe STcur wird auf 1 gesetzt, und die höchste Stufe Rcur, die gegenwärtig angesprochen ist, wird ebenfalls auf 1 gesetzt (Schritt S2). Sodann wird jedes Schaltelement in der gegenwärtigen Stufe STcur der Zeitplanung unterworfen (Schritt S3). Es wird überprüft, ob das Schaltelement in der gegenwärtigen Stufe STcur eine Verknüpfung zu der tieferen Stufe (Schritt S4) hat oder nicht. Wenn dies zutrifft (JA), wird die gegenwärtige Stufe STcur auf ein tieferes Niveau nach unten verschoben, und die gegenwärtige Zeit Tcur wird um eins weiter gezählt (Schritt S5). Sodann geht die Prozedur zu dem Schritt S3 zurück.
  • Wenn keine Verknüpfung zu der tieferen Stufe an dem Schritt S4 aufgefunden wird (NEIN), wird das Schaltelement in der gegenwärtigen Stufe STcur darauf überprüft, ob es eine Verknüpfung zu der oberen Stufe hat oder nicht (Schritt S6). Wenn dies zutrifft (JA), wird die Einstellung der höchsten Stufe Rcur um eins hochgeschaltet, und die gegenwärtige Schaltstufe STcur wird auf das Niveau gleich dem von Rcur gesetzt (Schritt S7). Sodann kehrt die Prozedur zu dem Schritt S3 zurück. Wenn an dem Schritt S6 festgestellt wird, dass keine Verbindung zu der höheren Stufe gefunden wird (NEIN), wird die Prozedur beendet.
  • Die Aktion des Schritts S3, die in 8 gezeigt ist, wird nun in größerem Detail unter Bezugnahme auf das Flußdiagramm von 9 beschrieben.
  • Wie in 9 gezeigt ist, ist die Portanforderungs-Warteschlange in der Schaltstatustabelle zu dem gegenwärtigen Zeitpunkt Tcur von jedem Schaltelement in der gegenwärtigen STcur der Nummer von jedem Eingangsport zugeordnet, an dem ein Paket empfangen wird, in Antwort auf die Nummer des Ausgangsports, der angefordert werden soll (Schritt S11). Dann werden die Schaltelemente in der gegenwärtigen Stufe STcur von 0 an durchgezählt, und die Nummer des betreffenden Schaltelementes SWcur wird auf 0 gesetzt (Schritt S12).
  • Das Schaltelement SWcur wird einer Planung mit den Schaltstatustabellen unterworfen (Schritt S13). Es wird überprüft, ob die gegenwärtige Schaltstufe STcur das höchste Niveau ist (Schritt S14). Wenn an dem Schritt S14 festgestellt wird, dass die Stufe STcur die höchste Stufe ist (JA), wird das dem Ausgangsport zugewiesene Paket aus der gegenwärtigen Paketgruppe Uts entfernt (Schritt S15). Sodann wird die Nummer des Schaltelements SWcur um eins erhöht (Schritt S16), und es wird überprüft, ob die Nummer des Schaltelements SWcur größer ist als die Gesamtzahl der Schaltelemente Nst der gegenwärtigen Schaltstufe STcur oder nicht (Schritt S17).
  • Wenn an dem Schritt S17 festgestellt wird, dass die Zahl SWcur größer als Nst ist (JA), wird die Route bestimmt und die Prozedur geht zu dem Schritt S4 von B. Wenn an dem Schritt S17 festgestellt wird, dass die Zahl SWcur nicht größer als Nst ist (NEIN), kehrt die Prozedur zu dem Schritt S13 zurück. Wenn an dem Schritt S14 festgestellt wird, dass die gegenwärtige Stufe nicht die höchste ist (NEIN), wird das an dem Ausgangsport empfangene Paket an den entsprechenden Eingangsport eines Schaltelements in der nachfolgenden Stufe übertragen (Schritt S18), und die Prozedur geht zu dem Schritt S16.
  • Der Planungsvorgang an dem Schritt S13, der in 9 gezeigt ist, wird in größerem Detail unter Bezugnahme auf das Flußdiagramm von 10 beschrieben.
  • Wie in 10 gezeigt ist, wird die Zahl des Ausgangsports POcur, die durch die Schaltstatustabelle bestimmt wird, auf 0 gesetzt (Schritt S21), und es wird geprüft, ob die Zahl des Ausgangsports POcur eine Portanforderungs-Warteschlange hat oder nicht (Schritt S22). Wenn an dem Schnitt S22 festgestellt wird, dass die Portanforderungs-Warteschlange existiert (JA), wird die Priorität aus dem Kopfteil von jedem Paket durch die Abschätzung überprüft (Schritt S23), und die Pakete werden eines nach dem anderen aus der Portanforderungs-Warteschlange herausgenommen (Schritt S24). Es wird dann überprüft, ob das herausgenommene Paket in der Abschätzung Priorität erhalten hat oder nicht (Schritt 25).
  • Wenn an dem Schritt S25 festgestellt wird, dass das herausgenommene Paket das höchste ist (JA), wird die Zeit Th in der Schaltstatustabelle des Pakets auf Tcur gesetzt (Schritt S26). Die Zahl des Eingangsports, an dem das Paket empfangen wird, wird in dem Halteport der Ausgangsportsnummer gesetzt, die durch die Schaltstatustabelle an dem Zeitpunkt Th bestimmt wird (Schritt S27). Auch wird dem Haltetakt eine Zahl von Takten zugeordnet, die zur Übertragung des Pakets erforderlich sind (Schritt S28). Die Zahl der Takte, die in dem Haltetakt eingeschrieben ist, wird um eins vermindert, und die gegenwärtige Zeit Th wird um eins weiter gezählt (Schritt S29). Es wird dann geprüft, ob die Zahl der Takte in dem Haltetakt gleich 0 ist oder nicht (Schritt S30). Wenn an dem Schritt S30 festgestellt wird, dass die Zahl der Takte nicht 0 ist (JA), geht die Prozedur zurück zu dem Schritt S27. Wenn sie 0 ist (NEIN), geht die Prozedur zurück zu dem Schritt S22.
  • Wenn an dem Schritt S25 festgestellt wird, dass das aufgegriffene Paket in der Abschätzung verloren gegangen ist (NEIN), wird das Paket aus der gegenwärtigen Paketgruppe Uts entfernt und in die nachfolgende Paketgruppe Uts+1 übertragen. Die Paketgruppen werden um eins zurückverschoben, bis zwei oder mehrere Pakete nicht gleichzeitig von einem Noden ausgegeben werden (Schritt S31), und die Prozedur geht zurück zu dem Schritt S22. Wenn an dem Schritt S22 festgestellt wird, dass keine Portanforderungs-Warteschlange gefunden wird (NEIN), wird die Nummer des Ausgangsports POcur um eins weitergezählt (Schritt S32). Es wird dann geprüft, ob die Ausgangsportnummer POcur kleiner ist als die Gesamtzahl der Schaltelemente Nport oder nicht (Schritt S33). Wenn an dem Schritt S33 festgestellt wird, dass die Zahl POcur kleiner ist als Nport (JA), kehrt die Prozedur zu dem Schritt S22 zurück. Wenn nein, wird diese Routine beendet, und die Prozedur geht zu dem Schritt S14 von 9.
  • Die Zeitplanungsprozedur wird unter Bezugnahme auf ein praktisches Beispiel erläutert, Es wird bspw. angenommen, dass die Zeitplanung der Pakete, die zu dem Zeitpunkt Ts ausgegeben werden, mit dem Status eines Schaltelementes in dem Stufennetzwerk zu dem Zeitpunkt 15000 ausgeführt wird, wie in 11 gezeigt ist. 11 zeigt das Schaltelement in der Austauscheinheit, das fünf Eingangsports und fünf Ausgangsports hat.
  • Wie in 11 gezeigt ist, wird der Ausgangsport Nr. 2 während zwei Takten durch den Eingangsport Nr. 4 gehalten. Das empfangene Paket wird der Portanforderungs-Warteschlange eines entsprechenden Ausgangsports zugeordnet, der aus seinen Routen-Tag-Daten bestimmt wird. Die Schaltstatustabelle, die in 11 gezeigt ist, zeigt einen Status, bevor die Zeitplanung startet. Der Kompilierer führt einen Abschätzungsprozess aus den Daten aus, die in der Schaltstatustabelle von 11 aufgelistet sind, und er erzeugt eine Schaltstatustabelle, die in 12 gezeigt ist.
  • In 11 fordern zwei Eingangspakete die Verbindung mit dem Ausgangsport Nr. 1 an, und ihre Priorität wird aus den Kopfteildaten durch den Kompilierer überprüft. Wenn das Paket, das an dem Eingangsport Nr. 1 empfangen wird, die Priorität gegenüber dem anderen hat, entfernt der Kompilierer das andere Paket, das an dem Eingangsanschluss Nr. 0 empfangen wurde, aus der Paketgruppe Uts an dem Zeitpunkt Ts und überträgt es an die nachfolgende Paketgruppe Uts+1. Entsprechend wird das Paket, das an dem Eingangsport Nr. 0 empfangen wurde, aus dem Zugriff zu dem Ausgangsport Nr. 1 gelöscht, wie in 12 gezeigt ist. Während der Halteport des Ausgangsports Nr. 1 dem an dem Eingangsport Nr. 1 empfangenen Paket zugeordnet wird und ihm durch den Kompilierer die Priorität gegeben wird, wird der Haltetakt des Ausgangsports Nr. 1 auf eins gesetzt, wie in 12 gezeigt ist. Dann wird der Ausgangsport Nr. 1 in den Haltezustand zurückgeführt.
  • Der Ausgangsport Nr. 2 bleibt in seinem Haltezustand und wird während zwei Takten von dem Paket an dem Eingangsport Nr. 4 gehalten, wie in 11 gezeigt ist. Dies bewirkt, dass das Paket an dem Eingangsport Nr. 3, welches die Verbindung zu dem Ausgangsport Nr. 2 anfordert, zusammen mit den anderen Paketen, die bei der Abschätzung verloren gingen, aus der Paketgruppe Uts durch die Wirkung des Kompilierers entfernt wird, zu der nachfolgenden Paketgruppe Uts+1 übertragen wird und aus dem Zugriff zu dem Ausgangsport Nr. 2 gelöscht wird, wie in 12 gezeigt ist. Der Ausgangsport Nr. 4 bleibt in seinem Beigabezustand und es erfolgt ein Zugriff auf ihn von keinem anderen als dem Paket, das an dem Eingangsport Nr. 2 empfangen worden ist, wie in 11 gezeigt ist. Dies ermöglicht es dem Kompilierer, das Paket von dem Eingangsport Nr. 2 zu dem Halteport an dem Ausgangsport Nr. 4 zu übertragen und eins in den Haltetrakt an dem Ausgangsport Nr. 4 einzuschreiben. Der Ausgangsport Nr. 4 wird in den Haltezustand zurückgeführt.
  • Während die Schaltstatustabelle, die in 12 gezeigt ist, mit der Vollendung der Überprüfung der Priorität durch die Abschätzung entwickelt wird, wird die gegenwärtige Zeit um eins weitergeschaltet, und das Paket, das auf den Ausgangsport zugreifen kann, wird an den Eingangsport des Schaltelements gesandt, das mit dem Ausgangsport verbunden ist. Das Paket an dem Ausgangsport Nr. 4 wird dann an den Eingangsport eines Schaltelements an einer höheren Stufe übertragen. Das empfangene Paket wird durch die Wirkung des Kompilierers an der Portanforderungs-Warteliste registriert, und der Prozess der Überprüfung der Priorität und der Zuordnung des Ausgangsports wird dann weiterverfolgt. Dies wird wiederholt, bis das Paket an dem Bestimmungsort empfangen wurde. Es ist zu verstehen, dass die vorliegende Erfindung nicht auf das Kreuz-Netzwerk eines mehrstufigen Verbindungsnetzwerks beschränkt ist, aus dem das obige Ausführungsbeispiel beschrieben ist, und das sie ebenso unter Verwendung von beliebigen anderen, bekannten Netzwerkanordnungen implementiert werden kann, einschließlich Omega-, Basislinien-, Delta- und generalisierten Würfelnetzwerk-Anordnungen.
  • Die Zeitplanungsprozedur gestattet es, dass das in der Abschätzung verlorene Paket auf die nachfolgende Paketgruppe übertragen wird. Alternativ kann, wenn die Übertragung eines Pakets innerhalb des Kreuz-Netzwerks erwünscht ist, die Zeitplanung eines Schaltelements in der Austauscheinheit an dem Niveau 1 dadurch verfolgt werden, dass gestattet wird, dass ein in der Abschätzung verlorenes Paket durch den freien Port eines anderen Schaltelements in der selben Austauscheinheit an dem Niveau 1 übertragen wird. Diese Zeitplanungsprozedur wird nun in mehr Detail unter Bezugnahme auf ein Kreuz-Netzwerk des Clusters D0 erläutert, das in 13 gezeigt ist.
  • Da die Route zu einem Bestimmungsort in dem Kreuz-Netzwerk im wesentlichen durch eine Kombination der Austauscheinheit an der zweiten Stufe und der Konzentriereinheit an der dritten Stufe aufgrund der Art des Kreuz-Netzwerks bestimmt wird, kann der Ausgang von dem Verteiler an der ersten Stufe beliebig freigegeben werden. Die Übertragungscharakteristik des Kreuz-Netzwerks hängt weitgehend von der Qualität der Zeitplanungsaktion der Austauscheinheit an der zweiten Stufe ab. Die Übertragung von Paketen zu dem Ausgangsport wird durch die Zeitplanungsaktion der Austauscheinheit an der zweiten Stufe bestimmt. Entsprechend wird die Zeitplanungsaktion der Austauscheinheit der zweiten Stufe gefolgt von der Zeitplanungsaktion des Verteilers an der ersten Stufe.
  • Da die Zeitplanungsaktion der Austauscheinheit an der zweiten Stufe die Übertragungscharakteristik des Kreuz-Netzwerks wesentlich bestimmt, ist dies ein wichtiger Faktor. Zur Durchführung der Zeitplanungsaktion der Austauscheinheit an der zweiten Stufe mit höherem Wirkungsgrad ist es eine gute Idee, durch Cluster spezifizierte Zugriffslisten AL und durch Cluster spezifizierte Gültig-Port-Zähler VPC statt der Schaltstatustabellen zu verwenden. Die durch Cluster spezifizierte Zugriffsliste (im folgenden einfach als Zugriffsliste bezeichnet) AL prägt einen Eintrag, dass das Paket von einem der Cluster an dem Niveau 0 zu einem anderen übertragen wird. Der durch das Cluster spezifizierte Gültig-Port-Zähler (im folgenden als Gültig-Port-Zähler bezeichnet) VPC zeigt an, wie viele Ausgangsports in jedem der Cluster an dem Niveau 0 angeschlossen sind.
  • Eine Prozedur des Kompilierer, die die Zugriffsliste AL und den Gültig-Port-Zähler VPC erzeugt, wird nun unter Bezugnahme auf 13 beschrieben. 13 zeigt eine Clusteranordnung des mehrstufigen Verbindungsnetzwerks, das vier Cluster D0 bis D3 aufweist, wobei jedes Cluster vier Unter-Cluster A0 bis A3 und jedes Unter-Cluster vier Prozessorelemente PE0 bis PE3 hat, wobei die Basiszahl 4 ist. Mehr speziell weist das Cluster D0 vier der Cluster A0 bis A3 und Schaltelemente SE0 bis SE3 auf. Jedes der Cluster A0 bis A3 umfasst eines der Schaltelemente SD0 bis SD3 und SC0 bis SC3 und vier der Prozessorelemente PE0 bis PE3.
  • Die Prozedur der Erzeugung der Zugriffsliste AL wird nun erläutert.
  • Der Kompilierer überprüft den Kopfteil von jedem Paket, das von dem Schaltelement SD0 zu den Schaltelementen SE0 bis SE3 übertragen wird, und schreibt die Clusternummer von seinem Bestimmungsort in die Zugriffsliste AL ein. Wenn bspw. das von dem Schaltelement SD0 empfangene Paket zwei Clusternummern A1 und A3 in dem Routen-Tag für die Schaltelemente SE0 bis SE3 hat, wird das Cluster A0 in der Zugriffsliste AL mit A1 und A3 eingeschrieben.
  • Sodann wird die Prozedur der Erzeugung des Gültig-Port-Zählers VPC beschrieben.
  • Unter Benutzung der folgenden Gleichung (3) berechnet der Kompilierer aus der Zugriffsliste AL Zählerstände CT0 bis CT3, die anzeigen, wie viele gültige Ausgangsports deren entsprechenden Clustern A0 bis A3 zuzuordnen sind.
  • CTg=(Anzahl der Schaltelemente an der zweiten Stufe)-(Anzahl der Faktoren, die gleich der durch Cluster spezifizierten Zahl in der durch Cluster spezifizierten Zugriffsliste ist)
    (3)
    wobei g im Bereich von 0 bis 3 liegt.
  • Bspw. ist der Zählerstand CT0 für das Cluster A0 ist CT0 = 4 – 2 = 2, wenn zwei Pakete von A0 für A0 bestimmt sind. Der Zeitplanungsalgorhythmus, der von dem Kompilierer unter Verwendung der Zugriffsliste AL und der Gültig-Port-Zähler VPC durchgeführt wird, wird erläutert. Es ist zu beachten, dass die gegenwärtige Zugriffsliste durch ALcur ausgedrückt wird, und dass die Zugriffsliste nach der Prioritätsabschätzung mit ALnew gezeichnet wird.
  • Der Kompilierer ordnet eine Serie von Paketen von der geringsten Anzahl von Faktoren in der gegenwärtigen Zugriffsliste ALcur des Clusters in der Reihenfolge der Priorität in entsprechenden Schaltelementen beginnend SE0 zu. Sodann prüft der Kompilierer jeden Faktor (bspw. die Clusternummer des Bestimmungsortes) in der Zugriffsliste ALcur in dem Cluster und gibt dem Faktor, der anzeigt, dass der Sender und der Bestimmungsort eines Pakets in einem Cluster registriert sind, die niedrigste der Prioritäten. Wenn nicht, wird bspw. der Clusternummer des Bestimmungsortes die Priorität von dem niedrigsten gegeben. Alternativ kann der Clusternummer des Bestimmungsortes die Priorität von der größten gegeben werden.
  • Wenn der Gültig-Port-Zähler, der dem Faktor der Zugriffsliste ALcur entspricht, gleich null ist, wird die Zeitplanungsaktion des Kompilierers abgeschaltet. Sodann wird der Faktor aus der Paketgruppe an dem gegenwärtigen Zeitpunkt entfernt und der nachfolgenden Paketgruppe zugegeben. Wenn zwei oder mehrere Pakete die Verbindung zur gleichen Zeit anfordern, überprüft der Kompilierer die Priorität oder führt einen Umlauf-Zeitplanungsprozess durch. Wenn das Paket in der Abschätzung die Priorität gewonnen hat, wird es aus der Zugriffsliste ALcur abgezogen, und der Zählerstand des entsprechenden Gültig-Port-Zählers VPC, der die Anzahl der gültigen Ports anzeigt, wird von dem Kompilierer heruntergeschaltet. Sodann schreibt der Kompilierer die Eingangsportnummer des Prioritätspakets in die Schaltstatustabelle des gewünschten Ausgangsports ein und das Paket, das das Cluster spezifiziert, dessen Bestimmungsort gleich dem des Pakets ist, das von der gegenwärtigen Zugriffsliste ALcur Priorität erhalten hat, und registriert sie bei der nachfolgenden Zugriffsliste ALnew. Diese Aktionen des Kompilierers werden wiederholt, bis alle Cluster A0 bis A3 in der Zugriffsliste ALcur mit der Prozessende-Überprüfung markiert sind. Wenn die Cluster A0 bis A3 in der Zugriffsliste ALcur mit der Prozessende-Überprüfung markiert sind, überträgt der Kompilierer alle die Faktoren von der gegenwärtigen Zugriffsliste ALcur auf die nachfolgende Zugriffsliste ALnew, und ALnew wird als ALcur definiert, und ALnew wird als leere Liste vorbereitet, und alle Markierungen mit der Prozessende-Überprüfung werden gelöscht, und dieselben Aktionen werden wiederholt, bis die Faktoren von jedem Cluster in der Zugriffsliste ALcur aufgelöst sind.
  • 14 ist ein Flußdiagramm, das die Zeitplanungsprozedur in dem Kreuz-Netzwerk unter Verwendung der Zugriffsliste AL und der Gültig-Port-Zähler VPC zeigt. Die Zeitplanungsprozedur in dem Kreuz-Netzwerk wird nun in mehr Detail unter Bezugnahme auf 14 beschrieben. Es ist zu beachten, dass jeder Schritt der in 14 gezeigten Prozedur von dem Kompilierer durchgeführt wird, wenn nicht anders spezifiziert ist.
  • Die Prozedur von 14 startet mit der Zuordnung der Clusternummer CLcur zu einem Cluster, das die geringste Zahl von Faktoren hat, aus der Clustergruppe UCL an dem Niveau 0, die die Zugriffsliste AL in dem Kreuz-Netzwerk nicht frei hat (Schritt S41). Wenn zwei oder mehrere Cluster die geringste Anzahl von Faktoren hat, kann jedes derselben ausgewählt und der Clusternummer CLcur zugeordnet werden.
  • Sodann wird eines der Pakete der Faktoren in der Zugriffsliste ALcur des Clusters, das durch CLcur beziffert ist, ausgewählt (Schritt S42), und sein Bestimmungscluster wird darauf überprüft, ob der Gültig-Port-Zähler VPC gleich 0 ist oder nicht (Schritt S43). Wenn an dem Schritt S43 festgestellt wird, dass der Gültig-Porf-Zähler VPC gleich 0 ist (JA), wird das ausgewählte Paket aus der Paketgruppe UTS und der Zugriffsliste ALcur abgezogen und in die nachfolgende Paketgruppe UTS+1 übertragen. In der Folge wird das Paket, das nach dem Zeitpunkt TS ausgegeben wurde, in die folgende Paketgruppe verschoben, bis eine überlappende Anfrage von Paketen verschwunden ist (Schritt S44). Sodann kehrt die Prozedur zu dem Schritt S42 zurück.
  • Wenn an dem Schritt S43 festgestellt wird, dass der Gültig-Port-Zähler VPC nicht gleich 0 ist (NEIN), wird dem ausgewählten Paket der Ausgangsport des Schaltelementes der geringsten Ziffer unter den Schaltelementen SE0 bis SE3 zugeordnet, das freie Ausgangsports hat (Schritt S45). Sodann wird die Clustergruppe UCL darauf überprüft, ob sie ein Cluster enthält oder nicht, bei dem zwei oder mehrere Pakete miteinander über die Zugriffsliste ALcur konkurrieren (Schritt S46). Wenn ein Cluster, bei dem zwei oder mehrere Pakete miteinander konkurrieren, gefunden wird (JA), werden die Pakete von der Zugriffsliste ALcur zu der Zugriffsliste ALnew übertragen (Schritt S47). Dann geht die Prozedur zurück zu dem Schritt S46.
  • Wenn an dem Schritt S46 festgestellt wird, dass ein Cluster, bei dem zwei oder mehrere Pakete mitein ander konkurrieren, nicht aufgefunden wird (NEIN), wird der Zählerstand des Gültig-Port-Zählers VPC um eins heruntergeschaltet, und die Clusternummer CLcur wird aus der Clustergruppe UCL entfernt (Schritt S48). Es wird dann überprüft, ob die Clustergruppe UCL ungültig ist oder nicht (Schritt S49). Wenn es zutrifft (JA), geht die Prozedur zurück zu dem Schritt S41. Wenn an dem Schritt S49 festgestellt wird, dass UCL nicht gültig ist (NEIN), werden alle Pakete von der Zugriffsliste ALcur an die Zugriffsliste ALnew übertragen, die somit als ALcur dient, und das Cluster, das eine ungültige Zugriffsliste hat, wird als Faktor der Clustergruppe UCL zugeordnet (Schritt S50). Es wird dann geprüft, ob die Clustergruppe UCL gültig ist oder nicht (Schritt S51). Wenn dies zutrifft (JA), wird die Routine beendet. Wenn dies nicht zutrifft (NEIN), geht die Prozedur zurück zu dem Schritt S41.
  • Die Aktion des Kompilierers wird im Zusammenhang mit einem Beispiel erläutert. 15 zeigt eine anfängliche Form der Zugriffsliste ALcur. 16 zeigt eine anfängliche Form des Gültig-Port-Zählers VPC. Das Beispiel startet mit den Bedingungen, die in den 15 und 16 gezeigt sind.
  • Der Kompilierer wählt ein Paket aus, das dem Cluster A1 mit der geringsten Anzahl von Faktoren in der Zugriffsliste ALcur zugeordnet ist und für das Cluster A2 bestimmt ist, und er nimmt es aus der Zugriffsliste ALcur heraus. Sodann ordnet der Kompilierer den Ausgangsport Nr. 2 des Schaltelementes SE0 der Austauscheinheit an dem Niveau 1 auf der Schaltstatustabelle zu und zeichnet dies auf.
  • Der Kompilierer schaltet den Zähler des Ausgangsports Nr. 2 in dem Gültig-Port-Zähler VPC um eins herunter und markiert das Cluster A1 der Zugriffsliste ALcur mit einer Prozessende-Überprüfung. Der Kompilierer entfernt das Paket in dem Cluster A3, das für das Cluster A2 bestimmt ist, aus der Zugriffsliste ALcur und lädt die nachfolgende Zugriffsliste ALnew mit dem Paket zum Zwecke der Neuzuordnung.
  • Sodann wählt der Kompilierer ein Paket aus, das dem Cluster A3 zugeordnet ist, das die zweit niedrigste Anzahl von Faktoren in der Zugriffliste ALcur hat und das für das Cluster A0 bestimmt ist und schreibt es in die Schaltstatustabelle des Ausgangsports Nr. 1 des Schaltelements SE0 ein. Sodann schaltet der Kompilierer den Zählerstand des Ausgangsports Nr. 1 in dem Gültig-Port-Zähler VPC um eins herunter und markiert das Cluster A3 der Zugriffsliste ALcur mit einer Prozessende-Überprüfung.
  • Auf ähnliche Weise entfernt der Kompilierer das Paket in dem Cluster A2, das für das Cluster A0 bestimmt ist, aus der Zugriffsliste ALcur und überträgt es in die nachfolgende Zugriffsliste ALnew zum Zwecke der Rückübertragung. An dem Zeitpunkt ist die Anzahl der Faktoren gleich zwei in einem der Cluster A0 oder A2, und der Kompilierer wählt das Cluster A0 als das zuerst zu verarbeitende aus. Der Kompilierer wählt ein Paket in dem Cluster A0 der Zugriffsliste ALcur, das für das Cluster A1 bestimmt ist, aus und vermerkt es in der Schaltstatustabelle des Ausgangsports Nr. 1 des Schaltelements SE0. Als Resultat wird das Paket aus der Zugriffsliste ALcur entfernt.
  • Der Kompilierer vermindert den Zählerstand des Ausgangsports Nr. 1 in dem Gültig-Porf-Zähler VPC um eins und markiert das Cluster A0 der Zugriffsliste ALcur mit einer Prozessende-Überprüfung. Sodann nimmt, wenn er bestätigt, dass der Zählerstand des Ausgangsports Nr. 1 in dem Gültig-Port-Zähler VPC gleich 0 ist, der Kompilierer das Paket in dem Cluster A2, das für das Cluster A1 bestimmt ist, aus der Zugriffsliste ALcur heraus und überträgt es auf die nachfolgende Paketgruppe, wodurch der nächste Taktzyklus für die Rückübertragung ausgegeben wird. Schließlich prüft der Kompilierer die Pakete in dem Cluster A2, die für das Cluster A3 bestimmt sind, und das mit keiner Prozessende-Prüfung markiert ist und verarbeitet diese.
  • Wenn der Zählerstand des Ausgangsports Nr. 3 in dem Gültig-Port-Zähler VPC um eins herabgesetzt ist, und wenn das Cluster A2 in der Zugriffsliste ALcur mit einer Prozessende-Überprüfung markiert ist, ist die Prozedur abgeschlossen. 17 zeigt die Zugriffsliste ALcur, wobei ein Paket in jedem der Cluster A0 bis A3 verarbeitet worden ist. 18 zeigt den Gültig-Port-Zähler VPC, wobei ein Paket in jedem der Cluster A0 bis A3 verarbeitet worden ist.
  • Der Kompilierer wiederholt die gleiche Prozedur mit einer anderen Zugriffsliste ALcur. Dieser Prozess wird von dem vorhergehenden durch die Tatsache unterschieden, dass die Ausgangsports der Schaltelemente SE1 involviert sind. Während die Zugriffsliste ALnew in die Zugriffsliste ALcur zurückgeführt wird, wird das von dem Kompilierer gesteuerte Schaltelement von einem zu einem anderen weiter geschaltet. Am Ende sind die Routen der Pakete, die von dem Kompilierer der Planung unterworfen wurden, so, wie sie durch die Pfeile in 19 dargestellt sind. In 19 ist die Paketübertragung innerhalb desselben Niveau-0-Clusters nicht gezeigt zum Zwecke der Einfachheit der Erläuterung.
  • Die vorgehende Beschreibung ist lediglich ein Beispiel eines Zeitplanungsverfahrens durch den Kompilierer, wobei die Prioritätsabschätzung durchgeführt wird, wenn zwei oder mehrere Pakete die Verbindung zu einem speziellen Ausgangsport gleichzeitig anfordern, und wenn es in anderen Paketen als den mit einer Priorität versehenen Paketen gestattet wird, ihre Anfrage für die Verbindung zu dem Ausgangsport durch die Schaltstatustabelle bei einer nachfolgenden Gelegenheit zu wiederholen. Alternativ können die anderen Pakete die Verbindung mit dem Ausgangsport durch die Schaltstatustabelle an einem anderen Zeitpunkt, bspw. an einem vorhergehenden Zeitpunkt anfordern.
  • Wie beschrieben wurde, hat die Mehrprozessorsystemvorrichtung des ersten Ausführungsbeispiel Cluster von Prozessorelementen, die durch ein mehrstufiges Verbindungsnetzwerk der mehrstufigen Anschlussanordnung miteinander verbunden sind, und jedes der Schaltelemente, die in dem mehrstufigen Verbindungsnetzwerk vorgesehen sind, wird vorläufig der statistischen Planungsaktion eines Kompilierers zur Emulation mit einer Datenkollision unterworfen. Da die Zeitplanung für die Pakete, die im Falle der Kollision im Stand der Technik dynamisch durchgeführt wird, folglich durch den Kompilierer gehandhabt wird, kann die Hardwareanordnung, die für die bekannte, dynamische Zeitplanung der Pakete erforderlich ist, bspw. ein FIFO-Modul, erheblich in der Größe reduziert werden. Auch wird die nicht-synchrone Ausführung des Netzwerksystems zwischen den Prozessorelementen in vorteilhafter Weise verbessert. Darüber hinaus kann, da die Mehrprozessorsystemvorrichtung in der Lage ist, bei einer nicht-synchronen Taktsteuerung zu arbeiten, die Hardwareanordnung für Synchronisierungsaktionen in dem Overhead vermindert werden, so dass der Wirkungsgrad parallele Verarbeitungsaktionen erhöht wird.
  • Wenn Pakete innerhalb des Kreuz-Netzwerks übertragen werden, das als grundlegendes Netzwerk in dem vielstufigen Verbindungsnetzwerk einer mehrstufigen Anschlussanordnung vorgesehen ist, kann ihre Zeitplanung über jedem Schaltelement der Austauscheinheit an dem Niveau 1 mit anderen Paketen durchgeführt werden als dem mit der Priorität versehenen Paket, das durch freie Ports in dem anderen Schaltelement in der Austauscheinheit an dem Niveau übertragen wird. Entsprechend kann der Wirkungsgrad der Übertragung der Pakete verbessert werden.
  • (Zweites Ausführungsbeispiel)
  • Gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung können alle Pakete zu der zweiten Stufe an dem Niveau 1 der Austauscheinheit zur Verbindung zwischen zwei Kreuz-Netzwerken oder jedem der Schaltelemente SE0 bis SE2 in dem Kreuz-Netzwerk, das in 6 gezeigt ist, abgesandt werden, so dass ein Hotspot an der Stelle aufgebaut wird und die Gesamtperformance vermindert wird. Als Ausgleich dafür kann die Konzentriereinheit an dem Niveau 1 zusätzlich als Schalter für die Abwärtsübertragung von Daten von der oberen Stufe zu der unteren Stufe vorgesehen sein. Dies wird durch das zweite Ausführungsbeispiel der vorliegenden Erfindung umgesetzt. Die Anordnung der Mehrprozessorsystemvorrichtung und die Anordnung ihrer Prozessorelemente gemäß dem zweiten Ausführungsbeispiel sind identisch mit denen, die in den Blockdiagrammen von 1 und 2 gezeigt sind, und sie werden nicht mehr im Detail erläutert.
  • Die 20 und 21 sind Diagramme einer Mehrprozessorsystemvorrichtung und einer mehrstufigen Clusteranordnung, die das zweite Ausführungsbeispiel der vorliegenden Erfindung zeigt. 20 zeigt eine Aufwärtsverbindung zwischen Kreuz-Netzwerken und einem Erweiterungsnetzwerk. 21 zeigt eine Abwärtsverbindung zwischen den Kreuz-Netzwerken und dem Erweiterungsnetzwerk. In den 20 und 21 werden durchgehend gleiche Komponenten mit gleichen Bezugszahlen wie die, die in 6 gezeigt sind, bezeichnet. Entsprechend werden diese nicht im Detail sondern nur im Bezug auf Unterschiede erläutert. Da es auf der Grundzahl von vier aufgebaut ist, weist die mehrstufige Clusteranordnung, die in den 20 und 21 gezeigt ist, auch vier Cluster D0 bis D3 auf, wobei jedes Cluster vier Unter-Cluster A0 bis A3 aufweist und jedes Unter-Cluster vier Prozessorelemente PE0 bis PE3 aufweist. Die Prozessorelemente sind zur Vereinfachung der Beschreibung nicht dargestellt.
  • Die in den 20 und 21 gezeigte Anordnung unterscheidet sich von der in 6 gezeigten durch die Tatsache, dass die Austauscheinheit an dem Niveau 1 auf zwei Funktionen aufgeteilt ist, die Paketübertragung zu einem Netzwerk der oberen Stufe (aufwärts) und der Paketübertragung zu dem Netzwerk einer niedrigeren Stufe (abwärts). Mehr speziell ist die Konzentriereinheit an dem Niveau 1, die die Schaltelemente SCb0 bis SCb3 umfasst, als Schaltnetzwerk für die Abwärtsübertragung von Paketen von der oberen Stufe zu der unteren Stufe vorgesehen, während die Aufwärtsübertragung von Paketen von der unteren Stufe zu der oberen Stufe durch die Austauscheinheit an dem Niveau durchgeführt wird, die die Schaltelemente SE0 bis SE3 von jedem der Cluster D0 bis D3 umfasst, die gleich denen des ersten Ausführungsbeispiels sind.
  • Wenn der Austausch von Daten mit dem Prozessor PU in einem anderen Prozessorelement PE von dem Prozessor PU in einem Prozessorelement PE gefordert wird, werden die Daten zuerst in den Speicher ME des anderen Prozessorelements PE eingeschrieben. Wenn die Daten sodann aus dem Speicher ME durch den Prozessor PU des anderen Prozessorelements PE ausgelesen wird, ist die Übertragung abgeschlossen.
  • Der Austausch von Daten zwischen den Prozessorelementen wird nun unter Bezugnahme auf 22 beschrieben.
  • Wie in 22 gezeigt ist, wird die Übertragung von Daten von einem Prozessorelement PEa zu einem Prozessorelement PEb durchgeführt. Als erstes werden die Daten von einem Prozessor PUa an eine Netzwerkschnittstelle NIa in dem Prozessorelemente PEa weitergegeben.
  • Die Netzwerkschnittstelle NIa erzeugt Pakete von Daten entsprechend empfangenen Adressdaten und gibt sie in ein mehrstufiges Verbindungsnetzwerk MIN der mehrstufigen Anschlussanordnung frei. Die Pakete werden dann durch die Aktion des mehrstufigen Verbindungsnetzwerks MIN an eine Netzwerkschnittstelle NIb in dem Prozessorelement PEb abgegeben. Die Netzwerkschnittstelle NIb nimmt die Daten aus ihren Paketen und sichert sie in einem Speicher MEb. Wenn die Daten aus dem Speicher MEb durch den Prozessor PUb ausgelesen werden, ist die Übertragung von Daten zu dem Prozessorelement PEb abgeschlossen.
  • Eine Prozedur, bei der ein Paket, das von der Austauscheinheit an dem Niveau 1 freigegeben wurde, an einem Bestimmungsort in dem gleichen Kreuz-Netzwerk verarbeitet oder empfangen wird, wird unter Bezugnahme auf 3 beschrieben.
  • Wie in 3 gezeigt ist, wird das Paket von einem Prozessorelement von dem Verteiler an der ersten Stufe empfangen, wo es geschaltet und an die Austauscheinheit an dem Niveau 1 der zweiten Stufe abgegeben wird. Das Paket wird dann durch die Aktion der Austauscheinheit an dem Niveau 1 zu der Konzentriereinheit an dem Niveau 0 der Endstufe übertragen.
  • Wenn das Paket durch die Konzentriereinheit an dem Niveau 0 empfangen und geschaltet wird, wird es an ein Prozessorelement an einem Bestimmungsort übertragen, wo die Übertragung von Daten durch das mehrstufige Verbindungsnetzwerk MIN der mehrstufigen Anschlusseinheit beendet wird. Das an dem Bestimmungsort empfangene Paket wird in dem Speicher des Prozessorelements gesichert, wie in 22 beschrieben ist.
  • Eine Prozedur, wo ein von einer Austauscheinheit bei dem Niveau 1 freigegebenes Paket an einer Bestimmungsstelle in einem anderen Kreuz-Netzwerk verarbeitet oder empfangen wird, wird unter Bezugnahme unter 23 erläutert. 23 zeigt die Übertragung von Daten von einem Prozessor PEa an einen Prozessor PEb.
  • Wenn das Paket von einem Schaltelement SE1 in der Austauscheinheit bei dem Niveau 1 empfangen und geschaltet wird, wird es an einen Ausgangsport der Erweiterungsstufe abgegeben. Mehr speziell wird das Paket von einem Schaltelement SEa1 in der Austauscheinheit an dem Niveau 2 der höheren Stufe empfangen, bevor es von dem Cluster an dem gleichen Niveau angenommen wird.
  • Das Paket in dem Cluster an dem gleichen Niveau wird dann durch eine geeignete Schaltaktion nach unten weiter geleitet. Wenn das Paket durch das Schaltelement SEa1 bspw. empfangen und geschaltet wird, wird es zu dem Schaltelement SCb1 der Konzentriereinheit bei dem Niveau nach unten übertragen, wie in 23 gezeigt ist. Sodann wird das Paket durch die Aktion des Schaltelementes SCb1 an ein Prozessorelement PEb an dem Bestimmungsort geschaltet und übertragen. Wenn das Paket an dem Bestimmungsort empfangen wird, ist die Datenübertragung durch das mehrstufige Verbindungsnetzwerk MIN beendet. In dieser Anordnung ist die statistische Zeitplanungsaktion des mehrstufigen Verbindungsnetzwerks mit mehreren Stufen identisch zu der des ersten Ausführungsbeispiels und wird nicht mehr im Detail beschrieben.
  • Wie beschrieben wurde, hat die Mehrprozessorsystemvorrichtung des zweiten Ausführungsbeispiels die Schaltelemente SCb0 bis SCb3 der Konzentriereinheit an dem Niveau 1, die als Schalter für die Abwärtsübertragung von Datenpaketen von der oberen Stufe zu der unteren Stufe angeordnet ist, während die Schaltelemente SE0 bis SE3 der Austauscheinheit an dem Niveau für die Aufwärtsübertragung von Datenpaketen von der unteren Stufe zu der oberen Stufe verwendet werden. Dies ermöglicht es, dass die Pakete daran gehindert werden, sich bei der Austauscheinheit an dem Niveau zur Verbindung zwischen den Kreuz-Netzwerken ansammeln und dadurch einen Hotspot erzeugen, was folglich zu einer Verbesserung der Mehrprozessorsystemvorrichtung beiträgt.
  • Obwohl die vorliegende Erfindung in vollem Umfang im Zusammenhang mit den bevorzugten Ausführungsbeispielen davon unter Bezugnahme auf die beigefügten Zeichnungen beschrieben worden ist, ist zu beachten, dass verschiedene Änderungen und Modifikationen für Durchschnittsfachleute offensichtlich sind. Solche Änderungen und Modifikationen werden als in dem Schutzumfang der vorliegenden Erfindung eingeschlossen betrachtet, wie durch die beigefügten Zeichnungen definiert ist, es sei denn, dass die davon abweichen.
  • Figurenbeschriftung
  • 1
    • E0, C0, B0, B1 und Bn =
      VERBINDUNGSNETZWERK
  • 2
    • PU =
      PROZESSOR
      ME =
      SPEICHER
      NI =
      NETZWERKSCHNITTSTELLE
      Bi =
      VERBINDUNGSNETZWERK
  • 3
    • Third Stage =
      DRITTE STUFE
      Second Stage =
      ZWEITE STUFE
      First Stage =
      ERSTE STUFE
      Concentrator =
      KONZENTRIEREINHEIT
      Exchanger =
      AUSTAUSCHEINHEIT
      Distributor =
      VERTEILER
  • 7
    • Output Port Number =
      AUSGANGSPORT-NUMMER
      Current time =
      GEGENWÄRTIGE ZEIT
      Hold Port =
      HALTEPORT
      Hold Clock =
      HALTETAKT
      Port Demand Waiting Queue =
      PORT ANFORDERUNGS-WARTESCHLANGE
      Status =
      STATUS
      Hold =
      HALTEN
      Release =
      FREIGEBEN
  • 8
    • Start =
      START
      S1 =
      EINTRITT EINER PAKETGRUPPE Uts IN EINEN EIN GANGSPORT EINES SCHALTERS DER ERSTEN STUFE
      S3 =
      ZEITPLANUNG VON Stcur
      S4 =
      IST DIE VERBINDUNG ZU EINER NIEDRIGEREN STUFE VORHANDEN?
      No =
      NEIN
      Yes =
      JA
      S5 =
      SETZT MIT DEM NIVEAU DER NIEDRIGEREN STUFE UND
      SCHALTET =
      GEGENWÄRTIGE ZEIT UM EINS WEITER
      S6 =
      IST EINE VERBINDUNG MIT EINER OBEREN STUFE VORHANDEN?
      S7 =
      ERHÖHE Rcur UM EINS UM STcur = Rcur zu ERHALTEN
      END =
      ENDE
  • 9
    • S11 =
      EINGABE VON EINGANGSPORT NUMMER IN DIE PORTANFORDERUNGS-WARTESCHLANGE IN DER SCHALTSTATUSTABELLE
      S13 =
      TAKTPLANUNG VON SWcur
      S14 =
      STcur = ENDSTUFE?
      No =
      NEIN
      Yes =
      JA
      S15 =
      LÖSCHE VON Uts
      S16 =
      SCHALTE SWcur UM EINS WEITER
      No =
      NEIN
      Yes =
      JA
      S18 =
      EINTRITT IN EINGANGSPORT DES SCHALTERS AN DER NACHFOLGENDEN STUFE
      End =
      ENDE
  • 10
    • S22 =
      IST EINE PORT-WARTESCHLANGE VORHANDEN?
      No =
      NEIN
      Yes =
      JA
      S23 =
      ABSCHÄTZUNG DER PRIORITÄT DES PAKETKOPFTEILS
      S24 =
      WÄHLE EIN PAKET AUS DER PORT-WARTESCHLANGE AUS
      S25 =
      PRIORITÄT AUS ABSCHÄTZUNG GEWONNEN?
      No =
      NEIN
      Yes =
      JA
      S27 =
      SCHREIBE EINGANGSPORT NUMMER DES PAKETS IN DEN HALTEPORT
      S28 =
      SCHREIBE TAKTZAHL IN DEN HALTETAKT
      S29 =
      VERMINDERE DIE ZAHL DER HALTETAKTE UM EINS UND SCHALTE TH UM EINS WEITER
      S30 =
      ZAHL DER HALTETAKTE GRÖSSER 0?
      No =
      NEIN
      Yes =
      JA
      S31 =
      ZIEHE VERLORENES PAKET AUS Uts AB UND ÜBERTRAGE ES ZU Uts+1
      S32 =
      SCHALTE POcur UM EINS WEITER
      No =
      NEIN
      Yes =
      JA
      End =
      ENDE
  • 11
    • Output Port Number =
      AUSGANGSPORT-NUMMER
      Current time =
      GEGENWÄRTIGE ZEIT
      Hold Port =
      HALTEPORT
      Hold Clock =
      HALTETAKT
      Port Demand Waiting Queue =
      PORT ANFORDERUNGS-WARTESCHLANGE
      Status =
      STATUS
      Hold =
      HALTEN
      Release =
      FREIGEBEN
  • 12
    • Output Port Number =
      AUSGANGSPORT-NUMMER
      Current time =
      GEGENWÄRTIGE ZEIT
      Hold Port =
      HALTEPORT
      Hold Clock =
      HALTETAKT
      Port Demand Waiting Queue =
      PORT ANFORDERUNGS-WARTESCHLANGE
      Status =
      STATUS
      Hold =
      HALTEN
      Release =
      FREIGEBEN
  • 14
    • S41 =
      SETZE MIT CLUSTER CLcur, DAS DIE GERINGSTE ZAHL VON FAKTOREN HAT
      S42 =
      WÄHLE EINEN FAKTOR VON ALcur IN CLcur
      S43 =
      IST VPOF BESTIMMUNGSCLUSTER GLEICH 0?
      No =
      NEIN
      Yes =
      JA
      S44 =
      NEHME AUSGEWÄHLTES PAKET AUS Uts UND ALcur HERAUS UND ÜBERTRAGE ES AUF Uts+1
      S45 =
      ORDNE AUSGANGSPORT DES SCHALTELEMENTS MIT DER GERINGSTEN ZAHL ZU
      S46 =
      SIND ANFORDERNDE PAKETE VORHANDEN?
      No =
      NEIN
      Yes =
      JA
      S47 =
      FÜGE ANDERE ANFORDERUNGSPAKETE ZU ALnew DES CLUSTERS HINZU
      S48 =
      SCHALTE DEN ZÄHLERSTAND UM EINS HERUNTER UND MISCHE CLcur VON UCL
      S49 =
      IST UCL GÜLTIG?
      No =
      NEIN
      Yes =
      JA
      S50 =
      ORDNE ALnew als ALcur UND DEM CLUSTER ZU, DAS ALcur ALS UCL-FAKTOR HAT
      S51 =
      IST UCL GÜLTIG?
      No =
      NEIN
      Yes =
      JA
      End =
      ENDE
  • 15
    • Clusternumber =
      CLUSTERZAHL
      Destination Clusternumber =
      BESTIMMUNGS-CLUSTERZAHL
  • 16
    • Output port number =
      AUSGANGSPORTNUMMER
      Count =
      ZÄHLERSTAND
  • 17
    • Clusternumber =
      CLUSTERNUMMBER
      Destination Clusternumber =
      BESTIMMUNGS-CLUSTERZAHL
  • 18
    • Output port number =
      AUSGANGSPORTNUMMER
      Count =
      ZÄHLERSTAND
  • 20
    • For up -link =
      FÜR AUFWÄRTSVERBINDUNG
  • 21
    • For down link =
      FÜR ABWÄRTSVERBINDUNG
  • 22
    • Multistage interconnection network =
      MEHRSTUFIGES VERBINDUNGSNETZWERK

Claims (5)

  1. Vorrichtung (1) für ein Mehrprozessorsystem mit einer Vielzahl von Prozessoren, die miteinander durch eine Netzwerkanordnung (MIN) verbunden sind, umfassend: eine Vielzahl von Prozessorelementen (PEi), wobei jedes Prozessorelement (PEi) einen Prozessor (PU), einen Speicher (ME) und eine Schnittstelle (NI) zum Anschluß mit der Netzwerkanordnung (MIN) aufweist; und ein Feld von mehrstufigen Verbindungsnetzwerken (Bi, Ci, Di) die eine vielstufige Verbindungsanordnung haben, wobei mehrere Stufen von Schaltelementen (SCi, SDi, SEi) zur Verbindung zwischen den Prozessorelementen (PEi) vorgesehen sind, wobei die Prozessorelemente (PEi) und die vielstufigen Verbindungsnetzwerke (Bi, Ci, Di) zu Clustern (Ai) auf der Basis einer speziellen Nummer zusammengefasst sind und auf mehreren Niveaus angeordnet sind, und wobei die Übertragung von Datenpaketen zwischen den Prozessorelementen (PEi) entsprechend einem statistisch bestimmten Schema durchgeführt wird, dadurch gekennzeichnet, dass die Übertragung von Datenpaketen zwischen den Prozessorelementen (PEi) entsprechend einer statistisch bestimmten Planung unter Verwendung von Schaltatatustabellen durchgeführt wird, die an verschiedenen Zeiten erzeugt werden und den Status der Schaltelemente (SCi, SDi, SEi) in den vielstufigen Verbindungsnetzwerken (Bi, Ci, Di) erzeugen, und dass die vielstufigen Verbindungsnetzwerke (Bi, Ci, Di) der vielstufigen Verbindungsanordnung in zwei Funktionen klassifiziert sind, ein Aufwärts –Verbindungsnetzwerk (SCai) zur Aufwärtsübertragung von Datenpaketen von einem niedrigeren Niveau zu einem höheren Niveau und ein Abwärts –Verbindungsnetzwerk (SCbi) zur Abwärtsübertragung von Datenpaketen von einem höheren Niveau zu einem niedrigeren Niveau.
  2. Vorrichtung für Mehrprozessorsystem nach Anspruch 1, worin die Schaltstatustabelle Daten eines Pakets, das zu speziellen Ausgangs – Anschlußdaten von anderen Paketen, die die Verbindung mit dem Ausgangsanschluß anfordern, zugeordnet ist, und Daten des Status des Ausgangsanschlußes von jedem der Schaltelemente (SCi, SDi, SEi) umfasst.
  3. Vorrichtung mit Multiprozessorsystem nach Anspruch 1 oder 2, worin die Verbindung zu dem Ausgangsanschluß von jedem der Schaltelemente (SCi, SDi, SEi) von zwei oder mehreren Paketen zur selben Zeit angefordert wird, wobei die Übertragung von Paketen zwischen den Prozessorelementen (PEi) nach dem Zeitplan über die vielstufigen Verbindungsnetzwerke (Bi, Ci, Di) durchgeführt wird, so dass ein Paket, das nicht dem Ausgangsanschluß durch eine spezielle Art von Abschätzung zugeordnet ist, den Ausgangsanschluß mit einer Schaltstatustabelle zu einer anderen Zeit anfordern kann.
  4. Vorrichtung mit Multiprozessorsystem nach Anspruch 3, worin die vielstufigen Verbindungsnetzwerke (Bi, Ci, Di) eine Kreuz – Verbindungsanordnung sind und, wenn die Verbindung zu dem Ausgangsanschluß von einem Schaltelement (SCi, SDi, SEi) von zwei oder mehreren Paketen zur selben Zeit angefordert wird, wird die Übertragung von Paketen zwischen den Prozessorelementen (PEi) nach dem Zeitplan über die vielstufigen Verbindungsnetzwerke (Bi, Ci, Di) durchgeführt, so dass ein Paket, das nicht einem Ausgangsanschluß durch eine spezielle Art von Abschätzung zugeordnet ist, einen anderen Ausgangsanschluß anfordern kann, der von anderen Paketen nicht angefordert wird.
  5. Vorrichtung mit Multiprozessorsystem nach einem der Ansprüche 1 bis 4, worin die Zeitplanungs-Steuerung von jedem Paket vorläufig durch einen Kompilierer durchgeführt wird.
DE60208252T 2001-03-01 2002-02-28 Vorrichtung für ein Mehrrechnersystem mit einer mehrstufigen Verbindungsanordnung Expired - Lifetime DE60208252T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001056475A JP2002259352A (ja) 2001-03-01 2001-03-01 マルチプロセッサシステム装置
JP2001056475 2001-03-01

Publications (2)

Publication Number Publication Date
DE60208252D1 DE60208252D1 (de) 2006-02-02
DE60208252T2 true DE60208252T2 (de) 2006-09-07

Family

ID=18916497

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60208252T Expired - Lifetime DE60208252T2 (de) 2001-03-01 2002-02-28 Vorrichtung für ein Mehrrechnersystem mit einer mehrstufigen Verbindungsanordnung

Country Status (4)

Country Link
US (1) US7203816B2 (de)
EP (1) EP1237092B1 (de)
JP (1) JP2002259352A (de)
DE (1) DE60208252T2 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078177A (ja) * 2003-08-28 2005-03-24 Nec Electronics Corp 並列演算装置
US7685354B1 (en) * 2004-06-30 2010-03-23 Sun Microsystems, Inc. Multiple-core processor with flexible mapping of processor cores to cache banks
US7873776B2 (en) * 2004-06-30 2011-01-18 Oracle America, Inc. Multiple-core processor with support for multiple virtual processors
US8098676B2 (en) * 2004-08-12 2012-01-17 Intel Corporation Techniques to utilize queues for network interface devices
US7433931B2 (en) * 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
JP2006215816A (ja) * 2005-02-03 2006-08-17 Fujitsu Ltd 情報処理システムおよび情報処理システムの制御方法
EP1808774A1 (de) 2005-12-22 2007-07-18 St Microelectronics S.A. Hierarchische wiederkonfigurierbare Computerarchitektur
US20080181210A1 (en) * 2007-01-31 2008-07-31 Finisar Corporation Processing register values in multi-process chip architectures
JP2009199433A (ja) * 2008-02-22 2009-09-03 Fujitsu Ltd ネットワーク処理装置およびネットワーク処理プログラム
WO2010048875A1 (zh) * 2008-10-29 2010-05-06 华为技术有限公司 一种集群系统扩容方法、装置及集群系统
US8995456B2 (en) * 2009-04-08 2015-03-31 Empire Technology Development Llc Space-space-memory (SSM) Clos-network packet switch
US8675673B2 (en) * 2009-07-29 2014-03-18 New Jersey Institute Of Technology Forwarding cells of partitioned data through a three-stage Clos-network packet switch with memory at each stage
US8274988B2 (en) * 2009-07-29 2012-09-25 New Jersey Institute Of Technology Forwarding data through a three-stage Clos-network packet switch with memory at each stage
JP5540963B2 (ja) * 2010-07-15 2014-07-02 富士通株式会社 情報処理方法、装置及びプログラム
JP5664131B2 (ja) * 2010-11-01 2015-02-04 富士通株式会社 情報処理方法、装置及びプログラム
JPWO2013111547A1 (ja) * 2012-01-24 2015-05-11 日本電気株式会社 経路制御装置、制御情報生成方法及びプログラム
JP5932373B2 (ja) * 2012-02-02 2016-06-08 キヤノン株式会社 プロセッサ間通信制御方法及びシステム
US9047417B2 (en) 2012-10-29 2015-06-02 Intel Corporation NUMA aware network interface
US10684973B2 (en) 2013-08-30 2020-06-16 Intel Corporation NUMA node peripheral switch
TWI503742B (zh) * 2014-04-21 2015-10-11 Nat Univ Tsing Hua 多核心處理器系統及其排程方法
US10664251B2 (en) 2018-10-05 2020-05-26 International Business Machines Corporation Analytics driven compiler
TWI714184B (zh) * 2019-07-25 2020-12-21 中華電信股份有限公司 多階層網路樣式比對方法
CN113630347B (zh) * 2021-08-13 2023-02-28 山东云海国创云计算装备产业创新中心有限公司 一种数据传输方法、系统、存储介质及设备
CN117082014B (zh) * 2023-10-17 2024-01-23 苏州元脑智能科技有限公司 Clos网络、构建方法、传输方法、系统、设备和介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2073185A1 (en) * 1990-01-05 1991-07-06 Won S. Kim Parallel processor memory system
US5453978A (en) 1994-04-04 1995-09-26 International Business Machines Corporation Technique for accomplishing deadlock free routing through a multi-stage cross-point packet switch
US5945922A (en) * 1996-09-06 1999-08-31 Lucent Technologies Inc. Widesense nonblocking switching networks
US6031835A (en) * 1997-04-04 2000-02-29 International Business Machines Corporation Method for deadlock free and and reliable routing in a packet switched network
US6247077B1 (en) * 1998-02-06 2001-06-12 Ncr Corporation Highly-scalable parallel processing computer system architecture
US6791939B1 (en) * 1999-06-02 2004-09-14 Sun Microsystems, Inc. Dynamic generation of deadlock-free routings
US6606326B1 (en) * 1999-07-02 2003-08-12 International Business Machines Corporation Packet switch employing dynamic transfer of data packet from central shared queue path to cross-point switching matrix path

Also Published As

Publication number Publication date
JP2002259352A (ja) 2002-09-13
DE60208252D1 (de) 2006-02-02
EP1237092B1 (de) 2005-12-28
US20020147851A1 (en) 2002-10-10
EP1237092A2 (de) 2002-09-04
EP1237092A3 (de) 2004-05-19
US7203816B2 (en) 2007-04-10

Similar Documents

Publication Publication Date Title
DE60208252T2 (de) Vorrichtung für ein Mehrrechnersystem mit einer mehrstufigen Verbindungsanordnung
DE3786298T2 (de) Verfahren und Schalter zum Vermitteln von Informationen.
DE60033099T2 (de) Hochkapazitäts WDM-TDM Paketvermittlungseinrichtung
DE3752370T2 (de) Vermittlungssystem
DE3686208T2 (de) Verfahren und anordnung zur leitweglenkung von paketen in einem vielfachknotenrechnerverbindungsnetzwerk.
DE69029763T2 (de) Weglenkung von Nachrichtenpaketen
DE69533230T2 (de) Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes
DE69124645T2 (de) Verfahren und Schaltung zur Verkehrsformung
DE69034133T2 (de) Kommunikationsgerät
DE68924934T2 (de) Parallelsynchronisationstechnik.
DE602006000515T2 (de) Global asynchrone Kommunikationsarchitektur für ein System auf einem integrierten Schaltkreis
EP0320772B1 (de) Verfahren zur hybriden Paketvermittlung und Einrichtungen hierzu
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE602004012061T2 (de) Vorrichtung und Verfahren zum Festlegen eines Routing-Weges zwischen Routern auf einem Chip
DE2603262B2 (de) Einrichtung zur vermittlung von daten
DE60205231T2 (de) Vorrichtung und verfahren zur effizienten zuteilung von speicherbandbreite in einem netzwerkprozessor
DE69631265T2 (de) Vermittlungssystem
DE19822543A1 (de) Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium
DE4019040A1 (de) Multirechnersystem
DE69534171T2 (de) Verfahren und Vorrichtung für verbesserten Durchfluss in einem Vielfachknoten-Kommunikationssystem mit einem gemeinsamen Betriebsmittel
DE60222233T2 (de) Prozessor und Verfahren zur Erhaltung der Verarbeitungsreihenfolge von Paketen basierend auf Paketstromkennungen
CH653783A5 (de) Steuereinrichtung, insbesondere fuer fernsprechvermittlungsanlagen.
DE102021213414A1 (de) Routing mit einem switch mit festen zuordnungen
DE69935549T2 (de) Vorrichtung zum Paketmultiplexen
DE60127028T2 (de) Verfahren zur wechselseitigen Übertragung von Steuerungsparametern durch ein Kommunikationsnetz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition