DE19754466A1 - Mehrprozessorsystem mit Zellenvermittlung zur Topologie-invarianten, nachrichtenorientierten Kommunikation - Google Patents

Mehrprozessorsystem mit Zellenvermittlung zur Topologie-invarianten, nachrichtenorientierten Kommunikation

Info

Publication number
DE19754466A1
DE19754466A1 DE1997154466 DE19754466A DE19754466A1 DE 19754466 A1 DE19754466 A1 DE 19754466A1 DE 1997154466 DE1997154466 DE 1997154466 DE 19754466 A DE19754466 A DE 19754466A DE 19754466 A1 DE19754466 A1 DE 19754466A1
Authority
DE
Germany
Prior art keywords
cell
cell switching
switching unit
unit
functional unit
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.)
Withdrawn
Application number
DE1997154466
Other languages
English (en)
Inventor
Rolf Matzner
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.)
CZECH CHRISTIAN B
Original Assignee
CZECH CHRISTIAN B
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 CZECH CHRISTIAN B filed Critical CZECH CHRISTIAN B
Priority to DE1997154466 priority Critical patent/DE19754466A1/de
Publication of DE19754466A1 publication Critical patent/DE19754466A1/de
Withdrawn 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/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • 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/17381Two dimensional, e.g. mesh, torus

Landscapes

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

Description

2.1 Gebiet der Technik
Die in diesem Dokument dargestellten Techniken, Methoden und Verfahren ordnen sich einerseits in das Gebiet der Kommunikations- und Rechnernetze ein, andererseits betreffen sie den Bereich der Rechnerarchitekturen, insbesondere die in parallelen Rechensystemen eingesetzten Verfahren zur Interprozessor-Kommunikation.
2.2 Klassifikationen zum Stand der Technik
Die Darstellung des Standes der Technik erfordert eine vorherige detaillierte Abgrenzung von Begriffen aus der Kommunikationstechnik und der Rechnerarchitektur, wie sie nachfolgend auf­ geführt ist.
2.2.1 Zugriffsverfahren in der Kommunikationstechnik
Bei Datenkommunikation zwischen zwei Funktionseinheiten A und B (wie in Anspruch 1 darge­ stellt) lassen sich folgende technische Rahmenbedingungen unterscheiden:
  • 1. Unmittelbare Kopplung: A und B sind direkt über eine exklusive Kommunikationslei­ tung miteinander verbunden und können so kommunizieren.
  • 2. Mittelbare Kopplung A: und B sind nur mittelbar über eine zwischengeschaltete Kom­ munikationseinheit verbunden. Kommunikationseinheiten lassen sich in ihrer Funktion nach den zugrundeliegenden Zugriffsverfahren klassifizieren. Aus Generalisierungsgründen (Das Klassifikationsschema soll auch für ≧ 2 Funktionseinheiten gelten) wer­ den an dieser Stelle lediglich Vielfachzugriffsverfahren betrachtet.
  • (a) Busse: Busse stellen ein gemeinsames, von jedem Busteilnehmer (Kommunikations­ partner) anteilig genutztes Medium zur Datenkommunikation dar. Busarchitekturen nutzen i.d.R. ein Zeitmultiplexverfahren um Vielfachzugriffe zu ermöglichen. Die für einzelne Kommunikationspartner verfügbare Busbandbreite teilt sich so zeitlich durch die Anzahl der Teilnehmer am Bus.
  • (b) Vermittlungseinheiten: Vermittlungseinheiten sind technische Verbindungswerke, die Nachrichten über parallele, unabhängige Datenpfade (Verbindungskanäle) zwi­ schen Kommunikationspartnern vermitteln. Eine Vermittlungseinheit etabliert dafür Verbindungskanäle zwischen Knotenpaaren aus Ein-/Ausgangsendpunkten (sog. Ein-/Aus­ gangsports), einem Kommunikationspartner werden dabei also ein oder mehre­ re Ports exklusiv zugewiesen. Für Vermittlungseinheiten weiterhin charakteristisch ist die garantierte (maximale) Übertragungsbandbreite für die Schaltungsdauer eines Verbindungskanals sowie die Möglichkeit, Verbindungskanäle dynamisch zwischen ver­ schiedenen Kommunikationspartnern zu konfigurieren. Beim zugrundeliegenden Ver­ mittlungsverfahren unterscheidet man hier zwischen der sog. Durchschaltevermittlung und der Paket/Zellenvermittlung.
    • i. Durchschaltevermittlung: Für die Dauer einer Kommunikationsverbindung werden Ein- und Ausgangsports elektrisch fest miteinander verschaltet. Parallele Durchschaltevermittlungen werden durch Raummultiplex in der Vermittlungsein­ heit sichergestellt.
    • ii.) Paket- und Zellenvermittlung: Vor Beginn einer Nachrichtenvermittlung wer­ den die Nachrichten entweder vom Sender selbst oder einer Fragmentierungsstufe zwischen Sender und Vermittlungseinheit in Datenpakete unterteilt. Die Daten­ pakete ihrerseits werden indirekt und meist speicherbasiert zwischen dedizierten Ein- und Ausgangsports vermittelt. Die Vermittlungseinheit arbeitet dabei i.d.R. nach dem Raum- und Zeitmultiplexverfahren. Im weiteren lassen sich die Ver­ mittlungseinheiten nach dem eingesetzten Adressierungs- und Routingverfahren einteilen. Dabei unterscheidet man zwischen zwei Verfahren, der externen Konfi­ guration der Vermittlungsroute und dem self-routing der Datenpakete.
      • A. Externe Konfiguration der Vermittlungsroute: Die Vermittlungseinheit wird vor Etablierung eines Kommunikationskanals extern programmiert. Die­ se Konfiguration bleibt für die Dauer der Übertragung und ggf. bis zu einer Rekonfiguration der Kanäle stabil.
      • B. Selbstrouting der Datenpakete: Datenpakete werden vom Sender oder ei­ ner zwischengeschalteten Instanz mit Routing-Headern versehen und können anhand dieses vorangestellten Headers selbständig vom Eingangs- zum Aus­ gangsport gelangen. Bei diesem Verfahren differenziert man wiederum zwi­ schen Vermittlung von Datenpakten fester Länge (Zellenvermittlung) und variabler Länge (Paketvermittlung).
