-
Die Erfindung betrifft Netzwerksysteme
und das Weitergeben und Routen von Informationen in diesen Systemen,
und richtet sich insbesondere auf die Probleme der Latenz eines
Systems, die bei einem Konkurrenzbetrieb für einen Zugriff zu einem zeitanteiligen
Speicher und aufgrund der Zeit, die für die Entscheidungen zum Weitergeben
und Routen benötigt
wird, auftreten – die
Erfindung ist, neben anderen Faktoren, darauf gerichtet, eine solche
Latenz zu minimieren.
-
Hintergrund
der Erfindung
-
Zwei der primären Faktoren und Belange, die die
Leistung des Systems bei Netzwerksystemen maßgeblich bestimmen, sind die
Bandbreiten-Fähigkeit
und die System-Betriebs-Latenz.
Die Bandbreite reflektiert die Menge an Daten, die durch das System übertragen
werden können
und die Latenz umfasst die Menge an Zeit, die die Daten in dem System "verweilen".
-
Vorliegende Erfindung betrifft die
Minimierung der Latenz. In der anhängigen US-Patentanmeldung Nr. 581 467, eingereicht
am 29. Dezember 1995 mit dem Titel "High Performance Universal Multi-Port
internally Cached Dynamic Random Access Memory System, Architecture
and Method" des
gemeinsamen Anmelders wird eine vielsprechende Lösung für die Maximierung der Bandbreite
vorgeschlagen.
-
Die Latenz des Netzwerksystems wird
durch verschiedene Faktoren bestimmt; ein primärer Faktor ist die Zeitdauer,
die erforderlich ist, um eine Weitergabe- oder Routen-Entscheidung
als Resultat einer Prüfung
der Steuer-Information zu Beginn eines Datenpaketes oder einer Datenzelle
vorzunehmen. Die Steuerinformation ist unterschiedlich, je nach
dem, ob es sich um eine Zelle oder ein Paket handelt. Für eine Zelle
wird eine Schalt-Entscheidung durchgeführt, die auf der BCI/VPI-Information basiert,
die verwendet werden kann, um die Zelle auf eine Ausgangs-Interface innerhalb
des Systems abzubilden. Andererseits wird für ein Paket eine Routen-Entscheidung
durchgeführt,
die auf der Bestimmungsadresse basiert, die verwendet werden kann,
um das Paket in eine Ausgangs-Interface abzubilden. Für ein Paket
kann ferner die Quellen-Adresse auch verwendet werden, um einen
Filterungspegel zu erzielen, die auf Quellen- und Bestimmungs-Adressenpaaren
beruht, bei denen eine Anzahl von Regeln aufgestellt werden, um
zu definieren, welche Quellen-/Bestimmungs-Paare miteinander kommunizieren
können. Wenn
ein Paket aufgenommen wird, das nicht solchen Regeln entspricht,
wird es fallen gelassen. Typischerweise haben z. B. die Daten entweder
54 Bytes für
Zellen oder 64 bis 64K Bytes für
Pakete in Netzwerken dieser Art.
-
Bei traditionellen Systemen wird
die Verarbeitung von Steuerinformationen durch eine zentrale Verarbeitungseinheit
(CPU) durchgeführt
und kann solange nicht beginnen, bis die gesamte Zelle/das gesamte
Paket aufgenommen ist. Beispielsweise wird als repräsentativ
für den
Stand der Technik auf die EP-A- 0 692 893 verwiesen, die sich auf
ein Verfahren zum Weitergeben und Routen von Daten in einer CPU
oder einem ähnlichen
Daten-Steuersystem bezieht, bei dem die Daten auf einem gemeinsamen Bus
kommunizieren, der mit einem gemeinsamen Speicher und mit einer
Vielzahl von I/O-Moduln verbunden ist, die Daten empfangen und in
den Speicher einschreiben sowie aus den Speicher-Paketen oder Zellen
entfernen. Die Latenz eines solchen Systems hängt von der Übertragung
von Daten aus einem I/O-Port in den Speicher, dem Zugriff der Steuerinformation,
die zu Beginn der Daten angeordnet ist, der Fortschaltung dieser
Steuerinformation und der Übertragung
von Daten aus dem Speicher in einen I/O-Port ab. Alle diese Zugriffe
zu dem zeitanteiligen Speicher führen
zu einem Bus- und Speicher-Konkurrenzbetrieb, der die Latenz vergrößert. Die
Latenz ist bei dieser Art von Architektur groß, weil die Verarbeitung der
Steuerinformation so lange nicht beginnen kann, bis das gesamte
Paket/die gesamte Zelle aufgenommen ist. Andere Posten, die zu einer
Erhöhung
der Latenz führen,
weisen eine unterstützende Service-Qualität (QOS)
und eine Mehrfach- Benachrichtigung
auf. QOS macht die Aufrechterhaltung von Mehrfach-Schleifen für jeden
I/O-Port erforderlich, wodurch die Anzahl von Zugriffen zu einem
bereits überlasteten
Speicher vergrößert wird.
Die Mehrfach-Benachrichtigung macht das Senden des gleichen Paketes/der
gleichen Zelle zu Mehrfach-I/O-Ports erforderlich und dies wiederum
vergrößert die
Anzahl von Zugriffen zu einem überlasteten
Speicher.
-
Ein weiterer Faktor in der Bestimmung
der Latenz eines Systems ist der Durchsatz des zeitanteiligen Speichers.
Wenn der Durchsatz des zeitanteiligen Speichers nicht sehr hoch
ist, wird die Latenz entsprechend vergrößert. Im allgemeinen soll zur Stützung der
vollen Bandbreite der Speicher-Durchsatz gleich dem Zweifachen der
Port-Geschwindigkeit
multipliziert mit der Anzahl von Ports sein. Dies gilt jedoch nicht
für alle
anderen Zugriffe, die an dem gleichen zeitanteiligen Speicher durchgeführt werden,
wodurch der Speicherdurchsatz sogar noch höher werden muss, um eine Latenz
zu minimieren und um eine hohe Bandbreite durch das System zu erzielen.
Wenn mehr Ports hinzugefügt
werden und die Geschwindigkeit eines jeden Ports vergrößert wird, wird
ferner die Latenz proportional vergrößert. Die Vergrößerung des
Durchsatzes des zeitanteiligen Speichersystems wird deshalb ein
sehr schwieriges Problem.
-
Wie nachstehend gezeigt wird, verbieten
die meisten konventionellen Netzwerksystem-Operationen zwangsweise
die Erzielung einer Null- oder Nahe-Null-Latenz. Gemäß der Erfindung kann andererseits über die
Verwendung von neuartigen Doppelpfad-Datenverarbeitungs- und Management
von Paket/Zellen-Architektur eine optimal minimierte Latenz erzielt
werden.
-
Aufgabe der
Erfindung
-
Aufgabe der Erfindung ist, eine neuartige System-Architektur
für ein
Verfahren zur Doppelpfad-Datenverarbeitung und Management von Datenpaketen
und/oder Zellen und dergl. vorzuschlagen, die die Latenz entscheidend
reduziert.
-
Eine weitere Aufgabe der Erfindung
besteht darin, dieses neue Resultat zur Minimierung der Latenz ohne
konkurrierenden Betrieb mit anderen Resourcen zu erreichen, während die
Steuerinformationen eines jeden Paketes/einer jeden Zelle verarbeitet werden.
-
Andere und weitere Ziele der Erfindung
werden nachstehend erläutert
und ergeben sich insbesondere in Verbindung mit den Patentansprüchen.
-
Beschreibung
der Erfindung
-
Nach einem Aspekt der Erfindung wird
ein Verfahren vorgeschlagen, mit dem ein Speicher- und Bus-Zugriffs-Konkurrenzbetrieb
und eine sich daraus ergebende System-Latenz in einer CPU oder ähnlichen
Daten-Steuerungssystemen nach Anspruch 1 erzielt wird.
-
Nach einem weiteren Aspekt der Erfindung wird
eine Einrichtung vorgeschlagen, mit der ein Speicher- und Bus-Zugriffs-Konkurrenzbetrieb
reduziert wird und eine daraus resultierende System-Latenz in der
CPU oder ähnlichen
Datensteuerungs-Systemen nach Anspruch 11 erhalten wird.
-
Nachstehend wird die Erfindung in
Verbindung mit den Zeichnungen erläutert, die zeigen:
-
1 ein
Blockschaltbild einer beispielsweisen Paket-/Zellen-Struktur bekannter
Art und derzeitigen Netzwerksystemen;
-
2 ein ähnliches
Blockschaltbild eines beispielhaften typischen bekannten Netzwerksystems;
-
3 ein
Schaltbild, das zeigt, wie ein Konkurrenzbetrieb zum Auftreten einer
Latenz führt;
-
4 ein
typisches bekanntes zeitanteiliges Speichersystem mit vielen I/O-Ports;
-
5 ein
modifiziertes, zeitanteiliges Speichersystem mit einem "Kopfzeilen"-Cache-Speicher;
-
6 ein ähnliches
Schaltbild eines typischen verteilten Speichersystems bei bekannten
und derzeitigen Netzwerkanordnungen;
-
7 ein
typisches Kreuzschienensystem zur Verwendung in Netzwerken;
-
8 ein
Schaltbild einer bevorzugten Doppelpfad-Datenverarbeitungs- und – Management-Architektur
für Pakete/Zellen
gemäß der Erfindung,
und
-
9 ein
Schaltbild, das zeigt, wie die Latenz gemäß der Erfindung reduziert wird.
-
Latenz-Beschränkungen
bei bekannten und derzeitigen Netzwerk-Systemen
-
Wie vorstehend erwähnt, sind
in einer typischen Paket-/Zellen-Konfiguration zur Verwendung bei
Netzwerksystemen die Steuerinformationen am Beginn des Paketes oder
der Zelle positioniert, wie schematisch in 1 gezeigt. Die Schaltungs-Entscheidung für Zellen
ist dort auf die VCI/VPI-Informationen basierend dargestellt, die
dazu dienen, die Zelle auf eine Ausgangs-Interface innerhalb des
Systems abzubilden, wie vorher bereits beschrieben. Die Routen-Entscheidung
für ein
Paket basiert auf der Bestimmungsadresse, die verwendet wird, um
das Paket auf eine Ausgangs-Interface abzubilden.
-
Bei dem traditionellen System nach 2 kommuniziert eine CPU über einen
gemeinsamen Bus mit Speicherzugriff mit einer Vielzahl von Daten aufnehmenden
und abführenden
I/O-Ports #1, #2, etc., wobei die verschiedenen gepunkteten und
gestrichelten Linien die kommunizierenden Pfade und den zeitanteiligen
Speicher zeigen, wie dies bekannt ist. Wie bereits ausgeführt, ergeben
die verschiedenen Zugriffe des zeitanteiligen Speichers einen erheblichen
Konkurrenzbetrieb, der die Latenz vergrößert, was bei dieser Art von
Architektur bereits entscheidend ist, weil die Verarbeitung der
Steuerinformationen solange nicht beginnen kann, bis das vollständige Paket/die
vollständige
Zelle aufgenommen ist.
-
Wie 3 zeigt,
gilt, dass der Konkurrenzbetrieb in dem Maße erhöht wird, wie die Zugriffe zu
den zeitanteiligen Speicher vergrößert werden; wird der Konkurrenzbetrieb
erhöht,
ergibt dies eine Erhöhung der
Latenz des Systems. In 3 (in
der die Zugriffszeit pro Lese- oder Schreib-Vorgang zum Speicher gleich
M ist und die Anzahl von Bits für
einen Speicherzugriff W ist) werden die folgenden Funktionen gezeigt:
- A. Einschreiben von Daten aus dem Empfangs-Port
#1 in den zeitanteiligen Speicher. Die Zeitdauer zur Übertragung
eines Paketes oder einer Zelle ist gleich ((B*8)/W)*M, wobei B gleich der
Anzahl von Bytes für
das Paket oder die Zelle ist. Wird das Paket größer, wächst die Zeitdauer an, in der
dieses Paket in den Speicher eingeschrieben wird.
- B. Einschreiben von Daten von dem Empfangs-Port #2 in den zeitanteiligen
Speicher. Die Zeitdauer zur Übertragung
eines Paketes oder einer Zelle beträgt ((B*8)/W)*M, wobei B gleich
der Anzahl von Bytes für
das Paket oder die Zelle ist. Wenn das Paket größer wird, wächst auch die Zeitdauer, um
das Paket in den Speicher einzuschreiben.
- C. Lesen der Steuerinformationen aus dem Paket/der Zelle, die
gerade in den zeitanteiligen Speicher eingeschrieben worden sind,
aus dem Port #1. Die Zeitdauer, die hierfür benötigt wird, hängt von
der Menge an Steuerinformationen ab, die ausgelesen werden sollen.
Diese beträgt
etwa 24 bis 28 Bytes für
Pakete und 5 Bytes für
Zellen. Die Anzahl von auszulesenden Bytes ist gleich N; deshalb
beträgt
die Auslesezeit ((N*8)/W)*M. Da andere Schnittstellen im Konkurrenzbetrieb
für den
gleichen zeitanteiligen Speicher stehen, ergibt sich, dass dieser
Zugriff längere
Zeit in Anspruch nimmt, weil der Port #2 gerade Daten in den Speicher
einschreibt. Dies erhöht
die Latenz des Paketes/der Zelle, die gerade aufgenommen worden
ist.
- D. Einschreiben einer Pufferadresse eines Pakets/einer Zelle,
die gerade von dem Port #1 aufgenommen worden ist, in eine entsprechende Schleife.
Diese hat typischerweise 8 bis 12 Bytes. Die Zeitdauer zum Fortschalten
der Schleife ist ((P*8)/W)*M, wobei P die Länge der Schleifeninformation
ist, die in die entsprechende Schleife eingeschrieben werden soll.
Da andere Schnittstellen einen Konkurrenzbetrieb für den gleichen zeitanteiligen
Speicher ergeben können,
nimmt dieser Zugriff längere
Zeit in Anspruch, wobei wiederum die Latenz des Paketes/der Zelle,
die gerade an dem Port #1 aufgenommen worden ist, vergrößert wird.
- E. Dies bedeutet das Auslesen der unterschiedlichen Schleifen,
um zu bestimmen, welche Schleifen Daten besitzen, die zur Übertragung
zur Verfügung
stehen. Dies würde
das Auslesen von Mehrfach-Schleifen bedeuten, bis die Puffer-Adresse des Paketes/der
Zelle aus dem Port #1 bereit ist, übertragen zu werden. Jeder
Schleifen-Eingang, der ausgelesen wird, hat typischerweise 8 bis
12 Bytes. Die Zeitdauer bis zum Fortschalten der Schleife ist (Q
+ 1)(((P*8)/W)*M), wobei Q die Anzahl von Schleifen ist, die ausgelesen werden,
bevor das Paket vollständig
ausgeschleift ist. Da andere Schnittstellen für den gleichen zeitanteiligen
Speicher miteinander konkurrieren können, nimmt dieser Zugriff
länger
in Anspruch, wobei wiederum die Latenz des Pakets/der Zelle, das
bzw. die gerade am Port #1 aufgenommen wurde, vergrößert wird.
- F. Auslesen von Daten aus dem zeitanteiligen Speicher zur Aufnahme
eines Ports #2. Die Zeitdauer zur Übertragung eines Pakets oder
einer Zelle beträgt
((B*8)/W)*M, wobei B gleich der Anzahl von Bytes für das Paket
oder die Zelle ist. Wird das Paket größer, nimmt auch die Zeitdauer zu,
um das Paket aus dem Speicher auszulesen.
-
Ziel eines solchen Systems ist natürlich, eine Null-Latenz
(oder eine Latenz nahe bei Null) zu erreichen. Würde eine Null-Latenz erzielt
werden, würde dies
zur Folge haben, dass keine Zeit zwischen dem Einschreiben eines
Paketes/einer Zelle in den Speicher aus der Eintritts-Schnittstelle
und aus dem Auslesen des Speichers für die Ausgangs-Schnittstelle verstreicht.
Tatsächlich
könnte
sich eine Laufbedingung ergeben, wenn die Austritts-Schnittstelle
bestimmt werden könnte
und die Puffer-Adresse,
die vor dem Paket/der Zelle ausgeschleift wurde, vollständig in
den Speicher eingeschrieben wäre.
Die Laufbedingung würde
dazu führen,
dass begonnen wird, die Daten auszulesen, bevor sie vollständig in den
Speicher eingeschrieben wären, wodurch
unrichtige Daten übertragen
würden.
Bei dem zeitanteiligen Speichersystem ist es, wie vorstehend erläutert, nicht
möglich,
eine Null-Latenz zu erzielen, da die Verarbeitung der Steuerinformation
und die Schleifenbildung nicht beginnen können, solange das Paket/die
Zelle vollständig
in den Speicher eingeschrieben ist.
-
Heutige typische Systeme versuchen,
die Latenz in dem System dadurch zu verkleinern, dass ein höherer Durchsatz
des Systems erzielt wird, der Zuwachs-Erhöhungen
bei abnehmender Latenz ergibt. Die Erzielung eines höheren Durchsatzes
innerhalb des Systems kann jedoch nur auf Kosten des Preises und
der Komplexität
erzielt werden. Die untere Grenzlinie ist die, wenn Datengeschwindigkeiten und
Dichte von I/O-Ports vergrößert werden,
wobei die Latenzen dieses Systems sich im Maßstab nicht vergrößern, und
sie werden tatsächlich
vergrößert.
-
Der Typ von Netzwerkbetrieb
nach 4
-
Typische Netzwerk-Einrichtungen,
z. B. Schalter, Wegverfolger, Brücken,
Naben, Routenschalter, Schalt-Wegverfolger usw. verbinden Mehrfach-Netzwerke
miteinander, z. B. ATM, Token Ring, FDDI, Ethernet, Sonet, usw.,
wie in 4 gezeigt. Das
Miteinanderverbinden dieser Netzwerke macht erforderlich, dass die
CPU oder der Weitergabe-Antrieb (FE) auf jedes Paket oder jede Zelle
schaut, das bzw. die das System aufnimmt und festlegt, aus welchem
Port das Paket/die Zelle übertragen
werden soll. Wie bereits erwähnt,
muss die CPU/FE den Beginn eines jeden Paketes /einer jeden Zelle
zugreifen, um zu bestimmen, um welchen Datentyp es sich handelt
und wo er sein Ziel hat. Wenn die Datengeschwindigkeiten und I/O-Ports
zunehmen, nimmt der konkurrierende Betrieb für die gleiche Speicher-Resource
zu, wodurch die Latenz des Systems vergrößert wird, wie vorstehend erläutert. Die
einzige Möglichkeit,
um die Latenz zu reduzieren, besteht darin, die Speicher-Zugriffsdauer
zu verringern, dies führt jedoch
zu höheren
Kosten und einer größeren Komplexität. Für zeitanteilige
Speichersysteme muss die Leistung des Speichersystems mindestens
größer sein
als das Zweifache der Bandbreite aller Ports. Wenn beispielsweise
ein System N Ports hat und jeder Port eine Datengeschwindigkeit
von V besitzt, muss die gesamte Bandbreite des Speichersystems größer sein
als 2 NV. Sie muss größer sein
als 2 NV, weil das Speichersystem auch Nachschlagungen und Modifikationen
der Steuerinformationen wie auch mögliches Schleifen-Management,
Routen-Tabellen-Nachschlagungen usw. unterstützen muss. Da das Speichersystem
größer als
2 NV sein muss, wird dadurch die Skalierfähigkeit in der Leistung gesperrt,
die zu einer Begrenzung der Skalierbarkeit bei der Reduzierung der
Latenz ergibt.
-
Wenn eine Service-Qualität (QOS)
geboten wird, die die Aufrechterhaltung einer Anzahl von Schleifen
per Port erforderlich macht, führt
diese Architektur zu einer erhöhten
Latenz aufgrund der vergrößerten Konkurrenz
für den
Zugriff zu den Schleifen. Dies macht dann natürlich einen höheren Speicherdurchsatz
erforderlich, was zusätzlich
zu erhöhten
Kosten und erhöhter
Komplexität
führt.
-
Wenn Multirast-Unterstützung vorliegt,
erhöht
dies ganz entscheidend die Anzahl von Zugriffen zu dem zeitanteiligen
Speicher, wobei die Konkurrenz und die Latenz wesentlich erhöht werden
und erforderlich wird, dass das Speichersystem mit einem noch höheren Durchsatz
ausgelegt wird.
-
Bei dieser Art von System ist es
auch möglich,
Null-Latenz zu erreichen, da die Verarbeitung der Steuerinformation
und die Schleifenbildung solange nicht beginnen kann, bis das Paket/die
Zelle vollständig
in den Speicher eingeschrieben ist.
-
Der Typ von Netzwerkbetrieb
nach 5
-
Die Anordnung nach 5 ist ähnlich der nach 4, es ist jedoch vor der
CPU/FE ein Header-Cache-Speicher eingesetzt. Wenn Pakete/Zellen an
jeder Schnittstelle übertragen/empfangen
werden, werden sie in die zeitanteilige Speicherstruktur gelesen/geschrieben,
jetzt aber werden die ersten 64 Bytes des Paketes innerhalb des
Header/Cache-Speichers "gespiegelt". Da die ersten 64
Bytes in den Header-Cache-Speicher
kopiert werden und eine Zelle 53 Bytes umfasst, ist eine solche
Architektur nur für
ein System auf Paket-Basis anwendbar. Wenn die CPU/FE die Steuerinformation
des Pakets zugreift, findet sie die Daten aus dem Header-Cache-Speicher wieder und
nicht aus dem zeitanteiligen Speicher. Dadurch wird das Konkurrenzverhalten
zu dem zeitanteiligen Speicher reduziert, jedoch nur für Zugriffe
zu der Steuerinformation. Diese Architektur ergibt somit eine stufenweise
Verbesserung gegenüber
dem vorausgehenden Architektur-Beispiel nach 4.
-
Wie bei der vorausgehend beschriebenen Architektur
ist es jedoch immer noch erforderlich, dass das Speichersystem um
das Doppelte größer ist als
der Durchsatz für
jeden Port. Es handelt sich immer noch um einen sequentiellen Satz
von Zugriffen von Schreibdaten in den zeitanteiligen Speicher, die Verarbeitung
der Steuerinformation, das Einrichten und Aufrechterhalten der Schleifen
für jeden
Port und das Auslesen der Daten aus dem zeitanteiligen Speicher.
Wenn Ports und Datengeschwindigkeiten erhöht werden, muss der Speicherdurchsatz
immer noch entsprechend maßstäblich verändert werden, damit
die gleiche Latenz erzielt wird. Dies kann nur dadurch geschehen,
dass die Kosten und die Komplexität erhöht werden, wodurch ein Punkt
erreicht wird, zu dem die Kosten für eine Realisierung zu hoch
werden.
-
Wenn ein QOS vorgesehen wird, was
die Aufrechterhaltung einer Anzahl von Schleifen pro Port erforderlich
macht, ergibt diese Architektur eine erhöhte Latenz aufgrund einer zunehmenden
Konkurrenz für
den Zugriff zu den Schleifen – dies
macht wiederum einen höheren
Speicherdurchsatz erforderlich, was die Kosten und die Komplexität erhöht.
-
Wenn eine Multicast-Stützung vorgesehen wird,
erhöht
dies ebenfalls die Anzahl von Zugriffen zu dem zeitanteiligen Speicher,
vergrößert die
Konkurrenz und die Latenz entscheidend und macht es erforderlich,
dass das Speichersystem mit einem noch höheren Durchsatz ausgelegt wird.
-
Bei diesem System ist es auch nicht
möglich, eine
Null-Latenz zu erzielen, da die Verarbeitung der Steuerinformationen
und die Schleifenbildung solange nicht beginnen können, bis
das Paket/die Zelle vollständig
in den Speicher eingeschrieben ist.
-
Der Typ des Netzwerkbetriebes 6
-
Dieses System arbeitet ähnlich dem
System nach 4. In diesem
System nach 6 werden die
Pakete/Zellen nach ihrer Aufnahme im Speicher auf jedem f/O-Modul
wie auch in dem CPU/FE-Speicher gespeichert. Sobald die Daten in
dem Speicher aufgenommen worden sind, der durch die CPU/FE zugänglich ist,
liest er die Steuerinformationen aus, um den Port festzulegen, für den die
Daten bestimmt sind. Ist dies festgestellt, schreibt er an jedes
I/O-Modul, um anzugeben, ob die Daten fallen gelassen oder aufrecht
erhalten werden sollen. Während
diese Architektur einige Konkurrenz für Zugriffe zu dem CPU/FE-Speicher
abschwächt,
wodurch ein Teil der Latenz vermindert wird, erzeugt sie andererseits
eine hohe Konkurrenz in dem Hauptsystem-Bus, da jedes I/O-Modul
Daten für
das andere I/O-Modul übertragen
muss, gleichgültig,
ob sie benötigt
werden oder nicht. Da Ports und Datengeschwindigkeiten erhöht werden,
muss der Speicherdurchsatz des CPU/FE-Moduls größer sein als die Geschwindigkeit aller
Ports in dem System. Während
dies die Kosten und die Komplexität des Speichersystems im Vergleich
zu den vorausgehenden beiden Beispielen nach den 4 und 5 reduziert,
ist ein komplizierterer und kostspieliger "Modul"-Verbindungs-Bus und Speicher an jedem
I/O-Modul erforderlich, der die Kosten und die Komplexität des Gesamtsystems
vergrößert. Ein
anderer Faktor, der die Kosten und die Komplexität erhöht, ist darin zu sehen, dass
jedes I/O-Modul ausreichenden Speicherraum haben muss, damit es
in der Lage ist, Daten von jedem anderen I/O-Modul aufzunehmen.
Typischerweise braucht der Speicher-Durchsatz am I/O-Modul nur die
doppelte Datengeschwindigkeit seines (seiner) Ports zu unterstützen, wie
vorstehend erwähnt,
und das Management seiner Schleifen. Bei dieser Architektur muss
die Datengeschwindigkeit der Ports und das Management der Schleifen
doppelt unterstützt werden
und zusätzlich
die Datengeschwindigkeit aller anderen Ports innerhalb des Systems
und das Managen von zusätzlichen
Aufnahmeschleifen für diese
Daten. Wenn die Ports und Datengeschwindigkeiten vergrößert werden,
muss der Durchsatz des Speichersystems bei jedem I/O-Modul und CPU/FE-Modul
entsprechend vergrößert werden, wodurch
die Skalabilität
dieser Art von Architektur begrenzt wird.
-
Wenn eine QOS vorgesehen wird, die
erforderlich macht, dass eine Anzahl von Schleifen per Port aufrecht
erhalten werden, führt
diese Architektur auch zu einer erhöhten Latenz aufgrund der vergrößerten Konkurrenz
im Zugang zu den Schleifen.
-
Wenn eine Multicast-Unterstützung vorgesehen
ist, ist diese Architektur besser als die vorausgehenden Ausführungsbeispiele
insoferne, als das gleiche Paket auf jedes I/O-Modul gleichzeitig übertragen werden kann; da das
gesamte Paket jedoch nicht in einem Zugriff übertragen werden kann, wird
die Latenz entsprechend erhöht.
-
Während
die Architektur eine stufenweise Reduzierung der Latenz ergibt,
geht dies auf Kosten eines höheren
Speicherdurchsatzes und zusätzlicher Kosten
und Komplexität
für jeden
I/O-Modul.
-
Bei diesem System ist es ebenfalls
nicht möglich,
eine Null-Latenz zu erzielen, da die Verarbeitung der Steuerinformationen
und die Schleifenbildung nicht beginnen können, bis das Paket/die Zelle vollständig in
den Speicher eingeschrieben ist.
-
Der Typ von Netzwerkbetrieb 7
-
Wenn eine Kreuzschiene verwendet
wird, wie in 7 dargestellt,
werden die Zellen typischerweise am Eingang verarbeitet und es wird
ihnen eine neue interne Kopfzeile gegeben, die der Zelle ermöglicht,
dass sie innerhalb der Kreuzschiene effizient geschaltet werden
kann. Die Kreuzschiene benutzt die interne Kopfzeile, um zu bestimmen,
mit welchem Ausgangs-Port die Zelle geschaltet werden soll. Für Vielfach-Zellen, die für den gleichen
Ausgang bestimmt sind, kann eine zusätzliche Pufferung entweder
am Ausgang, innerhalb der Kreuzschiene oder am Eingang erforderlich
werden. Die meisten Kreuzschienen-Architekturen werden nur in Verbindung
mit Zellen verwendet, aufgrund der Tatsäche, dass sie typischerweise
Blockierprobleme aufgrund der verschiedenen Faktoren haben, die
Mehrfach-Eingangs-Ports umfassen, welche für einen einzelnen Ausgangsport
und für
Multicast bestimmt sind. Wenn Pakete verwendet werden, die in der
Größe von 64 Bytes
bis 64000 Bytes variieren, können
diese Blockiereinrichtungen größere Probleme
verursachen und generell die Architektur unbrauchbar machen.
-
Das anfängliche Nachschlagen am Eingangs-Port
führt zu
den Konkurrenzproblemen, die in Verbindung mit 4 erörtert
worden sind, und muss darauf warten, dass die gesamte Zelle aufgenommen wird,
bevor der Nachschlagevorgang ausgeführt wird, wobei wiederum die
Latenz des Systems vergrößert wird.
Wenn die Zelle in den Schalter eingebracht wird, hängt die
Latenz von der Art von Querschiene ab, die implementiert ist; im
allgemeinen jedoch besteht sie aus dem Durchqueren vieler Sprünge in einer
Querschiene auf Silikonbasis oder einer Konkurrenz mit zeitanteiligem
Speicher in einer Querschiene auf Speicherbasis. Eine zusätzliche
Latenz kann auftreten, wenn ein internes Blockieren innerhalb der
Kreuzschiene auftritt.
-
Wenn eine QOS vorgesehen wird, sind Schleifen
typischerweise entweder an dem Eingangs- oder dem Ausgangs-Port
vorgesehen. Da die Schleifen nicht für jeden Port erforderlich sind,
kann die konkurrierende Anforderung und die Anzahl von Schleifen
zur Aufrechterhaltung reduziert werden, was ebenfalls die Latenz
reduziert.
-
Wenn eine Multicast-Unterstützung vorgesehen
wird, werden Zellen in typischer Weise innerhalb der Kreuzschiene
dupliziert, was zu Blockier-Situationen (und zu einer erhöhten Latenz)
innerhalb oder am Ausgangs-Port und auch zu einem Gegendruck auf
den Eingangs-Port führen
kann, was dazu führt, dass
der Eingangs-Port die Bereitstellung von zusätzlichem Pufferraum erforderlich
macht. Wenn Ports und Datengeschwindigkeiten zunehmen, wird diese
Architektur keine maßstäbliche Veränderung vornehmen,
weil der Multicast-Betrieb das Blockierproblem erhöht und die
Kosten und die Komplexität des
Systems noch weiter vergrößert.
-
Bei diesem System ist es nicht möglich, eine Null-Latenz
zu erzielen, da die Verarbeitung der Steuerinformationen und die
Schleifenbildung erst dann beginnen können, wenn das Paket/die Zelle vollständig in
den Speicher eingeschrieben ist.
-
Bevorzugte Ausführungsformen)
der Erfindung
-
Vorliegende Erfindung ist beispielsweise
in 8 dargestellt und
unterscheidet sich von allen vorbekannten Systemen, optimiert das
Netzwerksystem auf minimale Latenz und kann eine Null-Latenz erreichen,
selbst wenn Datengeschwindigkeiten und Port-Dichten erhöht werden. Sie erreicht dies
ferner in gleicher Qualität
für alle
53 Byte-Zellen oder
64 Byte- bis 64K Byte-Pakete. Die wird dadurch erreicht, dass die
Steuerinformationen aus dem Paket/der Zelle extrahiert werden, wenn
sie in den Speicher eingeschrieben werden und dadurch, dass die
Steuerinformationen an eine Weitergabe-Einrichtung FE gegeben werden,
die Schalt-, Routen- und/oder Filterungs-Entscheidungen vornimmt, wenn die Daten
in den Speicher eingeschrieben werden.
-
Nachdem die Weitergabe-Einrichtung
FE ihre Aufgaben abgeschlossen hat, werden die Resultate in einen
Schleifen-Manager QM gegeben, damit diese Resultate in die Warteschlange
eingeschleift und aus der Warteschlange ausgeschleift werden. All dies
geschieht gemäß der Erfindung,
bevor das Paket/die Zelle vollständig
in den Speicher eingeschrieben wird, wodurch das Lesen der Daten
unmittelbar nachdem das Paket/ die Zelle vollständig in den Speicher eingeschrieben
ist, beginnen kann. Tatsächlich ist
es möglich,
das Auslesen des Paketes zu beginnen, bevor es vollständig in
den Speicher eingeschrieben ist, was bisher nicht möglich war,
wenn aus dem Speicher ausgelesen wird, da unrichtige Daten aus dem
Speicher gelesen würden.
Eine Synchronisierung S zwischen dem Eingangs- und dem Ausgangs-Port
ist erforderlich, um sicher zu stellen, dass das Lesen des Paketes/der
Zelle nicht zu früh
beginnt, wie in 8 dargestellt,
was erreicht wird, wenn die Weitergabe-Einrichtung FE detektiert,
dass die letzten Daten im Speicher vorhanden sind und dann Schleifen-Adressen-Informationen an
den Schleifen-Manager QM in bezug auf den beabsichtigten Ausgangs-Port
führt.
Dies ist ein wichtiges Unterscheidungsmerkmal zwischen vorliegender
Erfindung und allen anderen Netzwerk-Architekturen. Bei manchen
Architekturen existiert diese Wettlaufbedingung nicht und deshalb
ist es, wie früher
ausgeführt, nicht
möglich,
eine Null-Latenz mit ihnen zu erzielen.
-
Um die Wettlauf-Bedingung zu verhindern, wird
eine Synchronisierung S zwischen den Eingangs- und den Ausgangs-Ports
am Ausgang der Weitergabe-Einrichtung vorgenommen; die Weitergabe-Einrichting
hält die
Resultate an ihrem Ausgang, bis das Paket/die Zelle vollständig in
den Speicher eingeschrieben ist, und dann kann die Weitergabe-Einrichtung
die Resultate an den Schleifen-Manager führen, wie dies durch die strichpunktierte
Flusslinie angedeutet ist.
-
Ein getrennter oder Doppelpfad wird
in vorliegender Erfindung für
die Steuerinformationen verwendet, wodurch es möglich ist, dass jedes I/O-Modul
(#1– #n)
Daten nur für
seine Ports verarbeitet, gleichtgültig, ob es sich um Übertragungs- oder Empfangs-Daten
handelt, wodurch eine weniger komplexe Logik erforderlich wird,
die einfacher und billiger als vorhandene Systeme implementierbar
ist. Wie bereits erwähnt,
machen die meisten Systeme die Speicher-Architekturen erforderlich,
die verwendet werden, um die Steuerinformationen zu speichern, damit
innerhalb des Systems wesentlich mehr als das Doppelte der Datengeschwindigkeit
eines jeden Ports gestützt
werden kann. Andererseits reduziert vorliegende Erfindung diese
Forderung nach Datengeschwindigkeit eines jeden Ports aus dem I/O-Modul,
eine entscheidende Reduzierung. Dadurch wird auch das System in
die Lage versetzt, eine Zunahme in den Ports und der Datengeschwindigkeit
zu erzielen, ohne dass kostspielige und komplizierte Lösungen erforderlich
sind.
-
Bei den meisten anderen Architekturen
werden der FE und Schleifen-Manager benötigt, wie bereits ausgeführt, um
den gleichen Speicher zuzugreifen, der zum Speichern des Pakets
oder der Zelle vorwendet wird, was zu einer zunehmenden Latenz führt, da
der FE und Schleifen-Manager mit jedem Port für Speicher-Zugriffe konkurrieren
muss. Mit vorliegender Erfindung jedoch hat der FE und der Schleifen-Manager einen getrennten
Pfad P zur Verfügung,
um die Steuerinformationen zu verarbeiten, wodurch diese beiden
Einheiten in die Lage versetzt werden, mit maximaler Leistung und
ohne Interferenz aus den Paket/Zellen-Übertragungen in den und von dem
Speicher zu arbeiten. Dies muss tatsächlich eintreten, damit eine
Null-Latenz erzielt
wird.
-
Wie der 9 entnommen werden kann, kann die Latenz
des Systems nach der Erfindung auf Null reduziert werden, wenn die
Verarbeitung der Steuerinformationen und die Schleifenbildung unabhängig von
dem Einschreiben der Daten in den Speicher vorgenommen wird. In 9 (bei der die Zugriffszeit
pro Lese- oder Schreibvorgang in den Speicher gleich M ist und die
Anzahl von Bits für
einen Speicherzugriff W beträgt)
tritt Folgendes bei der Doppelpfad-Verarbeitung entsprechend der
in 8 dargestellten Anordnung
nach der Erfindung ein, wie auch insbesondere im Gegensatz zu den
A-E-Operationen der 3,
auf die weiter oben eingegangen ist:
- A. Einschreiben
von Daten aus dem Empfangs-Port #1 in den Speicher. Die Zeitdauer
zur Übertragung
eines Pakets oder einer Zelle ist gleich ((B*8)/W)*M, wobei B gleich
der Anzahl von Bytes für
das Paket oder die Zelle ist. Wird das Paket größer, vergrößert sich gleichzeitig auch
die Zeitdauer zum Einschreiben in den Speicher.
- B. Einschreiben von Daten aus dem Empfangs-Port #2 in den Speicher.
Die Zeit zur Übertragung
eines Pakets oder einer Zelle ist gleich ((C*8)/W)*M, wobei C gleich
der Anzahl von Bytes für
das Paket oder die Zelle ist. Wenn das Paket größer wird, gilt dies in gleicher
Weise auch für
die Zeitdauer zum Einschreiben in den Speicher.
- C. Die Steuerinformationen werden aus dem Paket oder der Zelle
extrahiert, wenn sie in den Speicher eingeschrieben werden. Die
Verarbeitung der Steuerinformation beginnt unmittelbar. Die Resultate
aus der Verarbeitung werden an den Schleifen-Manager gegeben. Da
die Steuerinformationen aus der Kopfzeile des Pakets/der Zelle extrahiert
werden, wird nur die gewünschte
Information extrahiert. Dies ist typischerweise 4 bis 10 Bytes für jedes
Paket oder jede Zelle. Die Zeitdauer, die benötigt wird, um die Steuerinformation
zu extrahieren, hängt
von der Speicher-Zugriffszeit und der Breite ab. Die Zeit zum Extrahieren
der Steuerinformationen ist ((Y*8)/W)*M, wobei Y die Anzahl von
Bytes ist, die die Steuerinformationen innerhalb der Kopfzeile (typischerweise
4 bis 24 Bytes) überspannt.
Da die Weitergabe-Einrichtung
nicht mit anderen Vorrichtungen konkurrieren muss, treten keine
Verzögerungen
beim Beginn der Verarbeitung der Steuerinformationen ein. Dies führt dazu,
dass die Latenz des gerade empfangenen Pakets/Zelle nicht beaufschlagt
wird.
- D. Die gerade aufgenommene Pufferadresse von Paket/Zelle aus
Port #1 wird Ausgangs-I/O-Modul zugeführt. Am I/dem entsprechenden
O-Modul gibt der Schleifen-Manager die Pufferadresse an die entsprechende
Schleife und extrahiert sie, wenn sie an der Top-Seite der Schleife
auftritt. Die Weitergabe-Resultate
sind typischerweise 4 bis 10 Bytes. Die Zeitdauer, die erforderlich
ist, um die Resultate dem Schleifen-Manager zuzuführen, ist
((Z*8)/R)*S, wobei Z die Länge
der Weitergabe-Resultate ist. R ist die Breite des Bus, der verwendet
wird, um die Resultate aus der FE an den Schleifen-Manager zu senden,
und S ist die Taktgeschwindigkeit des gleichen Bus. Wie zu entnehmen
ist, beeinflusst die Übertragung
von Paketen/Zellen in den/aus dem Speicher nicht den Durchgang der
Weitergabe-Resultate nachteilig. Dies hat keinen Einfluss auf die
Latenz des gerade empfangenen Pakets/der Zelle.
- E. Die unterschiedlichen Schleifen werden gelesen, um zu bestimmen,
welche Schleifen Daten aufweisen, die für die Übertragung verfügbar sind. Dieser
Vorgang besteht aus dem Lesen mehrfacher Schleifen, bis die Pufferadresse
des Pakets/der Zelle aus dem Port #1 zur Übertragung bereit ist. Jedes
Auslesen des Schleifeneingangs beträgt typischerweise 8 bis 12
Bytes. Die Zeitdauer, um die Schleife fortzuschalten, beträgt (F + 1)(((P*8)/R)*S),
wobei F die Anzahl von Schleifen ist, die ausgelesen werden, bevor
das Paket endgültig
ausgeschleift ist. Die Schleifen werden erteilt und die Anzahl von
zu lesenden Schleifen wird auf die Anzahl von Schleifen reduziert,
um das bestimmte I/O-Modul (und nicht das gesamte System) zu stützen. Dadurch
wird die Zeitdauer, die für
eine Abtastung der unterschiedlichen Schleifen erforderlich ist,
reduziert, so dass dies das Erzielen einer Null-Latenz unterstützt. Wie entnommen
werden kann, beeinflusst die Übertragung
von Paketen/Zellen in den/aus dem Speicher das Entschleifen der
Pufferadresse nicht nachteilig. Dies führt dazu, dass die Latenz des gerade
aufgenommenen Pakets/der Zelle nicht beeinflusst wird.
- F. Lesen von Daten aus dem Speicher zur Aufnahme des Ports #2.
Die Zeitdauer zur Übertragung
eines Pakets oder einer Zelle ist gleich ((B*8)/W)*M, wobei B gleich
der Anzahl von Bytes für
das Paket oder die Zelle ist. Wenn das Paket größer ist, wird die Zeitdauer
zum Auslesen aus dem Speicher vergrößert.
-
Wenn eine QOS vorgesehen wird, was,
wie weiter oben ausgeführt,
die Aufrechterhaltung einer Menge von Schleifen pro Port erforderlich
macht, ermöglicht
diese Architektur dem Schleifen-Manager, dass er in N unabhängige Teil-Schleifen-Manager aufgeteilt
wird, wobei jeder Teil-Schleifen-Manager für die Verarbeitung der Schleifen
seines zugeordneten I/O-Moduls zuständig ist. Dies ermöglicht eine einfachere
und billigere Implementation, die maßstabsgetreu umgesetzt werden
kann, wenn die Ports und die Datengeschwindigkeit des Systems erhöht werden,
wobei das System eine Null-Latenz erzielen kann.
-
Wenn eine Multicast-Unterstützung vorgesehen
wird, ergibt diese Architektur nach der Erfindung die optimale Lösung insoferne,
als die minimale Menge an Informationen passieren kann, um Weitergabe- und
Schleifen-Entscheidungen vorzunehmen, so dass einfache und billige
Implementationen verwendet werden können. Da der Schleifen-Manager aus Teil-Schleifen-Managern
besteht, können
die Multicast-Informationen an jeden Teil-Schleifen-Manager gleichzeitig
weitergegeben werden, wodurch ein Konkurrenzbetrieb eliminiert und
eine Null-Latenz erreicht wird.
-
Vorliegende Erfindung ergibt somit
eine optimale Lösung;
um die Latenz so gering wie möglich
zu halten und ferner eine Lösung,
die maßstabsgetreu mit
einer Erhöhung
von Ports und Datengeschwindigkeiten Hand in Hand geht, während nur
einfache und preiswerte Implementationen erforderlich sind.
-
Das mit der Erfindung erreichbare
Endresultat besteht darin, dass die Weitergabe-Einrichtung nicht mit anderen Resourcen
zu konkurrieren braucht, während
die Steuerinformationen eines jeden Pakets/einer jeden Zelle verarbeitet
werden: Da diese Einrichtung nur die Daten innerhalb des eigenen
I/O-Moduls verarbeiten muss, kann sie einfacher und weniger komplex
ausgeführt
werden. Der Schleifen-Manager braucht ebenfalls nicht mit anderen
Resourcen zu konkurrieren, während
die Aufnahme- und Übertragungs-Schleifen
eines jeden Pakets/einer jeden Zelle verarbeitet werden; da er nur
die Daten innerhalb des eigenen I/O-Moduls zu verarbeiten hat, kann
er ebenfalls einfacher und weniger komplex ausgelegt sein.
-
Des weiteren besteht kein Konkurrenzbetrieb
nach der Erfindung zwischen den Daten und den Steuerinformationen,
und Schleifen werden effizient gehandhabt und ergeben ferner eine
Multicast-Unterstützung.
Das Endergebnis besteht in einer Architektur, die die Latenz dramatisch
reduziert. In Verbindung mit der Bandbreiten-Optimierungs-Struktur nach der
gleichlaufenden Anmeldung werden Netzwerke mit optimaler Bandbreite
und minimaler Latenz erzielt.