Die
Erfindung bezieht sich auf eine Schalteinheit für Datenpakete mit mehreren
Eingangsanschlüssen
und mehreren Ausgangsanschlüssen,
die dazu bestimmt ist, eingehende Datenpakete gemäß ihrem
Datenanfangs-Etikett an einen oder mehrere vorgesehene Ausgangsanschlüsse und
von dort an eine nachfolgende Einheit zu übertragen. Die Eingangsanschlüsse der
Schalteinheit sind mit Schaltadaptern verbunden. Insbesondere bezieht
sich die Erfindung auf eine Schalteinheit, die Datenpakete durch
ein Schaltwerk leitet und über
einen Mechanismus verfügt,
der die Verarbeitung von Datenpakete verhindert, falls den Schaltadaptern
eine Überlastsituation
gemeldet wurde. Als Datenpakete sind insbesondere ATM-Zellen oder
auch Ethernet-Datenrahmen zulässig.The
The invention relates to a switching unit for data packets with several
input terminals
and several output terminals,
which is intended to receive incoming data packets according to their
Data header label to one or more intended output terminals and
from there to a subsequent unit to transfer. The input terminals of the
Switching unit are connected to switching adapters. In particular, refers
The invention relates to a switching unit, the data packets through
a derailleur conducts and over
has a mechanism
which prevents the processing of data packets, if the switching adapters
an overload situation
was reported. As data packets are in particular ATM cells or
also Ethernet data frames allowed.
TECHNISCHES
GEBIET UND HINTERGRUND DER ERFINDUNGTECHNICAL
FIELD AND BACKGROUND OF THE INVENTION
Die
schnelle Schaltung von Daten, seien es Abtastwerte von Analogsignalen
oder alphanumerische Daten, stellt eine wichtige Aufgabe in einem
Datenübertragungsnetzwerk
dar. Die Netzwerkknoten, an denen Leitungen oder Übertragungsverbindungen aus
verschiedenen Richtungen zusammenlaufen, um so den Datenaustausch
zwischen ihnen zu ermöglichen,
bilden häufig
die Ursache für
Verzögerungen
bei der Übertragung.
Wenn an einem Knoten ein starker Datenverkehr vorliegt und wenn
insbesondere der Großteil
des Datenverkehrs über
einige wenige Verbindungen läuft,
kommt es häufig
zu vermehrten Verzögerungen
oder sogar zu Datenverlusten. Aus diesem Grund ist es wünschenswert, über Schaltknoten
zu verfügen,
die eine schnelle Wegewahl ermöglichen.The
fast switching of data, be it samples of analog signals
or alphanumeric data, represents an important task in one
Data transmission network
dar. The network nodes on which lines or transmission links off
converge in different directions so as to exchange data
to enable between them
make frequent
the cause of
delays
in the transmission.
If there is heavy traffic on a node and if
especially the majority
traffic over
a few connections are running,
it happens often
to increased delays
or even data loss. For this reason, it is desirable to have switching nodes
to dispose of
which allow a quick routing.
EP 0 312 628 beschreibt
eine Schaltvorrichtung für
die Verbindung einer Vielzahl von ein- und ausgehenden Übertragungsleitungen
eines Datenübertragungsnetzwerks
bzw. für
den Datenaustausch zwischen ein- und ausgehenden Verbindungsleitungen
von Computern und Arbeitsplatzrechnern. Darüber hinaus werden bekannte
Datenpaketformate beschrieben. EP 0 312 628 describes a switching device for the connection of a plurality of incoming and outgoing transmission lines of a data transmission network or for data exchange between incoming and outgoing connection lines of computers and workstations. In addition, known data packet formats are described.
Einen Überblick über die
Schalttechnologie nach dem Stand der Technik gibt die Internetseite www.zurich.ibm.com/Technology/ATM/SWOCPWP, auf
der eine Einführung
zum PRIZMA-Chip gegeben wird. Eine weitere Informationsquelle zu
diesem Thema ist die Veröffentlichung
mit dem Titel „A
flexible shared-buffer switch for ATM at Gbit/s rates" von W.E. Denzel,
A.P.J. Engbersen und I. Iliadis in Computer Networks and ISDN Systems,
(0169-7552/94), Elsevier Science B.V., Bd. 27, Nr. 4, S. 611 bis
624.An overview of the
State-of-the-art switching technology is available at www.zurich.ibm.com/Technology/ATM/SWOCPWP
the an introduction
is given to the PRIZMA chip. Another source of information too
this topic is the publication
entitled "A
flexible shared-buffer switch for ATM at Gbit / s rates "by W. E. Denzel,
A.P.J. Engbersen and I. Iliadis in Computer Networks and ISDN Systems,
(0169-7552 / 94), Elsevier Science B.V., Vol. 27, No. 4, pp. 611 to
624th
Der
PRIZMA-Chip umfasst einen gemeinsam genutzten Ausgangspufferspeicher
und verfügt über 16 Ein-
und 16 Ausgangsanschlüsse,
die eine Anschlussgeschwindigkeit von 300 bis 400 MBit/s bereitstellen.
Das Schaltprinzip besteht darin, dass eingehende Datenpakete zunächst durch
einen vollständig
parallelen E/A-Wegewahlbaum geleitet werden und die weitergeleiteten
Datenpakete anschließend
in den Ausgangspufferspeicher gestellt werden. Zusätzlich verwendet
der Chip eine Trennung zwischen (Nutz-)Datenfluss und Steuerdatenfluss (Datenanfangs-Etiketten).
Nur die Nutzdaten werden in einem Ausgangspufferspeicher mit dynamischer gemeinsamer
Nutzung gespeichert. Der PRIZMA-Chip weist eine skalierbare Architektur
auf und bietet somit eine Vielzahl von Erweiterungsmöglichkeiten,
mit denen die Anschlussgeschwindigkeit, die Anzahl der Anschlüsse und
der Datendurchsatz erhöht
werden können.
Diese Erweiterungen lassen sich auf der Grundlage einer modularen
Nutzung des PRIZMA-Chips umsetzen. Daneben können auch modular aufgebaute
Einstufen- oder Mehrstufen-Schaltwerke erstellt werden.Of the
PRIZMA chip includes a shared output buffer
and has 16 inputs
and 16 output terminals,
which provide a port speed of 300 to 400 Mbps.
The switching principle is that incoming data packets first by
a complete one
parallel I / O routing tree and forwarded ones
Data packets subsequently
placed in the output buffer memory. Additionally used
the chip is a separation between (useful) data flow and control data flow (beginning of data labels).
Only the payload is shared in an output buffer with dynamic common
Usage saved. The PRIZMA chip has a scalable architecture
and thus offers a variety of expansion options,
with which the connection speed, the number of connections and
the data throughput increased
can be.
These extensions can be based on a modular
Implement the use of the PRIZMA chip. In addition, can also be modular
One-stage or multi-stage derailleurs are created.
Der
PRIZMA-Chip eignet sich besonders für die Breitband-Datenfernübertragung
auf der Grundlage von ATM, d.h. Asynchronous Transfer Mode (asynchrones Übermittlungsverfahren).
Allerdings ist das Konzept nicht auf ATM-bezogene Architekturumgebungen
beschränkt.
ATM beruht auf kurzen Datenpaketen mit einer festen Länge, die
häufig
auch als Zellen bezeichnet werden, und ist als integrierter Schalt- und Übertragungsstandard
für das
künftige öffentliche
Breitband-ISDN (Broadband Integrated Services Digital Network) vorgesehen.
Die Topologie und Warteschlangenfunktion des PRIZMA-Chips für den freien
Zugriff mit Kollisionen (Content-Resolution-Zugriffsverfahren)
arbeitet mit einem hohen Grad an Parallelität. Die Wegewahlfunktion erfolgt
auf verteilte Art und Weise auf Hardware-Ebene und wird als Selbst-Wegewahl
bezeichnet. ATM-Datenpakete werden in mehrere Pakettypen unterteilt,
insbesondere in Pakettypen mit unterschiedlichen Nutzdatengrößen, wobei
der PRIZMA-Chip für
die Verarbeitung von Datenpaketen mit einer Nutzdatengröße von bis zu
64 Byte ausgelegt ist. Es werden jedoch häufig auch Datenpakete mit einer
Nutzdatengröße von 12, 16,
32 oder 48 Byte übertragen.Of the
PRIZMA chip is particularly suitable for broadband data transmission
based on ATM, i. Asynchronous Transfer Mode.
However, the concept is not based on ATM-related architecture environments
limited.
ATM is based on short data packets with a fixed length, the
often
also referred to as cells, and is as an integrated switching and transmission standard
for the
future public
Broadband ISDN (Broadband Integrated Services Digital Network) provided.
The topology and queuing feature of the PRIZMA chip for the free one
Access with collisions (Content Resolution access method)
works with a high degree of parallelism. The routing function takes place
in a distributed manner at the hardware level and is called self-routing
designated. ATM data packets are divided into several packet types,
especially in packet types with different payload sizes, where
the PRIZMA chip for
the processing of data packets with a payload size of up to
64 bytes is designed. However, there are often data packets with a
Payload size of 12, 16,
Transmit 32 or 48 bytes.
Wenn
mehrere Datenquellen mit einer einzigen Schalteinheit verbunden
sind, wird jeder der Quellen eine bestimmte Bandbreite zugewiesen,
die nicht oder nur geringfügig überschritten
werden darf, da andernfalls die Leistung der Schalteinheit abnehmen
und es in der Folge zu längeren
Latenzzeiten oder sogar zu Datenverlust kommen würde. Die Datenquellen und hier
insbesondere die Unternehmen, welche die Daten bereitstellen, haben
Vorgaben bezüglich
der Bandbreitennutzung einzuhalten, die in der Regel Strafgebühren nach
sich ziehen, wenn ein Unternehmen die ihm zugewiesene Bandbreite überschreitet.
Es ist Aufgabe der Schalteinheit, die Datenquellen dahingehend gerecht
zu behandeln, dass sie die Datenpakete von denjenigen Datenquellen
verarbeitet, die unterhalb der zugewiesenen Bandbreite bleiben,
und dass sie bei Bedarf lediglich die Verarbeitungsqualität derjenigen
eingehenden Datenpakete verringert, die über die zugewiesene Bandbreite
hinausgehen. Diese so genannte Dienstqualität ist von entscheidender Bedeutung
für die
Befriedigung des Interesses der Kunden, die ein Recht darauf haben, mit
Blick auf ihre Datenpakete gerecht behandelt zu werden. Eine ungerechte
Behandlung kann zu Unzufriedenheit der Kunden und zu finanziellen
Einbußen führen. Um
den bei einer Schalteinheit eingehenden Fluss von Datenpaketen zu
steuern, beschreibt die US-Patentschrift 5 493 566 ein System, mit
dem der Fluss von Datenzellen durch eine Datenpaket-Schalteinheit
sowohl Eingangs- als auch Ausgangspufferspeicher in einer Rückkopplungsschleife vereint.
Der Auslastungsgrad der Ausgangspufferspeicher wird ständig überwacht
und an eine Zugriffseinheit auf der Eingangsseite der Schalteinheit übermittelt.
Die Zugriffseinheit beinhaltet Eingangspufferspeicher und eine Drosselungseinheit,
um den Fluss der Datenzellen zu stoppen und sie in den Eingangspufferspeichern
zurückzuhalten,
wenn der Auslastungsgrad der Ausgangspufferspeicher einen vorgegebenen
Stand übersteigt.
Dabei wird eine Statusmeldung zum Auslastungsgrad der Ausgangspufferspeicher
mit einer Zugriffsnachricht verglichen, die angibt, welche Ausgangspufferspeicher
von Zellen in den Eingangspufferspeichern adressiert werden, und nur
die Zellen, die an Ausgangspufferspeicher mit einem zu hohen Auslastungsgrad
adressiert sind, werden von der Drosselungseinheit gestoppt.If multiple data sources are connected to a single switching unit, each of the sources will be assigned a certain bandwidth, which may not be exceeded, or only slightly exceeded, otherwise the switching unit's power will decrease, resulting in longer latency or even data loss. The data sources, and in particular the companies providing the data, must adhere to bandwidth usage standards, which typically result in penalties if a company over-distributes its allocated bandwidth below. It is the task of the switching unit to treat the data sources as processing the data packets from those data sources that remain below the allocated bandwidth and, if necessary, only reducing the processing quality of those incoming data packets that exceed the allocated bandwidth. This so-called quality of service is crucial to satisfying the interests of customers who have a right to be fairly treated with regard to their data packets. Unfair treatment can lead to customer dissatisfaction and financial loss. In order to control the flow of data packets arriving at a switching unit, US Patent 5,493,566 describes a system whereby the flow of data cells through a data packet switching unit combines both input and output buffers in a feedback loop. The degree of utilization of the output buffer memory is constantly monitored and transmitted to an access unit on the input side of the switching unit. The access unit includes input buffer memory and a throttling unit for stopping the flow of data cells and retaining them in the input buffers when the utilization rate of the output buffer memory exceeds a predetermined level. A status indication of the utilization level of the output buffers is compared with an access message indicating which output buffers are addressed by cells in the input buffers, and only the cells addressed to output buffers with too high a load are stopped by the throttling unit.
„Random
Early Detection Gateways for Congestion Avoidance" von S. Floyd et.
al., IEEE Transactions on Networking, August 1993, Bd. 1, Nr. 4, Seiten
397 bis 413, offenbart, wie der Verbindungsrechner eine unmittelbar
bevorstehende Überlastsituation
erkennt, indem er die durchschnittliche Größe der Warteschlange berechnet.
Dabei kann der Verbindungsrechner Verbindungen von einer Überlastsituation
unterrichten, indem er entweder bei ihm eingehende Datenpakete löscht oder
indem er in den Datenanfangs-Etiketten der Datenpakete ein Bit setzt.
Wenn die Durchschnittsgröße der Warteschlange
einen vorbestimmten Grenzwert überschreitet,
löscht
bzw. markiert der Verbindungsrechner jedes eingehende Datenpaket
mit einer bestimmten Wahrscheinlichkeit, wobei der genaue Grad der Wahrscheinlichkeit
eine Funktion der durchschnittlichen Warteschlangengröße ist."Random
Early Detection Gateways for Congestion Avoidance "by S. Floyd et.
al., IEEE Transactions on Networking, August 1993, Vol. 1, No. 4, pp
397-413, discloses how the connection computer directly
imminent overload situation
recognizes by calculating the average size of the queue.
In this case, the connection computer connections from an overload situation
teach by either deleting incoming data packets or
by setting a bit in the data start labels of the data packets.
If the average size of the queue
exceeds a predetermined limit,
clears
or the connection computer marks each incoming data packet
with a certain probability, with the exact degree of probability
is a function of the average queue size.
AUFGABE UND
VORTEILE DER ERFINDUNGTASK AND
ADVANTAGES OF THE INVENTION
Die
Drosselungseinheit gemäß dem zuletzt erwähnten Stand
der Technik ist derjenige Teil des Schaltadapters, welcher die Geschwindigkeit
der an die Schalteinheit selbst gesendeten Datenpakete steuert.
Die Schalteinheit verfügt über keinen
Mechanismus für
die Handhabung eines Adapters, der den Fluss der Datenpakete aus
einem wie auch immer gearteten Grund nicht gemäß dem mitgeteilten Auslastungsgrad
des Ausgangspufferspeichers drosselt.The
Throttling unit according to the last-mentioned state
The technique is that part of the switching adapter that controls the speed
the data packets sent to the switching unit itself controls.
The switching unit has none
Mechanism for
the handling of an adapter that controls the flow of data packets
a reason whatsoever not in accordance with the reported utilization rate
of the output buffer.
Eine
Aufgabe der Erfindung gemäß Anspruch
1 und 9 besteht in der Bereitstellung einer Schalteinheit bzw. eines
Verfahrens, die/das in der Lage ist, mit Schaltadaptern, die fehlerhaft
sind oder aus anderweitigen Gründen
trotz Gegendruck weiterhin Datenpakete senden, umzugehen, um so
allen verbundenen Datenquellen eine gerechte Behandlung und Dienstqualität anbieten
zu können.A
Object of the invention according to claim
1 and 9 is to provide a switching unit or a
Method that is capable of using circuit adapters that are faulty
or for any other reason
despite counterpressure, data packets continue to send, so to speak
offer fair treatment and quality of service to all linked data sources
to be able to.
ZUSAMMENFASSUNG
DER ERFINDUNGSUMMARY
THE INVENTION
Die
Erfindung bezieht sich auf eine Schalteinheit mit mehreren Eingangsanschlüssen und mehreren
Ausgangsanschlüssen,
wobei jeder Eingangsanschluss mit einem entsprechenden Schaltadapter
verbunden ist. Mindestens eine Schaltsteuereinheit steuert die Weiterleitung
der eingehenden Datenpakete von den Eingangs- zu den Ausgangsanschlüssen. Eine Überlaststeuereinheit
ist für
jeden Ausgangsanschluss so gestaltet, dass sie während ihres Betriebs Daten
in Form von Gegendruckdaten bereitstellt, die melden, ob die Schaltadapter
eines der Datenpakete über
den Eingangsanschluss an den Ausgangsanschluss senden dürfen. Für den Fall,
dass trotz nicht erteilter Erlaubnis zum Senden des Datenpakets
ein Datenpaket an dem Eingangsanschluss empfangen wird, ist für jeden
der Eingangsanschlüsse
eine Datenpaket-Zugriffsteuereinheit
in Betrieb, die so ausgelegt ist, dass sie das Datenpaket als nichtregelgerecht
kennzeichnet, wobei die Schalteinheit so ausgelegt ist, dass sie
die Kennzeichnung verwendet, um die gekennzeichneten Datenpakete
zu löschen.
Mit dieser Kennzeichnung kann die Weiterleitung des Datenpakets
verhindert werden. Die Kennzeichnung als nichtregelgerecht übernimmt
eine Datenpaket-Zugriffsteuereinheit, die der Schalteinheit zugehörig ist.
Vorzugsweise wird die Latenzzeit der Datenflusssteuerung, d.h. die
Zeitspanne zwischen dem Zeitpunkt, zu dem die Erlaubnisverweigerung
an der Datenpaket-Zugriffsteuereinheit
empfangen wurde, und dem Zeitpunkt, zu dem das erste Datenpaket
möglicherweise
gesendet wurde, nachdem der Schaltadapter über die Erlaubnisverweigerung
unterrichtet wurde, von der Datenpaket-Zugriffsteuereinheit berücksichtigt.The
The invention relates to a switching unit having a plurality of input terminals and a plurality
Output terminals,
each input terminal having a corresponding switching adapter
connected is. At least one shift control unit controls the forwarding
the incoming data packets from the input to the output ports. An overload control unit
is for
Each output connector is designed to receive data during its operation
in the form of backpressure data that will report if the switching adapters
one of the data packets over
may send the input terminal to the output terminal. In the case,
that despite not granted permission to send the data packet
a data packet is received at the input port is for each
the input terminals
a data packet access control unit
in operation, which is designed to make the data packet as non-compliant
characterized in that the switching unit is designed so that they
the tag used to identify the tagged data packets
to delete.
With this marking, the forwarding of the data packet
be prevented. The marking as non-regular takes over
a data packet access control unit associated with the switching unit.
Preferably, the latency of the data flow control, i. the
Time between the time when the permission refusal
at the data packet access control unit
was received, and the time at which the first data packet
possibly
was sent after the switching adapter about the permission refusal
was taken into account by the data packet access control unit.
In
einem Schema mit Eingangspufferspeichern und einem gemeinsamen Ausgangspufferspeicher
kann die Erfindung wie folgt realisiert sein: Für die Ausgangswarteschlangen
und/oder den gemeinsamen Ausgangspufferspeicher wird ein Erlaubnismittel
in Form einer Überlaststeuereinheit
bereitgestellt, die den Eingangspufferspeichern mitteilt, dass ein
Grenzwert für
die belegten Speicherplätze
in einer oder mehreren der Ausgangswarteschlangen bzw. für die belegten
Adressen in dem gemeinsamen Ausgangspufferspeicher überschritten
ist. Die vorgesehene Reaktion der Eingangspufferspeicher auf diesen
Gegendruck wird durch die Datenpaket-Zugriffsteuereinheit gewährleistet,
welche die Datenpakete, die trotz des erzeugten Gegendrucks in Form negativer
Erlaubnisdaten eingehen, als nichtregelgerecht kennzeichnet. Die
Reihenfolgedaten eines Rundsende-Datenpakets können in jeder der Ausgangswarteschlangen
für die
Ausgangsanschlüsse eingegeben
werden, die dieses Rundsende-Datenpaket
erreichen soll, und deren Adresse kann von der Adressverwaltungseinheit
erst dann für
ein anderes Datenpaket freigegeben werden, nachdem alle Reihenfolgedaten
des Rundsende-Datenpakets von der Ausgangs-Wegewahleinheit erfolgreich
verarbeitet wurden.In a scheme with input buffers and a common output buffer, the invention can be implemented as follows: For the output queues and / or the common output buffer, a permission means in the form of an overload control unit is provided, which notifies the input buffers a limit has been exceeded for the occupied memory locations in one or more of the output queues or for the occupied addresses in the common output buffer memory. The envisaged response of the input buffer memory to this back pressure is ensured by the data packet access control unit, which identifies the data packets which are received in the form of negative permission data in spite of the generated back pressure as non-regular. The order data of a broadcast data packet may be entered in each of the output ports for the output ports that this broadcast data packet is to reach, and its address may be released by the address management unit for another data packet only after all the sequence data of the broadcast data packet from the Output routing unit were successfully processed.
Die
Zieldaten des Datenpakets können
aus dem Inhalt der Datenpakete abgeleitet werden. Bei Datenpaketen
mit unterschiedlichen Verarbeitungsprioritäten kann für jede Prioritätsklasse
und für
jeden Ausgangsanschluss eine eigene Eingangswarteschlange bereitgestellt
werden.The
Target data of the data packet can
derived from the content of the data packets. For data packages
with different processing priorities can for each priority class
and for
each output port has its own input queue
become.
Es
ist von Vorteil, die Datenpakete an jedem Eingangsanschluss gemäß den Ausgangsanschlüssen, welche
die Datenpakete als Ziel haben, in Eingangswarteschlangen eines
Eingangspufferspeichers zu sortieren, der mindestens so viele Eingangswarteschlangen
umfasst, wie die Schalteinheit Ausgangsanschlüsse aufweist, und die Datenpakete von
den Eingangswarteschlangen der zugehörigen Eingangspufferspeicher
an die Wegewahleinheit zu multiplexen. Bei der Anordnung einer Wegewahleinheit
mit Ausgangspufferspeichern kann für jeden Eingangsanschluss eine
unabhängige
Steuereinheit verwendet werden, wobei die Reihenfolge der Datenpakete
gemultiplext wird, und die Datenpakete gemäß den Datenpaket-Zieldaten über die
Wegewahleinheit und mindestens einen Ausgangspufferspeicher an mindestens
einen der zweckbestimmten Ausgangsanschlüsse weiterzuleiten.It
It is advantageous to have the data packets at each input port according to the output ports which
have the data packets as destination in input queues of a
To sort input buffer that has at least as many input queues
includes how the switching unit has output terminals, and the data packets of
the input queues of the associated input buffer
to multiplex to the Wegewahleinheit. In the arrangement of a Wegewahleinheit
with output buffers can be for each input terminal a
independent
Control unit used, the order of the data packets
is multiplexed, and the data packets according to the data packet destination data on the
Weighing unit and at least one output buffer at least
forward one of the dedicated output ports.
BESCHREIBUNG
DER ZEICHNUNGENDESCRIPTION
THE DRAWINGS
Beispiele
der Erfindung sind in den Zeichnungen dargestellt und im Folgenden
beispielhaft und ausführlich
beschrieben. Dabei zeigtExamples
The invention is illustrated in the drawings and in the following
exemplary and detailed
described. It shows
1 eine
Anordnung mit einer Kreuzschienenschalteinheit mit virtueller Ausgangsspeicherung, 1 an arrangement with a crossbar switch unit with virtual output storage,
2 eine
Ausführungsform
einer Datenpaket-Zugriffsteuereinheit, 2 an embodiment of a data packet access control unit,
3 eine
auf einer Wegewahleinheit beruhende Schaltanordnung mit einzelnen
Ausgangspufferspeichern, 3 a switching arrangement based on a selection unit with individual output buffer memories,
4 eine
auf einer Wegewahleinheit beruhende Schaltanordnung mit einem gemeinsam
genutzten Ausgangspufferspeicher. 4 a switch assembly having a shared output buffer based on a select unit.
Zur
besseren Übersichtlichkeit
sind sämtliche
Figuren weder mit ihren realen Abmessungen dargestellt, noch entsprechen
die Größenverhältnisse
zwischen den einzelnen Abmessungen einem realitätsgetreuen Maßstab.to
better clarity
are all
Figures neither represented nor correspond with their real dimensions
the proportions
between the individual dimensions a realistic scale.
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNGDETAILED
DESCRIPTION OF THE INVENTION
Im
Folgenden werden die verschiedenen beispielhaften Ausführungsformen
der Erfindung beschrieben.in the
Following are the various exemplary embodiments
of the invention.
1 zeigt
eine Schalteinheit 10 mit Eingangspufferspeicher für die Verarbeitung
von Datenpaketen. Die bei der Schalteinheit 10 eingehenden Datenpakete
enthalten Daten, die übertragen
werden müssen
(auch als Nutzdaten bezeichnet), sowie ein Datenanfangs-Etikett
des Datenpakets, das verschiedene Informationen zu dem Datenpaket
beinhaltet, z.B. den Pakettyp, eine Integritätsprüfsumme und die Zieladresse
dieses Datenpakets, die auch als Zieldaten des Datenpakets bezeichnet
wird. 1 shows a switching unit 10 with input buffer for processing data packets. The at the switching unit 10 incoming data packets contain data that must be transmitted (also referred to as payload data) and a header of the data packet that contains various information about the data packet, eg the packet type, an integrity checksum and the destination address of this data packet, which is also the target data of the data packet referred to as.
Die
Anordnung umfasst eine Schalteinheit 10 wie beispielsweise
eine Kreuzschienenschalteinheit mit einer Anzahl N von Eingangsanschlüssen 20 und
einer Anzahl N von Ausgangsanschlüssen 30. An jedem
Eingangsanschluss 20 befindet sich ein Schaltadapter 19,
der einen in Form einer FIFO-Warteschlange
ausgeführten
Eingangspufferspeicher 11 umfasst, welche auch als „IB" (input buffer) kenntlich gemacht
ist. Jeder Schaltadapter 19 ist mit einer entsprechenden
Adaptereingangsleitung 50 verbunden. Die Eingangspufferspeicher 11 sind
jeweils in eine Vielzahl von Eingangswarteschlangen 12 aufgeteilt, wobei
jeder Eingangspufferspeicher 11 für jeden Ausgangsanschluss 30 genau
eine derartige Eingangswarteschlange 12 aufweist. Somit
umfasst hier jeder Eingangspufferspeicher 11N Eingangswarteschlangen 12.
In jeder dieser Eingangswarteschlangen 12 eines Eingangspufferspeichers 11 werden
die an einen bestimmten Ausgangsanschluss 30 gerichteten
eingehenden Datenpakete gespeichert. Somit werden die eingehenden
Datenpakete in jedem Eingangspufferspeicher 11 gemäß ihrem
Ziel-Ausgangsanschluss 30 sortiert. Aus diesem Grund umfasst
der Schaltadapter 19 einen Verteiler 27, der die an
den Adaptereingangsleitungen 50 eingehenden Datenpakete
gemäß ihrem
Ziel auf die Eingangswarteschlangen 12 verteilt. Auf der
Ausgangsseite der Eingangswarteschlangen 12 verbindet eine
Wahleinheit 26 zu einem bestimmten Zeitpunkt die betreffende
Eingangswarteschlange 12, die zu diesem Zeitpunkt ein Datenpaket
an die Schalteinheit 10 übertragen darf.The arrangement comprises a switching unit 10 such as a crossbar switch unit with a number N of input terminals 20 and a number N of output terminals 30 , At each input connection 20 there is a switching adapter 19 of the input buffer memory executed in the form of a FIFO queue 11 which is also identified as "IB" (input buffer) 19 is with a corresponding adapter input line 50 connected. The input buffers 11 are each in a variety of input queues 12 split, with each input buffer 11 for each output connection 30 exactly one such input queue 12 having. Thus, here includes each input buffer memory 11N input queues 12 , In each of these input queues 12 an input buffer 11 will be sent to a specific output port 30 directed incoming data packets. Thus, the incoming data packets in each input buffer 11 according to their destination output terminal 30 sorted. For this reason, the switching adapter includes 19 a distributor 27 which is the one on the adapter input lines 50 incoming data packets according to their destination on the inbound queues 12 distributed. On the output side of the input queues 12 connects a voting unit 26 at a given time the relevant input queue 12 that at this time point a data packet to the switching unit 10 may transfer.
Alle
Schaltadapter 19 sind mit einer gemeinsam genutzten Steuereinheit 25 verbunden,
die auch als „C" (control unit) gekennzeichnet
und wiederum mit der Schalteinheit 10 verbunden ist. Die
Steuereinheit 25 hat zur Aufgabe, die Datenpakete, die über die
Adaptereingangsleitungen 50 eingehen und an einem oder
mehreren der Ausgangsanschlüsse 30 eingehen
sollen, an diese Ausgangsanschlüsse 30 weiterzuleiten.
Von den Ausgangsanschlüssen 30 können diese
Datenpakete nachfolgenden Einheiten bereitgestellt werden, bei denen
es sich um weitere Schalteinheiten oder um Empfangseinheiten usw. handeln
kann.All switching adapters 19 are with a shared control unit 25 connected, which is also marked as "C" (control unit) and turn with the switching unit 10 connected is. The control unit 25 has the task of sending the data packets through the adapter input lines 50 and at one or more of the output terminals 30 are to go to these output terminals 30 forward. From the output terminals 30 For example, these data packets may be provided to downstream units, which may be other switching units or receiving units, etc.
Diese
Anordnung sieht eine so genannte „First buffer then switch"-Funktion vor, bei
der, wenn ein eingehendes Datenpaket nicht sofort an den Ausgangsanschluss 30 weitergeleitet
werden kann, für den
es vorgesehen ist, da dieser Ausgangsanschluss 30 bereits
mit dem Empfangen eines anderen Datenpakets beschäftigt ist,
das eingehende Datenpaket so lange in dem betreffenden Eingangspufferspeicher 11 zurückgehalten
wird, bis der Pfad, den dieses Datenpaket durch die Schalteinheit 10 nehmen muss,
frei ist. Dabei übernimmt
die Steuereinheit 25 die Aufgabe, die notwendigen Verbindungen
gemäß den Datenpaket-Zieldaten,
die in jedem Datenanfangs-Etikett eines Datenpakets enthalten sind,
zwischen den Eingangsanschlüssen 20 und
den Ausgangsanschlüssen 30 bereitzustellen
und den Eingangspufferspeichern 11 mitzuteilen, wenn der
Pfad für
das nächste
Datenpaket in dem betreffenden Eingangspufferspeicher 11 frei
ist, so dass dieses Datenpaket aus dem Eingangspufferspeicher 11 entnommen
und an sein Ziel, d.h. den Ziel-Ausgangsanschluss 30, gesendet
werden kann.This arrangement provides a so-called "first buffer then switch" function in which, when an incoming data packet is not immediately connected to the output port 30 for which it is intended, since this output terminal 30 is already busy receiving another data packet, the incoming data packet as long in the respective input buffer memory 11 is held back until the path that this data packet through the switching unit 10 must take, is free. The control unit takes over 25 the task of providing the necessary connections between the input ports in accordance with the data packet destination data contained in each data header of a data packet 20 and the output terminals 30 to provide and the input buffer 11 tell if the path for the next data packet in the respective input buffer 11 is free, so this data packet from the input buffer memory 11 taken and to its destination, ie the destination output terminal 30 , can be sent.
Wenn
das Datenanfangs-Etikett des an einen bestimmten Ausgangsanschluss 30 gerichteten Datenpaktes
blockiert ist, da dieser Ausgangsanschluss 30 zu diesem
Zeitpunkt mit einem anderen Datenpaket beschäftigt ist, können bei
dieser Anordnung nur diejenigen Datenpakete durch ein Datenpaket
an erster Stelle der Warteschlange blockiert werden, die für denselben
Ausgangsanschluss 30 vorgesehen sind, während für einen anderen Ausgangsanschluss 30 vorgesehene
Datenpakete unabhängig davon
verarbeitet und an die Schalteinheit 10 weitergeleitet
werden können,
wenn der Pfad zu ihrem Ziel-Ausgangsanschluss 30 nicht
belegt ist. In der Theorie ergibt dies eine ideale Leistungskurve
mit einem theoretischen Höchstdurchsatz
von 100 %. Ein realistischer Ansatz zur Verwendung der beschriebenen
Anordnung führt
zu der praxisbezogenen Empfehlung, diese Schalteinheit 10 mit
höchstens
40 bis 50 % des maximal möglichen
Datenpaketverkehrs zu belasten, da über diesen Bereich hinaus die
Kurve, die das Verhältnis
von Verzögerung
gegenüber
Last beschreibt, immer steiler wird, was bedeutet, dass eine kleine
Laststeigerung zu einer großen
Zunahme der Verzögerung
bzw. des genutzten Eingangspufferspeicherplatzes führt. Da
die starke Abhängigkeit
der Verzögerung
von der Last bei realen Anwendungen nicht erwünscht ist, ergibt sich eine
bevorzugte Nutzung der Schalteinheit 10 im flachen Bereich
der Verzögerung-Last-Kurve.
Dies hat folgende Bedeutung: Eine Kreuzschienenschalteinheit 10 mit
16 Eingangs-/Ausgangsanschlüssen und
einer Anschlussgeschwindigkeit von 1 Gigabit pro Sekunde (GBit/s) kann
angesichts dieser Beschränkung
keinen Datenverkehr von insgesamt 16 × 1 GBit/s, sondern lediglich
40 bis 50 % davon, d.h. 6,5 bis 8 GBit/s, verarbeiten.If the header of the data to a specific output port 30 directional data packet is blocked because this output port 30 at this time is busy with another data packet, with this arrangement, only those data packets can be blocked by a data packet in the first queue of the same output port 30 are provided while for another output terminal 30 provided data packets processed independently of it and to the switching unit 10 can be forwarded when the path to its destination output port 30 is not occupied. In theory, this gives an ideal performance curve with a theoretical maximum throughput of 100%. A realistic approach to using the arrangement described leads to the practice-related recommendation, this switching unit 10 with at most 40 to 50% of the maximum possible data packet traffic, since beyond this range the curve describing the ratio of delay to load becomes steeper and steeper, which means that a small increase in load leads to a large increase of the delay used input buffer space leads. Since the strong dependence of the delay on the load is not desirable in real applications, there is a preferred use of the switching unit 10 in the flat area of the deceleration-load curve. This has the following meaning: A crossbar switch unit 10 with 16 input / output ports and a connection speed of 1 gigabit per second (Gbps) can not face a total of 16 × 1 Gbit / s, but only 40-50% of it, ie 6.5-8 Gbit / s, given this restriction. s, process.
Außerdem steigt
bei einem endlichen Speicherplatz des Eingangspufferspeichers 11 die
Wahrscheinlichkeit eines Datenverlusts, da sich der Eingangspufferspeicherplatz
aufgrund einer Blockierung füllen
kann und die eingehenden Datenpakete verloren gehen, sobald der
Eingangspufferspeicher 11 voll ist. Diese Wahrscheinlichkeit
nimmt auch mit Rundsende-Datenpaketen zu.It also increases with a finite storage space of the input buffer 11 the likelihood of data loss because the input buffer space may fill due to a stall and the incoming data packets will be lost once the input buffer 11 is full. This probability also increases with broadcast data packets.
Um
im Falle einer Überlastsituation
durch blockierte Datenpakete einen Datenverlust zu vermeiden, wird
ein als Erlaubnismechanismus bezeichneter Datenflusssteuerungsmechanismus
für die
Datenpakete hinzugefügt,
dessen Ausführung
einer nicht abgebildeten Überlaststeuereinheit
obliegt, die Erlaubnisdaten GR (grant information) erzeugt, welche
von einem beliebigen Ausgangsanschluss 30 an die Steuereinheit 25 ausgegeben
werden, die wiederum diese Erlaubnisdaten GR auf alle Eingangspufferspeicher 11 verteilt.
Die Erlaubnisdaten GR können
zwei Zustände
aufweisen: „Erlaubnis
erteilt", d.h. die
Eingangspufferspeicher 11 können Datenpakete senden, oder „Erlaubnis
nicht erteilt",
d.h. die Eingangspufferspeicher 11 dürfen keine Datenpakete mehr
senden. Beim Zustand „Erlaubnis
erteilt" spricht
man von positiven Erlaubnisdaten GR, beim Zustand „Erlaubnis
nicht erteilt" von
negativen Erlaubnisdaten GR. Die negativen Erlaubnisdaten GR teilen
dem Eingangspufferspeicher 11 mit, dass der Ausgangsanschluss 30,
der die negativen Erlaubnisdaten GR ausgegeben hat, keine eingehenden
Datenpakete mehr empfangen kann und dass die Eingangspufferspeicher 11 daher
so lange keine weiteren Datenpakete an den betreffenden Ausgangsanschluss 30 senden
sollen, bis neu ausgegebene positive Erlaubnisdaten GR den Eingangspufferspeichern 11 mitteilen,
dass das Senden der Datenpakete wieder aufgenommen werden kann.
Dabei werden die Erlaubnisdaten GR hier von einer Überlaststeuereinheit 60 ausgegeben,
wobei für
jeden Ausgangsanschluss 30 eine derartige Einheit vorgesehen
ist. Sobald ein Zustand vorliegt, der von der Überlaststeuereinheit 60 als Überlauf
oder Überlastsituation
ausgelegt wird, schaltet die Überlaststeuereinheit 60 von den
positiven Erlaubnisdaten GR auf die negativen Erlaubnisdaten GR
um. Sobald die Überlaststeuereinheit 60 erkennt,
dass die Überlastsituation
bzw. der Überlauf
nicht mehr gegeben sind, schaltet sie wieder von den negativen Erlaubnisdaten
GR auf die positiven Erlaubnisdaten GR um. Abhängig von der Ausgestaltung
und einer Sicherheitsmarge liegt der Grenzwert für die Umschaltung in der Regel
unter dem maximalen Auslastungsgrad. Für das Hin- und Herschalten können zwei verschiedene Grenzwerte verwendet
werden, so dass sich eine Umschalthysterese ergibt.In order to avoid data loss in the event of an overload situation due to blocked data packets, a data flow control mechanism is added for the data packets executed by a non-mapped overload control unit generating grant data GR (grant information) originating from any output port 30 to the control unit 25 which in turn outputs this permission data GR to all input buffers 11 distributed. The permission data GR may have two states: "granted permission", ie the input buffers 11 can send data packets or "do not grant permission", ie the input buffers 11 may no longer send data packets. In the state "permission granted", one speaks of positive permission data GR, in the state "permission not granted" of negative permission data GR. The negative permission data GR inform the input buffer 11 with that the output terminal 30 which has issued the negative permission data GR, can no longer receive incoming data packets, and that the input buffer memories 11 Therefore, no further data packets to the respective output connection 30 until newly issued positive permission data GR is to be sent to the input buffer 11 notify that the sending of the data packets can be resumed. Here, the permission data GR here from an overload control unit 60 output, with each output terminal 30 such a unit is provided. Once a condition exists, that of the overload control unit 60 as overflow or overload situation is set, the overload control unit switches 60 from the positive permission data GR to the negative permission data GR. Once the overload control unit 60 recognizes that the overload situation or the overflow are no longer present, it switches again from the negative permission data GR to the positive permission data GR. Depending on the configuration and a safety margin, the limit value for the changeover is generally below the maximum utilization level. Two different limit values can be used for toggling, resulting in a switching hysteresis.
Die
Schalteinheit 10 umfasst für jeden Eingangsanschluss 20 eine
Datenpaket-Zugriffsteuereinheit 40, die für den betreffenden
Eingangsanschluss 20 auch die Erlaubnisdaten GR empfängt. Die
Aufgabe der Datenpaket-Zugriffsteuereinheit 40 besteht
darin sicherzustellen, dass Datenpakete, die trotz der an den Eingangspufferspeicher 11 gesendeten
negativen Erlaubnisdaten GR beim Eingangspufferspeicher 11 eingehen,
erkannt werden. Ihre Verarbeitung kann dann von der Schalteinheit 10 verwehrt werden.
Diese Datenpakete werden in der Folge als nichtregelgerecht eingestuft
und entsprechend gekennzeichnet.The switching unit 10 includes for each input port 20 a data packet access control unit 40 for the relevant input connection 20 also the permission data GR receives. The task of the data packet access control unit 40 is to make sure that packets are sent to the input buffer despite the fact 11 sent negative permission data GR at the input buffer 11 to be recognized. Their processing can then be done by the switching unit 10 be denied. These data packets are subsequently classified as non-regular and marked accordingly.
Dieser
Fall kann eintreten, wenn beispielsweise der Schaltadapter 19 fehlerhaft
ist und daher nicht auf die negativen Erlaubnisdaten GR anspricht. Wenn
die gekennzeichneten Datenpakete gelöscht werden, stellt der Steuermechanismus
der Datenpaket-Zugriffsteuereinheit 40 sicher, dass trotz
eines derartigen Fehlverhaltens das Verfahren für den Datenpaketverkehr eingehalten
wird und dass somit nur regelgerechte Datenpakete verarbeitet, d.h.
an ihren Ziel-Ausgangsanschluss 30 übertragen werden. Wenn dies
nicht der Fall wäre,
würde die
Schalteinheit 10 Datenpakete verarbeiten, die dem Verfahren für den Datenpaketverkehr
nicht entsprechen, was sich nachteilig auf die Bandbreite auswirken
würde, die
denjenigen Schaltadaptern 19 zur Verfügung steht, die das Verfahren
für den
Datenpaketverkehr einhalten. Um die Dienstqualität für alle Schaltadapter 19 bzw.
die Anwender, welche die Datenpakete über die Schaltadapter 19 senden,
zu gewährleisten, muss
das Verfahren für
den Datenpaketverkehr eingehalten werden.This case may occur if, for example, the switching adapter 19 is erroneous and therefore does not respond to the negative permission data GR. When the tagged data packets are cleared, the control mechanism provides the data packet access control unit 40 sure that despite such a misconduct the procedure for the data packet traffic is complied with and that thus only regular data packets are processed, ie to their destination output port 30 be transmitted. If this were not the case, the switching unit would 10 Process data packets that do not conform to the packet packet method, which would adversely affect the bandwidth of those switch adapters 19 available that comply with the data packet transport procedure. To the quality of service for all switching adapters 19 or the users, who the data packets via the switching adapter 19 ensure that the procedure for data packet traffic is respected.
In
dieser Phase dient die Datenpaket-Zugriffsteuereinheit 40 zur
Einstufung von Datenpaketen, indem sie nichtregelgerechte Datenpakete
erkennt. Die Erkennung kann dann zu verschiedenen Zwecken genutzt
werden: Die Tatsache, dass nichtregelgerechte Datenpakete eingegangen
sind, kann dem betreffenden Schaltadapter 19 oder einer
anderen Einheit mitgeteilt werden, der bzw. die somit davon unterrichtet
wird, dass etwas nicht wie vorgesehen funktioniert. Die Datenpaket-Zugriffsteuereinheit 40 übernimmt
somit die Aufgabe eines Diagnosesystems, und anhand der erkannten
Fehlfunktion eines Schaltadapters 19 kann dieser Schaltadapter 19 ausgetauscht
oder repariert werden. In einer Unternehmensumgebung, in der für die Bandbreite
bezahlt wird, können
dem Eigentümer
des fehlerhaften Schaltadapters die Kosten für die sich daraus ergebende übermäßige Bandbreitennutzung
in Rechnung gestellt werden. Die gekennzeichneten Datenpakete sollten
vorzugsweise gelöscht
werden, um zu verhindern, dass zusätzliche Latenzzeiten beim Durchsatz entstehen
oder die Verarbeitung regelgerechter Datenpakete verweigert wird.
Die Verwendung der Kennzeichnung wird durch die Programmierung bzw. die
Ausführungsart
der Schalteinheit 10 bestimmt. Die Schalteinheit kann damit
so ausgelegt sein, dass nichtregelgerechte Datenpakete automatisch
gelöscht
werden. Außerdem
kann die Datenübertragung
zu dem fehlerhaften Schaltadapter 19 oder zu einer Einheit,
die weiter netzaufwärts
von dem Schaltadapter 19 angeordnet ist, erfolgen. Um zu entscheiden,
ob ein Datenpaket verarbeitet oder gelöscht werden soll, umfasst die
Schalteinheit eine nicht abgebildete Flusssteuereinheit, welche
die Flusssteuerung durchführt.In this phase, the data packet access control unit is used 40 to classify data packets by detecting non-compliant data packets. The detection can then be used for various purposes: The fact that non-regular data packets are received, the respective switching adapter 19 or any other entity that is informed that something is not working as intended. The data packet access control unit 40 thus assumes the task of a diagnostic system, and based on the detected malfunction of a switching adapter 19 can this switching adapter 19 be replaced or repaired. In an enterprise environment where bandwidth is being paid, the owner of the faulty switch adapter may be charged for the resulting excessive bandwidth usage. The tagged data packets should preferably be cleared to prevent additional latency in throughput or deny processing of legitimate data packets. The use of the marking is determined by the programming or the type of implementation of the switching unit 10 certainly. The switching unit can thus be designed so that irregular data packets are automatically deleted. In addition, the data transmission to the faulty switching adapter 19 or to a unit further upstream of the switch adapter 19 is arranged take place. In order to decide whether to process or erase a data packet, the switching unit includes a non-mapped flow control unit that performs the flow control.
Da
der Teil des Datenanfangs-Etiketts eines Datenpakets, der das Ziel
des Datenpakets angibt, nach dem Eingang des Datenpakets am Ausgangsanschluss 30 nicht
mehr benötigt
wird, kann dieser Speicherplatz zur Aufnahme der Erlaubnisdaten
GR dienen. Dabei ist der Speicherplatz so groß, dass nicht nur die Erlaubnisdaten
GR für
einen einzigen Ausgangsanschluss 30, sondern die Erlaubnisdaten GR
für alle
Ausgangsanschlüsse 30 in
dem Datenanfangs-Etikett eines einzigen Datenpakets darin Platz finden.
So kann für
jeden Eingangsanschluss 20 ein einziges Bit für den Status
der entsprechenden Erlaubnisdaten GR stehen. Dabei enthält das Datenanfangs-Etikett
des Datenpakets eine Einzelbitdarstellung, die den Erlaubniszustand
aller Eingangsanschlüsse 20 zeigt.
Denkbar ist auch, dass zusätzlich zum
Zustand „Erlaubnis
erteilt/nicht erteilt" der
Erlaubnisdaten GR weitere Daten, die in Zusammenhang mit den Erlaubnisdaten
GR stehen, erzeugt und übertragen
werden. So können
die Erlaubnisdaten GR von verschiedenen Grenzwerten abhängig sein, die
unter Umständen
realisiert sind. Die erzeugten und in das Datenanfangs-Etikett gestellten
Daten können
dann auch in einem codierten Binärformat den
Grenzwert enthalten, der von der Anzahl der in der Warteschlange
befindlichen Datenpaketen überschritten
wurde, wie weiter unten erläutert
wird.Since the portion of the header of a data packet indicating the destination of the data packet, after the input of the data packet at the output terminal 30 is no longer needed, this space can serve to receive the permission data GR. The storage space is so large that not only the permission data GR for a single output terminal 30 but the permission data GR for all output ports 30 in the header of a single data packet. So can for each input connection 20 a single bit for the status of the corresponding permission data GR. In this case, the data header of the data packet contains a single bit representation, the permission state of all input terminals 20 shows. It is also conceivable that in addition to the status "granted / not granted" of the permission data GR, further data related to the permission data GR are generated and transmitted, so that the permission data GR may be dependent on various limit values which may be realized The data created and placed in the header may then also contain, in a coded binary format, the limit exceeded by the number of queued data packets, as explained below.
Das
geänderte
Datenpaket wird dann vom Ausgangsanschluss 30 an eine nachfolgende
Einheit gesendet, und – da
es eine vorteilhafte und gängige Vorgehensweise
darstellt, die Ausgangsanschlüsse 30 und
die Eingangsanschlüsse 20 zu
vereinheitlichen – erreicht
das geänderte
Datenpaket, das nun die Erlaubnisdaten GR in seinem Datenanfangs-Etikett
enthält,
automatisch den Eingangsanschluss 20, der die Erlaubnisdaten
GR aus dem Datenanfangs-Etikett auslesen und eine Aktualisierung
der Erlaubnisdaten erhalten kann. Diese Aktualisierung kann für jedes
Datenpaket erfolgen, so dass die Schaltadapter 19 fortlaufend über eine Änderung
der Erlaubnisdaten GR unterrichtet werden.The modified data packet is then from the output port 30 sent to a subsequent unit, and since it is an advantageous and common practice, the output terminals 30 and the input terminals 20 to unify - reaches the modified data package that now the permission data GR in its start-of-data label automatically includes the input terminal 20 which can read out the permission data GR from the start-of-data label and obtain an update of the permission data. This update can be done for each data packet, so the switch adapter 19 be continuously informed of a change in the permission data GR.
In 2 ist
eine Ausführungsform
einer Datenpaket-Zugriffsteuereinheit 40 abgebildet.
Die Datenpaket-Zugriffsteuereinheit 40 umfasst
ein Zugriffsgatter 41 und eine Ablaufsteuereinheit mit
endlichen Zuständen
(Finite State Machine) in Form eines Zählers 42, dessen Ausgang
mit einem Eingang des Zugriffsgatters 41 verbunden ist,
wobei dessen anderer Eingang die vom Schaltadapter 19 eingehenden
Datenpakete (DP in) erhält.
Der Zähler 42 stellt
einen Zeitrahmen bereit, während
dessen Datenpakete als regelgerecht akzeptiert werden, obwohl negative
Erlaubnisdaten GR erzeugt und gesendet wurden. Die Bereitstellung
dieses Zeitrahmen erfolgt aufgrund der Zeitspanne zwischen dem Zeitpunkt,
zu dem die Erlaubnisdaten GR gesendet wurden, und dem Zeitpunkt,
zu dem sie im Eingangspufferspeicher 11 eingegangen sind,
plus der Zeitspanne, die ein unmittelbar vor dem letzten Zeitpunkt
gesendetes Datenpaket benötigt,
um bei der Schalteinheit 10 einzugehen, wobei die Zeitspanne
eine Latenzzeit für
die Datenflusssteuerung definiert. Dieser Zeitpunkt ist veränderbar,
und die Auswahl des letztmöglichen
Zeitpunkts, d.h. die Verwendung der maximalen Laufzeit für ein Datenpaket
vom Eingangspufferspeicher 11 zur Datenpaket-Zugriffsteuereinheit 40,
wird als bestmögliche
Lösung
betrachtet, da, obwohl auf diese Weise das eine oder andere nichtregelgerechte
Datenpaket trotz seiner Nichteinhaltung der Regeln akzeptiert und
verarbeitet wird, kein einziges regelgerechtes Datenpaket als nichtregelgerecht
behandelt und benachteiligt wird, indem es verworfen oder ein Fehlersignal übertragen
wird. Der Zähler 42 kann
daher auf diesen oberen Grenzwert für die Latenzzeit der Datenflusssteuerung
gesetzt werden, wird immer dann gestartet, wenn bei der Datenpaket-Zugriffsteuereinheit 40 Erlaubnisdaten
GR eingehen, und wird zurückgesetzt,
sobald die Erlaubnisdaten GR von negativ auf positiv umgeschaltet
werden.In 2 is an embodiment of a data packet access control unit 40 displayed. The data packet access control unit 40 includes an access gate 41 and a finite state machine in the form of a counter 42 whose output is connected to an input of the access gate 41 is connected, wherein the other input from the switching adapter 19 received incoming data packets (DP in). The counter 42 provides a time frame during which data packets are accepted as regular even though negative permission data GR was generated and sent. The provision of this time frame is due to the time between when the permission data GR was sent and the time when it was in the input buffer memory 11 plus the amount of time it takes for a data packet sent immediately before the last time to arrive at the switching unit 10 The time span defines a latency for the data flow control. This time is changeable, and the selection of the last possible time, ie the use of the maximum runtime for a data packet from the input buffer memory 11 to the data packet access control unit 40 , is considered to be the best possible solution because, although in this way one or the other non-compliant data packet is accepted and processed despite its failure to comply with the rules, not a single regular data packet is treated as non-compliant and discriminated by discarding or transmitting an error signal. The counter 42 can therefore be set to this upper limit for the latency of the data flow control is started whenever in the data packet access control unit 40 Permission data GR, and is reset as soon as the permission data GR is switched from negative to positive.
Die
Zeitdifferenz zwischen dem Zeitpunkt, zu dem die Erlaubnisdaten
GR gesendet werden, und dem Zeitpunkt, zu dem das letzte Datenpaket,
das vor dem Eingang der Erlaubnisdaten GR beim Eingangspufferspeicher 11 gesendet
wurde, an dem Ausgangsanschluss 30 eingeht, der die Erlaubnisdaten
GR gesendet hat, wird als Umlaufzeit bezeichnet.The time difference between the time at which the permission data GR are sent and the time at which the last data packet before the input of the permission data GR at the input buffer memory 11 was sent to the output port 30 that has sent the permission data GR is called the round trip time.
Die
Erlaubnisdaten GR werden hier in Form eines einzelnen Bits bereitgestellt,
das für
die Erlaubnisdaten GR für
einen Ausgangsanschluss 30 bzw. einen Eingangsanschluss 20 steht.
Die negativen Erlaubnisdaten GR werden erzeugt, wenn die Anzahl der
Datenpakete, die in oder nach einem Ausgangsanschluss 30 zwischengespeichert
sind, einen vorgegebenen ersten Grenzwert übersteigt. Der erste Grenzwert
ist niedriger als die tatsächliche
Größe des Pufferspeichers
des Ausgangsanschlusses 30, um so diejenigen Datenpakete
zwischenspeichern zu können,
die von den Eingangsadaptern, d.h. den Schaltadaptern 19,
während
der Zeitspanne gesendet werden, welche die negativen Erlaubnisdaten
GR benötigen,
um die Erlaubnisverweigerung in den Eingangspufferspeichern 11 zu
bewirken. Die Umschaltung von den negativen auf die positiven Erlaubnisdaten
GR kann durch die Unterschreitung eines zweiten Grenzwerts ausgelöst werden,
der mit dem ersten Grenzwert übereinstimmen
kann, dies jedoch nicht zwangsläufig
muss. Wie weiter oben bereits erwähnt, können sogar mehrere derartiger
Grenzwerte für
eine Über-
und/oder Unterschreitung realisiert werden, und die Daten, die angeben,
welcher Grenzwert im Einzelnen die Umschaltung der Erlaubnisdaten
GR veranlasst hat, können
an die Schaltadapter 19 übertragen werden.The permission data GR is provided here in the form of a single bit corresponding to the permission data GR for an output port 30 or an input connection 20 stands. The negative permission data GR is generated when the number of data packets entering or leaving an output port 30 are cached, exceeds a predetermined first limit. The first limit is lower than the actual size of the buffer of the output port 30 in order to be able to buffer those data packets that are received from the input adapters, ie the switching adapters 19 , are sent during the period of time that the negative permission data GR need to complete the permission denial in the input buffers 11 to effect. The switchover from the negative to the positive permission data GR can be triggered by falling below a second limit, which may coincide with the first limit, but this is not necessarily. As already mentioned above, even more such overshoot and undershoot limits may be realized, and the data indicating which limit has specifically caused the permission data GR to be switched may be supplied to the switching adapters 19 be transmitted.
Das
Sortieren nach Ziel wird auch als virtuelle Ausgangsspeicherung
(Virtual Output Queuing, VOQ) bezeichnet. Die Steuereinheit 25 muss
eine Höchstzahl
von N2 Anfragen verarbeiten, was bei einer
steigenden Zahl von Ein- /Ausgangsanschlüssen 30 zu
einer erheblichen Zunahme der Komplexität führt. Für sich genommen stellt dies
noch kein schwerwiegendes Problem dar, allerdings sollte generell
zu jedem beliebigen Zeitpunkt und unter allen Umständen eine
gerechte Behandlung einer jeden Eingangswarteschlange 12 gegeben
sein und außerdem
eine optimale Ausschöpfung
der Kapazität
der Schalteinheit erzielt werden, die darin besteht, dass zu jedem
beliebigen Zeitpunkt jeder Ausgangsanschluss 30 ein Datenpaket
zuzustellen hat. Dieses ehrgeizige Ziel stellt für die Steuereinheit 25 eine nicht
geringe Aufgabe dar, die dazu führt,
dass die Steuereinheit 25 äußerst komplex ausfällt.Sort by destination is also known as virtual output queuing (VOQ). The control unit 25 It must process a maximum of N 2 requests, which will be with an increasing number of I / O ports 30 leads to a significant increase in complexity. Taken alone, this is not a serious problem, but generally, at any given time and under any circumstances, fair treatment should be given to each input queue 12 In addition, an optimal utilization of the capacity of the switching unit can be achieved, which consists in that at any time each output terminal 30 to deliver a data packet. This ambitious goal poses for the control unit 25 a not inconsiderable task that causes the control unit 25 extremely complex fails.
Die
Komplexität
dieser Anordnung nimmt noch zu, wenn sie für die Verarbeitung von Datenpaketen
mit unterschiedlicher Priorität
ausgelegt ist, d.h., für
jede Priorität
wird eine andere Eingangswarteschlange 12 bereitgestellt.
In diesem Fall ist die Anzahl der Eingangswarteschlangen 12 pro
Eingangspufferspeicher 11 gleich der Anzahl der Ausgangsanschlüsse 30 multipliziert
mit der Anzahl der Prioritäten.The complexity of this arrangement is even greater when it is designed to process packets of different priority, that is, each priority becomes a different input queue 12 provided. In this case, the number of input queues is 12 per input buffer 11 equal to the number of output ports 30 multiplied by the number of priorities.
Die
folgenden Beispiele gehen davon aus, dass die Schalteinheit 10 so
ausgelegt ist, dass sie nichtregelgerechte Datenpakete automatisch
löscht.The following examples assume that the switching unit 10 is designed so that it automatically deletes non-compliant data packets.
Ein
anderer Ansatz besteht darin, dass die Datenpakete zuerst in die
Warteschlange gestellt und anschließend zwischengespeichert werden.
In der Theorie läuft
dieses Modell auf ein System mit einer reinen Ausgangspufferspeicherung
hinaus. In der Realität
ist jedoch die Größe des Pufferspeichers
begrenzt und nicht unendlich. Da bei endlichen Ausgangspufferspeichern
eine gewisse Wahrscheinlichkeit besteht, dass die im Ausgangspufferspeicher eingehenden
Datenpakete auf einen bereits voll ausgelasteten Pufferspeicher
treffen und somit verloren gehen, wird der endliche Ausgangspufferspeicher
mit einem unendlichen Eingangspufferspeicher kombiniert, der in
der Praxis natürlich
ebenfalls als ein endlicher Eingangspufferspeicher realisiert ist.
Diese Anordnung wird in 3 gezeigt und weicht insofern von
der Anordnung aus 1 ab, als die Schalteinheit 10 keine
Kreuzschienenschalteinheit sondern eine Wegewahlschalteinheit 10 ist,
kurz auch als Wegewahleinheit 10 bezeichnet. Zwischen der
Wegewahleinheit 10 und einem jeden der Ausgangsanschlüsse 30,
ist ein Ausgangspufferspeicher 35 angeordnet, der auch
durch „OB" (output buffer)
kenntlich gemacht ist. Die bei der Wegewahleinheit 10 eingehenden Datenpakete
werden an ihre Zielausgangsanschlüsse 30 weitergeleitet,
wo sie in dem betreffenden Ausgangspufferspeicher 35 zwischengespeichert
werden.Another approach is to queuce the data packets first and then cache them. In the Theory, this model goes into a system with a pure output caching. In reality, however, the size of the buffer memory is limited and not infinite. Since finite output buffer memories have a certain probability that the data packets arriving in the output buffer memory will encounter an already fully utilized buffer memory and thus be lost, the finite output buffer memory is combined with an infinite input buffer memory, which in practice is also realized as a finite input buffer memory. This arrangement is in 3 shown and thus differs from the arrangement 1 off, as the switching unit 10 no crossbar switching unit but a routing switch unit 10 is, in short as a Wegewahleinheit 10 designated. Between the Wegewahleinheit 10 and each of the output terminals 30 , is an output cache 35 arranged, which is also indicated by "OB" (output buffer) 10 incoming data packets are sent to their destination output ports 30 forwarded to where in the relevant output buffer 35 be cached.
Darüber hinaus
kommt hier der Erlaubnismechanismus für die Verarbeitung eines möglichen Überlaufs
des Ausgangspufferspeichers zum Einsatz. Jeder Ausgangspufferspeicher 35 verfügt über einen
definierten ersten Grenzwert, bei dessen Überschreitung die Erlaubnisdaten
GR von positiv auf negativ umgeschaltet werden, und einen zweiten Grenzwert
mit umgekehrter Umschaltung. Die Erlaubnisdaten GR werden über die
Steuereinheit 25 allen Eingangspufferspeicher 11 bereitgestellt.
Die negativen Erlaubnisdaten GR bewirken, dass alle Eingangspufferspeicher 11 aufgefordert
werden, das Senden von Datenpaketen an den Ausgangsanschluss 30,
dessen Ausgangspufferspeicher 35 die negativen Erlaubnisdaten
GR ausgelöst
oder ausgegeben hat, einzustellen.In addition, here the permission mechanism for processing a possible overflow of the output buffer memory is used. Each output buffer 35 has a defined first limit value above which the permission data GR is switched from positive to negative, and a second limit value with reverse switching. The permission data GR is transmitted via the control unit 25 all input buffer 11 provided. The negative permission data GR causes all input buffer memories 11 be prompted to send data packets to the output port 30 , its output buffer memory 35 the negative permission data GR has been triggered or issued.
Die
Aufgabe der Datenpaket-Zugriffsteuereinheit 40 besteht
wiederum in der Ablehnung von Datenpaketen, die von einem Eingangspufferspeicher 11 eingehen,
obwohl die negativen Erlaubnisdaten GR an den Eingangspufferspeicher 11 gesendet wurden.
Diese Datenpakete werden als nichtregelgerecht eingestuft und wahlweise
gelöscht.
Wie weiter oben beschrieben, dient die Datenpaket-Zugriffsteuereinheit 40 dazu,
die Befolgung der Erlaubnisdaten GR zu gewährleisten.The task of the data packet access control unit 40 Again, there is the rejection of data packets coming from an input buffer 11 although the negative permission data GR is input to the input buffer memory 11 were sent. These data packets are classified as non-regular and optionally deleted. As described above, the data packet access control unit is used 40 to ensure compliance with the permit data GR.
Da
aufgrund der geringeren Anzahl von Verbindungsleitungen zwischen
den Eingangspufferspeichern 11 und der Schalteinheit 10 eine
einfachere physische Trennung der Eingangspufferspeicher 11 von
der Schalteinheit 10 möglich ist,
können
sie mit preisgünstigeren
Speicherchips realisiert werden, so dass ihre Speichergröße in der
Realität
sehr viel größer gewählt werden
kann, als dies für
die Ausgangspufferspeicher 35 zum gleichen Preis möglich wäre. Somit
stellen die endlichen Eingangspufferspeicher 11 bei diesem
Schema eine bessere Näherung
an die theoretischen unendlichen Eingangspufferspeicher 11 dar.
Die oben beschriebene Anordnung hat jedoch zwei Nachteile: Einerseits
muss die Wegewahleinheit 10 eine Funktion bereitstellen,
deren Komplexität
aufgrund der N2 Ausgangsleitungen zu den
Ausgangspufferspeichern 35 mit einem zunehmenden Wert von
N2 steigt. Andererseits wird die Schalteinheit 10 nicht
bestmöglich
genutzt. Unter der Annahme, dass kein Rundsende-Datenverkehr vorliegt, gibt es für jeden
Eingangsanschluss 20 zu einem beliebigen Zeitpunkt nur
jeweils ein Datenpaket, das an einen Ausgangsanschluss 30 gesendet
werden soll. Somit werden zu jedem beliebigen Zeitpunkt für jeden
Eingangsanschluss 20 N-1 Ausgangsleitungen der Wegewahleinheit 10 nicht
genutzt, d.h. von den N2 Ausgangsleitungen
werden lediglich N Leitungen genutzt. Außerdem wird auch der Ausgangspufferspeicher 35 selbst
nicht bestmöglich
genutzt. Wenn mehrere Eingangsanschlüsse 20 ein Datenpaket
an ein und denselben Ausgangsanschluss 30 senden, empfängt in diesem
Moment mindestens ein anderer Ausgangsanschluss 30 kein
Datenpaket und benötigt
folglich weniger Ausgangspufferspeicherplatz. Bei einem separaten
Ausgangspuffer 35 für
jeden Ausgangsanschluss 30 besteht nicht die Möglichkeit,
sehr stark ausgelasteten Ausgangsanschlüssen 30 auf Kosten
von weniger stark ausgelasteten Ausgangsanschlüssen 30 vorübergehend
mehr Pufferspeicherplatz zur Verfügung zu stellen.Because of the smaller number of interconnections between the input buffers 11 and the switching unit 10 a simpler physical separation of the input buffers 11 from the switching unit 10 is possible, they can be realized with cheaper memory chips, so that their memory size can be chosen in reality much larger than that for the output buffer memory 35 would be possible at the same price. Thus, the finite input buffers represent 11 in this scheme, a better approximation to the theoretical infinite input buffer memory 11 However, the arrangement described above has two disadvantages: On the one hand, the Wegewahleinheit 10 provide a function whose complexity due to the N 2 output lines to the output buffers 35 increases with an increasing value of N 2 . On the other hand, the switching unit 10 not used in the best possible way. Assuming that there is no broadcast traffic, there is for each input port 20 at any one time only one data packet to an output port 30 to be sent. Thus, at any time for each input port 20 N-1 output lines of the Wegewahleinheit 10 not used, ie of the N 2 output lines only N lines are used. In addition, the output buffer memory also becomes 35 not even used in the best possible way. If several input terminals 20 a data packet to one and the same output port 30 At this moment, at least one other output port is receiving 30 no data packet and therefore needs less output buffer space. In a separate output buffer 35 for each output connection 30 there is no possibility of very heavily used output connections 30 at the expense of less heavily used output terminals 30 to temporarily provide more cache space.
Bei
der Anordnung aus 4 kann der Ausgangspufferspeicherplatz
dynamisch von allen Ausgangsanschlüssen 30 gemeinsam
genutzt werden, was gleichzeitig auch das oben erwähnte Problem der
mit zunehmendem Wert von N2 steigenden Komplexität löst. Die
in 4 abgebildete Anordnung umfasst die N Eingangspufferspeicher 11 und
die Wegewahleinheit, die in eine Eingangswegewahleinheit 13 und
eine Ausgangswegewahleinheit 14 aufgeteilt ist. Auf der
Ausgangsseite der Eingangswegewahleinheit 13 ist nur ein
gemeinsamer Ausgangspufferspeicher 35, auch als „COB" (common output buffer) kenntlich
gemacht, angeordnet, der für
alle Datenpakete zuständig
ist, die von der auch als „IR" (input router) gekennzeichneten
Eingangswegewahleinheit 13 ankommen. Auf der Ausgangsseite
des gemeinsamen Ausgangspufferspeichers 35 ist die auch
als „OR" (output router)
gekennzeichnete Ausgangswegewahleinheit 14 angeordnet.
Parallel zu der Eingangswegewahleinheit 13 und dem Ausgangspufferspeicher 35 ist
eine Adressverwaltungseinheit 16 angeordnet, die auch als „AM" (address manager) kenntlich
gemacht und mit der Eingangswegewahleinheit 13 sowie der
Ausgangswegewahleinheit 14 verbunden ist, Die Adressverwaltungseinheit 16 ist mit
einer auch als „OQM" (output queue manager) gekennzeichneten
Einheit 17 für
die Ausgangswarteschlangenverwaltung verbunden, die Eingangsdaten von
allen Eingangspufferspeichern 11 sowie von der Adressverwaltungseinheit 16 empfängt. Sie
umfasst für
jeden Ausgangsanschluss 30 eine auch als „OQ" (output queue) kenntlich
gemachte Ausgangswarteschlange 18, die der Ausgangswegewahleinheit 14 Eingangsdaten
bereitstellt.In the arrangement off 4 the output buffer space can be dynamically from all output ports 30 which also simultaneously solves the above-mentioned problem of increasing complexity with increasing value of N 2 . In the 4 The arrangement shown comprises the N input buffer memories 11 and the routing unit inserted into an entry route unit 13 and an output selection unit 14 is divided. On the output side of the input selection unit 13 is just a common output buffer 35 , also referred to as "COB" (common output buffer), arranged, which is responsible for all data packets from that also referred to as "IR" (input router) Eingangswegewahleinheit 13 Arrive. On the output side of the common output buffer 35 is the output selection unit also referred to as "OR" (output router) 14 arranged. Parallel to the input selection unit 13 and the output buffer 35 is an address management unit 16 arranged, also identified as "AM" (address manager) and with the Eingangswegewahleinheit 13 and the output selection unit 14 The address management unit 16 is with a unit also known as "OQM" (output queue manager) 17 for output queue management, the input data from all input buffers 11 as well as from the address management unit 16 receives. It includes for each output terminal 30 an output queue also identified as an "OQ" (output queue) 18 , that of the initial selection unit 14 Provides input data.
Die
Anordnung umfasst für
jeden Eingangsanschluss 20 den Eingangspufferspeicher 11 mit
virtueller Ausgangsspeicherung, d.h. mit Eingangswarteschlangen 12 in
jedem Eingangspufferspeicher 11 für jede Ausgangswarteschlange 18.
Die Eingangspufferspeicher 11 sind mit der Eingangswegewahleinheit 13 verbunden,
auf die der gemeinsame Ausgabepufferspeicher 35 und die
Ausgangswegewahleinheit 14 folgen. Jeder Eingangspufferspeicher 11 verfügt über seine
eigene Eingangssteuereinheit 25 zur Steuerung der Reihenfolge
von Datenpaketen, die von den verschiedenen Eingangswarteschlangen 12 an
diesen Eingangspufferspeicher 11 ausgehen.The arrangement includes for each input terminal 20 the input buffer 11 with virtual output storage, ie with input queues 12 in each input buffer 11 for each output queue 18 , The input buffers 11 are with the input selection unit 13 connected to the common output buffer 35 and the output selection unit 14 consequences. Each input buffer 11 has its own input control unit 25 for controlling the order of data packets coming from the different input queues 12 to this input buffer 11 out.
Alle
eingehenden Datenpakete werden über die
Eingangswegewahleinheit 13 an den gemeinsamen Ausgangspufferspeicher 35 weitergeleitet.
Die Adressverwaltungseinheit 16 stellt der Eingangswegewahleinheit 13 Daten
bereit, aus denen hervorgeht, an welcher Speicherstelle des gemeinsamen Ausgangspufferspeichers 35,
d.h. unter welcher Speicheradresse, die eingehenden Datenpakete
gespeichert werden sollen. Alternativ kann die Architektur so ausgelegt
sein, dass der Eingangspufferspeicher 11 diese Daten erhält und sie
der Eingangswegewahleinheit 13 bereitstellt.All incoming data packets are sent via the input selection unit 13 to the common output buffer 35 forwarded. The address management unit 16 provides the input selection unit 13 Data indicating which memory location of the common output buffer is available 35 ie, under which memory address the incoming data packets are to be stored. Alternatively, the architecture may be designed such that the input buffer memory 11 this data gets and they the input selection unit 13 provides.
Die
Daten, aus denen hervorgeht, unter welcher Adresse des Ausgangspufferspeichers 35 jedes an
einen bestimmten Anschluss 30 gerichtete Datenpaket gespeichert
wird, werden in die Einheit 17 für die Ausgangswarteschlangenverwaltung
geschrieben, genauer gesagt in die Ausgangswarteschlangen 18 dieser
Einheit. Diese Daten werden auch als Reihenfolgedaten bezeichnet.
Für jedes
Datenpaket, das im gemeinsamen Ausgangspufferspeicher 35 gespeichert
wird, werden derartige Reihenfolgedaten an einen Speicherplatz der Ausgangswarteschlange 18 gestellt,
an die das Datenpaket gesendet werden soll. Auf diese Weise werden
die Adressen gemäß den zugehörigen Ausgangsanschlüssen 30 sortiert, d.h.
gemäß denjenigen
Ausgangsanschlüssen 30,
an welche die unter den betreffenden Adressen gespeicherten Datenpakete
gerichtet sind. Dies bedeutet, dass jeder Ausgangsanschluss 30 die
Adressen der Datenpakete, die an diesem Ausgangsanschluss 30 eingehen
sollen, von der betreffenden Ausgangswarteschlange 18 abruft.
Dabei verarbeitet die Adressverwaltungseinheit 16 für jede Ausgangswarteschlange 18 zu
jedem beliebigen Zeitpunkt gleichzeitig jeweils eine Adresse. Dies
bedeutet auch, dass für jeden
Eingangsanschluss 20 stets eine Adresse vorgehalten wird,
wobei dies bereits vor dem Eingang der betreffenden Datenpakete
erfolgen kann. Jedes Datenpaket, das an erster Stelle bei einem
Eingangsanschluss 20 eingeht, findet somit eine Adresse
vor, die besagt, wohin es von der Eingangswegewahleinheit 13 weitergeleitet
werden soll. Diese N Adressen werden von der Adresssteuereinheit 16 auch
der Einheit 17 für
die Ausgangswarteschlangenverwaltung bereitgestellt, die als Eingangsdaten
weiterhin N Datenpaket-Zieldaten
empfängt,
welche die Maske bereitstellen, in die die Ausgangswarteschlange 18 die Reihenfolgedaten
aller eingegangenen Datenpakete einzutragen hat. Die parallele Verarbeitung
der Adressen für
alle Eingangsanschlüsse 20 erhöht die Geschwindigkeit
und die Gerechtigkeit der Datenpaketverarbeitung. Der Fall, bei
dem keine Adressen zur Verfügung
stehen, wird weiter unten erläutert.The data that shows under which address of the output buffer memory 35 each to a specific connection 30 directed data packet is stored in the unit 17 for output queue management, more specifically, in the output queues 18 this unit. These data are also referred to as order data. For each data packet in the common output buffer 35 is stored, such order data to a memory location of the output queue 18 to which the data packet is to be sent. In this way, the addresses become according to the associated output terminals 30 sorted, ie according to those output terminals 30 to which the data packets stored under the respective addresses are directed. This means that each output terminal 30 the addresses of the data packets present at this output port 30 from the output queue concerned 18 retrieves. The address management unit processes this 16 for each output queue 18 at any one time at the same time one address each. This also means that for each input connection 20 always an address is maintained, and this can be done before the receipt of the relevant data packets. Each data packet comes first at an input port 20 enters, thus finds an address that says where it goes from the Eingangswegewahleinheit 13 should be forwarded. These N addresses are from the address control unit 16 also the unit 17 for output queue management which further receives as input data N data packet destination data providing the mask in which the output queue 18 enter the order data of all incoming data packets. The parallel processing of addresses for all input ports 20 increases the speed and fairness of data packet processing. The case where addresses are not available will be explained below.
Somit
erhält
jedes eingehende Datenpaket von der Adressverwaltungseinheit 16 eine
Adresse, unter der dieses Datenpaket dann im gemeinsamen Ausgangspufferspeicher 35 gespeichert
wird, wobei die Adresse an einem Speicherplatz der Ausgangwarteschlange 18 gespeichert
wird, die dem Ausgangsanschluss 30 entspricht, an den das
Datenpaket geht. Die hierzu gehörigen
Daten, d.h. die Datenpaket-Zieldaten, werden aus dem Datenanfangs-Etikett
des Datenpakets erhalten. Die Ausgangswegewahleinheit 14 dient
zur endgültigen
Verteilung, indem sie für
jeden Ausgangsanschluss 30 die nächste Adresse von der entsprechenden
Ausgangswarteschlange 18 erhält und anschließend das
Datenpaket an dieser Adresse abruft und dem Ausgangsanschluss 30 bereitstellt,
der das Ziel dieses Datenpakets ist. Der Abrufschritt besteht hier
aus einem nichtlöschenden
Leseprozess, mit dem Rundsende-Datenpakete
so verarbeitet werden können,
dass sie nur ein Mal in dem gemeinsamen Ausgangspufferspeicher 35 gespeichert,
aber mehrere Male gelesen werden, bis jeder Ausgangsanschluss 30,
der dieses Datenpaket empfangen soll, es empfangen hat. Nachdem
das Datenpaket aus dem Ausgangspufferspeicher 35 ausgelesen
wurde, wird die betreffende Adresse freigegeben, indem sie an die
Adressverwaltungseinheit 16 zurückgegeben wird, die sie dann wieder
einem der Eingangsanschlüsse 20 zuweisen kann,
um das nächste
eingehende Datenpaket zu verarbeiten. Bei Rundsende-Datenpaketen
wird ein in der Zeichnung nicht abgebildeter Zähler verwendet, der beim Speichern
des Datenpakets auf die Anzahl der Ausgangsanschlüsse 30 gesetzt
wird, an die dieses Datenpaket übertragen
werden soll, und dessen Wert bei jedem Abruf dieses Datenpakets
von der Ausgangswegewahleinheit 14 verringert wird. Wenn
der Zähler
für dieses
Datenpaket den Wert 0 erreicht, kann die zugehörige Adresse freigegeben werden.
Der gemeinsame Ausgangspufferspeicher 35 hat somit den
Vorteil, dass anstelle von N2 Verbindungen
zwischen dem Ausgangspufferspeicher 35 und der Eingangswegewahleinheit 13 lediglich
N Verbindungen notwendig sind, d.h., die erforderlichen Ressourcen
an der Schnittstelle zwischen der Eingangswegewahleinheit 13 und
dem Ausgangspufferspeicher 35 wurden von N2 auf
N verringert.Thus, each incoming data packet is received by the address management unit 16 an address under which this data packet then in the common output buffer memory 35 is stored, the address at a memory location of the output queue 18 is stored, which is the output terminal 30 corresponds, to which the data package goes. The associated data, ie the data packet destination data, are obtained from the header of the data packet. The output selection unit 14 Serves for final distribution by providing for each output port 30 the next address from the corresponding output queue 18 receives and then retrieves the data packet at this address and the output port 30 which is the target of this data packet. The fetching step here consists of a non-erasable read process that allows broadcast data packets to be processed only once in the shared output buffer 35 stored, but read several times, until each output terminal 30 who should receive this data packet, received it. After the data packet from the output buffer 35 is read, the address in question is released by sending it to the address management unit 16 which is then returned to one of the input terminals 20 assign to process the next incoming data packet. Broadcast data packets use a counter that is not shown in the drawing and, when the data packet is stored, the number of output ports 30 is set, to which this data packet is to be transmitted, and its value at each fetch of this data packet from the Ausgangswegewahleinheit 14 is reduced. If the counter for this data packet reaches the value 0, the associated address can be released. The common output buffer 35 thus has the advantage that instead of N 2 Verbin tions between the output buffer 35 and the input selection unit 13 only N connections are necessary, ie the required resources at the interface between the input router unit 13 and the output buffer 35 were reduced from N 2 to N
Das
Prinzip der gemeinsamen Nutzung des Ausgangspufferspeichers 35 wird
eingeführt,
indem die Ausgangswarteschlangen 18 insgesamt über mehr
Warteschlangenspeicherplätze
verfügen,
als der Ausgangspufferspeicher 35 Adressen aufweist. Für die Eingangsanschlüsse 20 entsteht
somit der Eindruck, dass es für
jeden Ausgangsanschluss 30 mehr Platz im Ausgangspufferspeicher 35 gibt,
als dies der Fall wäre,
wenn der Ausgangspufferspeicher 35 lediglich gleichmäßig auf
die Anzahl der Ausgangsanschlüsse 30 verteilt
würde.
Solange der Gesamtdatenverkehr der Datenpakete die tatsächlich gegebene
Höchstkapazität des Ausgangspufferspeichers 35 nicht überschreitet,
steigt die Leistung, da die Anordnung mit Blick auf extreme Änderungen
des Datenverkehrsmusters sehr viel flexibler ist. So kann insbesondere
ein diskontinuierlicher Datenverkehr sehr viel besser verarbeitet
werden, da die Wahrscheinlichkeit eines Datenpaketverlustes verringert wird,
indem ein Ausgangsanschluss 30 mehr Ausgangspufferspeicherplatz
nutzen kann, als ihm eigentlich zusteht.The principle of sharing the output buffer 35 is introduced by the output queues 18 have more queue memory slots than the output buffer 35 Has addresses. For the input terminals 20 thus gives the impression that it is for each output terminal 30 more space in the output buffer 35 gives, as would be the case, if the output buffer 35 only evenly on the number of output terminals 30 would be distributed. As long as the total traffic of the data packets is the actual maximum capacity of the output buffer 35 performance does not increase as the arrangement is much more flexible with respect to extreme changes in the traffic pattern. In particular, discontinuous data traffic can be processed much better because the likelihood of data packet loss is reduced by using an output port 30 Can use more output buffer space, as it is actually entitled.
Das
Prinzip der gemeinsamen Nutzung bringt jedoch die Möglichkeit
des Hortens mit sich, was bedeutet, dass ein sehr stark ausgelasteter
Ausgangsanschluss 30 den gesamten gemeinsam genutzten Speicher
des Ausgangspufferspeichers 35 für sich allein in Anspruch nehmen
kann und so andere Ausgangsanschlüsse 30 benachteiligt,
sofern keine anderweitigen Mechanismen zur Verhinderung dieses Effekts vorgesehen
sind. Außerdem
ist zu berücksichtigen,
dass die gemeinsame Nutzung lediglich einen virtuellen Ausgangspufferspeicherplatz schafft,
der größer als
der tatsächlich
vorhandene Ausgangspufferspeicherplatz ist. Dies bedeutet, dass
die Eingangsanschlüsse 20 unter
Umständen versuchen,
den virtuellen Ausgangspufferspeicherplatz in einem Maße zu belegen,
das den tatsächlich vorhandenen
Ausgangspufferspeicherplatz übersteigt.The principle of sharing, however, brings the possibility of Hortens with it, which means that a very busy output terminal 30 the entire shared memory of the output buffer 35 can take care of itself and so have other output terminals 30 unless otherwise provided for to prevent this effect. It should also be noted that sharing only provides a virtual output buffer space that is larger than the actual output buffer space available. This means that the input terminals 20 may attempt to occupy the virtual output buffer space to an extent that exceeds the actual output buffer space available.
Auch
hier kommt der Erlaubnismechanismus zum Einsatz, um mit der Wahrscheinlichkeit
eines Überlaufs
des Ausgangspufferspeichers bzw. der Ausgangswarteschlange umzugehen.
Jede Ausgangswarteschlange 18 verfügt über den festgelegten ersten
Grenzwert, bei dessen Überschreiten
die negativen Erlaubnisdaten GR erzeugt werden, sowie über einen
zweiten Grenzwert, bei dessen Unterschreiten die positiven Erlaubnisdaten
GR erzeugt werden, die allen Eingangspufferspeichern 11 bereitgestellt
werden. Die negativen Erlaubnisdaten GR bewirken, dass alle Eingangspufferspeicher 11 aufhören, Datenpakete
an den Ausgangsanschluss 30 zu senden, dessen Ausgangswarteschlange 18 die negativen
Erlaubnisdaten GR ausgegeben hat. Im Falle einer gemeinsamen Nutzung
muss der Ausgangspufferspeicher 35 außerdem auf einen möglichen Überlauf überwacht
werden. Da bei einer gemeinsamen Nutzung die Summe der Anzahl von Speicherplätzen in
allen Ausgangswarteschlangen 18 größer ist als die Anzahl der
Adressen im Ausgangspufferspeicher 35, kann der Ausgangspufferspeicher 35 bis
an seine Höchstgrenze
ausgelastet werden, obwohl keine Ausgangswarteschlange 18 ihren
Grenzwert für
die in ihr gespeicherten Datenpakete erreicht. Aus diesem Grund
verfügt
der Ausgangspufferspeicher 35 über einen dritten Grenzwert für belegte
Adressen, bei dessen Erreichen die Erzeugung eines Gegendrucks durch
eine maximale Speicherauslastung in Form der negativen Erlaubnisdaten
GR für
alle Eingangspufferspeicher 11 veranlasst wird, die dann
das Senden ihrer Datenpakete an den Ausgangspufferspeicher 35 über die
Eingangswegewahleinheit 13 einstellen, d.h., von sämtlichen Eingangspufferspeichern 11 darf
kein einziges Datenpaket mehr gesendet werden. Sobald die Anzahl der
belegten Adressen unter den dritten oder einen davon abweichenden
vierten Grenzwert absinkt, kann der normale Betrieb wieder aufgenommen
werden.Again, the permission mechanism is used to deal with the likelihood of overflow of the output buffer or output queue. Each output queue 18 has the fixed first threshold above which the negative permission data GR is generated, and a second threshold below which the positive permission data GR is generated which is stored in all the input buffers 11 to be provided. The negative permission data GR causes all input buffer memories 11 stop sending data packets to the output port 30 to send its output queue 18 has issued the negative permission data GR. In case of sharing, the output buffer must be 35 also be monitored for possible overflow. Because in a shared use, the sum of the number of storage locations in all outgoing queues 18 is greater than the number of addresses in the output buffer memory 35 , the output buffer can 35 be used to its maximum limit, although no output queue 18 reaches its limit for the data packets stored in it. For this reason, the output buffer has 35 via a third occupied address limit, upon which the generation of a backpressure by a maximum memory utilization in the form of the negative permission data GR for all input buffer memories is achieved 11 then sending their data packets to the output buffer memory 35 via the input selection unit 13 set, ie, from all input buffers 11 no more data packets may be sent. As soon as the number of occupied addresses drops below the third or a different fourth limit value, normal operation can be resumed.
Somit
wird hier ein Rückkopplungsmechanismus
bereitgestellt, mit dem den Eingangspufferspeichern 11 mitgeteilt
wird, ob eine bestimmte Ausgangswarteschlange 18 voll ist,
d.h., ob ein bestimmter Grenzwert für diese Ausgangswarteschlange 18 überschritten
wurde, und damit, ob weitere Datenpakete an die Ausgangswarteschlange 18 gesendet werden
dürfen.
Wenn für
eine bestimmte Ausgangswarteschlange 18 der Zustand „Erlaubnis
nicht erteilt" vorliegt,
d.h., wenn der betreffende Grenzwert überschritten wurde, werden
die negativen Erlaubnisdaten GR ausgegeben, und jede Eingangssteuereinheit 25 kann
reagieren, indem die Datenpakete für den Ausgangsanschluss 30,
der zu dieser Ausgangswarteschlange 18 gehört, nicht
mehr von den Eingangspufferspeichern 11 gesendet werden,
d.h., die Datenpakete für
die belegte Ausgangswarteschlange 18 werden von den Eingangswarteschlangen 12 zurückgehalten,
während
andere Eingangswarteschlangen 12 ihre Datenpakete weiterhin
senden können.Thus, here a feedback mechanism is provided, with which the input buffer memories 11 will be notified if a particular output queue 18 is full, ie, whether a certain limit for this output queue 18 was exceeded, and thus, whether more data packets to the output queue 18 may be sent. If for a specific output queue 18 the condition "permission not granted" exists, that is, if the relevant limit has been exceeded, the negative permission data GR are output, and each input control unit 25 can respond by adding the data packets for the output port 30 which is to this output queue 18 no longer belongs to the input buffers 11 are sent, that is, the data packets for the busy output queue 18 be from the input queues 12 held back while other entrance queues 12 their data packets can continue to send.
Bei
Rundsende-Datenpaketen kann in dieser Ausführungsform die Erzeugung von
Erlaubnisdaten dahingehend abgeändert
werden, dass für
sie an den Ausgangswarteschlangen 18 keine Erlaubnisdaten erzeugt
werden oder dass die Erlaubnisdaten übergangen werden. Da für Rundsende-Datenpakete
in jeder Ausgangswarteschlange 18, an die das Rundsende-Datenpaket
gerichtet ist, ein Eintrag vorgenommen wird, steigt mit zunehmender
Anzahl der Ausgangswarteschlangen 18 die Wahrscheinlichkeit, dass
das Rundsende-Datenpaket als nichtregelgerecht gekennzeichnet wird,
wenn nur bei einer einzigen dieser Ausgangswarteschlangen 18 ein Überlauf vorliegt,
der die negativen Erlaubnisdaten auslöst. Dies kann zu einem äußerst hohen
und nicht angemessenen Gegendruck für Rundsende-Datenpakete führen. Indem
nur die Erlaubnisdaten des gemeinsamen Ausgangspufferspeichers 35 verwendet
werden, lässt
sich dieses Problem lösen.
Als Gegenmaßnahme
zu dieser bevorzugten Verarbeitung von Rundsende-Datenpaketen kann
ein separater Zähler oder
Pufferspeicher für
die Rundsende-Datenpakete vorgesehen
werden, der bei Erreichen oder Überschreiten
einer vorgegebenen Anzahl oder eines Grenzwerts negative Erlaubnisdaten
erzeugt und auf diese Weise die Anzahl der verarbeiteten Rundsende-Datenpakete
begrenzt.In broadcast data packets, in this embodiment, the generation of permission data may be changed to the output queues for them 18 no permission data is generated or that the permission data is skipped. As for broadcast data packets in each output queue 18 to which the broadcast data packet is addressed, presented an entry is increased as the number of outbound queues increases 18 the likelihood that the broadcast data packet will be flagged as not regular if only for a single one of these outbound queues 18 there is an overflow that triggers the negative permission data. This can lead to extremely high and inappropriate counterpressure for broadcast data packets. By only the permission data of the common output buffer 35 can be used, this problem can be solved. As a countermeasure to this preferred processing of broadcast data packets, a separate counter or buffer memory may be provided for the broadcast data packets, generating negative permission data upon reaching or exceeding a predetermined number or limit, thus limiting the number of broadcast data packets processed ,
Im
Gegensatz zu dem in den 1 und 3 realisierten
Modell der virtuellen Ausgangsspeicherung wird hier keine zentrale
Steuereinheit verwendet. Stattdessen verfügt jeder Eingangspufferspeicher 11 über seine
eigene Eingangssteuereinheit 25, die unabhängig von
den anderen Eingangssteuereinheiten 25 arbeitet. Dies rührt daher,
dass diese Anordnung die Eingangswegewahleinheit 13 umfasst,
die allen Eingangspufferspeichern 11 das unabhängige Senden
ihrer Datenpakete über
die Eingangswegewahleinheit 13 ermöglicht, wann immer die Ausgangswarteschlange 18 für dieses
Datenpaket und der gemeinsame Ausgangspufferspeicher 35 ausreichend
Speicherplatz dafür
haben, d.h., sofern keine negativen Erlaubnisdaten GR erzeugt wurden.
Die Unabhängigkeit
der Eingangssteuereinheiten 25 führt zu einer erheblich geringeren
Komplexität
der gesamten Steuerungsressourcen. Jede Eingangssteuereinheit 25 muss
hier die eingehenden Datenpakete lediglich gemäß einem vorgegebenen Entscheidungsverfahren
verarbeiten, bei dem es sich um ein Reihum-Verfahren, mit oder ohne
Gerechtigkeit zur Erlangung eines Vorrangs auf der Grundlage der
Priorität
oder um ein beliebiges anderes Verfahren handeln kann. Jede Eingangssteuereinheit 25 entscheidet
selbstständig,
welches der von ihr gespeicherten Datenpakete als Nächstes an
die Eingangswegewahleinheit 13 gesendet wird.In contrast to that in the 1 and 3 In this case, no central control unit is used here. Instead, each input buffer has 11 via its own input control unit 25 that are independent of the other input control units 25 is working. This is because this arrangement is the input selection unit 13 includes all the input buffers 11 the independent transmission of their data packets via the input router 13 allows whenever the outbound queue 18 for this data packet and the shared output buffer 35 Have enough space for it, ie, if no negative permission data GR were generated. The independence of the input control units 25 leads to a significantly lower complexity of the entire control resources. Each input control unit 25 It must process the incoming data packets only according to a pre-determined decision-making procedure, which may be a series procedure, with or without equity to obtain priority on the basis of priority, or any other method. Each input control unit 25 independently decides which of the data packets it stores next to the input selection unit 13 is sent.
Eine
weitere Verbesserung lässt
sich erzielen, indem ein Signal, das den Eingangssteuereinheiten 25 ausführlichere
Informationen zum Auslastungsgrad der Ausgangswarteschlangen 18 bereitstellt,
an die Eingangssteuereinheiten 25 zurückgegeben wird. Da das Ziel
darin besteht, dass zu jedem beliebigen Zeitpunkt an jedem beliebigen
Ausgangsanschluss 30 ein Datenpaket vorhanden ist, das
an eine nächste
Phase übergeben
werden soll, können die
Informationen, die besagen, dass eine Ausgangswarteschlange 18 leer
oder annähernd
leer ist, auch der Eingangssteuereinheit 25 bereitgestellt
und vorzugsweise dazu verwendet werden, um diejenigen Datenpakete,
die an den betreffenden Ausgangsanschluss 30 gerichtet
sind, an die Eingangssteuereinheit 13 zu senden. Die Informationen
zum Status der Ausgangswarteschlangen 18 lassen sich beispielsweise
erhalten, indem ein oder mehrere zusätzliche Grenzwerte, z.B. ein
Grenzwert bei einem Auslastungsgrad von 0 oder annähernd 0,
eingeführt
werden. Eine leere oder beinahe leere Ausgangswarteschlange 18 wird
somit an die Eingangssteuereinheiten 25 gemeldet, die daraufhin
ihr Verfahren so anpassen sollten, dass diese Ausgangswarteschlange 18 so
bald wie möglich
ein Datenpaket empfängt. Durch
die Einführung
mehrerer dieser Grenzwerte kann den Eingangssteuereinheiten 25 ein
detaillierter Statusbericht bereitgestellt werden, mit dem diese dann
für jede
einzelne Ausgangswarteschlange 18 ihr Verfahren für das Multiplexen
von Datenpaketen entsprechend abändern
können.
Dieser Statusbericht dient somit als eine Art von Gegensatz zu den Erlaubnisdaten
GR, der in Form eines Alarmsignals bei geringem Auslastungsgrad
oder eines Ablauf-Rückkopplungssignals
für die
Auslastungsmaximierung vorliegt.Further improvement can be achieved by sending a signal to the input control units 25 more detailed information on the utilization level of the output queues 18 provides to the input controllers 25 is returned. Since the goal is that at any time at any output port 30 If there is a data packet to be passed to a next phase, the information that indicates that an output queue 18 empty or nearly empty, including the input control unit 25 provided and preferably used to those data packets that are sent to the relevant output port 30 directed to the input control unit 13 to send. The information about the status of the source queues 18 can be obtained, for example, by introducing one or more additional limit values, eg a limit at a utilization level of 0 or approximately 0. An empty or nearly empty output queue 18 is thus to the input control units 25 who should then adapt their procedure so that this outgoing queue 18 receive a data packet as soon as possible. By introducing several of these limits, the input control units can 25 a detailed status report will be provided for each output queue 18 their method for the multiplexing of data packets can change accordingly. This status report thus serves as a kind of contrast to the permission data GR, which is in the form of a low duty alarm signal or a load maximization runback feedback signal.
Der
Mechanismus für
die Verarbeitung von Rundsende-Datenpaketen
entspricht hier demjenigen bei der Anordnung aus den 1 und 3. Dabei
lassen sich mehrere Prioritäten
dadurch verarbeiten, dass jeder Eingangspufferspeicher 11 pro Ausgangsanschluss 30 und
pro Prioritätsebene
eine Eingangswarteschlange 12 umfasst. Dies bedeutet, dass
jeder Eingangspufferspeicher 11 für acht Ausgangsanschlüsse 30 und
vier Prioritäten
insgesamt 32 Eingangswarteschlangen 12 umfasst.
Die negativen Erlaubnisdaten GR können hier selektiver an die Eingangspufferspeicher 11 weitergegeben
werden, indem die negativen Erlaubnisdaten GR, die von einer bestimmten
Ausgangswarteschlange 18 herrühren, ausschließlich an
die betreffende Eingangswarteschlange 12 der Eingangspufferspeicher 11 bzw. – bei mehreren
Prioritäten – an die
betreffenden Eingangswarteschlangen 12 geleitet werden.
Somit werden alle anderen Eingangswarteschlangen 12 durch diese
negativen Erlaubnisdaten nicht blockiert und können weiterhin ihre Datenpakete
an den gemeinsamen Ausgangspufferspeicher 35 senden. In
Verbindung mit dem hier angewendeten Prinzip des gemeinsamen Ausgangspufferspeichers lässt sich
im Vergleich mit der Anordnung aus den 1 und 3 ein
höherer
Durchsatz erzielen.The mechanism for processing broadcast data packets here corresponds to that in the arrangement of the 1 and 3 , In doing so, several priorities can be processed by each input buffer 11 per output connection 30 and one input queue per priority level 12 includes. This means that every input buffer 11 for eight output connections 30 and four priorities in total 32 input queues 12 includes. The negative permission data GR can be more selective to the input buffer memory here 11 be passed by the negative permission data GR, that of a particular output queue 18 exclusively to the relevant entry queue 12 the input buffer 11 or - with multiple priorities - to the respective input queues 12 be directed. Thus all other input queues become 12 not blocked by these negative permission data and can continue to send their data packets to the common output buffer 35 send. In connection with the principle of the common output buffer used here can be compared with the arrangement of the 1 and 3 achieve a higher throughput.
Hier
tritt jedoch ein auf den ersten Blick überraschender Effekt auf, der
darin besteht, dass die Leistung im Gegensatz zum erwarteten Verhalten
mit steigender Intensität
der gemeinsamen Nutzung sinkt. Dies lässt sich folgendermaßen erklären. Die Schalteinheit 10 erreicht
hier beinahe ihre maximale Lastkapazität, d.h., die Ausgangswarteschlangen sind
beinahe bis zu ihrem Grenzwert gefüllt, da die selektiven Erlaubnisdaten
GR eine Blockierung durch ein Datenpaket an erster Stelle der Warteschlange
verhindert. Die gemeinsame Nutzung bewirkt, dass die Überlast
eines Ausgangsanschlusses 30 bzw. seiner Ausgangswarteschlange 18 zum Nachteil
der den anderen Ausgangswarteschlangen 18 zur Verfügung stehenden
Kapazität
zwischengespeichert wird. Die gemeinsame Nutzung funktioniert gut,
solange ihr Vorteil nur in Verbindung mit einer zeitlichen Zufallsverteilung
genutzt wird. Da der virtuelle Ausgangspufferspeicherplatz größer ist
als der tatsächlich
vorhandene Pufferspeicherplatz, besteht die Gefahr, dass die Ausgangswarteschlangen 18 mehr
Adressen erhalten, als der Ausgangspufferspeicher 35 Speicherplätze aufweist.
Dies lässt
sich selbstverständlich
durch den Erlaubnismechanismus für
den Ausgangspufferspeicher verhindern. In Verbindung mit der Anordnung
bewirkt die virtuelle Ausgangsspeicherung, dass die Steuerung der
Eingangswarteschlangen 12 äußerst genau auf die verfügbare Kapazität der zugehörigen Ausgangswarteschlangen 18 abgestimmt
ist. Aus diesem Grund werden die Ausgangswarteschlangen 18 annähernd bis zu
ihrer Höchstkapazität ausgelastet.
Da diese Kapazität
durch die Einführung
des Prinzips der gemeinsamen Nutzung erhöht wird, steigt auch die Wahrscheinlichkeit
für negative
Erlaubnisdaten GR infolge einer vollständigen Auslastung des Ausgangspufferspeichers 35.
Außerdem
wird deutlich, dass mit steigendem gemeinsamem Nutzungsfaktor, d.h.
dem Multiplikationsfaktor, um den der virtuelle Ausgangspufferspeicherplatz
den tatsächlich
vorhandenen Pufferspeicherplatz übersteigt,
auch diese Wahrscheinlichkeit und somit die nachteilige Auswirkung auf
die Gesamtleistung bei einem Standard-Datenverkehr zunimmt.Here, however, a surprising effect appears at first sight, which is that, in contrast to the expected behavior, the performance decreases with increasing intensity of sharing. This can be explained as follows. The switching unit 10 here almost reaches its maximum load capacity, ie the output queues are filled almost to their limit because the selective permission data GR prevents blocking by a data packet in the first queue. Sharing causes the overload of an output terminal 30 or its output queue 18 to the detriment of the other output queues 18 available capacity is cached. Sharing works well as long as its benefit is only used in conjunction with a time-random distribution. Since the virtual output buffer space is larger than the actual buffer space available, there is a danger that the output queues 18 receive more addresses than the output buffer 35 Has memory locations. Of course, this can be prevented by the permission mechanism for the output buffer. In conjunction with the arrangement, the virtual output storage causes the control of the input queues 12 highly accurate on the available capacity of the associated output queues 18 is tuned. For this reason, the output queues become 18 almost full capacity. As this capacity is increased by the introduction of the sharing principle, the probability of negative permission data GR also increases due to a full utilization of the output buffer 35 , It also becomes clear that as the shared utilization factor, ie the multiplication factor by which the output virtual buffer space exceeds the actual buffer space available, also increases this probability and thus the adverse effect on the overall performance of a standard traffic.
Der
Eingangspufferspeicher 11 mit virtueller Ausgangsspeicherung
kann auch in Form eines gemeinsamen Eingangspufferspeichers 11 mit
oder ohne gemeinsame Nutzung ausgeführt sein, wobei dasselbe Prinzip
wie bei dem Ausgangspufferspeicher 35 zum Einsatz kommt.
Dies bedeutet, dass die eingehenden Datenpakete in einem gemeinsamen Eingangspufferspeicher 11 gespeichert
werden können,
während
ihre Adressen darin in getrennten Eingangswarteschlangen 12 gespeichert
werden, wobei ihre Reihenfolge den Ausgangsanschlüssen 30 entspricht,
an die diese Datenpakete gerichtet sind.The input buffer 11 With virtual output storage can also be in the form of a common input buffer 11 with or without sharing, the same principle as the output buffer 35 is used. This means that the incoming data packets in a common input buffer memory 11 while their addresses are in separate input queues 12 stored, their order being the output terminals 30 corresponds to which these data packets are addressed.
Die
Anordnung aus 4 lässt sich auch ohne virtuelle
Ausgangsspeicherung ausführen,
indem für
jeden Eingangsanschluss 20 ein einzelner Eingangspufferspeicher 11 bereitgestellt
wird.The arrangement off 4 can also be run without virtual output storage by using for each input port 20 a single input buffer 11 provided.
Bei
der vorgeschlagenen Erfindung müssen bei
einer Änderung
der Größe der Anordnung,
auch als Schaltwerk bezeichnet, z.B. von 16 × 16, d.h. 16 Eingangsanschlüssen 20 × 16 Ausgangsanschlüssen 30,
auf 32 × 32
alle Schaltadapter 19 lediglich ihre Warteschlangenstruktur,
nicht jedoch ihren zum Adapter gehörigen Eingangspufferspeicher 11 ändern. Dies bedeutet,
dass bei entsprechender Vorausplanung die tatsächliche Anzahl der verketteten Listen
zur Verwaltung dieses Eingangspufferspeichers 11 als eine
Zusammenstellung der Eingangswarteschlangen 12 programmierbar
sein sollte. Unabhängig
davon nimmt die Komplexität
der Schaltadapter 19 mit der Größenordnung von N zu, d.h.,
die Verdopplung der Anzahl der Ziele bringt eine Verdoppelung der
Anzahl der Eingangswarteschlangen 12 und der Ausgangswarteschlangen 18 mit
sich. Bei der klassischen VOQ-Anordnung erfordert eine Verdoppelung
der Anzahl der Schalter-Eingangsanschlüsse 20 und -Ausgangsanschlüsse 30 eine
Potenzierung der Anzahl der Anfragen, d.h., eine 16-×-16-Steuereinheit
empfängt
256 Anfragen, während
eine 32-×-32-Steuereinheit
1024 Anfragen empfängt.In the proposed invention, when changing the size of the arrangement, also referred to as a switching mechanism, for example, 16 × 16, ie 16 input terminals 20 × 16 output terminals 30 , on 32 × 32 all switching adapters 19 only their queue structure, but not their input buffer associated with the adapter 11 to change. This means that, with appropriate scheduling, the actual number of linked lists to manage this input buffer 11 as a compilation of the input queues 12 should be programmable. Regardless, the complexity of the switching adapters decreases 19 with the order of N to, ie, doubling the number of targets will double the number of input queues 12 and the output queues 18 with himself. The classical VOQ arrangement requires a doubling of the number of switch input terminals 20 and output terminals 30 an exponentiation of the number of requests, ie a 16x16 controller receives 256 requests, while a 32x32 controller receives 1024 requests.
Bei
der klassischen VOQ-Anordnung erfordern Rundsende-Datenpakete eine
besondere Verarbeitung. Die Schalteinheit 10 beinhaltet
in diesem Fall keinen internen Pufferspeicher. Dies bedeutet, dass
für das
Senden eines Rundsende-Datenpakets alle Ausgangsanschlüsse 30,
an die dieses Datenpaket geht, frei sein müssen. Dies führt zu einer
zusätzlichen
Komplexität
der Schaltsteuereinheit 25: Sie muss erkennen, dass ein
Rundsende-Datenpaket übertragen
werden soll, muss dann sicherstellen, dass kein anderer Schaltadapter 19 ein
Datenpaket an einen der Ausgangsanschlüsse 30 sendet, an
die das Rundsende-Datenpaket geht, muss anschließend dem Schaltadapter 19,
der das Rundsende-Datenpaket sendet, die Sendeerlaubnis erteilen
und muss schließlich
mehrere Kreuzungspunkte in der Schalteinheit 10 setzen.
Solange diese Schaltsteuereinheit 25 eine einfache Logik
umfasst, ist dies machbar, sobald sie jedoch im Fließbandverfahren
arbeitet und ausgefeilte Algorithmen verwendet, die versuchen, eine
bestmögliche
Gerechtigkeit und Prioritätsverarbeitung
sicherzustellen, entwickelt sich dies zu einer wirklich komplexen
Aufgabe. Eine bekannte derzeitige Vorgehensweise besteht in der
Bereitstellung eigener Rundsende-Warteschlangen, in die alle Adapter
ihre Rundsende-Datenpakete
stellen. Da so die Beziehung zwischen nicht rundgesendetem und rundgesendetem
Datenverkehr vollständig
aufgehoben ist, wird dies als eine nicht optimale Lösung betrachtet.
Es ist nicht möglich,
zwei Rundsende-Datenpakete, von denen eines von einem ersten Schaltadapter 19 und
eines von einem anderen Schaltadapter 19 stammt, zu senden,
wenn es mindestens einen Ausgangsanschluss 30 gibt, bei
dem eine Überlappung
mit den Zielen dieser beiden Rundsende-Datenpakete vorliegt. Dies
führt zu
einer schwerwiegenden Beeinträchtigung
der Durchsatzleistung.In the classical VOQ arrangement, broadcast data packets require special processing. The switching unit 10 in this case does not contain any internal buffer memory. This means that for sending a broadcast data packet all output ports 30 to which this data package is going to have to be free. This leads to additional complexity of the switching control unit 25 : It must recognize that a broadcast data packet should be transmitted, then must make sure that no other switching adapter 19 a data packet to one of the output ports 30 sends to which the broadcast data packet goes, must then the switching adapter 19 which transmits the broadcast data packet, grant the broadcast permission, and eventually has several cross points in the switching unit 10 put. As long as this shift control unit 25 This is feasible, but once it works in a pipelined way and uses sophisticated algorithms that try to ensure the best possible fairness and priority processing, it becomes a truly complex task. One known current practice is to provide dedicated broadcast queues into which all adapters place their broadcast data packets. Since this completely removes the relationship between unsubmitted and broadcast traffic, this is considered a less than optimal solution. It is not possible to have two broadcast data packets, one of which is a first switching adapter 19 and one from another switch adapter 19 comes to send if there is at least one output terminal 30 where there is an overlap with the destinations of these two broadcast data packets. This leads to a serious impairment of throughput.
Wenn
bei der Anordnung aus 3 ein Schaltadapter 19 ein
Rundsende-Datenpaket senden soll und die Ausgangswarteschlangen 18,
die eine Kopie dieses Datenpakets empfangen, keine Überschreitung
ihres Grenzwerts melden, kann das Datenpaket gesendet werden. Mehrere
Schaltadapter können
gleichzeitig mehrere Rundsende-Datenpakete senden, ohne dass sie
voneinander wissen müssen,
wohin genau sie diese senden. Eine mögliche Kollision wird durch
den Ausgangspufferspeicher 35 vermieden. Die Schalteinheit 10 mit
virtueller Ausgangsspeicherung und gemeinsam genutztem Ausgangspufferspeicher,
d.h. dem gemeinsamen Ausgangspufferspeicher 35, bietet
eine gute Umgebung für
die Verarbeitung von Rundsende-Datenpaketen, da – im Gegensatz zu anderen Schalteinheiten 10 – das Datenpaket
nicht mehrere Male vervielfältigt
werden muss, was wiederum Speicherplatz spart, wobei das Rundsende-Datenpaket
ebenso verarbeitet werden kann wie ein Datenpaket, das nur an eine
einzige Adresse gerichtet ist. Dies vereinfacht die Steuerung und
Regelung des Datenverkehrs. Es wird ein besseres Echtzeitverhalten
erzielt, indem Rundsende-Datenpaketen keine zusätzliche künstliche Latenzzeit für einen
zusätzlichen
Verarbeitungsprozess auferlegt wird.If in the arrangement off 3 one switching adapter 19 to send a broadcast data packet and the output queues 18 who receive a copy of this data packet, do not report exceeding their limit value, the data packet can be sent. Multiple switch adapters can send multiple broadcast data packets at the same time without having to know where exactly they are sending them. One possible collision is through the output buffer 35 avoided. The switching unit 10 with virtual output storage and shared output buffer, ie the common output buffer 35 , offers a good environment for the processing of broadcast data packets, in contrast to other switching units 10 - The data packet does not have to be duplicated several times, which in turn saves memory, where the broadcast data packet can be processed as well as a data packet that is addressed to only a single address. This simplifies the control and regulation of the data traffic. Better real-time performance is achieved by not imparting extra artificial latency on broadcast data packets for additional processing.
Die
Verwendung von Eingangswarteschlangen 12 für jede Priorität verhindert,
dass Datenpakete mit hoher Priorität durch Datenpakete mit niedrigerer Priorität blockiert
werden, was wiederum die Dienstqualität der Schalteinheit 10 erhöht.The use of input queues 12 for each priority prevents high-priority data packets from being blocked by lower-priority data packets, which in turn degrades the quality of service of the switching unit 10 elevated.
Gemäß der Erfindung
lässt sich
die Leistung der Schalteinheit 10 auf verschiedene Arten
steigern. Für
eine höhere
Anzahl von Eingangsanschlüssen 20 und
Ausgangsanschlüssen 30 kann
die Schalteinheit 10 in einer Mehrstufen- oder Einstufen-Anordnung
ausgeführt
werden. Bei der Mehrstufen-Anordnung nimmt die Anzahl der benötigten Schalteinheiten 10 langsamer
zu als bei einer vergleichbaren Einphasen-Anordnung, d.h., mit zunehmender
Anzahl der Anschlüsse
benötigt
eine Mehrstufen-Anordnung weniger
Schalteinheiten 10 als eine Einstufen-Anordnung.According to the invention, the performance of the switching unit can be 10 increase in different ways. For a higher number of input connections 20 and output terminals 30 can the switching unit 10 in a multi-stage or single-stage arrangement. In the multi-stage arrangement, the number of switching units required decreases 10 slower than in a comparable single-phase arrangement, ie, with increasing number of connections requires a multi-stage arrangement fewer switching units 10 as a one-step arrangement.
Aufgrund
der längeren
Latenzzeit und möglicher
negativer Erlaubnisdaten GR infolge einer vollständigen Auslastung einer Ausgangswarteschlange 18 durch
eine Verbindung, wodurch die Verarbeitung von Datenpaketen mit anderen
Zielen verhindert wird, oder infolge einer vollständigen Auslastung
des Ausgangspufferspeichers 35, die alle Eingänge der Schalteinheit
blockiert, was sich dann wiederum auf die vorhergehende Stufe auswirkt,
weist eine Mehrstufen-Anordnung allerdings eine geringere Leistung auf.
Diese geringere Leistung kann bis zu einem gewissen Grad durch einen Beschleunigungsfaktor ausgeglichen
werden. Dies bedeutet, dass die Schalteinheit 10 mit einer
höheren
Geschwindigkeit läuft
als ihre Umgebung. In diesem Fall wird nach der Schalteinheit 10 ein
Ausgangspufferspeicher 35 benötigt, um die schneller eingehenden
Datenpakete, die von der letzten Stufe gesendet und mit einer geringeren
Geschwindigkeit an die folgende Hardwareumgebung weitergeleitet
werden sollen, zwischenzuspeichern. Eine weitere Möglichkeit
besteht in der Vergrößerung des
Speichers der Schalteinheit, so dass eine vollständige Auslastung des Ausgangspufferspeichers 35 weniger
wahrscheinlich wird. Ein derartiger größerer Speicher ist jedoch kostenaufwändig und
unterliegt außerdem
gewissen physischen Beschränkungen.
Die Vergrößerung des
Schaltelementspeichers durch den Speicherweiterungsmodus vermeidet
die physische Beschränkung,
ist aber dennoch teuer. Wenn bei einer Mehrstufen-Anordnung ein
darauf folgendes Schaltelement 10 belegt ist, d.h., wenn
sein Ausgangspufferspeicher 35 voll und somit keine Adresse
verfügbar
ist, oder wenn die Ausgangswarteschlange 18 voll ist, können negative Erlaubnisdaten
GR für
alle Eingänge
erzeugt werden, wobei die Erlaubnisdaten GR wiederum an alle vorhergehenden
Schalteinheiten 10 übertragen
werden. Bei vollen Ausgangswarteschlangen 18 können die
Erlaubnisdaten GR selektiv nur Datenpakete blockieren, die an die
volle Ausgangswarteschlange 18 gerichtet sind. Bei einem
vollen Ausgangspufferspeicher 35 müssen alle Eingangspufferspeicher 11 blockiert
werden. Die negativen Erlaubnisdaten GR blockieren die vorhergehende
Schalteinheit 10, so dass diese keine Datenzellen mehr
senden kann.Due to the longer latency and possible negative permission data GR due to a full utilization of an output queue 18 through a connection, preventing the processing of data packets with other destinations, or due to a full utilization of the output buffer 35 , which blocks all inputs of the switching unit, which in turn affects the previous stage, however, a multi-stage arrangement has a lower power. This lower power can be offset to some extent by an acceleration factor. This means that the switching unit 10 running at a higher speed than their surroundings. In this case, after the switching unit 10 an output buffer 35 needed to cache the faster incoming data packets sent from the last stage and forwarded to the following hardware environment at a lower speed. Another possibility is to increase the memory of the switching unit, so that a full utilization of the output buffer memory 35 less likely. However, such larger memory is costly and also subject to certain physical limitations. The enlargement of the switching element memory by the memory expansion mode avoids the physical restriction, but is still expensive. If in a multi-stage arrangement, a subsequent switching element 10 is occupied, ie, when its output buffer 35 full and thus no address is available, or if the output queue 18 is full, negative permission data GR can be generated for all inputs, the permission data GR in turn being sent to all previous switching units 10 be transmitted. For full output queues 18 For example, the permission data GR may selectively block only data packets coming to the full output queue 18 are directed. With a full output buffer 35 must all input caches 11 be blocked. The negative permission data GR blocks the preceding switching unit 10 so that it can no longer send data cells.
Die
Größe der hier
vorgestellten Schalteinheit 10 lässt sich mit allen bekannten
Erweiterungsverfahren, wie sie z.B. von der PRIZMA-Architektur bekannt
sind, über
die im Abschnitt über
den Hintergrund der Erfindung die Rede war, verändern. Somit ist eine Steigerung
bzw. Erweiterung von Geschwindigkeit, Anschlüssen und Leistung und Speicher,
wobei es sich hier um die Verfügbarkeit
von mehr Ausgangspufferspeicherplatz handelt, ebenso anwendbar wie
die parallele Verschaltung mehrerer Chips (link-paralleling) und
das Master-Slave-Prinzip sowie eine beliebige Kombination hiervon.The size of the switching unit presented here 10 can be modified with all known expansion methods, as they are known for example from the PRIZMA architecture, which was discussed in the section on the background of the invention. Thus, an increase in speed, ports, and power and memory, which is the availability of more output buffer space, is as applicable as the parallel interconnection of multiple chips (link-paralleling) and the master-slave principle, and one any combination thereof.
Die
beschriebenen Ausführungsformen
können
sowohl teilweise als auch im Ganzen miteinander kombiniert werden.The
described embodiments
can
be combined both partially and in whole.