2.2.2 Rechnersystemtechnik
Im Bereich der Rechnerkommunikation lassen sich grundsätzlich folgende systemtechnischen Un­ terscheidungen treffen:
Board Area Network (Board-level Kommunikation): Alle beteiligten Prozessoren (Funk­ tionseinheiten) befinden sich auf demselben Board, d. h. sie bilden eine elektrische und mechani­ sche Einheit mit galvanischer Kopplung.
System Area Network: Alle beteiligten Prozessoren (Funktionseinheiten) befinden sich im selben Parallelrechnersystem. Dies kann beispielsweise durch eine Backplane-Kopplung verschie­ dener Boards in einem Baugruppenträger realisiert sein. Für die Kommunikation zwischen den Funktionseinheiten ist im Regelfall weder eine physikalische Umsetzung der Nachrichten, noch ein Routing erforderlich, da alle Kommunikationspartner a priori bekannt sind.
Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Net­ work (WAN): Die beteiligten Funktionseinheiten befinden sich in unterschiedlichen Gehäusen oder in verschiedenen Baugruppenträgern innerhalb eines Racks und kommunizieren über ein externes Netzwerk. In LANs ist dazu mindestens eine physikalische Umsetzung der Nachricht (OSI-Schicht 1), sowie die Adressierung und Segmentierung der Nachricht (OSI-Schicht 2) not­ wendig. Bei inhomogenen Netzstrukturen fallen weitere Aufgaben (z. B. Routing, Protokollum­ setzung etc.) an.
2.2.3 Kommunikationsverfahren in MIMD-Architekturen
Multiprozessor- und Multirechnersysteme zählen nach Flynn [5] zu den Multiple Instruction Stream, Multiple Data Stream (MIMD-) Architekturen. MIMD-Systeme lassen sich anhand einer Vielzahl von Architekturmerkmalen unterscheiden und klassifizieren (siehe dazu z. B. [6]). Be­ züglich der für die Interprozessor-Kommunikation eingesetzten Kommunikationsverfahren lassen sich grundsätzlich folgende Ansätze unterscheiden:
Kommunikation über einen gemeinsamen Speicher: Der Speicher dient als gemeinsame Basis zum mittelbaren Datenaustausch.
Kommunikation durch Nachrichtenübermittlung: Bei den sog. Message Passing Verfah­ ren kommunizieren Funktionseinheiten durch das Adressieren und Versenden von Nachrichten auf der Grundlage eines gegebenen Kommunikations- und Vermittlungsnetzes.
2.3 Stand der Technik
In diesem Abschnitt wird zunächst auf gängige Vermittlungseinheiten einschließlich deren An­ wendungsfelder eingegangen. Anschließend wird eine Einordnung der Vermittlungseinheiten in bestehende Mehrprozessorsysteme vorgenommen.
2.3.1 Kreuzschienenverteiler und ihre Anwendung
Kreuzschienenverteiler zählen zu den klassischen Vertretern der Vermittlungseinheiten zum Auf­ bau von Board- und System Area Networks. Sie etablieren Kommunikationspfade über ein­ fache Schalter in einer N × N Verbindungsmatrix und eignen sich aufgrund ihrer übersichtli­ chen Architektur und der einfachen Handhabung zum Aufbau von lokalen Multiprozessor-/Multi­ rechnersystemen. Häufig werden N Prozessoren über einen N × M Crossbar mit M Spei­ chereinheiten (Speicherbänken) verbunden. Dabei etabliert der Kreuzschienenverteiler in einem zentral kontrollierten Verbindungsintervall einen physikalischen Kanal zwischen einem ausge­ wählten {Prozessor, Speicherbank} Knotenpaar. Dies erlaubt N Prozessoren parallel und mit voller Bandbreite auf maximal M Speicherbänke ohne Blockade zuzugreifen. Das in Kreuzschie­ nenverteilern eingesetzte Vermittlungsprinzip ist das der Durchschaltevermittlung (circuit switching). Ein physikalischer Verbindungskanal wird bei diesem Verfahren für die Dauer der gesamten Übertragung im Kreuzschienenverteiler festgelegt. Routing-Entscheidungen werden zu Beginn jeder Verbindung zentral getroffen und der Kreuzschienenverteiler entsprechend konfigu­ riert.
Da die Anzahl der Schaltelemente in einem Kreuzschienenverteiler mit steigender Verbindungsan­ zahl überproportional wächst und die Herstellung großer Schaltmatrizen teuer ist, gelten Kreuz­ schienenverteiler als schlecht skalierbar. Dies ist auch der Grund, weshalb Kreuzschienenverteiler mit mehr als 16 × 16 Anschlußports praktisch nicht eingesetzt werden.
Beispielanwendung: Ultrasound signal processing apparatus: Der Ultrasound signal processing apparatus [9] nutzt einen Kreuzschienenverteiler um 4 (6) DSPs mit 4 (6) Speicher­ bänken zu verbinden. Das System ist für die Bearbeitung von Echtzeitaufgaben, wie z. B. Bild­ verarbeitung, bestimmt. Der eingesetzte Kreuzschienenverteiler ist einstufig nicht-blockierend und verfügt über eine 6 × 6 Schaltmatrix zur Etablierung physikalischer Kanäle. Er wird zentral konfiguriert und bietet keine automatischen Routing- oder Pufferfähigkeiten.
Beispielanwendung: Sun UltraSPARC Workstation: Die Firma Sun Microsystems Inc. verwendet in der neuen Workstationgeneration UltraSPARC I und II Kreuzschienenverteiler [7], um parallele Datenzugriffe von N Einheiten (einem oder mehreren SPARC-V9 Prozessoren und dem UPA-Verwaltungsbaustein für das I/O Subsystem) auf die vorhandenen DRAM Speicher­ bänke zu ermöglichen. Der eingesetzte integrierte Kreuzschienenverteiler arbeitet asynchron mit Durchschaltevermittlung und verfügt zusätzlich über einen N : 1 Multiplexer.
Anmerkung: Für die Anwendung von Kreuzschienenverteiler-basierten Lösungen im Umfeld von Mehrprozessorsystemen ist insbesondere kennzeichnend, daß Kreuz­ schienenverteiler immer nur als Verbindungswerke zwischen Prozessor und Spei­ cher/Peripherie Einheiten dienen.
2.3.2 Paket- und Zellenvermittlungseinheiten und ihre Anwendung
Bei den Paket- und Zellenvermittlungseinheiten handelt es sich um - meist als integrierte Bau­ steine realisierte - Switch-artige Verbindungswerke, die nach dem Prinzip der Paket- bzw. Zellenvermittlung auf der Grundlage einer Nachrichtenfragmentierung arbeiten, vgl. Abschnitt 2.2.1. Sie finden ihre Anwendung beim Aufbau mittlerer und großer Telekommunikations- und Rechnernetze, neuerdings existieren jedoch auch Einsatzfelder im Bereich von Local- und Sy­ stem Area Networks. Derartige Vermittlungseinheiten werden in der Literatur meist als crossbar switches bezeichnet.
Beispielanwendung: Cray Y-MP 816: Der Supercomputer Cray Y-MP 816 implementiert eine Architektur, in der 8 CPUs über einen 2-stufigen Crossbar Switch auf 256 Memory Bänke zugreifen. Die Crossbar-Architektur [4] bestehend aus 2-stufigen Kaskaden aus 4 × 4 und 8 × 8 Paketvermittlungseinheiten mit 1 × 8 Demultiplexern - realisiert ein skalierbares paketorientiertes Verbindungswerk, das Datenpakete variabler Länge auf der Basis vorangestellter Steuerungsbits (self-routing Verfahren) zwischen beliebigen angeschlossenen CPUs und Memory Bänken ohne innere Blockierung vermittelt. Die Ausgänge werden dabei über FIFO-Queues gepuffert.
In vielen technischen Anwendungsfeldern finden sich Paket- und Zellenvermittlungseinheiten jedoch in separaten (d. h. externen) Verbindungsnetzen wieder. Optional können sie dort in mehreren Kaskaden zu komplexeren Topologien verbunden werden. Dabei entstehen Netze mit stark unterschiedlichen Vermittlungseigenschaften hinsichtlich Fehlertoleranz, Anzahl der Ver­ bindungswege, Blockierungsfreiheit, Signallaufzeiten usw. Beispiele dafür sind Omega-, Banyan-, Benes-, Clos-, Delta- und Hypercube Netze. Im Gegensatz zu Lösungen mit Kreuzschienenver­ teilern und Durchschaltevermittlung sind die so erzielten Topologien wesentlich billiger, flexibler konfigurierbar, v.a. aber beliebig skalierbar. Als Paket- und Zellenvermittlungseinheiten zur Un­ terstützung des ATM (Asynchronous Transfer Modus-) Standards kommen insbesondere ATM- Switches zur Anwendung, die wiederum verwendet werden, um größere ATM Koppelnetze (ATM switching network modules) aufzubauen (siehe z. B. [2]). Die grundlegenden Eigenschaften eines ATM-Switch Bausteins lassen sich wie folgt darstellen.
  • - Paketvermittlung (packet switching) von logischen Datenpaketen über physikalische Zellen fester Größe
  • - Selbstrouting der in Zellen eingeteilten Datenpakete über blockierungsfreie variable Pfade
  • - Speicherbasierte Vermittlung (Paketzellenspeicher) mit FIFO-Ausgangspufferung
  • - Physikalische (1 : 1 und 1 : M) Kanäle (chipintern), virtuelle Kanäle (extern)
  • - Variable Transferraten von logischen Paketen durch Steuerung der Zellrate.
Interface-Spezifikationen des ATM Forums definieren, beginnend bei Schicht 1 (physical layer) des OSI-Referenzmodells aufwärts, elektrische und logische Eigenschaften von Schnittstellen, um Ein-/Ausgänge von ATM-Switches über elektrische oder optische Verbindungen miteinander zu verbinden und damit Netzwerke beliebiger Größe aufzubauen.
Anmerkung: Obwohl bereits viele Technologien zum Aufbau von Zellenvermitt­ lungseinheiten wie ATM-Switches und -Fabriken patentiert sind, werden Zellenver­ mittlungseinheiten bisher in keiner einzigen Rechnerarchitektur als Board Area Net­ work (vgl. Abschnitt 2.2.2) zur lokalen Interprozessor-Kommunikation herangezogen.
2.3.3 Einsatz von Kommunikationseinheiten in Multiprozessor- und Multirechner­ systemen und deren Nachteile
An dieser Stelle werden Architekturmerkmale von Multiprozessor- und Multirechnersystemen beschrieben, die sich auf die Organisation der Einheiten zur Interprozessor-Kommunikation und -Ko­ operation beziehen. Es wird dabei insbesondere auf die in Kapitel 2.2 eingeführte Klassifikation zum Stand der Technik Bezug genommen.
Shared Memory Multiprozessor (SMP-) Systeme
SMP-Systeme ermöglichen Interprozessor-Kommunikation ausschließlich über einen gemeinsa­ men logischen (aber u. U. physikalisch verteilten) Speicher. Dainit zählen diese Systeme nach Abschnitt 2.2.3 zur Gruppe der Funktionseinheiten mit speicherbasierter Kommunikation. Nach der in Abschnitt 2.2.2 getroffenen Unterteilung sind SMPs praktisch in allen Bereichen vertreten. Die angewandten Zugriffsverfahren (nach Abschnitt 2.2.1) wie auch die technische Realisierung des gemeinsamen logischen Speichers können in diesen sog. eng-gekoppelten Systemen sehr un­ terschiedlich sein.
  • - Gemeinsamer Bus (time-multiplexed bus): Hier bilden Prozessoren ggf. mit privaten Zwischenspeichern autonome Funktionseinheiten. Die dabei entstehenden Funktionseinhei­ ten kommunizieren auf der Grundlage eines Vielfachzugriffsverfahrens mit Buskopplung (siehe Abschnitt 2.2.1). Definierte Gruppen von Funktionseinheiten aus dem Gesamtsy­ stem werden zu kleinen Clustern zusammengefaßt. Ein Cluster besteht danach vereinfacht aus N Funktionseinheiten, einem gemeinsamen Bus und M lokalen, gemeinsam genutz­ ten Speicherbänken. Innerhalb eines Clusters greifen die N Funktionseinheiten über den gemeinsamen Bus auf die lokalen physikalischen Speicherbänke zu. Der Zugriff auf ent­ fernte physikalische Speicherbänke (d. h. Speicherbänke in anderen Clustern) wird durch Konstruktion einer Bus-Hierarchie (einschließlich der Übergänge zwischen den Bussen) be­ reitgestellt. Auf diese Weise kann ein gemeinsamer logischer Speicher adressiert werden. Ein Beispiel für derartige Systeme sind Futurebus + -Systeme [1].
    Nachteile: Die Einschränkungen der SMPs mit Buskopplung liegen zum einen in der durch die enge Vermaschung aller beteiligten Funktionseinheiten verursachten Synchro­ nisationsploblematik. Die Synchronisation der Zugriffe muß sowohl durch Hardware- Arbitrierung, wie auch durch Software-seitige Synchronisationsmittel sichergestellt werden. Beim Einsatz von schnellen, lokalen Zwischenspeichern (Caches) in den Funktionseinheiten treten zudem noch Speicherkohärenzprobleme auf. Weiterhin führen Engpässe in der Über­ tragungsbandbreite (in Bus-artigen Verbindungswerken teilt sich die individuell verfügbare Busbandbreite durch die Anzahl der Teilnehmer am Bus) zu massiven Skalierungsproblemen. Der Einsatz von Busübergängen zieht zudem noch hohe Laufzeitverzögerungen (memory latencies) für entfernte Zugriffe nach sich.
  • - Kreuzschienenverteiler: In neueren Architekturen ersetzen Kreuzschienenverteiler die Busse für Zugriffe auf lokale und entfernte Speicherbänke. Bekannt sind Multiprozessoren nach dem UMA, NUMA und COMA-Modell [6]. Die so aufgebauten Systeme kommunizie­ ren auf der Grundlage eines Vielfachzugriffsverfahrens mit Durchschaltevermittlung (siehe Abschnitt 2.2.1). Der Einsatz von Kreuzschienenverteilern verhindert die bei Buskopp­ lungen charakteristische Bandbreiteneinschränkung, da jeder Prozessor (Funktionseinheit) beim Speicherzugriff einen exklusiven Kanal mit garantierter Bandbreite erhält.
    Nachteile: Kreuzschienenverteiler-basierte Lösungen ziehen für größere Topologien hohe Kosten für Konfiguration und Hardware nach sich und schränken so die Skalierbarkeit dieser Systeme ein. Weitere Nachteile, wie die betrachteten Laufzeitverzögerungen als auch die Kohärenz- und Synchronisationsprobleme bleiben auch hier erhalten.
  • - Ring-Topologie: Modernste SMP-Architekturen arbeiten nach dem Scalable Coherent In­ terface (SCI-) Modell. Dabei werden jeweils Cluster aus 4-6 Funktionseinheiten gebildet, die intern über einen unidirektionalen Hochgeschwindigkeitsring miteinander verbunden sind. Das SCI-Modell stellt Hardware-seitig einen logischen, globalen Adreßraum bereit, in den jeder Teilnehmer (Prozessor, Funktionseinheit) wahlweise Einsicht bekommt. SCI-basierte Systeme kommunizieren (nach der Klassifikation in Abschnitt 2.2.1) auf der Grundlage ei­ nes Vielfachzugriffsverfahrens mit Buskopplung. Die Skalierbarkeit von SCI-basierten Par­ allelrechnern wird durch den Einsatz zusätzlicher Netzübergänge zur Überbrückung von Clustergrenzen sichergestellt. Die SCI-Hardware löst weiterhin das bei derartigen Syste­ men auftretende Speicherkohärenzproblem.
    Nachteile: Eine Einschränkung dieser Architekturen liegt in den unterschiedlichen Zu­ griffszeiten bei Lese/Schreiboperationen auf entfernte Speicher. Leseoperationen sind dabei um Größenordnungen langsamer als Schreiboperationen. Weiterhin entstehen Leistungsein­ bußen bei lokalen Speicherzugriffen innerhalb der Funktionseinheiten, da nach dem SCI- Standard Nachrichten bzw. Daten, die innerhalb des globalen Adreßraums sichtbar sind, nicht im Prozessor-lokalen Cache-Speicher abgelegt werden dürfen.
