-
Die
vorliegende Erfindung betrifft eine Schalteinheit, umfassend:
- – eine
Switch Core Fabric,
- – ein
Ausgangsabschlußmodul,
das mit der Switch Core Fabric gekoppelt ist,
- – ein
Eingangsabschlußmodul,
das mit der Switch Core Fabric gekoppelt ist,
wobei das Ausgangsabschlußmodul umfaßt:
- – eine
Ausgangswarteschlange, die angepaßt ist, um Dateneinheiten zwischenzupuffern,
die zu einer Dienstklasse gehören,
- – einen
Ausgangsscheduler, der mit der Ausgangswarteschlange gekoppelt ist,
und angepaßt
ist, um Dateneinheiten von der Ausgangswarteschlange zu einem Ausgangsabschlußport festzulegen,
wobei
das Eingangsabschlußmodul
umfaßt:
- – eine
Eingangswarteschlange, die angepaßt ist, um Dateneinheiten zwischenzupuffern,
die zu der Dienstklasse gehören
und mit dem Ausgangsabschlußmodul
verbunden sind,
wobei die Schalteinheit außerdem als
Formierungsteil des Eingangsabschlußmoduls, der Switch Core Fabric und
des Ausgangsabschlußmoduls
mindestens Punkt-zu-Punkt-Übertragungseinrichtungen
umfaßt,
die angepaßt
sind, um Dateneinheiten von mindestens der Eingangswarteschlange
bis zu mindestens der Ausgangswarteschlange zu transportieren, wobei
mindestens die Punkt-zu-Punkt-Übertragungseinrichtungen
bezüglich der
Eingangswarteschlange und der Ausgangswarteschlange als eine virtuelle
Eingangs-Ausgangs-Pipe
betrachtet werden, die die Eingangswarteschlange mit der Ausgangswarteschlange
verbindet.
-
Solch
eine Schalteinheit ist bereits im Stand der Technik bekannt, z.B.
aus der Patentschrift mit dem Titel "Method for Sharing Internal Excess Bandwidth
between Output and Input Termination Modules of a Switching Network", Nr. 00402753, veröffentlicht
vom Europäischen
Patentamt (EPA) am 10. April 2002.
-
Um
eine Schalteinheit effizient zu betreiben und um die gesteuerte
Differenzierung der Dienstgüte (QoS)
in einer diskontinuierlichen, unvorhersagbaren Verkehrsmusterumgebung
zu unterstützen,
muß die Schalteinheit
mit einem Datenflußsteuerungsmechanismus
vervollständigt
werden. Die Granularität
der einzelnen Mengen des Nutzerverkehrs, für die eine Datenflußsteuerungsentscheidung
zu treffen ist, die Anzahl der zu unterscheidenden Ziele und Dienstklassen
(CoS) und der Stand der Technologie, der verwendet werden kann,
um die Datenflußsteuerung
zu implementieren, bestimmen die Rate und die Genauigkeit der Datenflußsteuerungsentscheidungen
und ob diese Datenflußsteuerung
auf eine zentralisierte oder verteilte Art und Weise realisiert
werden kann. Da die Größe der Schalteinheit
und die angewendete Flußgranularität zunehmen, sind
entweder höhere
Verarbeitungs- und Kommunikationsgeschwindigkeit oder mehr Rechen-
und Kommunikationsbetriebsmittel erforderlich.
-
Die
kreditbasierte Datenflußsteuerung
gewährt
jeder potentiellen Quelle des Verkehrs in der Schalteinheit eine
vorgegebene begrenzte Menge von Verkehr, die sie in die Fabric freigeben
kann. Die Quelle kann den erhaltenen Kredit nach eigenem Ermessen
verwenden. Der Kredit wird nach Bedarf oder auf einer regelmäßigen Basis
erneuert. Die Rechenvorschrift für
das Gewähren
des Kredits muß angemessen über die
Zeit sein, um zu vermeiden, daß ein
ungerechtfertigter Vorteil für
einen speziellen physikalischen Pfad durch die Schalteinheit hinweg
erhalten wird.
-
Die
interne dynamische ratenbasierte Flußsteuerung (Internal Dynamic
Rate-based Flow Control/IDRFC) ist eine kreditbasierte Datenflußsteuerung,
die die Bandbreitenverhandlung zwischen jedem einzelnen Eingangs-
und Ausgangsabschlußmodul
innerhalb eines festen Zeitablaufs (IDRFC-Zyklen) umfaßt.
-
Das
zitierte Dokument offenbart eine Schalteinheit, die einen gewichteten
IDRFC-Algorithmus zum Verteilen einer internen überschüssigen Bandbreite unter den
Eingangsabschlußmodulen
gemäß den Bandbreiteanforderungen
von den Eingangsabschlußmodulen
implementiert. Die Bandbreiteanforderung und -freigabe, die ein
Eingangsabschlußmodul
betrifft, das durch eine virtuelle Eingangs-Ausgangs-Pipe mit einem Ausgangsabschlußmodul verbunden
ist, werden beide für
eine bestimmte Anzahl von relativen Verwaltungswichtungen berechnet,
die jede einer verschiedenen CoS entspricht, mit einer verschiedenen
Anforderung und einer entsprechenden Freigabe für jede Wichtung.
-
Die
Verarbeitungsleistung, die zum Berechnen der Bandbreiteanforderungen
und -freigaben erforderlich ist, ist linear mit der Anzahl der CoS
eingeteilt. Die Skalierbarkeit einer Schalteinheit, die solch eine
Datenflußsteuerung
implementiert, ist folglich begrenzt.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, eine Schalteinheit
mit einer skalierbareren und "QoS"-berücksichtigenden
Datenflußsteuerung
bereitzustellen.
-
Gemäß der Erfindung
wird diese Aufgabe durch den Umstand erreicht, daß das Ausgangsabschlußmodul außerdem eine
Meßeinrichtung
umfaßt,
die mit dem Ausgangsscheduler gekoppelt ist, und angepaßt ist,
um zu bestimmen, ob die Ausgangswarteschlange unter der Erwartung
während
einer ersten vordefinierten Zeitperiode festgelegt ist, und daß die Schalteinheit
außerdem
einen Datenflußcontroller
umfaßt,
der mit der Meßeinrichtung
gekoppelt ist, und angepaßt
ist, wenn die Ausgangswarteschlange unter der Erwartung während der
ersten vordefinierten Zeitperiode festgelegt ist, um die Bandbreite
der virtuellen Eingangs-Ausgangs-Pipe während einer zweiten vordefinierten
Zeitperiode zu erhöhen,
die auf die erste vordefinierte Zeitperiode folgt.
-
In
einem Vorbereitungsschritt wird eine angemessene Menge der gesamten
verfügbaren
Bandbreite für
jede virtuelle Eingangs-Ausgangs-Pipe
freigegeben, die eine Eingangswarteschlange eines Eingangsabschlußmoduls
mit einer Ausgangswarteschlange eines Ausgangsabschlußmoduls
in Bezug auf eine erwartete Verkehrssituation auf der Eingangsseite
verbindet.
-
Die
Bandbreite einer virtuellen Eingangs-Ausgangs-Pipe ist als die Anzahl
der Dateneinheiten definiert, die die virtuelle Eingangs-Ausgangs-Pipe
pro Zeiteinheit transportieren kann.
-
Ein
Ausgangsscheduler eines Ausgangsabschlußmoduls legt die Dateneinheiten
von einer Ausgangswarteschlange an einen Ausgangsabschlußport im
Verhältnis
zu einem Dienstanteil, der dieser Ausgangswarteschlange zugeteilt
wurde, und einer Dienstrate, die diesem Ausgangsscheduler zugeteilt
wurde, fest. Die Dienstrate und der Dienstanteil werden auf solch
eine Weise zugewiesen, daß die
Summenbandbreite von allen virtuellen Eingangs-Ausgangs-Pipes, die
mit dieser Ausgangswarteschlange verbunden sind, entleert wird.
-
Die
Dateneinheiten können
Engpässe
auf dem Weg zu den Ausgangsabschlußmodulen erfahren. In diesem
Fall können
einige Ausgangsscheduler der Dateneinheiten zum Festlegen von einigen
Ausgangswarteschlangen nicht berücksichtigt
werden.
-
Folglich
wird die tatsächliche
Sollrate einer Ausgangswarteschlange mit der erwarteten Sollrate
dieser Ausgangswarteschlange verglichen, wie von der Dienstrate
dieser Ausgangswarteschlange, von der Dienstrate des Schedulers
und von dem Schedulingalgorithmus abgeleitet ist. Wenn die tatsächliche
Sollrate niedriger als die erwartete Sollrate ist, das heißt, wenn
die Ausgangswarteschlange unter der Erwartung festgelegt ist, dann
wird die Bandbreite jeder virtuellen Eingangs-Ausgangs-Pipe, die
mit dieser Ausgangswarteschlange verbunden ist, erhöht, dadurch
diese Ausgangswarteschlange mit mehr Dateneinheiten versorgt.
-
Die
Möglichkeiten,
wie bestimmt wird, daß eine
Ausgangswarteschlange unter der Erwartung festgelegt ist, sind vielfältig, in
enger Beziehung zu dem Verfahren, das zum Messen der tatsächlichen
Sollrate verwendet wird, und zu den mathematischen Kriterien, die
zum Vergleichen der tatsächlichen
und der erwarteten Sollrate verwendet werden.
-
Die
Zeitperiode, über
welche die tatsächliche
Sollrate gemessen wird, und die Zeitperiode, während derer die Bandbreite
erhöht
wird, sind relativ kurze Zeitperioden, die aufeinander folgen, nicht
unbedingt zusammenhängend.
Diese Zeitperioden könnten
den IDRFC-Zyklen entsprechen oder nicht.
-
Ein
nicht einschränkendes
Beispiel einer Dateneinheit ist ein Internet-Protokoll-Datagramm
(IP-Datagramm), das über
ein IP-basiertes
Netzwerk wie zum Beispiel das Internet transportiert wird.
-
Ein
anderes nicht einschränkendes
Beispiel einer Dateneinheit ist ein MPLS-Paket (Multi-Path Label Switched),
das über
ein MPLS-basiertes Netzwerk wie zum Beispiel ein Backbone-Netzwerk
transportiert wird.
-
Ein
anderes nicht einschränkendes
Beispiel einer Dateneinheit ist eine ATM-Zelle (Asynchronous Transfer
Mode), die über
ein ATM-basiertes Netzwerk wie zum Beispiel ein öffentliches Breitbandnetz übertragen
wird.
-
Ein
nicht einschränkendes
Beispiel einer Schalteinheit ist ein IP-Router, der angepaßt ist,
um IP-Datagramme an das richtige Ziel innerhalb differenzierter
Dienstklassen (diffserv) weiterzuleiten.
-
Ein
anderes nicht einschränkendes
Beispiel einer Schalteinheit ist ein Label Switched Router (LSR), der
angepaßt
ist, um MPLS-Pakete an das richtige Ziel mit differenzierten Weiterleitungsbehandlungen
weiterzuleiten.
-
Ein
anderes nicht einschränkendes
Beispiel einer Schalteinheit ist ein ATM-Breitbandswitch, der angepaßt ist,
um ATM-Zellen an das richtige Ziel mit einer garantierten QoS zu
vermitteln.
-
Ein
nicht einschränkendes
Beispiel von mindestens Punkt-zu-Punkt-Übertragungseinrichtungen
ist eine Switch Core Fabric, die aus modularen Koppelelementen hergestellt
ist, mit jeweils einem kleinen internen Pufferspeicher, in Verbindung
mit Einrichtungen in jedem Eingangsabschlußmodul zum Zusammenfassen der Dateneinheiten
zu der Switch Core Fabric hin, und Einrichtungen in jedem Ausgangsabschlußmodul zum
Demultiplexen der Dateneinheiten zu den entsprechenden Ausgangswarteschlangen
hin.
-
Die
Möglichkeiten,
um die Bandbreite einer virtuellen Eingangs-Ausgangs-Pipe zu erhöhen, sind
vielfältig,
in enger Beziehung zu der zugrundeliegenden Hardware und/oder Software,
die die mindestens Punkt-zu-Punkt-Übertragungseinrichtungen implementiert.
-
In
einer Ausführungsform
der vorliegenden Erfindung umfaßt
das Eingangsabschlußmodul
außerdem als
Formierungsteil der virtuellen Eingangs-Ausgangs-Pipe einen Eingangsscheduler,
der angepaßt
ist, um die kommenden Dateneinheiten von der Eingangswarteschlange
zu der Switch Core Fabric hin im Verhältnis zu einem Dienstanteil
festzulegen, der der Eingangswarteschlange zugewiesen wurde, und
umfaßt
der Datenflußcontroller
einen Eingangsschedulercontroller, der mit der Meßeinrichtung
und dem Eingangsscheduler gekoppelt ist, und angepaßt ist,
wenn die Ausgangswarteschlange unter der Erwartung während der
ersten vordefinierten Zeitperiode festgelegt ist, um einen höheren Dienstanteil
zu der Eingangswarteschlange während der
zweiten vordefinierten Zeitperiode zuzuweisen.
-
Durch
Erhöhen
des Dienstanteils einer Eingangswarteschlange fließen mehr
Dateneinheiten von dieser Eingangswarteschlange durch den Scheduler
und erreichen die Ausgangswarteschlange. Für die interne Bandbreite, die
die obere Grenze ist, könnte
diese Erhöhung
auf Kosten von anderen Eingangswarteschlangen sein, die über den
gleichen Scheduler zusammengefaßt
sind, dessen Dienstanteil in einem relativen Umfang verringert wird.
-
Die
Bandbreite einer virtuellen Eingangs-Ausgangs-Pipe kann außerdem auf
dem Weg zu den Ausgangsabschlußmodulen
erhöht
werden.
-
In
einer alternativen Ausführungsform
der vorliegenden Erfindung umfaßt
der Datenflußcontroller
eine Bandbreiteverteilungseinrichtung, die mit der Meßeinrichtung
gekoppelt ist, und angepaßt
ist:
- – um
die virtuelle Eingangs-Ausgangs-Pipe entweder einer ersten Gruppe
von virtuellen Eingangs-Ausgangs-Pipes oder einer zweiten Gruppe
von virtuellen Eingangs-Ausgangs- Pipes
zuzuweisen, in Abhängigkeit
davon, ob die Eingangswarteschlange unter der Erwartung während der
ersten vordefinierten Zeitperiode festgelegt ist, wobei jede der
ersten Gruppe von virtuellen Eingangs-Ausgangs-Pipes eine Eingangswarteschlange des
Eingangsabschlußmoduls
mit einer Ausgangswarteschlange des Ausgangsabschlußmoduls
verbindet, die unter der Erwartung während der ersten vordefinierten
Zeitperiode festgelegt ist, wobei jede der zweiten Gruppe von virtuellen
Eingangs-Ausgangs-Pipes eine Eingangswarteschlange des Eingangsabschlußmoduls
mit einer Ausgangswarteschlange des Ausgangsabschlußmoduls
verbindet, die bei oder über
der Erwartung während
der ersten vordefinierten Zeitperiode festgelegt ist,
- – um
der ersten Gruppe von virtuellen Eingangs-Ausgangs-Pipes, entsprechend
der zweiten Gruppe von virtuellen Eingangs-Ausgangs-Pipes, einen
ersten Betrag, entsprechend einen zweiten Betrag, der Gesamtbandbreite,
die durch mindestens Punkt-zu-Punkt-Übertragungseinrichtungen verfügbar ist,
zuzuteilen, wobei die Gesamtbandbreite mit Vorrang der ersten Gruppe
von virtuellen Eingangs-Ausgangs-Pipes zugeteilt
wird.
-
Die
virtuellen Eingangs-Ausgangs-Pipes, die die Eingangswarteschlangen
eines Eingangsabschlußmoduls
mit den Ausgangswarteschlangen eines Ausgangsabschlußmoduls
verbinden, werden in 2 Gruppen eingeteilt: die virtuellen Eingangs-Ausgangs-Pipes der
ersten Gruppe transportieren Dateneinheiten zu den Ausgangswarteschlangen,
die unter der Erwartung festgelegt sind, die virtuellen Eingangs-Ausgangs-Pipes der
zweiten Gruppe transportieren Dateneinheiten zu den Ausgangswarteschlangen,
die bei oder über
der Erwartung festgelegt sind.
-
Als
nächstes
wird eine Summenbandbreite von diesem Eingangsabschlußmodul zu
diesem Ausgangsabschlußmodul
bestimmt und für
jede dieser 2 Gruppen separat verhandelt. Die Systembandbreite wird zuallererst
für die
ersten Gruppen freigegeben.
-
Indem
in dem Prozeß der
Bandbreitenzuweisung den virtuellen Eingangs-Ausgangs-Pipes der
Vorrang gegeben wird, die die Eingangswarteschlangen mit den Ausgangswarteschlangen
verbinden, die unter der Erwartung festgelegt sind, treten mehr
Dateneinheiten von diesen Eingangswarteschlangen in die Switch Core
Fabric ein und erreichen diese Ausgangswarteschlangen. Für die interne
Bandbreite, die die obere Grenze ist, könnte dieser Vorrang auf Kosten
der virtuellen Eingangs-Ausgangs-Pipes sein, die die Eingangswarteschlangen
mit den Ausgangswarteschlangen verbinden, die bei oder über der
Erwartung festgelegt sind.
-
Eine
verteilte Implementierung der Bandbreiteverteilungseinrichtung könnte man
sich mit Bandbreiteanforderungseinrichtungen, die über jedes
Eingangsabschlußmodul
verteilt sind, und mit Bandbreitefreigabeeinrichtungen, die über jedes
Ausgangsabschlußmodul
verteilt sind, vorstellen.
-
Die
Bandbreiteanforderungseinrichtung ist angepaßt, um für die erste Gruppe von virtuellen
Eingangs-Ausgangs-Pipes, entsprechend für die zweite Gruppe von virtuellen
Eingangs-Ausgangs-Pipes,
einen ersten Anteil, entsprechend einen zweiten Anteil, einer Gesamteingangsbandbreite
anzufordern, die an dem Eingangsabschlußmodul verfügbar ist.
-
Die
Bandbreitefreigabeeinrichtung ist mit der Bandbreiteanforderungseinrichtung
gekoppelt und ist angepaßt,
auf Anforderung des ersten Anteils, entsprechend des zweiten Anteils,
um der ersten Gruppe von virtuellen Eingangs-Ausgangs-Pipes, entsprechend der zweiten
Gruppe von virtuellen Eingangs-Ausgangs-Pipes, einen dritten Anteil,
entsprechend einen vierten Anteil einer Gesamtausgangsbandbreite
freizugeben, die an dem Ausgangsabschlußmodul verfügbar ist, im Verhältnis zu
dem ersten Anteil, entsprechend zu dem zweiten Anteil, wobei die
Gesamtausgangsbandbreite mit Vorrang der ersten Gruppe von virtuellen
Eingangs-Ausgangs-Pipes freigegeben wird.
-
Es
ist anzumerken, daß die
Anzahl der Bandbreiteanforderungen und -freigaben mit einem Faktor
2 multipliziert wird, ungeachtet der Anzahl der implementierten
CoS, was diese Ausführungsform
in hohem Maße
skalierbar macht.
-
In
noch einer alternativen Ausführungsform
der vorliegenden Erfindung umfaßt
das Eingangsabschlußmodul
außerdem
als Formierungsteil des Datenflußcontrollers eine Prägeeinrichtung,
die mit der Meßeinrichtung
und der Eingangswarteschlange gekoppelt ist, und angepaßt ist,
wenn die Ausgangswarteschlange unter der Erwartung während der
ersten vordefinierten Zeitperiode festgelegt ist, um die Dateneinheiten
von der Eingangswarteschlange mit einer höheren Priorität während der
zweiten vordefinierten Zeitperiode zu prägen, indem ihnen dadurch der
höhere
Vorrang für
die Übertragung
durch die mindestens Punkt-zu-Punkt-Übertragungseinrichtungen
gegeben wird.
-
Diese
Ausführungsform
betrifft Switch Core Fabrics mit z.B. Verkehrsdifferenzierung niedriger
und hoher Priorität.
-
Indem
in dem Weiterleitungsprozeß den
Dateneinheiten der Vorrang gegeben wird, die mit einer Ausgangswarteschlange
verbunden sind, die unter der Erwartung festgelegt ist, gehen mehr
Dateneinheiten durch Überlastungspunkte
hindurch, falls vorhanden, und erreichen diese Ausgangswarteschlange.
-
Es
ist anzumerken, daß der
Begriff 'umfassend', der ebenfalls in
den Ansprüchen
verwendet wird, nicht als eingeschränkt auf die danach aufgelisteten
Bedeutungen interpretiert werden sollte. Folglich sollte der Anwendungsbereich
des Ausdruckes 'ein
Gerät,
umfassend die Einrichtungen A und B' nicht auf Geräte beschränkt sein, die nur aus den Komponenten
A und B bestehen. Das heißt,
daß bezüglich der
vorliegenden Erfindung die relevanten Komponenten des Gerätes A und
B sind.
-
Entsprechend
ist es anzumerken, daß der
Begriff 'gekoppelt', der ebenfalls in
den Ansprüchen
verwendet wird, nicht als eingeschränkt auf nur direkte Verbindungen
interpretiert werden sollte. Folglich sollte der Anwendungsbereich
des Ausdruckes 'ein
Gerät A,
das mit einem Gerät
B gekoppelt ist' nicht
auf Geräte
oder Systeme beschränkt
sein, in welchen ein Ausgang des Gerätes A direkt mit einem Eingang
des Gerätes
B verbunden ist. Das heißt,
daß ein
Pfad zwischen einem Ausgang von A und einem Eingang von B vorhanden
ist, welcher ein Pfad sein kann, der andere Geräte oder Einrichtungen beinhaltet.
-
Die
obigen und andere Aufgaben und Merkmale der Erfindung werden deutlicher
und die Erfindung selbst wird am besten durch Verweisen auf die
folgende Beschreibung einer Ausführungsform
verstanden, die in Verbindung mit den beiliegenden Zeichnungen genommen
wurde, in welchen darstellen:
-
1 – eine Schalteinheit
SU gemäß dem Stand
der Technik,
-
2 – die gleiche
Schalteinheit, die einen Eingangsschedulercontroller gemäß der vorliegenden
Erfindung implementiert,
-
3 – die gleiche
Schalteinheit, die eine Bandbreiteverteilungseinrichtung gemäß der vorliegenden Erfindung
implementiert.
-
Die
Schalteinheit SU umfaßt
die folgenden Funktionsblöcke:
- – eine
Switch Core Fabric SW (siehe 1, 2 und 3),
- – M
Ausgangsabschlußmodule
O1 bis OM (siehe 1, 2 und 3),
wo M – eine
positive ganze Zahl ungleich Null,
- – N
Eingangsabschlußmodule
I1 bis IN (siehe 1, 2 und 3),
wo N – eine
positive ganze Zahl ungleich Null.
-
Die
Ausgangsabschlußmodule
O1 bis OM sind mit den Ausgangszugangsports der Switch Core Fabric
SW gekoppelt. Die Eingangsabschlußmodule I1 bis IN sind mit
den Eingangszugangsports der Switch Core Fabric SW gekoppelt.
-
Die
Schalteinheit SU implementiert C differenzierte CoS CoS1 bis CoSC,
wo C eine positive ganze Zahl ungleich Null ist.
-
Die
Switch Core Fabric SW ist ein MPSR-Switch (Multi-Path Self Routing),
der angepaßt
ist, um Pakete fester Länge
von jedem Eingangszugangsport an jeden Ausgangszugangsport weiterzuleiten.
Dies wird durch Anhängen
interner Routingdaten an die durchlaufenden Pakete erreicht.
-
Das
Ausgangsabschlußmodul
Om, wo m ein Index im Bereich von 1 bis M ist, umfaßt die folgenden Funktionsblöcke:
- – einen
Ausgangsabschlußport
OTPm (siehe 1, 2 und 3),
- – C
Ausgangswarteschlangen EQm_CoS1 bis EQm-CoSC (siehe 1, 2 und 3),
- – einen
Ausgangsscheduler ESm (siehe 1, 2 und 3),
- – eine
Meßeinrichtung
MEASm (siehe 2 und 3),
- – eine
Bandbreitefreigabeeinrichtung GRANTm, die mit der Meßeinrichtung
MEASm gekoppelt ist (siehe 3).
-
Der
Ausgangsscheduler ESm ist mit dem Ausgangsabschlußport OTPm
und den Ausgangswarteschlangen EQm_CoS1 bis EQm_CoSC gekoppelt.
Die Meßeinrichtung
MEASm ist mit dem Ausgangsscheduler ESm gekoppelt. Die Bandbreitefreigabeeinrichtung
GRANTm ist mit der Meßeinrichtung
MEASm gekoppelt.
-
Das
Eingangsabschlußmodul
In, wo n ein Index im Bereich von 1 bis N ist, umfaßt die folgenden
Funktionsblöcke:
- – einen
Eingangsabschlußport
ITPn (siehe 1, 2 und 3),
- – C × M Eingangswarteschlangen
IQn_O1_CoS1 bis IQn_OM_CoSC (siehe 1, 2 und 3),
- – M
Eingangsscheduler ISn1 bis ISnM (siehe 2 und 3),
- – eine
Bandbreiteanforderungseinrichtung REQn (siehe 3),
- – einen
Eingangsschedulercontroller CTRLn (siehe 2).
-
Der
Eingangsscheduler ISnm ist mit den C Eingangswarteschlangen IQn_Om_COS1
bis IQ_Om_CoSC gekoppelt. Die Bandbreiteanforderungseinrichtung
REQn ist extern mit den Bandbreitefreigabeeinrichtungen GRANT1 bis
GRANTM und mit den Meßeinrichtungen
MEAS1 bis MEASM gekoppelt. Der Eingangsschedulercontroller CTRLn
ist mit den Eingangsschedulern ISn1 bis ISnM gekoppelt und ist extern mit
den Bandbreitefreigabeeinrichtungen GRANT1 bis GRANTM (Kopplung
nicht gezeigt) und mit den Meßeinrichtungen
MEAS1 bis MEASM gekoppelt.
-
Der
Ausgangsabschlußport
Om ist angepaßt,
um ein elektrisches oder optisches Signal an eine Partnerschalteinheit
zu erzeugen, wie zum Beispiel ein Gigabit-Ethernet-Signal, und um
die gehenden Dateneinheiten in ein Format zu codieren, das für ihre Übertragung
an die Partnerschalteinheit geeignet ist.
-
Der
Eingangsabschlußport
In ist angepaßt,
um ein elektrisches oder optisches Signal von einer Partnerschalteinheit
zu beenden und um die kommenden Dateneinheiten in ein Format zu
decodieren, das für
ihre Verarbeitung innerhalb der Schalteinheit SU geeignet ist.
-
Die
Ausgangswarteschlangen EQm_CoS1 bis EQm_CoSC sind FIFO-Warteschlangen (First-In First-Out),
die angepaßt
sind, um gehende Dateneinheiten zwischenzupuffern, die zu den entsprechenden
der CoS CoS1 bis COSC gehören.
-
Die
Eingangswarteschlangen IQn_O1_CoS1 bis IQn_OM_CoSC sind FIFO-Warteschlangen,
die angepaßt
sind, um kommende Dateneinheiten zwischenzupuffern, die zu den entsprechenden
CoS CoS1 bis COSC gehören,
und mit den entsprechenden der Ausgangsabschlußmodule O1 bis OM verbunden
sind.
-
Der
Ausgangsscheduler ESm ist angepaßt, um die Dateneinheiten von
den Ausgangswarteschlangen EQm_CoS1 bis EQm_CoSC zu dem Ausgangsabschlußport OTPm
im Verhältnis
zu ihrem entsprechenden Dienstanteil festzulegen.
-
Der
Eingangsscheduler ISnm ist angepaßt, um die Dateneinheiten von
den Eingangswarteschlangen IQn_Om_CoS1 bis IQn_Om_CoSC zu der Switch
Core Fabric SW im Verhältnis
zu ihrem entsprechenden Dienstanteil festzulegen.
-
In
einer bevorzugten Ausführungsform
der vorliegenden Erfindung sind der Ausgangsscheduler ESm und der
Eingangsscheduler ISnm WFQ-arbeitssparende Scheduler (Weighted Fair
Queuing/WFQ). Jeder Warteschlange wird ein Dienstanteil oder Wichtung
zugeteilt: je höher
die Wichtung ist, um so mehr Dateneinheiten werden von dieser Warteschlange
festgelegt.
-
Das
Ausgangsabschlußmodul
Om nimmt außerdem
Vereinigungseinrichtungen (nicht gezeigt) zum Vereinigen der Datenpakete
fester Länge
von der Switch Core Fabric SW in Dateneinheiten variabler Länge auf,
an einem Ort, während
des Durchgehens durch das Ausgangsabschlußmodul zu dem Ausgangsabschlußport.
-
Das
Eingangsabschlußmodul
In nimmt außerdem
Fragmentierungseinrichtungen (nicht gezeigt) zum Fragmentieren kommender
Dateneinheiten in Datenpakete fester Länge auf, an einem Punkt, während des Durchgehens
durch das Eingangsabschlußmodul
zu der Switch Core Fabric.
-
Die
Meßeinrichtung
MEASm ist für
jede der Ausgangswarteschlangen EQm_COS1 bis EQm_COSC angepaßt:
- – um
die Anzahl der Dateneinheiten zu bestimmen, die während einer
vorgegebenen Zeitperiode festgelegt werden sollen, wobei diese Anzahl
von dem Dienstanteil, der dieser Ausgangswarteschlange zugeteilt
wurde, von der Dienstrate, die dem Ausgangsscheduler ESm zugeteilt
wurde, und von dem Schedulingalgorithmus, gegenwärtig WFQ, abgeleitet wird,
- – um
während
der gleichen Zeitperiode die Anzahl der Dateneinheiten zu zählen, die
der Ausgangsscheduler ESm tatsächlich
von dieser Ausgangswarteschlange festgelegt hat,
- – um
zu bestimmen, ob diese Ausgangswarteschlange unter der Erwartung
festgelegt ist.
-
Die
Meßeinrichtung
MEASm verwaltet C Variablen mit zwei Zuständen DS_EQm_CoS1 bis DS_EQm_CoSC
für die
entsprechenden Ausgangswarteschlangen EQm_CoS1 bis EQm_CoSC (siehe 2 und 3).
Die Variablen DS_EQm_CoS1 bis DS_EQm_CoSC werden außerdem als
der Entleerungsstatus entsprechend der Ausgangswarteschlangen EQm_CoS1
bis EQm_CoSC bezeichnet.
-
In
einer bevorzugten Ausführungsform
der vorliegenden Erfindung nimmt der Entleerungsstatus DS_EQm_CoSc
einer speziellen Ausgangswarteschlange EQm_CoSc, wo c ein Index
im Bereich von 1 bis C ist, den Wert "bei_oder_über_Erwartung" (0), entsprechend "unter_Ertwartung" (1) an, wenn die
tatsächliche Sollrate
der Ausgangswarteschlange EQm_CoSc höher als oder gleich, entsprechend
niedriger als, 95 % der erwarteten Sollrate der Ausgangswarteschlange
EQm_CoSc ist.
-
Der
Entleerungsstatus DS_EQm_CoS1 bis DS_EQm_CoSC wird nach jedem Meßzyklus
aktualisiert und an die Bandbreiteanforderungseinrichtungen REQ1
bis REQN und an die Eingangsschedulercontroller CTRL1 bis CTRLN übermittelt,
zusammen mit einem Identifikator des Meßzyklus, auf welchen sie sich
beziehen.
-
C × M virtuelle
Eingangs-Ausgangs-Pipes VIEPn11 bis VIEPnMC werden vorausgesetzt,
um die Eingangswarteschlangen IQn_O1_CoS1 bis IQn_OM_CoSC mit den
entsprechenden der Ausgangswarteschlangen EQ1_CoS1 bis EQM_CoSC
zu verbinden (siehe 1).
-
Die
Bandbreiteanforderungseinrichtung REQn ist angepaßt:
- – um
für eine
vorgegebene Zeitperiode den C × M
Bandbreitenbedarf BWNn11 bis BWNnMC für die entsprechenden virtuellen
Eingangs-Ausgangs-Pipes VIEPn11 bis VIEPnMC einzuschätzen,
- – um
für die
gleiche Zeitperiode die M ersten Summenbandbreiteanforderungen BWRn1_H
bis BWRnM_H zu den entsprechenden Ausgangsabschlußmodulen
O1 bis OM, und die M zweiten Summenbandbreiteanforderungen BWRn1_S
bis BWRnM_S zu den entsprechenden Ausgangsabschlußmodulen
O1 bis OM zu bestimmen,
- – um
die so bestimmten Bandbreiteanforderungen an das entsprechende Ausgangsabschlußmodul zu
senden, zusammen mit einem Identifikator des Verhandlungszyklus,
auf welchen sie sich beziehen.
-
Der
Bandbreitenbedarf BWNnmc einer speziellen virtuellen Eingangs-Ausgangs-Pipe
VIEPnmc wird aus vorhergehenden Messungen des kommenden Verkehrs
an der Eingangswarteschlange IQn_Om_CoSc eingeschätzt (z.B.
durch Messen der Warteschlangenparameter, wie zum Beispiel des Warteschlangenfüllpegels
und der Empfangsrate).
-
Die
erste Summenbandbreiteanforderung BWRnm_H wird durch Summieren des
Bandbreitenbedarfs jeder virtuellen Eingangs- Ausgangs-Pipe erhalten, die eine Eingangswarteschlange
des Eingangsabschlußmoduls
In mit einer Ausgangswarteschlange des Ausgangsabschlußmoduls
Om verbindet, dessen Entleerungsstatus den Wert "unter_Erwartung" aufweist:
-
Die
zweite Summenbandbreiteanforderung BWRnm_S wird durch Summieren
des Bandbreitenbedarfs jeder virtuellen Eingangs-Ausgangs-Pipe erhalten, die eine Eingangswarteschlange
des Eingangsabschlußmoduls
In mit einer Ausgangswarteschlange des Ausgangsabschlußmoduls
Om verbindet, deren Entleerungsstatus den Wert "bei_oder_über_Erwartung" aufweist:
-
Mit
BWTIn sei eine Gesamteingangsbandbreite bezeichnet, die an dem Eingangsabschlußmodul In verfügbar ist.
-
In
einer bevorzugten Ausführungsform
der vorliegenden Erfindung wird BWTIn als die Gesamtbandbreite bestimmt,
die an dem Eingangszugangsport verfügbar ist, über welchen das Eingangsabschlußmodul In
mit der Switch Core Fabric SW gekoppelt ist.
- – Wenn die
Summe
BWTIn übersteigt,
dann bestimmt die Bandbreiteanforderungseinrichtung REQn die neuen
Summenbandbreiteanforderungen wie folgt:
- – Wenndann ist BWRnm_H' = BWRnm_H (unverändert) und die Beziehungerfüllt wird.
- – Wenndann ist die Beziehungerfüllt wird.
-
Die
Bandbreitefreigabeeinrichtung GRANTm ist angepaßt:
- – um die
Bandbreiteanforderungen BWR1m_H bis BWRNm_H und BWR1m_S bis BWRNm_S
zwischenzupuffern, die von den entsprechenden Bandbreiteanforderungseinrichtungen
REQ1 bis REQN erzeugt werden und den gleichen Verhandlungszyklus
betreffen,
- – um
die N ersten Bandbreitenfreigaben BWG1m_H bis BWGNm_H, und die N
zweiten Bandbreitenfreigaben BWG1m_S bis BWGNm_S zu bestimmen,
- – um
die so bestimmten Bandbreitenfreigaben an die entsprechenden Eingangsabschlußmodule
zu senden, zusammen mit einem Identifikator des Verhandlungszyklus,
auf welchen sie sich beziehen.
-
Mit
BWTEn sei eine Gesamtausgangsbandbreite bezeichnet, die an dem Ausgangsabschlußmodul Om
verfügbar
ist.
-
In
einer bevorzugten Ausführungsform
der vorliegenden Erfindung wird BWTEm als die Gesamtbandbreite bestimmt,
die an dem Ausgangszugangsport verfügbar ist, über welchen das Ausgangsabschlußmodul Om
mit der Switch Core Fabric SW gekoppelt ist.
-
Die
Bandbreitefreigabeeinrichtung GRANTm gibt die Bandbreite wie folgt
frei:
- – Die
Bandbreiteanforderungen BWR1m_H bis BWRNm_H sind erst erfüllt:
- – Wenndann ist BWGnm_H = BWRnm_H,
indem die Beziehungerfüllt wird.
- – Wenn die Beziehungerfüllt wird.
- – Die
Bandbreiteanforderungen BWR1m_S bis BWRNm_S werden als nächstes mit
der restlichen Bandbreite
BWTEm –erfüllt, falls zutreffend:
- – Wenndann ist BWGnm_S = BWRnm_S,
indem die Beziehung erfüllt wird.
- – Wenndann ist indem
die Beziehungrfüllt wird.
-
Der
Eingangsschedulercontroller CTRLn ist angepaßt, um die Dienstraten SRn1
bis SRnM entsprechend der Eingangsscheduler ISn1 bis ISnM während einer
vorgegebenen Zeitperiode zu bestimmen und während der nächsten Zeitperiode in Kraft
zu setzen.
-
Die
Dienstrate SRnm des Schedulers ISnm wird wie folgt bestimmt
SRnm
= BWGnm_S + BWGnm_H, indem die Beziehung
erfüllt wird.
-
Der
Eingangsschedulercontroller CTRLn ist außerdem angepaßt, um die
Dienstanteile SSn11 bis SSnMC der Eingangswarteschlangen IQn_O1_CoS1
bis IQn_OM_CoSC während
einer vorgegebenen Zeitperiode zu bestimmen und während der
nächsten
Zeitperiode in Kraft zu setzen.
-
Der
Dienstanteil SSnmc einer speziellen Eingangswarteschlange IQn_Om_CoSc
wird aus der Priorität bestimmt,
die der CoS_CoSc zugeteilt wurde, und wird durch den Entleerungsstatus
der Ausgangswarteschlange EQm-CoSc wie übermittelt durch die Meßeinrichtung
MEASm gewichtet.
-
Mit Φnmc sei
der Anfangsdienstanteil bezeichnet, der der Eingangswarteschlange
IQn_Om_CoSc zugeteilt wurde.
-
Der
Anfangsdienstanteil wird dann durch einen vordefinierten Skalierfaktor
K1 erhöht,
wenn der Entleerungsstatus DS_EQm_CoSc den Wert "unter_Ertwartung" aufweist, und wird durch einen vordefinierten Skalierfaktor
K2 verringert, wenn der Entleerungsstatus DS_EQm_CoSc den Wert "bei_oder_über_Erwartung" aufweist:
Wenn
DS_EQm_CoSc = 1, dann ist SSnmc = K1 × Φnmc, mit K1 > 1.
Wenn DS_EQm_CoSc
= 0, dann ist SSnmc = K2 × Φnmc, mit
K2 ≤ 1.
-
In
einer bevorzugten Ausführungsform
der vorliegenden Erfindung ist K1 = 8 und K2 = 1.
-
Eine
Arbeitsweise dieser Ausführungsform
folgt. Die Zeitperiode, während
derer die tatsächliche
Sollrate der Ausgangswarteschlange gemessen wird, die Zeitperiode,
während
derer die Bandbreiteanforderungen und -freigaben bestimmt und vereinbart
werden, und die Zeitperiode, während
derer die Dienstrate und der Dienstanteil in Kraft gesetzt werden,
sind aufeinanderfolgend, benachbart und von gleicher Dauer T. Der Wert
für T liegt
in der Regel zwischen 250 μs
und 600 μs.
Der Einfachheit halber werden die Perioden von 0 aufwärts indiziert
und jeder der vorhergehenden Parameter wird mit dem Index der Periode
indiziert, während derer
oder nach Beendigung derer er bestimmt wird.
-
Am
Anfang (Periodenindex = –1)
werden alle Parameter auf 0 zurückgesetzt:
für alle
m, n und c, DS_EQm_CoSc–1 = 0, BWNnmc–1 =
0, BWRnm_H–1 =
0, BWRnm_S–1 =
0, BWGnm_H–1 =
0, BWGnm_S–1 =
0, SRnm–1 =
0 und SSnmc–1 =
0.
-
Nach
Beendigung der Periode t, wo t ein Index im Bereich von 0 aufwärts ist,
bestimmen die Meßeinrichtungen
MEAS1 bis MEASM den Entleerungsstatus von allen Ausgangswarteschlangen,
bestimmen auf diese Weise DS_EQm_CoSct.
Während
der gleichen Periode messen die Bandbreiteanforderungseinrichtungen
REQ1 bis REQN den kommenden Verkehr an jeder Eingangswarteschlange,
bestimmen auf diese Weise BWNnmct.
-
Während der
Periode t+1 übermittelt
die Meßeinrichtung
MEAS1 bis MEASM DS_EQm_CoSct an die Bandbreiteanforderungseinrichtungen
REQ1 bis REQN und an den Eingangsschedulercontroller CTRL1 bis CTRLN.
Als nächstes,
aber noch während
der gleichen Periode, bestimmen die Bandbreiteanforderungseinrichtungen
REQ1 bis REQN BWRnm_Ht+1 und BWRnm_St+1 aus BWNnmct und DS_EQm_CoSct.
Als nächstes,
aber noch während
der gleichen Periode, bestimmen die Bandbreitefreigabeeinrichtungen
GRANT1 bis GRANTM BWGnm_Ht+1 und BWGnm_St+1 aus BWRnm_Ht+1 und
BWRnm_St+1. Als nächstes, aber noch während der
gleichen Periode, bestimmen die Eingangsschedulercontroller CTRL1
bis CTRLN SRnmt+1 aus BWGnm_Ht+1 und
BWGnm_St+1, und SSnmct+1 aus Φnmc und
DS_EQm_CoSct.
-
Während der
Periode t+2 setzen die Eingangsscheduler CTRL1 bis CTRLN die Dienstraten
SRnmt+1 und die Dienstanteile SSnmct+1 in den Eingangsschedulern in Kraft, indem
auf diese Weise die Aufgabe der vorliegenden Erfindung erreicht
wird.
-
In
einer alternativen Ausführungsform
der vorliegenden Erfindung (nicht gezeigt) gibt die Switch Core Fabric
SW den Dateneinheiten den Vorzug, die als Verkehr hoher Priorität geprägt sind,
gegenüber
den Dateneinheiten, die als Verkehr niedriger Priorität geprägt sind.
Die Switch Core Fabric SW implementiert außerdem 2 verschiedene Reaktionssignale
für Verkehr
hoher und niedriger Priorität.
-
Das
Eingangsabschlußmodul
nimmt außerdem
eine Prägeeinrichtung
STMPn auf, die mit den Eingangsschedulern ISn1 bis ISnM und der
Switch Core Fabric SW gekoppelt ist und extern mit den Meßeinrichtungen
MEAS1 bis MEASM gekoppelt ist.
-
Die
Prägeeinrichtung
STMPn ist angepaßt,
um Pakete fester Länge
zu prägen,
die mit den Ausgangswarteschlangen verbunden sind, deren Entleerungsstatus
den Wert "unter_Erwartung" aufweist, als Verkehr hoher
Priorität,
und um Pakete fester Länge
zu prägen,
die mit den Ausgangswarteschlangen verbunden sind, deren Entleerungsstatus
den Wert "bei_oder_über_Erwartung" aufweist, als Verkehr
niedriger Priorität,
indem auf diese Weise die Aufgabe der vorliegenden Erfindung erreicht
wird.
-
In
noch einer alternativen Ausführungsform
der vorliegenden Erfindung (nicht gezeigt) ist der Entleerungsstatus
eine Variable mit 3 Zuständen,
deren Werte "bei_oder_über-Erwartung" (0), "unter_Erwartung" (1) und "sehr_unter_Erwartung" (2) sind.
-
Die
Meßeinrichtung
MEASm verwendet 2 Schwellenwerte beim Vergleichen der tatsächlichen
Sollrate mit der erwarteten Sollrate (z.B. 95% und 50% der erwarteten
Sollrate).
-
Die
Bandbreiteanforderungseinrichtung REQn bestimmt die erste, die zweite
und die dritte Summenbandbreiteanforderung für jeden Wert des Entleerungsstatus.
Die Bandbreitefreigabeeinrichtung GRANTm gibt Bandbreite frei, indem
der ersten, als nächstes
der zweiten und als nächstes
der dritten Bandbreiteanforderung der Vorrang gegeben wird.
-
Der
Eingangsscheduler CTRLn stellt die Dienstanteile der Eingangswarteschlangen
unter Verwendung von drei Skalierfaktoren ein.
-
In
noch einer alternativen Ausführungsform
der vorliegenden Erfindung sind die Bandbreiteanforderungseinrichtungen
REQ1 bis REQN und/oder die Bandbreitefreigabeeinrichtungen GRANT1
bis GRANTM und/oder die Eingangsschedulercontroller CTRL1 bis CTRLN
teilweise/insgesamt zentral implementiert.
-
Eine
abschließende
Bemerkung ist, daß die
Ausführungsformen
der vorliegenden Erfindung oben nach Funktionsblöcken beschrieben sind. Aus
der Funktionsbeschreibung dieser Blöcke wird es für einen Fachmann,
der elektronische Geräte
entwickelt, ersichtlich, wie die Ausführungsformen dieser Blöcke mit
weithin bekannten elektronischen Komponenten hergestellt werden
können.
Ein detaillierter Aufbau der Inhalte der Funktionsblöcke wird
daher nicht gegeben.
-
Während die
Prinzipien der Erfindung oben in Verbindung mit dem speziellen Gerät beschrieben
wurden, muß man
deutlich verstehen, daß diese
Beschreibung nur beispielhaft gemacht wurde und nicht als eine Einschränkung des
Anwendungsbereiches der Erfindung, wie in den beigefügten Ansprüchen definiert
ist.
-