DE19754466A1 - Mehrprozessorsystem mit Zellenvermittlung zur Topologie-invarianten, nachrichtenorientierten Kommunikation - Google Patents
Mehrprozessorsystem mit Zellenvermittlung zur Topologie-invarianten, nachrichtenorientierten KommunikationInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two 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
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.
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.
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).
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.
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.
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 ü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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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:
- - 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.
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.
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.
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).
[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.
[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.
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
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
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
1
Paket
2
Payload 3. Zelle
3
Header 3. Zelle
4
RHeader 3. Zelle
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
1
Funktionseinheit
2
lokaler Speicher
3
SAR-Einheit
4
Paket
5
Header-(RHeader-)Register
6
Zellenregister
7
Eingangsport
8
Modifikationsregister/Zellenzähler
1
EPort0
2
Eport1
3
Board
1
EPort
2
Board
3
externe Kupfer- oder Lichtwellenleiter-Verbindung
1
EPort
2
Board
3
externe Kupfer- oder Lichtwellenleiter-Verbindung
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.
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)
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)
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 |
-
1997
- 1997-12-08 DE DE1997154466 patent/DE19754466A1/de not_active Withdrawn
Patent Citations (6)
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)
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)
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 |