Message Passing Systeme
In Multiprozessor/Multirechnersystemen, die nach dem Message Passing Verfahren arbeiten (sie­ he Klassifikation in Abschnitt 2.2.3), kommunizieren Prozessoren nicht mehr über einen gemeinsa­ men Speicher, sondern durch direkten oder mittelbaren Nachrichtenaustausch über logische bzw. physikalische Verbindungskanäle. Entsprechend der in Abschnitt 2.2.2 getroffenen Unterteilung sind Message Passing Systeme praktisch auch in allen Bereichen vertreten. Die (nach Abschnitt 2.2.1) angewandten Zugriffsverfahren, wie auch die technische Bereitstellung von Nachrichten­ kanälen sind in diesen auch als lose gekoppelte Systeme bekannten Anordnungen sehr unter­ schiedlich.
  • - On Chip Kommunikationslinks: Spezielle Prozessorfamilien wie die TMS320C4x- Generation [8] oder Vertreter der neuen ADSP-2106x Reihe [3] verfügen über eigene Kom­ munikationsschnittstellen (Links), die direkt zum Nachrichtenaustausch zwischen Prozes­ soren in einem Multiprozessor-Netzwerk genutzt werden können. Derartige Systeme kom­ munizieren nach der Klassifikation in Abschnitt 2.2.1 also auf der Grundlage eines Zu­ griffsverfahrens mit direkter Kopplung. Besteht hier die Notwendigkeit, daß Prozessoren miteinander kommunizieren, die nicht unmittelbar miteinander verbunden sind, so muß eine Software-basierte Lösung für das Routing der Nachricht realisiert werden. Da die An­ zahl der integrierten Links physikalisch begrenzt ist (typisch 2-6 Links pro Prozessor), sind die so erzielbaren Topologien eingeschränkt.
    Nachteile: Aufgrund der elektrisch begrenzten räumlichen Ausdehnung einer Linkver­ bindung lassen sich auf dieser Grundlage lediglich Systeme mit Board- oder System- Area Networks aufbauen. Auch die fehlende Möglichkeit einer (physikalischen) Vollver­ maschung des Netzwerks schränkt die Skalierbarkeit dieser Systeme deutlich ein. Software- Protokollschichten übernehmen in diesen Fällen die Vermittlung zwischen entfernten Pro­ zessoren ohne direkten Verbindungskanal. Damit fallen zusätzliche Aufgaben wie das Software-Switching der übertragenen Nachrichten an. Weiterhin entstehen hohe Laufzeit­ verzögerungen, die von der Topologie und der Rechenlast der Vermittlungsknoten abhängig sind.
  • - Kommunikations- und Rechnernetze: In diese Kategorie reihen sich alle (Multi) Rech­ nersysteme ein, die nach Abschnitt 2.2.2 zum Aufbau von LAN-, MAN- und WAN-artigen Strukturen herangezogen werden. Die dabei eingesetzten Kommunikationseinheiten lassen sich analog der Klassifikation in Abschnitt 2.2.1 in zwei große Kategorien einteilen. Zum einen sind dies Bus-basierte Lösungen (wie Ethernet-LANs), die nach dem Vielfachzu­ griffsverfahren auf der Basis eines gemeinsamen Mediums (shared medium) arbeiten. Zum anderen existieren zellbasierte Vermittlungseinheiten mit Paketvermittlung (z. B. ATM- Switches), die exklusive Nachrichtenkanäle aufbauen und Daten so nach dem Message Passing Verfahren vermitteln können. Es existieren auch hybride Lösungen aus beiden Kategorien (z. B. paketvermittelnde FastEthernet-Switches). Charakteristisch für alle Ver­ fahren der Nachrichtenkommunikation über derartige (Rechner-)Netze ist die strikte Hard- und Software-seitige Separation zwischen einer Funktionseinheit (Prozessor, Speicher etc.) als elektrische/physikalische Einheit auf dem Board und einer externen Kommunikations­ einheit (Switch, LAN-Segment). Bevor eine Nachricht über die Kommunikationseinheit transferiert werden kann, ist dazu zunächst ein Bus-gekoppelter Zugriff auf einen periphe­ ren Nachrichtenumsetzer (Media-Adapterkarte, Network Interface Card) notwendig, die die Nachricht (entsprechend den OSI-Schichten 1 und 2a) aufbereitet.
    Nachteile: Von der Hardware-Seite betrachtet führt dies dazu, daß angepaßte periphe­ re Adapterkarten für die jeweilige externe Kommunikationseinheit notwendig werden und Netzübergänge für die Kopplung verschiedener, inhomogener Netzstrukturen nötig sind. Dies vergrößert einerseits Materialkosten und Aufwand bei der Skalierung derartiger Sy­ steme und führt andererseits zu hohen Laufzeitverzögerungen bei der Kommunikation zwi­ schen einzelnen Knoten im System. Betrachtet man dies von der Software-Seite, so müssen die Grenzen der unterschiedlichen Komponenten (Media-Adapterkarte, Verbindungswerk, Netzübergänge) innerhalb eines logischen Nachrichtenkanals durch entsprechende Proto­ kollhierarchien überwunden werden. Dies vergrößert wiederum die Komplexität eines rea­ lisierten logischen Kanals und führt für Kanale mit unterschiedlichen Protokollrahmen zu deutlichen Laufzeitschwankungen der Nachrichten auf Nutzungsebene.
2.4 Vorteile des neuen Ansatzes
Der in diesem Dokument dargestellte neue Ansatz zur Interprozessor-Kommunikation bietet im Vergleich zu den beschriebenen Techniken aus Kapitel 2.3 folgende technische Vorteile:
  • 1. Garantierte Bandbreiten: Die Übertragungsbandbreite bei einer Punkt-zu-Punkt Kom­ munikation zwischen zwei beliebigen Prozessoren im System ist konstant, unabhän­ gig von der Anzahl der Prozessoren und - durch geeignete Walil einer Standard- Zellenvermittlungseinheit - in weiten Grenzen definierbar.
  • 2. Skalierbarkeit: Die durchgängig homogene Organisation der Zellenvermittlungseinhei­ ten zur Interprozessor-Kommunikation erlaubt es, daß Prozessoren, unabhängig von ih­ rer tatsächlichen physikalischen Positionierung (auf demselben oder auf unterschiedlichen Boards), in der gleichen Weise miteinander verbunden werden können und nach dem glei­ chen (homogenen) Verfahren Nachrichtenkommunikation betreiben können. Dies ermög­ licht den einfachen Aufbau beliebig großer Systeme auf der Grundlage kleinerer Cluster (Boards). Auch bei entfernter Kommunikation (mehrere km) müssen dabei keine inhomo­ genen (d. h. technisch differenziert gestaltete) Hürden überwunden werden. Die durch die Zellen- basierte Vermittlung entstehenden Laufzeitverzögerungen bewegen sich für kleine und große Systeme in einem engen Toleranzbereich.
  • 3. Minimaler Aufwand: Der technische (Hardware-seitige) Aufwand sowohl für die Reali­ sierung lokaler Kommunikation auf einem in diesem Dokument beispielhaft dargestellten Board als auch bei der Realisierung von Nachrichtenkommunikation über Boardgrenzen hinaus ist minimal und vergleichbar mit einer Ring- oder Bus-basierten Lösung, bei deut­ lich besseren Rahmenbedingungen in der Leistung des Systems. Der Software-seitige Auf­ wand beschränkt sich auf die initiale Konfiguration der Zellenvermittlungseinheit und die zur Realisierung virtueller Kanale notwendige dynamische Verwaltung von Pakten/Zellen. Durch die self-routing Eigenschaft des Vermittlungssystems entfällt die Notwendigkeit einer dynamischen Konfiguration der Zellenvermittlungseinheit.
  • 4. Technische Integration: Durch Kombination der in diesem Dokument dargestellten Zell­ vermittlungstechnik mit den im ATM-Forum festgelegten Rahmenbedingungen und Stan­ dards lassen sich große verteilte Systeme entwickeln, die sich homogen in bestehende tech­ nische Systeme einbetten und aus Sicht der Nachrichtenkommunikation nahtlos integrie­ ren lassen. Damit entfallen partiell die Vermittlungseinheiten (Netzübergänge), die bei der Kopplung spezialisierter Rechensysteme an standardisierte Rechner und Kommunikations­ netze notwendig werden. Durch die Integration eines homogenen Verfahrens für das Booten und Initialisieren der Funktionseinheiten, wird die Wartbarkeit großer Systeme wesentlich vereinfacht.
2.5 Funktionsweise 2.5.1 Technische Problemstellung
Die dieser Erfindung zugrundeliegende Problemstellung besteht darin, ein Mehrprozessorsystem aus mehreren Funktionseinheiten so aufzubauen, daß
  • 1. jede Funktionseinheit aus Prozessor, dessen zugeordnetem Arbeitsspeicher und ggf. Peripherie-Einheiten besteht,
  • 2. die Funktionseinheiten nach dem Message Passing-Prinzip untereinander Daten austau­ schen können (lokale Kommunikation),
  • 3. jeweils N ≧ 3 dieser Funktionseinheiten einen mechanisch und elektrisch gemeinsamen Aufbau besitzen (d. h. auf einer gemeinsamen Leiterplatte aufgebaut sind, gemeinsame Stromversorgung besitzen, usw.) und damit ein Board bilden,
  • 4. beliebig viele Boards über externe Schnittstellen und ggf. Vermittlungseinheiten miteinan­ der verbunden werden können, so daß Funktionseinheiten auf verschiedenen Boards eben­ falls über Message Passing miteinander kommunizieren können (entfernte Kommunikati­ on),
  • 5. lokale und entfernte Kommunikation aus Sicht der auf den Prozessoren der Funktionsein­ heiten laufenden Software identisch gehandhabt werden, und
  • 6. ausgehend von einer Master-Funktionseinheit, alle Funktionseinheiten auf einem Board ihre initiale Betriebssoftware mittels der Message Passing-Funktionalität laden können, d. h. keinen eigenen Festwertspeicher benötigen.
2.5.2 Begriffsdefinitionen
Funktionseinheit (FE): ist ein selbständiger Prozessor, ggf. mit lokalem RAM und zugeordne­ ten peripheren Einheiten wie Zeitgeber (Timer), Direct Memory Access (DMA) Controller usw. Im Sinne dieser Schrift ist es dabei gleichgültig, ob lokales RAM und periphere Ein­ heiten mit dem Prozessor teilweise oder vollständig auf einem Chip integriert, oder als separate Bauelemente auf einer gemeinsamen Leiterplatte angebracht sind. Kennzeichnend für eine FE ist die dedizierte elektrische und logische Zuordnung von RAM und peripheren Einheiten zum Prozessor. Ein aus mehreren Baugruppen aufgebauter Rechner ist keine FE in diesem Sinne.
Kommunikation: ist die Übertragung einer digitalen Nachricht von einer FE zu einer anderen. Üblicherweise wird dabei bestimmter Bereich aus dem Speicher der sendenden FE in den Speicher der empfangenden FE kopiert. Im Sinne dieser Schrift ist es dabei unerheblich, ob dieser Kopiervorgang von den Prozessoren auf den FE'en oder spezieller Peripherie- Einheiten (DMA) der jeweiligen FE'en ausgeführt wird.
Paket: ist die Einheit, in die Nachrichten von der sendenden FE vor dem Versenden zerlegt wer­ den. Die empfangende FE erwartet Nachrichten als eine Folge von Paketen. Die Größe der Pakete ist üblicherweise nicht festgelegt und wird z. B. vor dem Austausch von Nachrichten zwischen Sender und Empfänger durch Austausch spezieller Kontrollpakete vereinbart.
Vermittlungseinheit (VE): Eine VE erlaubt N elektrisch oder optisch angeschlossenen FE'en die Kommunikation untereinander. Erlaubt die VE die gleichzeitige Kommunikation von N/2 disjunkten Paaren von FE'en mit voller Übertragungsrate (Nachrichtenfluß), heißt sie blockierungsfrei.
Zellenvermittlungseinheit (Cell-Switch CS): Ein CS ist eine VE, die Nachrichten nur in Einheiten fester Länge (z. B. 53 Oktetts), sog. Zellen, vermitteln kann. Dazu müssen Pakete, bevor sie dem CS übergeben werden, in Zellen zerlegt werden (Segmentierung). Der CS behandelt jede Zelle eines Pakets einzeln, und üblicherweise, ohne von der Zugehörigkeit der Zelle zu einem Paket Kenntnis zu haben.
Ein der Zelle voran- oder nachgestellter Routing-Header, der für den CS Information über die Behandlung der Zelle (z. B. den Ausgangsport, zu dem die Zelle vermittelt werden soll) enthält, ist nicht Bestandteil der Zelle im Sinne dieser Definition; insbesondere auch dann nicht, wenn der Routing-Header selbst auch - verändert oder unverändert - zum Ausgangs- Port des CS vermittelt wird.
Zelle: ist die vermittelte Einheit eines CS. Alle Zellen in einem System haben gleiche, feste Länge. Die Länge einer Zelle (in Bytes) sei NC.
Port: ist ein Ein- und Ausgang eines CS.
Routing: ist der Vorgang, zu einer an einem Eingangs-Port ankommenden Zelle den korrekten Ausgangs-Port zu bestimmen. Erkennt ein CS den Ausgangsport anhand eines an die Zelle angehängten Routing-Headers, heißt der CS self-routing.
Header: ist ein in einer Zelle vorhandenes Feld, das Informationen über die Zelle enthält, z. B. Angaben über das Ziel der Zelle, den Weg dorthin, ihre Priorität oder eine Prüfsumme. Die Länge des Headers sei NH.
Payload: ist der Nutzdatenanteil einer Zelle, also die Zelle ohne Header. Die Länge der Payload sei NU.
Routing-Header (RHeader): ist ein außerhalb der Zelle vorhandenes Feld, das beim Eintritt einer Zelle in einen CS den Ausgangsport des CS definiert, zu dem die Zelle vermittelt werden soll. Darüber hinaus kann der RHeader auch Information über das Handling der Zelle, z. B. ihre Priorität oder Typ, enthalten. Ein RHeader im Sinne dieser Definition ist auch ein nur temporär in einem Register enthaltener Wert mit der oben dargelegten Bedeutung, der der Zelle logisch (bedeutungsmäßig), aber nicht zwingend räumlich (im Sinne benachbarter Speicherung usw.), zugeordnet ist.
Segmentation and Reassembly (SAR): ist der Vorgang der Zerlegung eines Pakets in Zellen (segmentation), und des anschließenden Zusammenbaus einer Anzahl von Zellen zu einem Paket (reassembly). Dies kann entweder vom Prozessor einer FE durch dessen Betriebs­ software ausgeführt werden (soft-SAR), oder durch eine dedizierte periphere Einheit einer FE (hard-SAR).
Lokal: heißen alle FE'en zueinander, die auf derselben Vorrichtung gemäß dieser Schrift aufge­ baut sind. FE'en auf verschiedenen Vorrichtungen heißen entfernt oder remote.
2.5.3 Elementare Kommunikationsfunktionen
In diesem Abschnitt werden die einzelnen Funktionen beschrieben, die zur Kommunikation zweier FE'en in den FE'en selbst und in den CS erforderlich sind.
Segmentation, segmentieren: Zerlegung eines Pakets in Zellen und Versehen der Zellen mit einem Header.
Adressierung, adressieren: Versehen einer Zelle mit einem RHeader.
(Cell-) Switching: Kopieren einer Zelle von einem Eingangs-Port zu einem oder mehreren, durch den RHeader der Zelle definierten Ausgangs-Port(s).
Channel-Routing (CR): Ersetzen der Adreßinformation im Header einer Zelle durch die Adreßinformation des, auf dem Weg zum endgültigen Ziel, nächsten CS, unmittelbar vor oder nach einem auf dem Weg liegenden CS. Geschieht diese Ersetzung unter Kontrolle der Betriebssoftware durch den Prozessor einer FE, heißt sie soft-CR, ist sie in Hardware realisiert, heißt sie hard-CR.
Reassembly, reassemblieren: Zusammenfügen aller ursprünglich durch Segmentation eines Pakets entstandenen Zellen zu einem, dem ursprünglichen identischen, Paket. Dabei wird der Header jeder Zelle verworfen.
2.5.4 Minimalsystem
Die in Abschnitt 2.5.1 definierten Aufgaben 1 bis 3 werden durch ein Minimalsystem nach An­ spruch 1 gelöst. Das Minimalsystem besteht aus N ≧ 3 FE'en und einem CS, siehe Fig. 1.
Im Minimalsystem sind nur die Funktionen Segmentation, Adressierung, Switching und Reas­ sembly enthalten. Ein vollständiger Kommunikationsvorgang besteht aus dem Versenden eines Pakets als Folge von Zellen durch den Sender, der Vermittlung der Zellen durch den CS, und dem Empfangen des Pakets als Folge von Zellen durch den Empfänger.
Prinzipeller Ablauf beim Senden eines Pakets: Das Versenden eines Pakets der Länge NP aus dem Speicher der Funktionseinheit FEm (Sender) zur Funktionseinheit FEn (Empfänger) läuft in folgenden Schritten ab:
  • 1. Lesen der ersten NC Bytes des Pakets im Speicher der FEm ergibt die Payload der ersten Zelle.
  • 2. Versehen der Payload mit einem Header. Es entsteht eine Zelle.
  • 3. Versehen der Zelle mit einem RHeader. Der RHeader enthält (ggf. in codierter Form) die Nummer n der Ziel-FE.
  • 4. Übergeben der um den RHeader erweiterten Zelle an den CS (setzen des Signals Daten- Schreibanforderung).
  • 5. Falls das Paket noch nicht komplett übertragen ist, Übernehmen der nächsten NC Bytes des Pakets als Payload der nächsten Zelle und Fortfahren mit Schritt 2.
Fig. 3 illustriert die Schritte 1 bis 3.
Prinzipeller Ablauf beim Empfangen eines Pakets: Steht eine Zelle am Ausgangsport des CS zur Verfügung, löst dieser i.a. einen Interrupt (Setzen des Unterbrechungssignals) für die empfangende FE aus. Der Empfangsvorgang läuft in folgenden Schritten ab:
  • 1. Lesen einer Zelle, ggf. zusätzlich RHeader, vom Ausgangsport des CS.
  • 2. Bestimmen des zugehörigen Empfangsbereichs im Speicher der FE anhand des Headers.
  • 3. Kopieren der Payload in den für das Paket bestimmten Empfangsbereich des Speichers der FE.
  • 4. Verwerfen von Header und (ggf.) RHeader.
  • 5. Wiederholen aller Schritte, bis das Paket vollständig im Empfangsbereich des Speichers vorliegt.
Wesentlich für den in Fig. 1 gezeigten Aufbau ist das Interface fs zur Verbindung des lokalen Busses der FE mit den zugeordneten Ein- und Ausgangsports des CS gemäß Fig. 2. Der Da­ tenbus des Prozessors der FE und der, der FE zugeordnete, Ein- und Ausgangsport des CS sind über ein Oktett-Register oder -FIFO für jede Richtung (Senden/Empfangen) gekoppelt.
Taktsignale: Eine Ablaufsteuerung erzeugt
  • - die zum Zellentakt des CS synchronen Taktsignale
    • - zum Schreiben von empfangenen Daten vom CS in das Zellen/Oktett-Register (CS- Empfangstakt),
    • - zum Lesen zu versendender Daten vom CS aus dem Zellen/Oktett-Register (CS- Sendetakt),
  • - die zum Prozessortakt (FE-Takt) synchronen Taktsignale
    • - zum Lesen von empfangenen Daten vom Zellen/Oktett-Register über den Datenbus der FE (FE-Empfangstakt),
    • - zum Schreiben zu versendender Daten vom Datenbus der FE in das Zellen/Oktett- Register (FE-Sendetakt).
Der Zellentakt fCS,c des CS kennzeichnet den Beginn der Übertragung einer Zelle für alle Ports des CS. nwCS die Wortbreite der Ports des CS (in bit), Nc die Länge einer Zelle (in Oktetts), NRH die Länge des Routing-Headers, dann gilt für den CS-Empfangstakt fCS,e und CS-Sendetakt fCS,s:
fCS,e = fCS,s = (Nc + NRH)fCS,c/nwCS.
CS-seitige Synchronisation: CS-Sendetakt und CS-Empfangstakt sind nur während der Übertragung einer Zelle zwischen CS und Zellen/Oktett-Register aktiv. Zur Erkennung dieses Zustands dienen folgende Signalleitungen:
Zellen-bereit Anzeige: Damit signalisiert der CS der Ablaufsteuerung, daß beginnend mit dem nächsten Zellenzyklus (fCS,c) eine vollständige Zelle, ggf. mit RHeader,((Nc + NRH) Ok­ tetts) aus dem Ausgangsport des CS ausgelesen werden kann.
Sendeanforderung: Damit signalisiert die Ablaufsteuerung dem CS, daß beginnend mit dem nächsten Zellenzyklus (fCS,c) eine vollständige Zelle mit RHeader ((Nc + NRH) Oktetts) in den Eingangsport des CS geschrieben werden soll.
FE-seitige Synchronisation: Die FE kann von sich aus in das Zellen/Oktett-Register schrei­ ben und setzt dazu das Signal Daten-Schreibanforderung, oder aus dem Zellen/Oktett-Register lesen und setzt dazu das Signal Daten-Leseanforderung.
  • - Wenn in Senderichtung die FE das Signal Daten-Schreibanforderung setzt und anschließend in das Zellen/Oktett-Register schreibt, setzt die Ablaufsteuerung das Signal Sendeanforde­ rung, um dem CS das Vorhandensein einer Zelle zum Versenden anzuzeigen.
  • - Wenn in Empfangsrichtung der CS das Signal Zellen-bereit-Anzeige setzt, setzt die Ablauf­ steuerung das Unterbrechungssignal.
  • - Wenn das Unterbrechungssignal gesetzt ist, unterbricht die CPU der FE ihren normalen Programmablauf und springt in eine Serviceroutine, die anschließend eine vollständige Zelle vom Zellen/Oktett-Register liest und in den Speicher der FE schreibt.
    Anmerkung: Im allgemeinen müssen Sender und Empfänger Kenntnis von der Länge des Pakets haben. Diese Information kann z. B. vor der Übertragung des Pakets durch Protokollzellen ausgetauscht werden.
    Anmerkung: Der Header enthält üblicherweise eine Bezeichnung der virtuellen Ver­ bindung, so daß mehrere, von der Betriebssoftware eindeutig unterscheidbare, virtuel­ le Verbindungen von einer FE ausgehen oder an einer FE ankommen können. Durch die eindeutige Kennzeichnung im RHeader kann die Betriebssoftware jede ankom­ mende Zelle der zugehörigen virtuellen Verbindung zuordnen. Der RHeader hingegen wird vom CS benutzt um an einem Eingangs-Port übernommene Zellen zum richtigen Ausgangs-Port weiterzuleiten. Diese Information ist implizit auch im Header enthal­ ten, die Verwendung eines zusätzlichen RHeaders mit der expliziten Ziel-Portnummer erlaubt jedoch eine einfachere Ausführung der Hardware des CS. Prinzipiell kann auf den RHeader auch verzichtet werden, Schritt 3 entfällt dann.
    Anmerkung: Das Übergeben der um den RHeader erweiterten Zelle an den CS kann z. B. durch in den Adreßraum der FE gemappte Register des CS oder mit Hilfe eines speziellen I/O-Adreßbereichs, unter Kontrolle der CPU oder einer auf der FE oder im CS integrierten DMA erfolgen.
Eine am Eingangsport m des CS ankommende Zelle wird entweder anhand der im Header ent­ haltenen impliziten Zielinformation oder anhand der im RHeader enthaltenen expliziten Zielin­ formation zum Ausgangsport n vermittelt, d. h. physisch kopiert.
Anmerkung: Die Verzögerung zwischen ankommender Zelle am Eingangsport und Erscheinen der Zelle am entsprechenden Ausgangsport des CS ist implementierungs­ abhängig.
Anmerkung: Ein ggf. vorhandener RHeader kann mit der Zelle zum Ausgangsport vermittelt werden oder vom CS entfernt werden.
2.5.5 Lösungsmöglichkeiten für SAR
Das Zerlegen eines, im Speicher der PE vorliegenden, logischen Pakets in Zellen gleicher Größe wird durch eine Vorrichtung nach Anspruch 4 oder Anspruch 8 vorgenommen.
Das Zerlegen eines Pakets in Payload-Einheiten, Versehen mit zugehörigem (d. h. zur entspre­ chenden virtuellen Verbindung gehörendem) Header und ggf. RHeader auf der Senderseite (Seg­ mentation), und umgekehrt das Extrahieren der Payload aus ankommenden Zellen und Anein­ anderreihen dieser Payloads zu empfangenen Paketen entsprechend der Verbindungsinformation im Header (Reassembly) kann gemäß Anspruch 4 unter Kontrolle der Betriebssoftware durch die CPUs der jeweiligen FE'en erfolgen (soft-SAR), oder gemäß Anspruch 8 als Hardware-Funktion durch eine spezielle Peripherie-Einheit der FEE (hard-SAR).
Soft-SAR: Eine mögliche Realisierung von soft-SAR ist in Fig. 4 dargestellt. Im Speicher der FE sind an getrennten Stellen das komplette Paket und ein Feld mit vorbereiteten Headern und RHeadern abgelegt. Zellen werden sukzessive dadurch gebildet, daß in einen Zellenpuffer zu­ nächst der nächste Header/RHeader aus dem vorbereiteten Feld, dann die nächsten Nu Oktetts aus dem Paket kopiert werden. Anschließend werden der Zeiger auf das Header/RHeader-Feld um die Größe eines Headers/RHeaders, der Zeiger auf das Paket um die Größe Nu einer Pay­ load inkrementiert. Der Zellenpuffer wird anschließend wortweise in das Zellen/Oktett-Register geschrieben.
Beim Empfangen eines Paketes läuft der Vorgang umgekehrt ab. Wesentliche Unterschiede sind:
  • - Die Adreß-Information des Headers wird benutzt, um die Speicheradresse des Pakets zu ermitteln.
  • - Header und RHeader werden verworfen.
Hard-SAR: Fig. 5 zeigt eine Lösungsmöglichkeit für hard-SAR. Bestandteil der FE ist eine SAR-Einheit, bestehend aus DMA (Direct Memory Access) Controller, Zellenregister, Header/RHeader-Register und Modifikationsregister. Es ergibt sich folgender Ablauf:
  • 1. Die CPU initialisiert die Register des DMA Controllers mit Adresse und Lange des Pakets, und das Header/RHeader Register mit dem Header/RHeader der ersten Zelle.
  • 2. Die SAR-Einheit kopiert das Header/RHeader Register in das Zellenregister, und füllt es anschließend mit Nu Oktetts aus dem Speicher der FE auf.
  • 3. Die SAR-Einheit schreibt den Inhalt des Zellenregisters auf den Eingangsport des CS.
  • 4. Das Modifikationsregister wird zum Inhalt des Header/RHeader-Registers addiert.
  • 5. Schritte 2 bis 4 werden wiederholt, bis das Paket vollständig übertragen ist.
Zum Empfangen eines Pakets werden entsprechend die umgekehrten Schritte durchlaufen.
2.5.6 FIFO-Kopplung
Durch Ausbau des Zellen/Oktett-Registers zum FIFO gemäß Anspruch 5 werden die zeitlichen Ablaufe von FE und CS entkoppelt.
Zusätzlich zu den bisher beschriebenen Funktionen überwacht die Ablaufsteuerung die Validität der in den FIFOs gespeicherten Daten. Sie wendet folgende Regeln an:
2.5 Funktionsweise
  • - Im Empfangs-FIFO enthaltene vollständige Zellen sind immer gültig.
  • - Falls ein Empfangs-FIFO überläuft, d. h. die empfangende FE über einen bestimmten Zeit­ raum das FIFO langsamer ausliest, als der CS es beschreibt, werden
    • - zeitlich zugeordnet zur ersten Zelle, die das Empfangs-FIFO zum Überlaufen bringt, das Unterbrechungssignal der sendenden FE gesetzt,
    • - gemäß Anspruch 7 der Sende-FIFO-Speicher der sendenden FE invalidiert, d. h. ge­ löscht,
    • - alle von der Invalidierung betroffenen Zellen im Sende-FIFO-Speicher von einer Be­ handlungsroutine der sendenden FE für das Unterbrechungssignal erneut in den Sende-FlFO-Speicher geschrieben.
Je größer der Empfangs-FIFO-Speicher gewählt wird, umso stärker ist die Entkopplung und umso länger darf die Reaktion der CPU auf ein Unterbrechungssignal dauern, ohne daß Zellen verloren gehen.
Wird gemäß Anspruch 6 der Empfangs-FIFO-Speicher (vom CS zur FE) wesentlich größer ge­ wählt als der Sende-FIFO-Speicher (von der FE zum CS), wird zum einen die Entkopplung verbessert, zum anderen die Anzahl verlorener Zellen im Falle eines Empfangs-FIFO-Überlaufs minimiert.
2.5.7 Booten der FE'en
Unter Booten wird das erstmalige Laden der Betriebssoftware der Prozessoren der FE'en in deren lokalen Speicher oder in den internen Speicher der Prozessoren nach einem Systemstart (Reset) verstanden.
Eine Bootfunktion in der fs-Schnittstelle (vgl. Fig. 1) erlaubt das Laden dieser Betriebssoftware (Booten) von einer Master-FE auf dem Board oder von einem EPort (Zur Definition eines EPorts siehe Abschnitt 2.5.8.).
Eine Netzwerk-Boot-Fähigkeit in obigem Sinne und entsprechend der Problemstellung Nr. 6 läßt sich grundsätzlich auf folgende Arten realisieren:
Boot-Zellen-Modus: gemäß Anspruch 2. Hier wird die gesamte Vorrichtung einschließlich CS beim Booten in einem speziellen Boot-Modus betrieben. In diesem Boot-Modus besteht die ge­ samte Zelle aus NC Nutzdaten, d. h. NU,boot = NC. Von einer empfangenden FE können diese Boot Zellen direkt (mittels DMA) in unmittelbarer Folge in den Speicher geschrieben und an­ schließend vom Prozessor ausgeführt werden. Die fs-Schnittstelle muß dabei ggf. vom CS zum Ausgangsport kopierte RHeader von den Boot-Zellen entfernen. Nach dem Booten aller FE wech­ selt die Vorrichtung in den Betriebs-Modus mit der üblichen Aufteilung einer Zelle in Header und Payload.
FE-Boot-Modus: gemäß Anspruch 3. Hier wird nur die fs Schnittstelle der zu bootenden FE in einen Boot-Modus versetzt. In diesem Boot-Modus werden empfangene Zellen direkt (mittels DMA) in unmittelbarer Folge in den Speicher geschrieben und anschließend vom Prozessor ausge­ führt. Die fs-Schnittstelle muß dabei den Header der Zellen und ggf. vom CS zum Ausgangsport kopierte RHeader von den Boot-Zellen entfernen. Nach dem Booten wechselt die fs-Schnittstelle in den Betriebs-Modus, in welchem Zellen, wie in den vorangehenden Abschnitten beschrieben, behandelt werden.
2.5.8 Skalierbares System
Die bislang beschriebene Vorrichtung im folgenden Board (B) - wird skalierbar und löst da­ mit die Problemstellungen Nr. 4 und 5, wenn - gemäß den Ansprüchen 9 und 10 - beliebig viele Boards unter Beibehaltung der Kommunikationseigenschaften (d. h. der logischen Sicht der Kommunikationsfunktionen) zu einem größeren System verbunden werden können.
Grundsätzliche Voraussetzung ist dafür das Vorhandensein freier Ports des CS, d. h. der CS muß mehr Ports aufweisen als FE'en auf dem Board vorhanden sind. Diese Ports besitzen in Egress- Richtung (das Board verlassend) mindestens PHY-Funktionalität, in Ingress-Richtung (von au­ ßen kommend) mindestens PHY-, sinnvollerweise auch Adressierungs- und CR-Funktionalität.
PHY-Funktionalität: Umsetzung der Spannungspegel und des Datenformats, die auf dem Board verwendet werden, in einen elektrischen oder optischen Leitungscode, der Übertra­ gung über größere Strecken auf symmetrischen Kupferadern oder Lichtwellenleitern erlaubt, und umgekehrt.
Adressierungs-Funktionalität: siehe Definition in Abschnitt 2.5.3.
CR-Funktionalität: siehe Definition in Abschnitt 2.5.3
Insbesondere erlaubt PHY-Funktionalität die Verbindung von Boards, die nicht durch gemein­ samen elektrischen und/oder mechanischen Aufbau gekennzeichnet sind, d. h. Verbindung von Boards über größere Entfernungen, Stockwerke hinweg oder auch - falls das PHY-Interface kon­ form zu einem Telekommunikationsstandard ausgelegt ist - in weltweiten Netzen.
Adressierungsfunktionalität für Ingress-Verkehr erfüllt grundsätzlich die gleiche Funktion wie bei Board-internem Verkehr: Verringerung der Hardware-Komplexität des CS durch Ergänzen einer Zelle mit einer expliziten Routing-Adresse (RHeader, Nummer des für diese Zelle bestimm­ ten Ausgangsports) anhand der im Zell-Header enthaltenen impliziten Adresse des Empfängers. Grundsätzlich könnte die Adressierungsfunktionalität auch im CS integriert sein.
CR-Funktionalität für Ingress-Verkehr ermöglicht das Erneuern bzw. Austauschen der im Zellen- Header enthaltenen impliziten Zielinformation für Zellen, die nicht für einen Empfänger auf dem Board bestimmt sind. Dabei wird anhand der Adreßinformation ankommender Zellen die neue Adreßinformation bis zur nächsten Vermittlungseinheit auf dem Weg zum endgültigen Ziel er­ mittelt und die alte durch die neue Adreßinformation ersetzt. Diese Verfahren setzt vor der eigentlichen Übertragung von Paketen den Aufbau einer Verbindung durch Besetzen entspre­ chender Routing-Tabellen in den Vermittlungseinheiten voraus. In der Konfiguration von Fig. 7 ermöglicht CR-Funktionalität z. B. das Versenden von Zellen von einer FE auf B0 über den CS von B1 zu einer empfangenden FE auf B2.
Der Aufbau größerer Netze von Boards mit guten Skalierungseigenschaften, d. h. mit der Anzahl der Boards im System wachsender Summen-Kommunikationsbandbreite, erfordert einen Aufbau gemäß Fig. 8. Hier werden mehrere Boards durch Vermittlungseinheiten verbunden, die aus einem CS mit, einer mindestens der Zahl der angeschlossenen Boards entsprechenden, Anzahl von EPorts ausgestattet sind. Für die Funktionalität der EPorts gilt das oben gesagte.
Darüber hinaus können zwei dieser Vermittlungseinheiten über EPorts direkt miteinander verbun­ den werden, was den Aufbau gleichsam beliebig großer Netze ermöglicht.
2.5.9 Ausführungsbeispiel
Fig. 9 zeigt ein Ausführungsbeispiel einer Vorrichtung gemäß dieser Schrift mit folgenden Ei­ genschaften:
  • - 6 FE'en mit jeweils einem Digitalen Signalprozessor (DSP) auf einem Board.
  • - Integrierter ATM Switch als CS.
  • - Soft-SAR.
  • - Gesamtes Board bootfähig von der Master-FE.
  • - Skalierbar durch Eports.
Im folgenden werden die wesentlichen Bestandteile des Ausführungsbeispiels erläutert.
DSP master unit: Diese FE enthält einen Signalprozessor (DSP), lokalen Arbeitsspeicher (RAM), Festwertspeicher für den Bootvorgang (EPROM), einige hier nicht weiter be­ schriebene Peripherie-Einheiten (VMEC - VME-Bus-Controller, JTAGC - JTAG Test Bus Controller) und eine Schnittstelle dsm zum CS (SWITCH).
DSP slave unit: Diese FE ist insgesamt fünf Mal auf dem Board vorhanden und unterschei­ det sich von der DSP master unit insbesondere durch das Fehlen eines Festwertspeichers (EPROM) zum Booten. Die Schnittstelle dss zum Switch ist bis auf die Boot-Funktionalität und fehlende Steuerfunktionen identisch zur Schnittstelle dsm.
SWITCH: Dies ist der CS mit insgesamt acht 16-bit-breiten Ein-/Ausgangsports. Der gesamte SWITCH ist ein einziger integrierter Schaltkreis. Zwei der acht Ports werden für EPort- Funktionalität verwendet.
BNI: Das BNI enthält PHY-Funktionalität in Egress-Richtung und PHY-, Adressierungs- und CR-Funktionalität in Ingress-Richtung. An der bb-Schnittstelle zwischen BNI und den Steckverbindern für die Verbindung mit anderen Boards und/oder dedizierten Vermitt­ lungseinheiten (ATM-Switches) werden alle relevanten ATM-Spezifikationen erfüllt. Die sb-Schnittstelle ist im wesentlichen UTOPIA-1/2 konform.
dss-Schnittstelle: Die dss-Schnittstelle besteht aus zwei FIFO-Speichern (jeweils einer für Sen­ den und Empfangen), wobei der FIFO-Speicher für Senden signifikant weniger Einträge umfaßt als der für Empfangen, und einer als Finite State Machine (FSM) realisierten Ab­ laufsteuerung. Die FSM sorgt für die Synchronisation des DSP Busses mit den Zellen- Zyklen des SWITCH, für die korrekte Behandlung von FIFO-Überläufen (Backpressure zum SWITCH, Interrupt zum DSP), sowie für das Entfernen der RHeader beim Booten (Boot-Zellen-Modus).
dsm Schnittstelle: Die dsm-Schnittstelle besteht aus einer dss-Schnittstelle ohne Boot-Zellen- Unterstützung, sowie einer zusätzlichen bitseriellen Schnittstelle zur Programmierung der Steuerregister des SWITCH und Abfrage von dessen Status-Information.
sb-Schnittstelle: Die sb-Schnittstelle setzt das elektrische und logische Port-Format des SWITCH auf ein ATM-UTOPIA-2 konformes Format um.
bb-Schnittstelle: Die bb-Schnittstelle ist ATM-UTOPIA-1/2 konform und erlaubt den direkten Anschluß ATM-konformer Übertragungsmodule für den physikalischen Layer, z. B. OC-3 (optisch, Glasfaser, 155 Mbit/s).
Literatur
[1] Futurebus+. IEEE Standard 896.1-1991.
[2] ALCATEL N.V. AMSTERDAM: Switching network and switching network module for an ATM system. US-Patent # 5091903.
[3] ANALOG DEVICES: ADSP-2106x SHARC User's Manual, 1. Auflage, März 1995.
[4] CRAY RESEARCH INC.: Memory interconnect network having separate routing networks for inputs and outputs using switches with FIFO queues and message steering bits. US-Patent # 5623698.
[5] FLYNN, M. J.: Some Computer Organizations and Their Effectiveness. IEEE Transactions on Computers, 21(9), 1972.
[6] HWANG, KAI: Advanced Computer Architecture - Parallelism, Scalability, Programmability. McGraw-Hill Series in Computer Science, 1993.
[7] SPARC TECHNOLOGY BUSINESS INC.: STP2230SOP Crossbar Switch (XB1) User's Guide. 1995.
[8] TEXAS INSTRUMENTS INC.: TMS320C4x User's Guide. 1991.
[9] UNIVERSITY OF WASHINGTON: Ultrasound Signal Processing Apparatus. US-Patent # 5492125.
Bezugszeichenliste 3 Zeichnungen 3.1 Bezugszeichenliste 3.1.1 Bezugszeichen zur Fig. 1
1
Prozessor
2
lokales RAM
CS Cell Switch, Zellenvermittlungseinheit
FE0 Funktionseinheit Nr. 0
FE1 Funktionseinheit Nr. 1
FE2 Funktionseinheit Nr. 2
fs Schaltwerk zur Verbindung des Prozessorbusses der FE mit einem Eingangs- und einem Aus­ gangsport des Cell-Switch
3.1.2 Bezugszeichen zur Fig. 2
1
Prozessor
2
lokales RAM
3
Interface fs
4
Ablaufsteuerung
5
Cell Switch, Zellenvermittlungseinheit
6
Eingangsport des CS (Senderichtung)
7
Ausgangsport des CS (Empfangsrichtung)
8
Zellentakt des CS
9
Zelle-bereit-Anzeige
10
CS-Empfangstakt
11
CS-Sendetakt
12
FE-Empfangstakt
13
FE-Sendetakt
14
Zellen/Oktett-Register/FIFO
15
FE-Datenbus
16
Unterbrechungssignal
17
Daten-Leseanforderung
18
Daten-Schreibanforderung
16
Unterbrechungssignal
19
Funktionseinheit
20
Sendeanforderung
3.1.3 Bezugszeichen zur Fig. 3
1
Paket
2
Payload 3. Zelle
3
Header 3. Zelle
4
RHeader 3. Zelle
3.1.4 Bezugszeichen zur Fig. 4
1
Funktionseinheit
2
Header (RHeader)
3
lokaler Speicher
4
Paket
5
Payload
6
Zellenpuffer
7
Eingangsport des CS
8
Header/RHeader-Feld
9
Zeiger auf Paket
10
Zeiger auf Header/RHeader-Feld
3.1.5 Bezugszeichen zur Fig. 5
1
Funktionseinheit
2
lokaler Speicher
3
SAR-Einheit
4
Paket
5
Header-(RHeader-)Register
6
Zellenregister
7
Eingangsport
8
Modifikationsregister/Zellenzähler
3.1.6 Bezugszeichen zur Fig. 6
1
EPort0
2
Eport1
3
Board
3.1.7 Bezugszeichen zur Fig. 7
1
EPort
2
Board
3
externe Kupfer- oder Lichtwellenleiter-Verbindung
3.1.8 Bezugszeichen zur Fig. 8
1
EPort
2
Board
3
externe Kupfer- oder Lichtwellenleiter-Verbindung
3.1.9 Bezugszeichen zur Fig. 9
1
DSP master unit
2
DSP slave unit
3
JTAG port
4
VME port
5
ATM network interface port

Claims (10)

1. Vorrichtung, im folgenden Mehrprozessorsystem genannt, bestehend aus mehreren, min­ destens jedoch drei, jeweils aus einem Prozessor, mindestens einem lokalen Prozessorbus, evtl. externem Speicher, evtl. weiteren Peripherie-Einheiten gebildeten, Funktionseinheiten und einer zugeordneten Zellenvermittlungseinheit, dadurch gekennzeichnet, daß
  • - die Zellenvermittlungseinheit die Übertragung von Datenpaketen in Form von Zellen fester Länge von einer Funktionseinheit zu einer, oder einer oder mehreren, anderen Funktionseinheiten ermöglicht,
  • - jeder Funktionseinheit ein eigener Ein- und Ausgang der Zellenvermittlungseinheit zu­ geordnet ist, wobei dedizierte Ein- und Ausgänge jeweils direkt an den entsprechenden lokalen Prozessorbus der zugehörigen Funktionseinheit angekoppelt sind,
  • - eine Funktionseinheit zum Versenden eines Datenpaketes direkt über den lokalen Pro­ zessorbus auf die Zellenvermittlungseinheit zugreifen kann,
  • - die Notifikation der als Empfänger einer übertragenen Zelle adressierten Funktions­ einheit von der Zellenvermittlungseinheit über Auslösen eines Unterbrechungssignal durchgeführt wird,
  • - die notifizierte Funktionseinheit die an sie adressierte Zelle direkt über den lokalen Prozessorbus aus der Zellenvermittlungseinheit ausliest,
  • - die Funktionseinheiten und die Zellenvermittlungseinheit eine mechanische und elek­ trische Einheit (Aufbau auf einem gemeinsamen Board, gemeinsame Stromversorgung) bilden, damit einhergehend, daß alle Komponenten des Mehrprozessorsystems galva­ nisch miteinander verbunden sind,
  • - die Zellenvermittlungseinheit anhand eines den Zellen vorangestellten Routing- Headers oder anhand eines in den Zellen integrierten Headers self-routing ist.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - das Mehrprozessorsystem in zwei Betriebsarten betrieben werden kann, in deren ei­ ner Zellen aus einem Adreß-, Fehlerschutz-, Betriebsarten- oder sonstige Betriebs- Informationen beinhaltendem Header und einem Nutzdaten enthaltenden Datenfeld bestehen, in deren anderer Zellen ausschließlich aus Nutzdaten bestehen und somit, in unmittelbarer Folge in den Arbeitsspeicher einer Funktionseinheit geschrieben, als initiale Betriebssoftware dieser Funktionseinheit dienen können.
3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - zwischen Zellenvermittlungseinheit und einer oder mehreren Funktionseinheiten eine Schaltung in einer Betriebsart alle Oktetts einer von der Zellenvermittlungseinheit zur Punktionseinheit fließenden Zelle, die nicht Nutzdaten, sondern Adreß-, Fehlerschutz-, Betriebsarten- oder sonstige Betriebs-Informationen beinhalten, verwirft und nur die Nutzdaten enthaltenden Oktetts an die Funktionseinheit übergibt, und so das Füllen eines Teils des Speichers der Funktionseinheit mit initialer Betriebssoftware für den Prozessor ermöglicht, in einer anderen Betriebsart jedoch die Adreß-, Fehlerschutz-, Betriebsarten- oder sonstige Betriebs-Informationen beinhaltenden Oktetts zusammen mit den Nutzdaten unverändert an die Funktionseinheit übergibt.
4. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - die Segmentierung logischer, zu versendender Datenpakete beliebiger Länge im Adreß­ raum des Prozessors der sendenden Funktionseinheit in physikalische, durch die Zel­ lenvermittlungseinheit übertragene, Zellen fester Länge, und die Reassemblierung von, empfangsseitig von der Zellenvermittlungseinheit übernommenen, Zellen zu logischen Datenpaketen im Adreßraum des Prozessors der empfangenden Funktionseinheit, im Speicher des jeweiligen Prozessors durch Betriebssoftware des Prozessors vorgenom­ men wird.
5. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - zwischen der Funktionseinheit und der Zellenvermittlungseinheit eine oder mehrere Zellen in Empfangs- und/oder Senderichtung mittels je eines FIFO-Speichers, der direkt am lokalen Prozessorbus angekoppelt ist, für jede Übertragungsrichtung zwi­ schengespeichert werden.
6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß
  • - der Empfangs-FIFO-Speicher (von der Zellenvermittlungseinheit zur Funktionsein­ heit) größere Speicherkapazität aufweist als der Sende-FIFO-Speicher (von der Funk­ tionseinheit zur Zellenvermittlungseinheit).
7. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß
  • - der Sende-FIFO-Speicher bei Überlauf oder einem Fehlerzustand des Empfangs-FIFO- Speichers oder der Zellenvermittlungseinheit durch ein Benachrichtigungssignal auto­ matisch zurückgesetzt wird.
8. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - die Segmentierung logischer, zu versendender Datenpakete beliebiger Länge im Adreß­ raum des Prozessors der sendenden Funktionseinheit in physikalische, durch die Zel­ lenvermittlungseinheit übertragene, Zellen fester Länge, und die Reassemblierung von, empfangsseitig von der Zellenvermittlungseinheit übernommenen, Zellen zu logi­ schen Datenpaketen im Adreßraum des Prozessors der empfangenden Funktionsein­ heit durch jeweils eine, zwischen Prozessor und Zellenvermittlungseinheit liegende, Segmentierungs- und Reassemblierungs-Einrichtung vorgenommen wird.
9. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
  • - die Zellenvermittlungseinheit zusätzlich zu den Ein-/Ausgängen für jede Funktions­ einheit freie Ein-/Ausgangspaare (externe Ports) vorsieht, so daß zwei oder mehrere Vorrichtungen nach Anspruch 1 direkt durch elektrische oder optische Verbindungen miteinander verbunden werden können.
10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, daß
  • - die externen Ports nach Anspruch 9 zweier oder mehrerer Mehrprozessorsysteme nach Anspruch 9 mit einer externen Zellenvermittlungseinheit, deren Funktionsweise im wesentlichen der Zellenvermittlungseinheit auf der Vorrichtung gleicht, oder einem aus solchen Zellenvermittlungseinheiten durch Verschaltung untereinander aufgebauten Netz, transparent miteinander verbunden werden können.
DE1997154466 1997-12-08 1997-12-08 Mehrprozessorsystem mit Zellenvermittlung zur Topologie-invarianten, nachrichtenorientierten Kommunikation Withdrawn DE19754466A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1997154466 DE19754466A1 (de) 1997-12-08 1997-12-08 Mehrprozessorsystem mit Zellenvermittlung zur Topologie-invarianten, nachrichtenorientierten Kommunikation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1997154466 DE19754466A1 (de) 1997-12-08 1997-12-08 Mehrprozessorsystem mit Zellenvermittlung zur Topologie-invarianten, nachrichtenorientierten Kommunikation

Publications (1)

Publication Number Publication Date
DE19754466A1 true DE19754466A1 (de) 1999-06-10

Family

ID=7851162

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1997154466 Withdrawn DE19754466A1 (de) 1997-12-08 1997-12-08 Mehrprozessorsystem mit Zellenvermittlung zur Topologie-invarianten, nachrichtenorientierten Kommunikation

Country Status (1)

Country Link
DE (1) DE19754466A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19910863A1 (de) * 1999-03-11 2000-09-21 Siemens Ag Vorrichtung und Verfahren zum Verarbeiten von Aufträgen

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0324662A2 (de) * 1988-01-15 1989-07-19 EVANS & SUTHERLAND COMPUTER CORPORATION Kreuzschienensystem für gesteuerte Datenübertragung
US4852021A (en) * 1984-06-29 1989-07-25 Fujitsu Limited Centralized command transfer control system for connecting processors which independently send and receive commands
WO1989007796A1 (en) * 1988-02-17 1989-08-24 Valtion Teknillinen Tutkimuskeskus Distributed switching system
US5091903A (en) * 1989-08-09 1992-02-25 Alcatel N.V. Switching network and switching-network module for an atm system
US5492125A (en) * 1995-02-10 1996-02-20 University Of Washington Ultrasound signal processing apparatus
US5623698A (en) * 1993-04-30 1997-04-22 Cray Research, Inc. Memory interconnect network having separate routing networks for inputs and outputs using switches with FIFO queues and message steering bits

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852021A (en) * 1984-06-29 1989-07-25 Fujitsu Limited Centralized command transfer control system for connecting processors which independently send and receive commands
EP0324662A2 (de) * 1988-01-15 1989-07-19 EVANS & SUTHERLAND COMPUTER CORPORATION Kreuzschienensystem für gesteuerte Datenübertragung
WO1989007796A1 (en) * 1988-02-17 1989-08-24 Valtion Teknillinen Tutkimuskeskus Distributed switching system
US5091903A (en) * 1989-08-09 1992-02-25 Alcatel N.V. Switching network and switching-network module for an atm system
US5623698A (en) * 1993-04-30 1997-04-22 Cray Research, Inc. Memory interconnect network having separate routing networks for inputs and outputs using switches with FIFO queues and message steering bits
US5492125A (en) * 1995-02-10 1996-02-20 University Of Washington Ultrasound signal processing apparatus

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
ANALOG DEVICES: ADSP-2106x SHARC User`s Manual, 1. Aufl., März 1995 *
BOND, John:"Crossbar switch, unigre packaging driveperformance of DEC 9000", In: ComputerDesign 12/89, S. 18-22 *
FLYNN, M.J.: Some Computer Organizations and theirEffectiveness, IEEE Transactions on Computers, 21,9, 1972 *
Futurebus +, IEEE Standard 896.1-1991 *
HWANG, KAI: Advanced Computer Architecture- Parallelism, Scalability, Programmability, McGraw-Hill Series in Computer Science, 1993 *
SPARC TECHNOLOGY BUSINESS INC.: STP2230SOP Crossbar Switch (XB1) User`s Guide, 1995 *
TEXAS INSTRUMENTS INC.: TMS 320C4x User`s Guide, 1991 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19910863A1 (de) * 1999-03-11 2000-09-21 Siemens Ag Vorrichtung und Verfahren zum Verarbeiten von Aufträgen

Similar Documents

Publication Publication Date Title
DE60033529T2 (de) Netzprozessor, speicherorganisation und verfahren
DE60006842T2 (de) Multiprozessor-Node-Controller-Schaltung und Verfahren
DE60317890T2 (de) Verfahren und anordnung zur lokalen synchronisation in verteilten master-slave-kommunikationssystemen
DE69133257T2 (de) Vorrichtung und verfahren zur schnellen paketvermittlung
DE60314205T2 (de) Arbiter für ein Vermittlungssystem mit Eingangspuffer
DE69832884T2 (de) Wegesucheinheit mit zuteilung von virtuellen kanälen
DE69533230T2 (de) Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes
EP0951682B1 (de) IO- UND SPEICHERBUSSYSTEM FÜR DFPs SOWIE BAUSTEINE MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
DE112013003733B4 (de) Adaptive Paketumleitung, um angemessene, kostengünstige und/oder Energie-effiziente Dienstgüte im Netzwerk auf Chipvorrichtungen zu erreichen
DE60226268T2 (de) Verfahren und vorrichtung zur bereitstellung einer optimierten ausnutzung schneller strecken
DE60203469T2 (de) System mit Schnittstellen und einem Schalter für die Trennung von kohärentem und nichtkohärentem Datenpaketverkehr
DE69733703T2 (de) Puffer von Mehrfachsendezellen in Vermittlungsnetzen
DE69637462T2 (de) ATM-Vermittlungsstelle mit Eingangs- und Ausgangsanschlussstellen
DE60202926T2 (de) Multicomputersystem mit konfigurierbaren Schnittstellen für flexible Systemkonfigurationen
DE60032357T2 (de) Verbindungsarchitektur um minderbandbreitige verbindungen über eine hoch-bandbreitige verkettung zu verwalten
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
JPH0619785A (ja) 分散共有仮想メモリーとその構成方法
DE69729853T2 (de) Modulare vermittlungsanordnung
DE4020775A1 (de) Koppelnetz und koppelnetzmodul fuer ein atm-system
DE60130082T2 (de) Vermittlungsanordnung mit mehreren Modulen in einem Rahmen
DE69631265T2 (de) Vermittlungssystem
DE112012004551T5 (de) Mehrkernverknüpfung in einem Netzprozessor
DE112004002043B4 (de) Verfahren, System und Programm zum Aufbau eines Pakets
WO2002071248A2 (de) Verfahren und vorrichtungen zur datenbe- und/oder verarbeitung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee