-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf das technische Gebiet integrierter Schaltkreise und ein NOC-Elektronikelement.
-
Hintergrund
-
Als Entwicklung von Halbleitertechnologien können Designer von integrierten Schaltkreisen (IC) immer kompliziertere Funktionen auf einem einzelnen Wafer integrieren, und ein System auf einem Chip (SOC) entsteht, wenn sich der IC allmählich in ein integriertes System verändert. Im engen Sinne ist das SOC eine Integration von elektronischen Informationssystemen; während das SOC im weiteren Sinne ein kleines mikroelektronisches System ist. In dem SOC sind digital-analoge Hybridschaltkreise auf dem einzelnen Wafer integriert. Das SOC beinhaltet verschiedenartige Funktionsmodule, wie einen ein gebetteten Kern, einen Speicher, ein dediziertes Funktionsmodul, ein Eingabe/Ausgabe-Schnittstellenmodul etc. Zusätzlich werden in dem SOC Modellalgorithmus, Chipstruktur, hierarchische Schaltkreise und sogar Gerätedesign umfassend berücksichtig, um mit einem einzelnen Chip alle Funktionen eines gesamten Computers zu implementieren.
-
Da die Funktionsmodule aufwändig und kompliziert werden, wird die Menge von Datenverbindungen für Informationskommunikation zwischen den Funktionsmodulen stark erhöht, was in der Schwierigkeit in SOC-Design und einem erhöhten Systemverbrauch des SOC resultiert. Um das Jahr 1999 schlugen mehrere Forschungsgruppen eine neue Architektur für integrierte Schaltkreise, Netzwerk-auf-Chip (SOC), vor. Ein grundlegendes Konzept des NOC liegt darin, dass Computernetzwerktechnologien in Chip-Design migriert werden, um Nachteile der SOC-Architektur vollständig zu überwinden.
-
Das NOC kann als ein Multiprozessorsystem definiert werden, in dem netzwerkbasierte Kommunikationen mit einem einzelnen Chip erreicht werden. Das NOC beinhaltet Routing-Knotenpunkte und Kommunikationsknotenpunkte. Der Routing-Knotenpunkt ist zum Erfüllen allgemeiner Berechnungsaufgaben, während der Kommunikationsmodus für Datenkommunikationen zwischen Routing-Knotenpunkten verantwortlich ist. Ein Kommunikationsansatz für ein dezentrales Computersystem wird in einem Netzwerk der Kommunikationsknotenpunkte verwendet, und Kommunikationsaufgaben werden unter Verwendung von Routing- und Paketvermittlungstechnologien erfüllt.
-
Offensichtlich ist der Router eine Kernkomponente des NOC, welcher zum Weiterleiten und Übertragen von Paketen ist. Ein konventioneller Router beinhaltet hauptsächlich Komponenten, wie einen virtuellen Kanal, einen Datenzwischenspeicher, einen Prioritätenvermittler, einen Kreuzschienenschalter etc. In jüngsten Forschungen wird ein NOC ohne einen virtuellen Kanal und Datenzwischenspeicher, genannt NOC ohne Zwischenspeicher, vorgeschlagen, um die Leistungsfähigkeit des NOC zu verbessern.
-
Üblicherweise hat das NOC ohne Zwischenspeicher keine Funktion zum Zwischenspeichern; daher, wenn das NOC ohne Zwischenspeicher Pakete weiterleitet, muss der Routing-Knotenpunkt ein empfangenes Paket übertragen, bevor dieser ein nächstes Paket empfängt, egal, ob das empfangene Paket durch einen erwarteten Weiterleitungs-Port übertragen werden soll. Auf diese Weise kann, in einem Fall, in dem mehrere Pakete um Ports konkurrieren, nur ein Paket seinem erwarteten Port zugewiesen werden, während alle anderen Pakete zu unerwarteten Ports übertragen werden, und entsprechend finden auf den zu unerwarteten Ports übertragenen Paketen Ablenkungen statt. Zusätzlich kann, in einem Fall, in dem ein neues Paket in ein Netzwerk durch den Weiterleitungs-Port des NOC ohne Zwischenspeicher eingespeist werden muss, das neue Paket nicht sofort eingespeist werden, falls es keinen freien Einspeisungs-Port in dem Router gibt, was in einer Verhungerung resultiert. Daher würden in einem Fall, in dem es in dem NOC ohne Zwischenspeicher mehrere zu übertragende Pakete gibt, die mehreren Pakete zufällig übertragen; folglich würde ein Paket mit einer hohen Priorität abgelenkt, und das NOC ohne Zwischenspeicher kann die Leistungsfähigkeit eines Programms mit einer hohen Priorität nicht sicherstellen.
-
Zusammenfassung
-
Ein NOC-Elektronikelement wird gemäß Ausführungsbeispielen der Erfindung bereitgestellt, um die Leistungsfähigkeit eines Programms mit einer hohen Priorität durch Verringern einer Rate, dass die Pakete mit einer hohen Programmpriorität abgelenkt werden, zu verbessern.
-
Technische Lösungen gemäß den Ausführungsbeispielen der Erfindung werden wie folgt beschrieben:
Ein NOC-Elektronikelement wird bereitgestellt. Das NOC-Elektronikelement beinhaltet mindestens einen Routing-Knotenpunkt, und jeder Routing-Knotenpunkt beinhaltet einen Speicher, einen Prozessor, eine Schalteinheit, einen Eingabe-Port und einen Ausgabe-Port,
der Speicher ist eingerichtet, um eine Routing-Tabelle zu speichern, wobei ein Weg, entlang welchem ein Paket ein Ziel erreicht, in der Routing-Tabelle aufgezeichnet ist,
der Prozessor ist eingerichtet, um, in einem Verarbeitungszeitraum, mehrere zu einem gleichen Weiterleitungs-Port zu übertragende Pakete zu empfangen, Prioritätsinformationen der mehreren Pakete zu erlangen und Prioritätsstufen der mehreren Pakete basierend auf den Prioritätsinformationen zu bestimmen und ein Paket mit einer höchsten Priorität durch den Weiterleitungs-Port zu übertragen; wobei für jedes Paket die Prioritätsinformationen Zeitlängeninformationen des Pakets und Programmprioritätsinformationen eines mit dem Paket korrespondierenden Programms beinhalten, und die Zeitlängeninformationen des Pakets einen Zeitraum repräsentieren, während dem das Paket in dem NOC gehalten wird.
-
In einer ersten Implementierung
ist der Speicher weiter eingerichtet, einen Prioritätsschwellenwert zu speichern und,
wenn der Prozessor die Prioritätsinformationen der mehreren Pakete erlangt und die Prioritätsstufen der mehreren Pakete basierend auf den Prioritätsinformationen bestimmt, ist der Prozessor weiter eingerichtet, die Prioritätsinformationen der Pakete zu erlangen, den Prioritätsschwellenwert von dem Speicher zu erlangen, und die Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen der Pakete und dem Prioritätsschwellenwert zu erhalten.
-
In einer zweiten Implementierung
ist der Prozessor weiter eingerichtet, wenn ein Paket einen ersten des mindestens einen Routing-Knotenpunkts in dem NOC betritt, die mit dem Paket korrespondierenden Prioritätsinformationen von einem Register einer mit dem ersten des mindestens einen Routing-Knotenpunkts korrespondierenden CPU zu erlangen, und die mit dem Paket korrespondierenden Prioritätsinformationen in einen Kopf des Pakets zu schreiben, und,
wenn der Prozessor die Prioritätsinformationen der mehreren Pakete erlangt und die Prioritätsstufen der mehreren Pakete basierend auf den Prioritätsinformationen bestimmt, ist der Prozessor weiter eingerichtet, die mit jedem Paket korrespondierenden Prioritätsinformationen von dem Kopf des Pakets zu lesen und die Prioritätsstufe des Pakets basierend auf den Prioritätsinformationen des Pakets zu erhalten.
-
In einer dritten Implementierung, in Kombination mit dem dritten Aspekt oder der ersten Implementierung oder der zweiten Implementierung,
ist der Prozessor weiter eingerichtet, andere Pakete zusätzlich zu dem Paket mit der höchsten Priorität durch andere Weiterleitungs-Ports zusätzlich zu dem Weiterleitungs-Port weiterzuleiten.
-
Ein NOC-Elektronikelement wird bereit gestellt, welches mindestens einen Routing-Knotenpunkt und einen Datenprozessor beinhaltet, und jeder Routing-Knotenpunkt beinhaltet einen Einspeisungs-Port und mindestens einen Weiterleitungs-Port,
der Datenprozessor ist eingerichtet, Knotenpunktinformationen von jedem Routing-Knotenpunkt in dem NOC-Elektronikelement von dem Routing-Knotenpunkt in dem NOC-Elektronikelement zu erlangen, wobei die Knotenpunktinformationen eine Verhungerungsrate des Routing-Knotenpunkts, eine Anzahl von Instruktionen pro FLIT, IPF, für jedes Paket eines mit einem gerade in den Knotenpunkt eingespeisten Paket korrespondierenden Programms und Programmprioritätsinformationen, welche eine Priorität des gerade eingespeisten Pakets anzeigen, beinhalten,
der Datenprozessor ist weiter eingerichtet, falls das NOC-Elektronikelement einer Stauung ausgesetzt ist, basierend auf den IPFs und den Programmprioritätsinformationen der gerade in jeweilige Routing-Knotenpunkte eingespeisten Pakete Einspeisungsbeschränkungsraten zu berechnen, die von den jeweiligen Routing-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden, wobei die Einspeisungsbeschränkungsrate ein Prozentsatz des mit dem gerade eingespeisten Paket korrespondierenden Programms ist, welches durch den Routing-Knotenpunkt darin beschränkt ist, in den Routing-Knotenpunkt eingespeist zu werden,
der Datenprozessor ist weiter eingerichtet, die Einspeisungsbeschränkungsraten, die von jeweiligen Routen-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden, korrespondierenden Routing-Knotenpunkten zuzuweisen, und
jeder Routing-Knotenpunkt ist eingerichtet, basierend auf der korrespondierenden Einspeisungsbeschränkungsrate, die von dem Datenprozessor zugewiesen wird, das mit dem gerade eingespeisten Paket korrespondierende Programm darin zu beschränken, in den Routing-Knotenpunkt eingespeist zu werden.
-
In einer ersten Implementierung, wenn der Datenprozessor basierend auf den IPFs und den Programmprioritätsinformationen der gerade in jeweilige Routing-Knotenpunkte eingespeiste Pakete die Einspeisungsbeschränkungsraten berechnet, welche von den jeweiligen Routing-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden, ist der Datenprozessor weiter eingerichtet, basierend auf den IPFs und den Programmprioritätsinformationen der gerade in die jeweiligen Routing-Knotenpunkte eingespeisten Pakete und einer Einspeisungsbeschränkungsformel die Einspeisungsbeschränkungsraten zu bestimmen, welche von den jeweiligen Routing-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden, wobei die Einspeisungsbeschränkungsratenformel T = max(δ, λ / α·IPF + β·Priority) ist, wobei T die Einspeisungsbeschränkungsrate repräsentiert, Priority eine Programmpriorität des gerade eingespeisten Pakets repräsentiert, und δ, α, β, λ Konstanten sind.
-
In einer zweiten Implementierung, in Kombination mit dem vierten Aspekt oder der ersten Implementierung, ist der Datenprozessor weiter eingerichtet, für jeden Routing-Knotenpunkt die Verhungerungsrate des Routing-Knotenpunkts mit einem mit dem Routing-Knotenpunkt korrespondierenden Verhungerungsratenschwellenwert zu vergleichen, um zu bestimmen, ob der Routing-Knotenpunkt einer Stauung ausgesetzt ist, und
zu bestimmen, dass das NOC-Elektronikelement einer Stauung ausgesetzt ist, falls irgendein Routing-Knotenpunkt in dem NOC-Elektronikelement einer Stauung ausgesetzt ist.
-
In einer dritten Implementierung, in Kombination mit dem vierten Aspekt oder der ersten Implementierung oder der zweiten Implementierung, werden die Knotenpunktinformationen von jedem Routing-Knotenpunkt in dem NOC-Elektronikelement in einem Register des Routing-Knotenpunkts gespeichert.
-
Ein NOC-Elektronikelement wird bereitgestellt, welches mindestens einen Routing-Knotenpunkt und einen Datenprozessor beinhaltet, wobei jeder Routing-Knotenpunkt einen Einspeisungs-Port und mindestens einen Weiterleitungs-Port beinhaltet,
der Routing-Knotenpunkt in dem NOC-Elektronikelement eingerichtet ist, in einem Verarbeitungszeitraum mehrere zu einem gleichen Weiterleitungs-Port zu übertragende Pakete zu empfangen; Prioritätsinformationen von Paketen zu erlangen und Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen zu bestimmen; und ein Paket mit einer höchsten Priorität durch den Weiterleitungs-Port zu übertragen, wobei die Prioritätsinformationen Zeitlängeninformationen des Pakets und Programmprioritätsinformationen eines mit dem Paket korrespondierenden Programms beinhalten, die Zeitlängeninformationen des Pakets einen Zeitraum repräsentieren, während dem das Paket in dem NOC gehalten wird;
der Datenprozessor weiter eingerichtet ist, Knotenpunktinformationen für jeden Routing-Knotenpunkt in dem NOC-Elektronikelement von dem Routing-Knotenpunkt in dem NOC-Elektronikelement zu erlangen, wobei die Knotenpunktinformationen eine Verhungerungsrate des Routing-Knotenpunkts, eine IPF für jedes Paket eines mit einem gerade in den Routing-Knotenpunkt eingespeisten Paket korrespondierenden Programms und Programmprioritätsinformationen des Programms beinhalten, die Programmprioritätsinformationen werden verwendet, um eine Priorität des gerade eingespeisten Pakets anzuzeigen; und falls das NOC-Elektronikelement einer Stauung ausgesetzt ist, der Datenprozessor weiter eingerichtet ist, basierend auf den IPFs und den Programmprioritätsinformationen der gerade in jeweilige Routing-Knotenpunkte eingespeisten Pakete Einspeisungsbeschränkungsraten zu berechnen, die von jeweiligen Routing-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden, wobei die Einspeisungsbeschränkungsrate ein Prozentsatz mit dem gerade eingespeisten Paket korrespondierenden Programms ist, welches durch den Routing-Knotenpunkt darin beschränkt ist, in den Routing-Knotenpunkt eingespeist zu werden, und der Datenprozessor weiter eingerichtet ist, die Einspeisungsbeschränkungsraten, die von den jeweiligen Routen-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden, korrespondierenden Routing-Knotenpunkten zuzuweisen;
jeder Routing-Knotenpunkt in dem NOC-Elektronikelement ist weiter eingerichtet, basierend auf der von dem Datenprozessor zugewiesenen korrespondierenden Einspeisungsbeschränkungsrate das mit dem gerade eingespeisten Paket korrespondierende Programm darin zu beschränken, in den Routing-Knotenpunkt eingespeist zu werden.
-
In dem NOC-Elektronikelement gemäß den Ausführungsbeispielen der Erfindung empfängt der Routing-Knotenpunkt in einem Verarbeitungszeitraum mehrere zu einem gleichen Weiterleitungs-Port zu übertragende Pakete, erlangt die Prioritätsinformationen der Pakete und bestimmt die Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen, wobei die Prioritätsinformationen die Zeitlängeninformationen des Pakets und die Programmprioritätsinformationen des mit dem Paket korrespondierenden Programms beinhalten, die Zeitlängeninformationen des Pakets den Zeitraum repräsentieren, während dem das Paket in dem NOC gehalten wird; und das Paket mit der höchsten Priorität wird durch den Weiterleitungs-Port weitergeleitet. Daher kann ein Paket mit einer hohen Priorität eine größere Siegchance haben, wenn das Paket in einen Routing-Knotenpunkt durch den Weiterleitungs-Port eingespeist wird, der Zeitraum, während dem ein Paket mit einer hohen Programmpriorität in dem NOC ohne Zwischenspeicher gehalten wird, wird verkürzt, und weiter wird eine Leistungsfähigkeit eines Programms mit einer hohen Priorität durch Verringern einer Rate, dass die Pakete mit der hohen Programmpriorität abgelenkt werden, verbessert.
-
Kurze Beschreibung der Figuren
-
Um die technischen Lösungen gemäß den Ausführungsbeispielen der Erfindung oder gemäß der konventionellen Technologie für einen Fachmann besser verständlich zu machen, werden die in der Offenbarung verwendeten Zeichnungen im Folgenden kurz beschrieben. Offensichtlich sind die im Folgenden beschriebenen Zeichnungen nur einige der Ausführungsbeispiele der Offenbarung, und ein Fachmann kann andere Zeichnungen gemäß dieser Zeichnungen ohne eine kreative Arbeit erhalten.
-
1 ist eine schematische Darstellung von Ports eines Routing-Knotenpunkts eines NOC-Elektronikelements gemäß einem Ausführungsbeispiel der Erfindung;
-
2 ist eine schematische Datenübertragungsdarstellung, die ein Routing eines Pakets zwischen Routing-Knotenpunkten gemäß einem Ausführungsbeispiel der Erfindung zeigt;
-
3 ist ein schematisches Flussdiagramm eines Datenverarbeitungsverfahrens für ein NOC ohne Zwischenspeicher gemäß einem Ausführungsbeispiel der Erfindung;
-
4 ist ein schematisches Flussdiagramm eines Datenverarbeitungsverfahrens für ein NOC ohne Zwischenspeicher gemäß einem Ausführungsbeispiel der Erfindung;
-
5 ist ein schematisches Flussdiagramm eines Datenverarbeitungsverfahrens für ein NOC ohne Zwischenspeicher gemäß einem Ausführungsbeispiel der Erfindung;
-
6 ist eine schematische Strukturdarstellung eines NOC-Elektronikelements gemäß einem Ausführungsbeispiel der Erfindung;
-
7 ist eine schematische Strukturdarstellung irgendeines Routing-Knotenpunkts in einem NOC-Elektronikelement gemäß einem Ausführungsbeispiel der Erfindung;
-
8 ist eine schematische Strukturdarstellung eines NOC-Elektronikelements gemäß einem weiteren Ausführungsbeispiel der Erfindung; und
-
9 ist eine schematische Strukturdarstellung eines NOC-Elektronikelements gemäß noch einem weiteren Ausführungsbeispiel der Erfindung.
-
Detaillierte Beschreibung
-
Technische Lösungen gemäß Ausführungsbeispielen der Erfindung werden nachstehend klar und vollständig in Verbindung mit Zeichnungen in den Ausführungsbeispielen der Erfindung beschrieben. Offensichtlich sind die beschriebenen Ausführungsbeispiele lediglich ein Teil aller der Ausführungsbeispiele der Erfindung. Jegliche anderen von einem Fachmann ohne kreative Arbeit basierend auf den Ausführungsbeispielen der Erfindung erhaltene Ausführungsbeispiele fallen in den Schutzbereich der vorliegenden Erfindung.
-
Die Ausführungsbeispiele der Erfindung werden auf ein Netzwerk-auf-Chip (NOC) ohne Zwischenspeicher angewendet. Das NOC ohne Zwischenspeicher ist eine Art von NOC ohne virtuellen Kanal und Datenzwischenspeicher. Diese Art eines NOC-Elektronikelements beinhaltet Routing-Knotenpunkte und Kommunikationsknotenpunkte, wobei der Routing-Knotenpunkt eingerichtet ist, allgemeine Berechnungsaufgaben zu erfüllen, während der Kommunikationsmodus für Datenkommunikationen zwischen Routing-Knotenpunkten verantwortlich ist. Wie in 1 gezeigt ist, welche eine schematische Darstellung von Ports eines Routing-Knotenpunkts ist, beinhaltet der Routing-Knotenpunkt einen Austauschschalter, einen lokalen Port (d. h. einen Einspeisungs-Port) und Weiterleitungs-Ports in vier Richtungen von Osten, Süden, Westen und Norden. Der Austauschschalter ist eingerichtet, Daten zwischen jeweiligen Port-Verbindungen innerhalb des Routing-Knotens auszutauschen. Der lokale Port ist eingerichtet, durch den Routing-Knotenpunkt übertragene Pakete und von dem Routing-Knotenpunkt empfangene Pakete weiterzuleiten. Die vier Weiterleitungs-Ports sind mit anderen Routing-Knotenpunkten verbunden und eingerichtet für Paketübertragung zwischen den Routing-Knotenpunkten und anderen Routing-Knotenpunkten.
-
Und da die Weiterleitungs-Ports in den vier Richtungen von Osten, Süden, Westen und Norden eine gleiche Routing-Struktur aufweisen, beinhaltet der Weiterleitungs-Port in jeder Richtung die folgenden Komponenten: Einen Virtuell-Kanal-Kontroller, ein Eingabe-Virtuell-Kanal-Zwischenspeicher-Modul, einen Routing-Dekoder und einen Anfragevermittler.
-
Insbesondere, nachdem ein Paket den Routing-Knotenpunkt durch einen lokalen Port eines Quell-Routing-Knotenpunkts basierend auf einer ID des Quell-Routing-Knotenpunkts betritt, kann das Paket basierend auf einer in diesem Paket getragenen ID eines Ziel-Routing-Knotenpunkts in Richtung des Ziel-Routing-Knotenpunkts transferiert werden, und das Paket wird von dem Routing-Knotenpunkt durch einen lokalen Port des Ziel-Routing-Knotenpunkts ausgegeben. Als ein Beispiel, wie in 2 gezeigt ist, welche eine schematische Übertragungsdarstellung des Routings eines Pakets zwischen Routing-Knotenpunkten ist, wird ein detaillierter Übertragungsprozess für ein Paket 1, welches einen Routing-Knotenpunkt 6 als den Quell-Routing-Knotenpunkt nimmt, und einen Routing-Knotenpunkt 24 als den Ziel-Routing-Knotenpunkt nimmt, wie folgt beschrieben: Nachdem das Paket 1 durch den Einspeisungs-Port des Routing-Knotenpunkts 6 eingespeist ist, wird das Paket 1 zu einem Routing-Knotenpunkt 11 durch einen Weiterleitungs-Port im Osten des Routing-Knotenpunkts 6 weitergeleitet; nachdem der Routing-Knotenpunkt 11 das Paket empfangen hat, kann der Routing-Knotenpunkt 11 das Paket durch einen Weiterleitungs-Port im Osten des Routing-Knotenpunkts 11 zu einem Routing-Knotenpunkt 16 weiterleiten; das Weiterleiten setzt sich auf diese Weise fort, bis das Paket zu dem Routing-Knotenpunkt 24 weitergeleitet ist; nach Empfangen des Pakets kann der Routing-Knotenpunkt 24 das Paket übertragen.
-
Basierend auf dem oben Gesagten werden ein neues Datenverarbeitungsverfahren für ein NOC ohne Zwischenspeicher und ein NOC-Elektronikelement bereitgestellt.
-
Ein Datenverarbeitungsverfahren für ein NOC ohne Zwischenspeicher wird bereitgestellt. Das Verfahren wird auf ein NOC-Elektronikelement einschließlich mindestens eines Routing-Knotenpunkts angewendet. Jeder Routing-Knotenpunkt beinhaltet einen Einspeisungs-Port und mindestens einen Weiterleitungs-Port. Wie in 3 gezeigt ist, beinhaltet das Datenverarbeitungsverfahren für das NOC ohne Zwischenspeicher insbesondere die folgenden Schritte:
In einem Schritt 101 empfängt der Routing-Knotenpunkt mehrere Pakete in einem Verarbeitungszeitraum, wobei die mehreren Pakete zu einem gleichen Weiterleitungs-Port übertragen werden sollen.
-
In einem Schritt 102 erlangt der Routing-Knotenpunkt Prioritätsinformationen der Pakete und bestimmt Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen.
-
Die Prioritätsinformationen beinhalten Zeitlängeninformationen des Pakets und Programmprioritätsinformationen eines mit dem Paket korrespondierenden Programms. Die Programmprioritätsinformationen des mit dem Paket korrespondierenden Programms sind beschreibend für eine Priorität des mit dem Paket korrespondierenden Programms. Die Zeitlängeninformationen des Pakets repräsentieren einen Zeitraum, während dem das Paket in dem NOC ohne Zwischenspeicher gehalten wird, d. h. den Zeitraum, während dem das Paket bleibt, nachdem es das NOC ohne Zwischenspeicher betreten hat. Falls die zeitlichen Informationen des Pakets einen längeren Zeitraum repräsentieren, wird angezeigt, dass der Zeitraum, während dem das Paket in dem NOC ohne Zwischenspeicher bleibt, länger ist, und es ist notwendig, das Paket so bald wie möglich zu übertragen, um zu vermeiden, dass das Paket Ressourcen belegt. Daher, falls die Zeitlängeninformationen des Pakets einen längeren Zeitraum darstellen, ist eine mit dem Paket korrespondierende Prioritätsstufe höher. Beispielhaft können die Prioritätsinformationen des Pakets als Kopfinformationen in einem Kopf des Pakets gespeichert werden. Der Kopf des Pakets beinhaltet, ist jedoch nicht beschränkt auf, eine ID eines Ziel-Routing-Knotenpunkts, eine ID eines Quell-Routing-Knotenpunkts und einen Datentyp des Pakets.
-
Beispielshaft empfängt der Routing-Knotenpunkt in einem Verarbeitungszeitraum mehrere Pakete, die einen gleichen Weiterleitungs-Port belegen, erhält jeweils die Zeitlängeninformationen jedes Pakets und die Programminformationen des mit jedem Paket korrespondierenden Programms, berechnet dann die Prioritätsstufe jedes Pakets basierend auf den Zeitlängeninformationen jedes Pakets und den Programmprioritätsinformationen des mit jedem Paket korrespondierenden Programms und bestimmt schließlich ein Paket mit einer höchsten Priorität basierend auf den berechneten Prioritätsstufen von jeweiligen Paketen und überträgt das Paket mit der höchsten Priorität von dem Weiterleitungs-Port.
-
Optional, in einem Fall, in dem die Programmprioritätsinformationen des Pakets von den Kopfinformationen des Pakets erhalten werden, vor dem Schritt 102, beinhaltet das Verfahren weiter den folgenden Schritt.
-
In Schritt 102a, wenn ein Paket einen ersten der Routing-Knotenpunkte in dem NOC betritt, erlangt der Routing-Knotenpunkt mit dem Paket korrespondierende Prioritätsinformationen von einem Register einer mit dem ersten der Routing-Knotenpunkte korrespondierenden CPU, und schreibt die mit dem Paket korrespondierenden Prioritätsinformationen in den Kopf des Pakets.
-
Weiter, basierend auf dem Schritt 102a, beinhaltet der Schritt 102 insbesondere: Lesen, durch den Routing-Knotenpunkt, der mit dem Paket korrespondierenden Prioritätsinformationen von dem Kopf des Pakets und Erhalten der Prioritätsstufe des Pakets basierend auf den Prioritätsinformationen des Pakets.
-
Beispielhaft, wenn ein Paket in irgendeinen Routing-Knotenpunkt des NOC-Elektronikelements durch einen Einspeisungs-Port eingespeist wird, liest der Routing-Knotenpunkt die mit dem Paket korrespondierenden Prioritätsinformationen und schreibt die Prioritätsinformationen in den Kopf des Pakets, wobei die mit dem Paket korrespondierenden Prioritätsinformationen in einem Register einer mit dem Routing-Knotenpunkt korrespondierenden Zentraleinheit (kurz: CPU) vorgespeichert sind. Die in dem Register der mit dem Routing-Knotenpunkt korrespondierenden CPU vorgespeicherten Prioritätsinformationen werden durch ein System oder einen Benutzer basierend auf praktischen Anwendungsanforderungen vorkonfiguriert. Beispielhaft ist das Register des Routing-Knotenpunkts ein QoS(Quality of Service)-Register in der mit dem Routing-Knotenpunkt korrespondierenden CPU.
-
In einem Schritt 103 überträgt der Routing-Knotenpunkt das Paket mit der höchsten Priorität durch den Weiterleitungs-Port.
-
Optional können nach dem Schritt 102 die folgenden Schritte weiter einbezogen werden.
-
In Schritt 102b überträgt der Routing-Knotenpunkt andere Pakete zusätzlich zu dem Paket mit der höchsten Priorität durch andere Weiterleitungs-Ports zusätzlich zu dem Weiterleitungs-Port.
-
Beispielhaft, in einem Fall, in dem mehrere Pakete zu einem gleichen Weiterleitungs-Port in einem Verarbeitungszeitraum des Routing-Knotenpunkts übertragen werden, berechnet der Routing-Knotenpunkt die Prioritätsstufe jedes Pakets basierend auf den Prioritätsinformationen jedes Pakets und weist für die mehreren Pakete basierend auf den Prioritätsstufen Ports zu. Dem Paket mit der höchsten Priorität wird direkt der Weiterleitungs-Port zugewiesen, d. h., das Paket mit der höchsten Priorität wird durch den Weiterleitungs-Port übertragen, während andere Pakete mit niedrigeren Prioritäten abgelenkt werden, d. h., andere Pakete werden jeweils durch andere Weiterleitungs-Ports übertragen.
-
Optional beinhaltet der Schritt 102 insbesondere die folgenden Schritte.
-
In einem Schritt 102c1 erhält der Routing-Knotenpunkt die Prioritätsinformationen des Pakets und einen vorgespeicherten Prioritätsschwellenwert.
-
Der Prioritätsschwellenwert, Handicap, ist ein fester Parameter und wird hauptsächlich basierend auf einer Größe eines NOC-Netzwerks bestimmt (z. B. korrespondiert das NOC mit 64 Kernen mit einem Handicap mit einem Wert und das NOC mit 32 Kernen korrespondiert mit einem Handicap mit einem anderen Wert). Nachdem die Größe des NOC-Netzwerks bestimmt ist, wird der Wert des Handicaps als ein fester Wert genannt und kann sich nicht ändern. Zusätzlich wird das Handicap in dem Register der mit dem Routing-Knotenpunkt korrespondierenden CPU gespeichert. Wenn der Routing-Knotenpunkt die Prioritätsstufe jedes Pakets basierend auf dem Prioritätsschwellenwert berechnen muss, kann der Prioritätsschwellenwert von dem Register der mit dem Routing-Knotenpunkt korrespondierenden CPU gelesen werden.
-
In einem Schritt 102c2 bestimmt der Routing-Knotenpunkt die Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen der Pakete und dem Prioritätsschwellenwert.
-
Beispielhaft, nachdem der Routing-Knotenpunkt die Programmprioritätsinformationen jedes Pakets, das Zeitlängeninformationsalter jedes Pakets und das Handicap des NOC erhält, kann der Routing-Knotenpunkt die Prioritätsstufe jedes Pakets mit Formel 1 oder Formel 2 berechnen; hier wird das Handicap hauptsächlich verwendet, um Unterschiede zwischen jeweiligen Paketen zu verstärken, um ein Paket mit einer hohen Priorität auf eine höhere Stufe zu heben und um ein Paket mit einer niedrigen Priorität auf eine niedrigere Stufe zu senken; insbesondere werden Formel 1 und Formel 2 wie folgt gezeigt: F = age + Priority·handicap Formel 1 F = age + Priority·handicap Formel 2
-
Es sollte angemerkt werden, dass Formel 1 und Formel 2 basierend auf praktischen Anwendungssituationen modifiziert und eingestellt werden können. Die Formel 1 und Formel 2 hier sind lediglich beispielhaft, und detaillierte Berechnungsformeln werden hierdurch nicht beschränkt.
-
Insbesondere, wenn der Routing-Knotenpunkt Weiterleitungs-Ports für die jeweiligen Pakete basierend auf den berechneten Prioritätsstufen der jeweiligen Pakete zuweist, durchläuft das Paket mit der höchsten Priorität den Weiterleitungs-Port direkt, d. h., das Paket mit der höchsten Priorität wird durch den Weiterleitungs-Port weitergeleitet, während andere Pakete mit niedrigeren Prioritäten abgelenkt werden, d. h., dass andere Pakete durch andere Weiterleitungs-Ports weitergeleitet werden. Für die abgelenkten Pakete können Alterswerte der Pakete erhöht werden, wenn die Pakete abgelenkt werden, um zu anderen Weiterleitungs-Ports zugewiesen zu werden, und entsprechend sind die Pakete vorteilhafter in einer nächsten Konkurrenz für den Weiterleitungs-Port.
-
In dem Datenverarbeitungsverfahren für das NOC ohne Zwischenspeicher empfängt der Routing-Knotenpunkt in einem Verarbeitungszeitraum mehrere zu einem gleichen Weiterleitungs-Port zu übertragende Pakete, erlangt Prioritätsinformationen der Pakete und bestimmt die Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen, wobei die Prioritätsinformationen die Zeitlängeninformationen des Pakets und die Programmprioritätsinformationen des mit dem Paket korrespondierenden Programms beinhalten, die Zeitlängeninformationen des Pakets stellen den Zeitraum dar, während dem das Paket in dem NOC gehalten wird; und das Paket mit der höchsten Priorität wird durch den Weiterleitungs-Port weitergeleitet. Daher kann ein Paket mit einer hohen Priorität eine größere Siegchance haben, wenn das Paket in einen Routing-Knotenpunkt durch den Weiterleitungs-Port eingespeist wird, der Zeitraum, während dem ein Paket mit einer hohen Programmpriorität in dem NOC ohne Zwischenspeicher gehalten wird, wird verkürzt, und weiter wird eine Leistungsfähigkeit eines Programms mit einer hohen Priorität durch Verringern einer Rate, dass die Pakete mit der hohen Programmpriorität abgelenkt werden, verbessert.
-
Ein Datenverarbeitungsverfahren für ein NOC ohne Zwischenspeicher wird bereitgestellt. Das Verfahren wird auf ein NOC-Elektronikelement angewendet. Das NOC-Elektronikelement beinhaltet mindestens einen Routing-Knotenpunkt und einen Datenprozessor. Wie in 4 gezeigt wird, beinhaltet das Datenverarbeitungsverfahren für das NOC ohne Zwischenspeicher insbesondere die folgenden Schritte.
-
In einem Schritt 201 erlangt der Datenprozessor in dem NOC-Elektronikelement Knotenpunktinformationen von jeweiligen Knotenpunkten in dem NOC ohne Zwischenspeicher.
-
Insbesondere kann der Datenprozessor gemäß dem Ausführungsbeispiel der Erfindung ein zentralisierter Kontroller in dem NOC sein oder kann eine mit irgendeinem Routing-Knotenpunkt in dem NOC korrespondierende CPU sein, oder kann eine unabhängige Berechnungseinheit sein. Das NOC in dem Ausführungsbeispiel der Erfindung beinhaltet mindestens einen Routing-Knotenpunkt, und jeder Routing-Knotenpunkt beinhaltet einen Einspeisungs-Port, der eingerichtet ist, Pakete einzuspeisen, und mehrere Weiterleitungs-Ports, die eingerichtet sind, Pakete zu einem Netzwerk weiterzuleiten. Die Knotenpunktinformationen des Routing-Knotenpunkts, der in dem Ausführungsbeispiel der Erfindung beschrieben wird, beinhaltet, ist jedoch nicht beschränkt auf: Eine Verhungerungsrate des Routing-Knotenpunkts, eine IPF (Instruktion pro FLIT, eine Anzahl von mit jedem Paket korrespondierenden Instruktionen) und Programmprioritätsinformationen eines mit einem gerade in den Routing-Knotenpunkt eingespeisten Paket korrespondierenden Programms. Insbesondere werden die Programmprioritätsinformationen verwendet, um eine Priorität des gerade eingespeisten Pakets anzuzeigen, die Verhungerungsrate des Routing-Knotenpunkts ist eine Rate eines Verhungerungszeitraums des Routing-Knotenpunkts über einen NOC-Datenzeitraum; und der Verhungerungszeitraum ist ein Zeitraum, während dem eine Verhungerung in dem Routing-Knotenpunkt stattfindet. Es sollte angemerkt werden, dass die Verhungerungsrate gewöhnlich verwendet wird, um ein Stauungsausmaß des NOC ohne Zwischenspeicher zu reflektieren.
-
Beispielhaft, falls die IPF des mit dem gerade eingespeisten Paket korrespondierenden Programms hoch ist, wird angezeigt, dass eine große Anzahl von Instruktionen erfordert wird durch den Routing-Knotenpunkt ausgeführt zu werden, um Pakete des Programms, mit denen das gerade eingespeiste Paket korrespondiert, in den Routing-Knotenpunkt einzuspeisen, und es wird weiter angezeigt, dass das mit dem gerade eingespeisten Paket korrespondierende Programm eine hohe Anfälligkeit für eine Netzwerklatenz hat. Falls die IPF des mit dem gerade eingespeisten Paket korrespondierenden Programms niedrig ist, wird angezeigt, dass eine kleine Anzahl von Instruktionen erfordert wird durch den Routing-Knotenpunkt ausgeführt zu werden, um Pakete des Programms, mit dem das gerade eingespeiste Paket korrespondiert, in den Routing-Knotenpunkt einzuspeisen, und es wird weiter angezeigt, dass das mit dem gerade eingespeisten Paket korrespondierende Programm eine geringe Anfälligkeit für eine Netzwerklatenz hat.
-
Insbesondere, wenn der Datenprozessor an dem NOC-Elektronikelement die Programmprioritätsinformationen des mit dem gerade in den Routing-Knotenpunkt eingespeisten Paket korrespondierenden Programms erlangt, können die Programmprioritätsinformationen des mit dem gerade eingespeisten Paket korrespondierenden Programms direkt durch Analysieren eines Kopfs des gerade eingespeisten Pakets erlangt werden, oder die Programmprioritätsinformationen des mit dem Paket korrespondierenden Programms können direkt von einem Register des Routing-Knotenpunkts basierend auf einer ID eines Ziel-Routing-Knotenpunkts, einer Quelladresse usw., welche in Kopfinformationen des Pakets gespeichert sind, erlangt werden.
-
In einem Schritt 202, falls das NOC-Elektronikelement einer Stauung ausgesetzt ist, berechnet der Datenprozessor in dem NOC-Elektronikelement, basierend auf IPFs und Programmprioritätsinformationen der gerade in jeweilige Routing-Knotenpunkte eingespeisten Pakete jeweilige Einspeisungsbeschränkungsraten, die von den jeweiligen Routing-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden.
-
Die Einspeisungsbeschränkungsrate ist ein Prozentsatz des mit dem gerade eingespeisten Paket korrespondierenden Programms, welches durch den Routing-Knotenpunkt darin beschränkt ist, in den Routing-Knotenpunkt eingespeist zu werden, d. h., ein Anteil von Paketen des mit dem gerade in den Routing-Knotenpunkt eingespeisten Paket korrespondierenden Programms, welche darin beschränkt sind, in den Routing-Knotenpunkt eingespeist zu werden. Zusätzlich wird die Einspeisungsbeschränkungsrate verwendet, um einen Anteil von Paketen einer mit dem in einem nächsten Zeitraum einzuspeisenden Routing-Knotenpunkt korrespondierenden CPU darzustellen, nämlich für jedes von der mit dem Routing-Knotenpunkt korrespondierenden CPU übertragene Paket, muss basierend auf der Einspeisungsbeschränkungsrate bestimmt werden, ob es eingespeist werden soll oder nicht, wobei ein Einspeisungsprozess jedes Pakets ein stochastischer Prozess ist.
-
Optional beinhaltet ein Schritt 202 insbesondere den folgenden Schritt:
In einem Schritt 202a bestimmt der Datenprozessor in dem NOC-Elektronikelement basierend auf den IPFs und den Programmprioritätsinformationen der gerade in die jeweiligen Routing-Knotenpunkte eingespeisten Pakete und einer Einspeisungsbeschränkungsratenformel die Einspeisungsbeschränkungsraten, die von den jeweiligen Routing-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden.
-
Die Einspeisungsbeschränkungsratenformel ist T = max(δ, λ / α·IPF + β·Priority),
-
Wobei T die Einspeisungsbeschränkungsrate repräsentiert, Priority die Programmpriorität des gerade eingespeisten Pakets repräsentiert, und δ, α, β, λ Konstanten sind.
-
Beispielhaft, falls das NOC-Elektronikelement einer Stauung ausgesetzt ist, wendet der Datenprozessor in dem NOC-Elektronikelement basierend auf erlangten IPFs und Programmprioritätsinformationen der mit den gerade in die jeweiligen Routing-Knotenpunkte eingespeisten Paketen korrespondierenden Programme und der Einspeisungsbeschränkungsratenformel Beschränkungen verschiedener Ausmaße für die in die jeweiligen Routing-Knotenpunkte einzuspeisenden Pakete in einem voreingestellten Zeitraum an. Insbesondere, für ein Programm mit einer Priorität, die niedriger ist als ein erster voreingestellter Schwellenwert, und ein Programm mit einer IPF, die niedriger ist als ein zweiter voreingestellter Schwellenwert, d. h., ein Programm, das nicht anfällig für eine Netzwerklatenz ist, wendet ein korrespondierender Routing-Knotenpunkt eine hohe Einspeisungsbeschränkungsrate für das in den Routing-Knotenpunkt einzuspeisende Programm an, wobei das Programm mit dem gerade eingespeisten Paket korrespondiert. Mit anderen Worten, werden ein Programm mit einer niedrigen Priorität und ein Programm mit einer niedrigen Anfälligkeit für eine Netzwerklatenz darin beschränkt, in den Routing-Knotenpunkt eingespeist zu werden; daher wird die Anzahl von Paketen in dem NOC-Elektronikelement verringert, und entsprechend wird die Stauung in dem NOC-Elektronikelement gemildert. Während für ein Programm mit einer Priorität höher als dem ersten voreingestellten Schwellenwert der korrespondierende Routing-Knotenpunkt eine niedrige Einspeisungsbeschränkungsrate für das in den Routing-Knotenpunkt einzuspeisende Programm, welches mit dem gerade eingespeisten Paket korrespondiert, anwendet; daher wird ein Programm mit einer hohen Priorität mit einer größeren Chance ausgestattet, in den Routing-Knotenpunkt erfolgreich eingespeist zu werden, dem Programm mit der hohen Priorität wird ein minimales Auftreten von Verhungerung und Ablenkung gewährleistet, und entsprechend wird ein Zeitraum, während dem das Paket in dem NOC-Elektronikelement gehalten wird, direkt verkürzt und die Stauung des NOC-Elektronikelements wird reduziert.
-
Insbesondere kann von der obigen Einspeisungsbeschränkungsratenformel bekannt sein, dass es eine negative Korrelation zwischen der IPF und den Programmprioritätsinformationen des mit dem gerade in jeden Routing-Knotenpunkt eingespeisten Paket korrespondierenden Programms gibt; daher ist die Einspeisungsbeschränkungsrate für ein Programm mit einer Priorität höher als der erste voreingestellte Schwellenwert geringer als jene für ein Programm mit einer Priorität niedriger als der erster voreingestellte Schwellenwert und jene für ein Programm mit einer IPF geringer als der zweite voreingestellte Schwellenwert. Es sollte weiter angemerkt werden, dass δ ein minimaler Schwellenwert ist, der eingestellt ist, um zu verhindern, dass die berechnete Einspeisungsbeschränkungsrate zu klein ist.
-
Optional kann der folgende Schritt vor dem Schritt 202 weiter einbezogen werden:
In einem Schritt 202b vergleicht der Datenprozessor in dem NOC-Elektronikelement für jeden Routing-Knotenpunkt die Verhungerungsrate des Routing-Knotenpunkts mit einem mit dem Routing-Knotenpunkt korrespondierenden Verhungerungsratenschwellenwert, um zu bestimmen, ob der Routing-Knotenpunkt einer Stauung ausgesetzt ist.
-
Falls irgendein Routing-Knotenpunkt in dem NOC-Elektronikelement einer Stauung ausgesetzt ist, wird bestimmt, dass das NOC ohne Zwischenspeicher einer Stauung ausgesetzt ist.
-
Falls eine Stauung in irgendeinem Routing-Knotenpunkt in dem NOC-Elektronikelement stattfindet, wird bestimmt, dass das NOC ohne Zwischenspeicher einer Stauung ausgesetzt ist. Insbesondere, wenn der Datenprozessor in dem NOC-Elektronikelement eine Stauungsbestimmung für jeden Routing-Knotenpunkt durchführt, wird die Verhungerungsrate des Routing-Knotenpunkts mit einem für den Routing-Knotenpunkt voreingestellten Verhungerungsratenschwellenwert verglichen, und es wird berücksichtigt, dass eine Stauung auf dem Routing-Knotenpunkt stattfindet, falls die Verhungerungsrate des Routing-Knotenpunkts den für den Routing-Knotenpunkt voreingestellten Verhungerungsratenschwellenwert übersteigt. Es sollte angemerkt werden, dass die jeweiligen Routing-Knotenpunkte mit verschiedenen Verhungerungsratenschwellenwerten korrespondieren. Die Verhungerungsratenschwellenwerte für den jeden Routing-Knotenpunkt werden durch den Routing-Knotenpunkt basierend auf einer Kombination der Verhungerungsrate des Routing-Knotenpunkts, der IPF und von Programmprioritätsinformationen des mit dem gerade eingespeisten Paket korrespondierenden Programms und einem momentanen Anwendungsszenario erlangt.
-
In einem Schritt 203 weist der Datenprozessor an dem NOC-Elektronikelement die Einspeisungsbeschränkungsraten, welche von den jeweiligen Routing-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme, korrespondierenden Routing-Knotenpunkten zu, und die jeweiligen Routing-Knotenpunkte beschränken basierend auf korrespondierenden Einspeisungsbeschränkungsraten die mit den gerade eingespeisten Paketen korrespondierenden Programme darin, in die Routing-Knotenpunkte eingespeist zu werden.
-
Insbesondere, nachdem der Datenprozessor an dem NOC-Elektronikelement die Einspeisungsbeschränkungsraten, welche von den jeweiligen Routing-Knotenpunkten für die Pakete angewendet werden, berechnet, werden die Einspeisungsbeschränkungsraten, welche mit den jeweiligen Routing-Knotenpunkten korrespondieren, korrespondierenden Routing-Knotenpunkten zugewiesen. Nach dem Empfangen der Einspeisungsbeschränkungsrate kann jeder Routing-Knotenpunkt basierend auf einer empfangenen Einspeisungsbeschränkungsrate eine Einspeisungsbestimmung für jeweilige Pakete des mit dem gerade eingespeisten Paket korrespondierenden Programms durchführen. Zum Beispiel, in einem Fall, in dem eine Einspeisungsbeschränkungsrate für einen bestimmten Routing-Knotenpunkt 50% ist, beschränkt der Routing-Knotenpunkt basierend auf der Einspeisungsbeschränkungsrate von 50%, dass 50% der Pakete des mit dem gerade in den Routing-Knotenpunkt eingespeisten Paket korrespondierenden Programms darin, in den Routing-Knotenpunkt eingespeist zu werden.
-
In dem Datenverarbeitungsverarbeitungsverfahren für das NOC ohne Zwischenspeicher, falls das NOC-Elektronikelement einer Stauung ausgesetzt ist, berechnet der Datenprozessor in dem NOC-Elektronikelement basierend auf den IPFs und Programmprioritätsinformationen der gerade in die jeweiligen Routing-Knotenpunkte eingespeisten Pakete in den Knotenpunktinformationen der jeweiligen Routing-Knotenpunkte die Einspeisungsbeschränkungsdaten, welche von den jeweiligen Routing-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme. Insbesondere ist die Einspeisungsbeschränkungsrate für das Programm mit der Priorität höher als der erste voreingestellte Schwellenwert geringer als jene für das Programm mit der Priorität geringer als der erste voreingestellte Schwellenwert und das Programm mit der IPF geringer als der zweite voreingestellte Schwellenwert. Dann werden die Einspeisungsbeschränkungsraten, die mit den jeweiligen Routing-Knotenpunkten korrespondieren, jeweils zu korrespondierenden Routing-Knotenpunkten zugewiesen, und jeder Routing-Knotenpunkt bestimmt basierend auf der korrespondierenden Einspeisungsbeschränkungsrate, ob die entsprechenden Pakete des mit dem gerade eingespeisten Paket korrespondierenden Programms in den Routing-Knotenpunkt eingespeist werden soll. Daher, wenn ein Routing-Knotenpunkt eine Beschränkung basierend auf der zugewiesenen Einspeisungsbeschränkungsrate auf den Paketen des mit dem gerade eingespeisten Paket korrespondierenden Programms durchführt, wird Paketen eines Programms mit einer hohen Priorität gewährleistet, dass diese in einen Routing-Knotenpunkt von einem Weiterleitungs-Port sobald wie möglich eingespeist werden, da die mit dem Programm mit der hohen Priorität korrespondierenden Einspeisungsbeschränkungsrate eher gering ist. Daher werden die Pakete des Programms mit der hohen Priorität seltener abgelenkt, eine Gesamtleistungsfähigkeit des Programms mit der hohen Priorität wird verbessert, die Übertragungseffizienz der Pakete des Programms mit der hohen Priorität wird verbessert, und die Stauung des NOC ohne Zwischenspeicher wird gemildert.
-
Es sollte angemerkt werden, dass der Prozess, dass in einem Verarbeitungszeitraum der Routing-Knotenpunkt die Weiterleitungs-Ports für die jeweiligen zu einem gleichen Weiterleitungs-Port übertragenen Pakete basierend auf den Programmprioritäten der Pakete zuweist, wie in dem zu 2 gehörigen Ausführungsbeispiel beschrieben ist, und ein Prozess, dass bei einer Stauung des NOC-Elektronikelements der Datenprozessor in dem NOC-Elektronikelement Beschränkungen verschiedener Ausmaße auf die mit den in die jeweiligen Routen-Knotenpunkte eingespeisten Paketen korrespondierenden Programme basierend auf der Stauungssituation des NOC-Elektronikelements und den Programmprioritäten des Programms anwendet, wie in dem zu 3 gehörenden Ausführungsbeispiel beschrieben ist, in einem gleichen Ausführungsbeispiel implementiert werden können.
-
Basierend auf dem oben Gesagten wird ein Datenverarbeitungsverfahren für ein NOC ohne Zwischenspeicher bereitgestellt. Für Beschreibungen von technischen Terminologien und Konzepten, welche mit den obigen Ausführungsbeispielen in Verbindung stehen, kann auf die mit den 2 und 3 korrespondierenden Ausführungsbeispiele verwiesen werden, welche hier nicht detailliert beschrieben sind. Insbesondere wird das Verfahren auf ein NOC-Elektronikelement angewendet. Das NOC-Elektronikelement beinhaltet mindestens einen Routing-Knotenpunkt und einen Datenprozessor. Der Datenprozessor kann ein zentralisierter Kontroller in dem NOC sein, oder kann eine mit irgendeinem Routing-Knotenpunkt in dem NOC korrespondierende CPU sein oder kann eine unabhängige Berechnungseinheit sein. Jeder Routing-Knotenpunkt in dem NOC beinhaltet einen Einspeisungs-Port, der eingerichtet ist, Pakete einzuspeisen, und mehrere Weiterleitungs-Ports, die eingerichtet sind, Pakete zu einem Netzwerk weiterzuleiten. Wie in 5 gezeigt ist, beinhaltet das Datenverarbeitungsverfahren für das NOC ohne Zwischenspeicher insbesondere die folgenden Schritte.
-
In einem Schritt 301a empfängt der Routing-Knotenpunkt in einem Verarbeitungszeitraum mehrere Pakete, die zu einem gleichen Weiterleitungs-Port übertragen werden sollen.
-
In einem Schritt 302a erlangt der Routing-Knotenpunkt Prioritätsinformationen der Pakete und bestimmt Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen.
-
In einem Schritt 303a1 überträgt der Routing-Knotenpunkt ein Paket mit einer höchsten Priorität durch den Weiterleitungs-Port.
-
In einem Schritt 303a2 überträgt der Routing-Knotenpunkt andere Pakete zusätzlich zu dem Paket mit der höchsten Priorität durch andere Weiterleitungs-Ports zusätzlich zu dem Weiterleitungs-Port.
-
In einem Prozess zum Ausführen der Schritte 301a bis 303a1 oder Ausführen der Schritte 301a bis 303a2 beinhaltet das Datenverarbeitungsverfahren für das NOC ohne Zwischenspeicher weiter die folgenden Schritte.
-
In einem Schritt 301b erlangt der Datenprozessor in dem NOC-Elektronikelement Knotenpunktinformationen von jeweiligen Routing-Knotenpunkten in dem NOC ohne Zwischenspeicher.
-
In einem Schritt 302b, falls das NOC-Elektronikelement einer Stauung ausgesetzt ist, berechnet der Datenprozessor in dem NOC-Elektronikelement, basierend auf IPFs und Programmprioritätsinformationen von gerade in jeweilige Routing-Knotenpunkte eingespeisten Paketen Einspeisungsbeschränkungsraten, die von den jeweiligen Routing-Knotenpunkten für mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden.
-
Die Einspeisungsbeschränkungsrate ist ein Prozentsatz des mit dem gerade eingespeisten Paket korrespondierenden Programms, welches von dem Routing-Knotenpunkt darin beschränkt ist, in den Routing-Knotenpunkt eingespeist zu werden.
-
Optional beinhaltet ein Schritt 302b den folgenden Schritt:
In einem Schritt 302b1 bestimmt der Datenprozessor in dem NOC-Elektronikelement basierend auf den IPFs und Programmprioritätsinformationen der gerade in die jeweiligen Routing-Knotenpunkte eingespeisten Pakete und einer Einspeisungsbeschränkungsratenformel die Einspeisungsbeschränkungsraten, die von den jeweiligen Routing-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme anwendet.
-
Die Einspeisungsbeschränkungsratenformel ist T = max(δ, λ / α·IPF + β·Priority), wobei T die Einspeisungsbeschränkungsrate repräsentiert, Priority die Programmpriorität des gerade eingespeisten Pakets repräsentiert, und δ, α, β, λ Konstanten sind.
-
Optional ist weiter der folgende Schritt vor dem Schritt 302b einbezogen:
In einem Schritt 302b2 vergleicht der Datenprozessor in dem NOC-Elektronikelement für jeden Routing-Knotenpunkt die Verhungerungsrate des Routing-Knotenpunkts mit einem mit dem Routing-Knotenpunkt korrespondierenden Verhungerungsratenschwellenwert, um zu bestimmen, ob der Routing-Knotenpunkt einer Stauung ausgesetzt ist.
-
Falls irgendein Routing-Knotenpunkt in dem NOC-Elektronikelement einer Stauung ausgesetzt ist, wird bestimmt, dass das NOC ohne Zwischenspeicher einer Stauung ausgesetzt ist.
-
In einem Schritt 303b weist der Datenprozessor in dem NOC-Elektronikelement die Einspeisungsbeschränkungsraten, welche von den jeweiligen Routing-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programmen angewendet werden, korrespondierenden Routing-Knotenpunkten zu, und die jeweiligen Routing-Knotenpunkte beschränken basierend auf korrespondierenden Einspeisungsbeschränkungsraten die mit den gerade eingespeisten Paketen korrespondierenden Programme darin, in die Routing-Knotenpunkte eingespeist zu werden.
-
Beispielhaft beschreiben die obigen Schritte 301a bis 304a1 oder bis 304a2 einen Prozess, dass in einem Verarbeitungszeitraum der Routing-Knotenpunkt die Weiterleitungs-Ports für die jeweiligen zu einem gleichen Weiterleitungs-Port übertragenen Pakete zuweist; und die obigen Schritte 301b bis 304b beschreiben einen Prozess, dass bei einer Stauung des NOC-Elektronikelements der Datenprozessor in dem NOC-Elektronikelement Beschränkungen verschiedener Ausmaße auf die mit den in die jeweiligen Routing-Knotenpunkte eingespeisten Paketen korrespondierenden Programme basierend auf der Stauungssituation des NOC-Elektronikelements und den Programmprioritäten der mit den in die jeweiligen Routing-Knotenpunkte eingespeisten Paketen korrespondierenden Programme anwendet.
-
In dem Datenverarbeitungsverfahren des NOC ohne Zwischenspeicher mit dem Prozess, dass der Routing-Knotenpunkt in dem NOC-Elektronikelement die Weiterleitungs-Ports für die jeweiligen zu einem gleichen Weiterleitungs-Port übertragenen Pakete basierend auf den Programmprioritäten der Pakete zuweist, kann ein Paket mit einer hohen Priorität eine größere Siegchance haben, wenn das Paket in einem Routing-Knotenpunkt durch den Weiterleitungs-Port eingespeist wird, der Zeitraum, während dem ein Paket mit einer hohen Programmpriorität in dem NOC ohne Zwischenspeicher gehalten wird, wird verkürzt, und weiter wird eine Leistungsfähigkeit eines Programms mit einer hohen Priorität durch Verringern einer Rate, dass die Pakete mit der hohen Programmpriorität abgelenkt werden, verbessert. Zusätzlich, falls das NOC-Elektronikelement einer Steuerung ausgesetzt ist, berechnet der Datenprozessor in dem NOC-Elektronikelement basierend auf den Knotenpunktinformationen der jeweiligen Routing-Knotenpunkte die Einspeisungsbeschränkungsraten, die von den jeweiligen Routing-Knotenpunkten für die jeweiligen mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden, und ordnet die jeweiligen Routing-Knotenpunkte den Einspeisungsbeschränkungsraten zu. Insbesondere ist die Einspeisungsbeschränkungsrate für das Programm mit der Priorität höher als der erste voreingestellte Schwellenwert, geringer als jene für das Programm mit der Priorität geringer als der erste voreingestellte Schwellenwert und das Programm mit der IPF geringer als der zweite voreingestellte Schwellenwert. Dann werden die berechneten Einspeisungsbeschränkungsraten jeweils korrespondierenden Routing-Knotenpunkten zugewiesen, so dass jeder Routing-Knotenpunkt bestimmt, basierend auf der korrespondierenden Einspeisungsbeschränkungsrate, ob die jeweiligen Pakete des mit dem gerade eingespeisten Paket korrespondierenden Programms in den Routing-Knotenpunkt eingespeist werden sollen. Mit dem obigen Prozess, wenn ein Routing-Knotenpunkt eine Beschränkung auf den Paketen des mit dem gerade eingespeisten Paket korrespondierenden Programms basierend auf der zugewiesenen Einspeisungsbeschränkungsrate durchführt, wird Paketen eines Programms mit einer hohen Priorität gewährleistet, dass diese in einen Routing-Knotenpunkt von einem Weiterleitungs-Port sobald wie möglich eingespeist werden, da die Einspeisungsbeschränkungsrate, die mit dem Programm mit der hohen Priorität korrespondiert, eher gering ist. Daher werden die Pakete des Programms mit der hohen Priorität seltener abgelenkt, eine Gesamtleistungsfähigkeit des Programms mit der hohen Priorität wird verbessert, die Übertragungseffizienz der Pakete des Programms mit der hohen Priorität wird verbessert, und die Stauung des NOC ohne Zwischenspeicher wird gemildert.
-
Ein NOC-Elektronikelement wird gemäß einem Ausführungsbeispiel der Erfindung bereitgestellt. Wie in 6 gezeigt wird, beinhaltet das NOC-Elektronikelement mindestens einen Routing-Knotenpunkt 31. Insbesondere, wie in 7 gezeigt wird, welche eine schematische Strukturdarstellung eines Routing-Knotenpunkts des NOC-Elektronikelements ist, beinhaltet der Routing-Knotenpunkt 31: Einen Speicher 311, einen Prozessor 312, eine Schalteinheit, einen Eingabe-Port und einen Ausgabe-Port. Funktionen des Prozesses und des Speichers werden wie folgt beschrieben.
-
Der Speicher 311 ist eingerichtet, um eine Routing-Tabelle zu speichern, wo ein Weg, entlang dem ein Paket ein Ziel erreicht, in der Routing-Tabelle aufgezeichnet ist.
-
Der Prozessor 312 ist eingerichtet, um in einem Verarbeitungszeitraum mehrere zu einem gleichen Weiterleitungs-Port zu übertragende Pakete zu empfangen; Prioritätsinformationen der Pakete zu erlangen und Prioritätsstufen der Pakete, basierend auf den Prioritätsinformationen zu bestimmen, wobei die Prioritätsinformationen Zeitlängeninformationen des Pakets und Programmprioritätsinformationen eines mit dem Paket korrespondierenden Programms beinhalten, die Zeitlängeninformationen des Pakets einen Zeitraum repräsentieren, während dem das Paket in dem NOC gehalten wird; und ein Paket mit einer höchsten Priorität durch den Weiterleitungs-Port zu übertragen.
-
Optional ist der Speicher 311 weiter eingerichtet, um einen Prioritätsschwellenwert zu speichern.
-
Wenn der Prozessor 312 die Prioritätsinformationen des Pakets erlangt und die Prioritätsstufen der Pakete, basierend auf den Prioritätsinformationen bestimmt, ist der Prozessor 312 insbesondere eingerichtet, die Prioritätsinformationen der Pakete zu erlangen, den Prioritätsschwellenwert von dem Speicher 311 zu erlangen und die Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen der Pakete und dem Prioritätsschwellenwert zu erhalten.
-
Optional ist der Prozessor 312 weiter eingerichtet, um, wenn ein Paket einen ersten der Routing-Knotenpunkte in dem NOC betritt, mit dem Paket korrespondierende Prioritätsinformationen von einem Register einer mit den ersten der Routing-Knotenpunkte korrespondierenden CPU zu erlangen, und die mit dem Paket korrespondierenden Prioritätsinformationen in einen Kopf des Pakets zu schreiben.
-
Wenn der Prozessor 312 die Prioritätsinformationen der Pakete erlangt und die Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen bestimmt, ist der Prozessor 312 insbesondere eingerichtet, die mit jedem Paket korrespondierenden Prioritätsinformationen von dem Kopf des Pakets zu lesen, und die Prioritätsstufe des Pakets basierend auf den Prioritätsinformationen des Pakets zu erhalten.
-
Optional ist der Prozessor 312 weiter eingerichtet, andere Pakete zusätzlich zu dem Paket mit der höchsten Priorität durch andere Weiterleitungs-Ports zusätzlich zu dem Weiterleitungs-Port zu übertragen.
-
In dem NOC-Elektronikelement gemäß dem Ausführungsbeispiel der Erfindung empfängt der Routing-Knotenpunkt in einem Verarbeitungszeitraum mehrere zu einem gleichen Weiterleitungs-Port zu übertragende Pakete, erlangt die Prioritätsinformationen der Pakete und bestimmt die Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen, wobei die Prioritätsinformationen die Zeitlängeninformationen des Pakets und die Programmprioritätsinformationen des mit dem Paket korrespondierenden Programms beinhalten, die Zeitlängeninformationen des Pakets den Zeitraum repräsentieren, während dem das Paket in dem NOC gehalten wird; und das Paket mit der höchsten Priorität wird durch den Weiterleitungs-Port weitergeleitet. Daher kann ein Paket mit einer hohen Priorität eine größere Siegchance haben, wenn das Paket in einen Routing-Knotenpunkt durch den Weiterleitungs-Port eingespeist wird, der Zeitraum, während dem ein Paket mit einer hohen Programm-Priorität in dem NOC ohne Zwischenspeicher gehalten wird, wird verkürzt, und weiter wird eine Leistungsfähigkeit eines Programms mit einer hohen Priorität durch Verringern einer Rate, dass die Pakete mit der hohen Priorität abgelenkt werden, verbessert.
-
Ein NOC-Elektronikelement gemäß einem Ausführungsbeispiel der Erfindung wird bereitgestellt. Wie in 8 gezeigt ist, beinhaltet das NOC-Elektronikelement 4 mindestens einen Routing-Knotenpunkt 41 und einen Datenprozessor 42. Der Datenprozessor 42 kann ein zentralisierter Kontroller in dem NOC sein, oder kann eine mit irgendeinem Routing-Knotenpunkt in dem NOC korrespondierende CPU sein, oder kann eine unabhängige Berechnungseinheit sein. Jeder Routing-Knotenpunkt 41 in dem NOC beinhaltet einen Einspeisungs-Port, der eingerichtet ist, Pakete einzuspeisen, und mehrere Weiterleitungs-Ports, die eingerichtet sind, Pakete zu einem Netzwerk weiterzuleiten.
-
Der Datenprozessor 42 ist eingerichtet, Knotenpunktinformationen jedes Routing-Knotenpunkts 41 in dem NOC-Elektronikelement 4 von dem Routing-Knotenpunkt 41 in dem NOC-Elektronikelement 4 zu erlangen.
-
Die Knotenpunktinformationen beinhalten eine Verhungerungsrate des Routing-Knotenpunkts 41, eine IPF und Programmprioritätsinformationen eines gerade in den Routing-Knotenpunkt 41 eingespeisten Paket korrespondierenden Programms. Die Programmprioritätsinformationen werden verwendet, um eine Priorität des gerade eingespeisten Pakets anzuzeigen.
-
Der Datenprozessor 42 ist weiter eingerichtet, um, falls das NOC-Elektronikelement 4 einer Stauung ausgesetzt ist, basierend auf der IPF und den Programmprioritätsinformationen des gerade in jeden Routing-Knotenpunkt 41 eingespeisten Pakets eine Einspeisungsbeschränkungsrate zu berechnen, die durch jeden Routing-Knotenpunkt 41 für das mit dem gerade eingespeisten Paket korrespondierende Programm angewendet wird.
-
Die Einspeisungsbeschränkungsrate ist ein Prozentsatz des mit dem gerade eingespeisten Paket korrespondierenden Programms, welches durch den Routing-Knotenpunkt 41 darin beschränkt ist, in den Routing-Knotenpunkt eingespeist zu werden.
-
Der Datenprozessor 42 ist weiter eingerichtet, um die Einspeisungsbeschränkungsraten, welche von den jeweiligen Routing-Knotenpunkten 41 für die mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden, korrespondierenden Routing-Knotenpunkten 41 zuzuweisen.
-
Jeder Routing-Knotenpunkt 41 ist eingerichtet, basierend auf der korrespondierenden Einspeisungsbeschränkungsrate, die von dem Datenprozessor 42 zugewiesen wurde, das mit dem gerade eingespeisten Paket korrespondierende Programm darin zu beschränken, in den Routing-Knotenpunkt 41 eingespeist zu werden.
-
Optional ist, wenn der Datenprozessor 42 basierend auf der IPF und den Programmprioritätsinformationen des gerade in jedem Routing-Knotenpunkt 41 eingespeisten Pakets die Einspeisungsbeschränkungsrate, die durch jeden Routing-Knotenpunkt 41 für das mit dem gerade eingespeisten Paket korrespondierende Programm angewendet wird, berechnet, der Datenprozessor 42 insbesondere eingerichtet, basierend auf der IPF und den Programmprioritätsinformationen des gerade in den Routing-Knotenpunkt 41 eingespeisten Pakets und einer Einspeisungsbeschränkungsratenformel die Einspeisungsbeschränkungsrate, welche durch jeden Routing-Knotenpunkt 41 für das mit dem gerade eingespeisten Paket korrespondierende Programm angewendet wird, zu bestimmen.
-
Die Einspeisungsbeschränkungsratenformel ist T = max(δ, λ / α·IPF + β·Priority), wobei T die Einspeisungsbeschränkungsrate repräsentiert, Priority die Programmpriorität des gerade eingespeisten Pakets repräsentiert, und δ, α, β, λ Konstanten sind.
-
Optional bestimmt der Datenprozessor 42, ob das NOC-Elektronikelement 4 einer Stauung ausgesetzt ist, basierend auf der Verhungerungsrate jedes Routing-Knotenpunkts 41. Insbesondere vergleicht der Datenprozessor 42 für jeden Routing-Knotenpunkt die Verhungerungsrate des Routing-Knotenpunkts 41 mit einem mit dem Routing-Knotenpunkt 41 korrespondierenden Verhungerungsratenschwellenwert, um zu bestimmen, ob der Routing-Knotenpunkt 41 einer Stauung ausgesetzt ist.
-
Falls irgendein Routing-Knotenpunkt 41 in dem NOC-Elektronikelement 4 einer Stauung ausgesetzt ist, wird bestimmt, dass das NOC-Elektronikelement 4 einer Stauung ausgesetzt ist.
-
Optional werden die Knotenpunktinformationen jedes Routing-Knotenpunkts 41 in dem NOC-Elektronikelement in einem Register des Routing-Knotenpunkts 41 gespeichert.
-
In dem NOC-Elektronikelement gemäß dem Ausführungsbeispiel der Erfindung, falls das NOC ohne Zwischenspeicher einer Stauung ausgesetzt ist, berechnet der Datenprozessor in dem NOC ohne Zwischenspeicher, basierend auf den IPFs und Programmprioritätsinformationen der gerade in die jeweiligen Routing-Knotenpunkte eingespeisten Pakete, in den Knotenpunktinformationen der jeweiligen Routing-Knotenpunkte, die Einspeisungsbeschränkungsraten, welche von den jeweiligen Routing-Knotenpunkten für die mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden. Insbesondere ist die Einspeisungsbeschränkungsrate für ein Programm mit einer Priorität höher als ein erster voreingestellter Schwellenwert geringer als jene für ein Programm mit einer Priorität geringer als der erste voreingestellte Schwellenwert und ein Programm mit einer IPF geringer als ein zweiter voreingestellter Schwellenwert. Dann werden die mit den jeweiligen Routing-Knotenpunkten korrespondierenden Einspeisungsbeschränkungsraten jeweils korrespondierenden Routing-Knotenpunkten zugewiesen, und jeder Routing-Knotenpunkt bestimmt, basierend auf der korrespondierenden Einspeisungsbeschränkungsrate, ob die jeweiligen Pakete des mit dem gerade in den Routing-Knotenpunkt eingespeisten Paket korrespondierenden Programm eingespeist werden sollen. Daher, wenn ein Routing-Knotenpunkt eine Einschränkung auf den Paketen des mit dem gerade eingespeisten Paket korrespondierenden Programms, basierend auf der zugewiesenen Einspeisungsbeschränkungsrate durchführt, wird Paketen eines Programms mit einer hohen Priorität gewährleistet, dass diese in einen Routing-Knotenpunkt von einem Weiterleitungs-Port so bald wie möglich eingespeist werden, da die Einspeisungsbeschränkungsrate, welche mit dem Programm mit der hohen Priorität korrespondiert, eher gering ist. Daher werden die Pakete des Programms mit der hohen Priorität seltener abgelenkt, eine Gesamtleistungsfähigkeit des Programms mit der hohen Priorität wird verbessert, die Übertragungseffizienz der Pakete des Programms mit der hohen Priorität wird verbessert, und die Stauung des NOC ohne Zwischenspeicher wird gemildert.
-
Ein NOC-Elektronikelement wird gemäß einem Ausführungsbeispiel der Erfindung bereitgestellt. Wie in 9 gezeigt ist, beinhaltet das NOC-Elektronikelement 5 mindestens einen Routing-Knotenpunkt 51 und einen Datenprozessor 52. Jeder Routing-Knotenpunkt 51 beinhaltet einen Einspeisungs-Port, der eingerichtet ist, Pakete von außen in den Routing-Knotenpunkt 51 einzuspeisen, und mindestens einen Weiterleitungs-Port, der eingerichtet ist, Pakete zu einem Netzwerk von dem Routing-Knotenpunkt 51 weiterzuleiten. Der Datenprozessor 52 kann ein zentralisierter Kontroller in dem NOC sein oder kann eine mit irgendeinem Routing-Knotenpunkt in dem NOC korrespondierende CPU sein, oder kann eine unabhängige Berechnungseinheit sein.
-
Der Routing-Knotenpunkt 51 in dem NOC-Elektronikelement ist eingerichtet, um in einem Verarbeitungszeitraum mehrere zu einem gleichen Weiterleitungs-Port zu übertragende Pakete zu empfangen; Prioritätsinformationen der Pakete zu erlangen und Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen zu bestimmen, wobei die Prioritätsinformationen Zeitlängeninformationen des Pakets und Programmprioritätsinformationen eines mit dem Paket korrespondierenden Programms beinhaltet, die Zeitlängeninformationen des Pakets einen Zeitraum repräsentieren, während dem das Paket in dem NOC gehalten wird; und um ein Paket mit einer höchsten Priorität durch den Weiterleitungs-Port zu übertragen.
-
Der Datenprozessor 52 ist eingerichtet, um Knotenpunktinformationen jedes Routing-Knotenpunkts 51 in dem NOC-Elektronikelement 5 von dem Routing-Knotenpunkt in dem NOC-Elektronikelement 5 zu erlangen. Die Knotenpunktinformationen beinhalten eine Verhungerungsrate des Routing-Knotenpunkts 51, eine IPF und Programmprioritätsinformationen eines mit einem gerade in den Routing-Knotenpunkt 51 eingespeisten Paket korrespondierenden Programms. Die Programmprioritätsinformationen werden verwendet, um eine Priorität des gerade eingespeisten Pakets anzuzeigen. Der Datenprozessor 52 ist weiter eingerichtet, um zu bestimmen, ob das NOC-Elektronikelement 5 einer Stauung ausgesetzt ist, basierend auf der Verhungerungsrate jedes Routing-Knotenpunkts 51; und falls das NOC-Elektronikelement einer Stauung ausgesetzt ist, ist der Datenprozessor 52 weiter eingerichtet, basierend auf der IPF und den Programmprioritätsinformationen des gerade in jeden Routing-Knotenpunkt 51 eingespeisten Pakets eine Einspeisungsbeschränkungsrate zu berechnen, welche durch jeden Routing-Knotenpunkt 51 für das mit dem gerade eingespeisten Paket korrespondierenden Programms angewendet wird. Die Einspeisungsbeschränkungsrate ist ein Prozentsatz des mit dem gerade eingespeisten Paket korrespondierenden Programms, welches durch den Routing-Knotenpunkt 51 darin beschränkt ist, in den Routing-Knotenpunkt 51 eingespeist zu werden. Der Datenprozessor 52 ist weiter eingerichtet, die Einspeisungsbeschränkungsraten, welche von den jeweiligen Routing-Knotenpunkten 51 für die mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden, korrespondierenden Routing-Knotenpunkten 51 zuzuweisen.
-
Jeder Routing-Knotenpunkt 51 in dem NOC-Elektronikelement ist weiter eingerichtet, basierend auf der korrespondierenden Einspeisungsbeschränkungsrate, die von dem Datenprozessor 52 zugewiesen wurde, das mit dem gerade eingespeisten Paket korrespondierende Programm darin zu beschränken, in den Routing-Knotenpunkt 51 eingespeist zu werden.
-
Optional ist der Routing-Knotenpunkt 51 weiter eingerichtet, andere Pakete zusätzlich zu dem Paket mit der höchsten Priorität durch andere Weiterleitungs-Ports zusätzlich zu dem Weiterleitungs-Port zu übertragen.
-
Optional ist, wenn der Routing-Knotenpunkt 51 die Prioritätsinformationen der Pakete erlangt und die Prioritätsstufen der Pakete basierend auf den Prioritätsinformationen bestimmt, der Routing-Knotenpunkt 51 insbesondere eingerichtet, die Prioritätsinformation jedes Pakets und einen Prioritätsschwellenwert zu erlangen, und die Prioritätsstufe jedes Pakets basierend auf den Prioritätsinformationen des Pakets und den Prioritätsschwellenwert zu bestimmen.
-
Optional ist der Routing-Knotenpunkt 51 weiter eingerichtet, wenn ein Paket einen ersten der Routing-Knotenpunkte in dem NOC betritt, mit dem Paket korrespondierende Prioritätsinformationen von einem Register einer mit dem ersten der Routing-Knotenpunkte korrespondierenden CPU zu erlangen und die mit dem Paket korrespondierenden Prioritätsinformationen in einen Kopf des Pakets zu schreiben.
-
Wenn der Routing-Knotenpunkt 51 die Prioritätsinformationen des Pakets erlangt und die Prioritätsstufen des Pakets basierend auf den Prioritätsinformationen bestimmt, ist der Routing-Knotenpunkt 51 insbesondere eingerichtet, die mit jedem Paket korrespondierenden Prioritätsinformationen von dem Kopf des Pakets zu lesen und die Prioritätsstufe des Pakets basierend auf den Prioritätsinformationen des Pakets zu erhalten.
-
Optional bestimmt, wenn der Datenprozessor 52, basierend auf der IPF und den Programmprioritätsinformationen des gerade in jeden Routing-Knotenpunkt 51 eingespeisten Pakets die Einspeisungsbeschränkungsrate berechnet, welche durch jeden Routing-Knotenpunkt 51 für das mit dem gerade einspeisten Paket korrespondierende Programm angewendet wird, der Datenprozessor 52 insbesondere basierend auf der IPF und den Programmprioritätsinformationen des gerade in jeden Routing-Knotenpunkt eingespeisten Pakets und einer Einspeisungsbeschränkungsratenformel die Einspeisungsbeschränkungsrate, welche durch jeden Routing-Knotenpunkt 51 für das mit dem gerade eingespeisten Paket korrespondierende Programm angewendet wird. Die Einspeisungsbeschränkungsratenformel ist T = max(δ, λ / α·IPF + β·Priority), wobei T die Einspeisungsbeschränkungsrate repräsentiert, Priority die Programmpriorität des gerade eingespeisten Pakets repräsentiert, und δ, α, β, λ Konstanten sind.
-
Optional ist, wenn der Datenprozessor bestimmt, ob das NOC-Elektronikelement einer Stauung ausgesetzt ist, basierend auf der Verhungerungsrate jedes Routing-Knotenpunkts, der Datenprozessor insbesondere eingerichtet, für jeden Routing-Knotenpunkt 51 die Verhungerungsrate des Routing-Knotenpunkts 51 mit einem mit dem Routing-Knotenpunkt 51 korrespondierenden Verhungerungsratenschwellenwert zu vergleichen, um zu bestimmen, ob der Routing-Knotenpunkt 51 einer Stauung ausgesetzt ist.
-
Falls irgendein Routing-Knotenpunkt 51 in dem NOC-Elektronikelement 5 einer Stauung ausgesetzt ist, wird bestimmt, dass das NOC-Elektronikelement 5 einer Stauung ausgesetzt ist.
-
Optional werden die Knotenpunktinformationen jedes Routing-Knotenpunkts 51 in dem NOC-Elektronikelement 5 in einem Register des Routing-Knotenpunkts 51 gespeichert.
-
In dem NOC-Elektronikelement gemäß dem Ausführungsbeispiel der Erfindung, mit dem Prozess, dass der Routing-Knotenpunkt in dem NOC-Elektronikelement die Weiterleitungs-Ports für die jeweiligen zu einem gleichen Weiterleitungs-Port übertragenen Pakete basierend auf den Programmprioritäten der Pakete zuweist, kann ein Paket mit einer hohen Priorität eine größere Siegchance haben, wenn das Paket in einen Routing-Knotenpunkt durch den Weiterleitungs-Port eingespeist wird, der Zeitraum, während dem ein Paket mit einer hohen Programmpriorität in dem NOC ohne Zwischenspeicher verbleibt, wird verkürzt und weiter wird eine Leistungsfähigkeit eines Programms mit einer hohen Priorität durch Verringern einer Rate, dass die Pakete mit einer hohen Programmpriorität abgelenkt werden, verbessert. Zusätzlich, falls das NOC-Elektronikelement einer Stauung ausgesetzt ist, berechnet der Datenprozessor in dem NOC-Elektronikelement basierend auf den Knotenpunktinformationen der jeweiligen Routing-Knotenpunkte die Einspeisungsbeschränkungsraten, welche von den jeweiligen Routing-Knotenpunkten für die jeweiligen mit den gerade eingespeisten Paketen korrespondierenden Programme angewendet werden, und ordnet die jeweiligen Routing-Knotenpunkte den Einspeisungsbeschränkungsraten zu. Insbesondere ist die Einspeisungsbeschränkungsrate für ein Programm mit einer Priorität höher als ein erster voreingestellter Schwellenwert geringer als jene für ein Programm mit einer Priorität geringer als der erste voreingestellte Schwellenwert und ein Programm mit einer IPF geringer als ein zweiter voreingestellter Schwellenwert. Dann werden die berechneten Einspeisungsbeschränkungsraten jeweils korrespondierenden Routing-Knotenpunkten zugewiesen, so dass jeder Routing-Knotenpunkt bestimmt, basierend auf der korrespondierenden Einspeisungsbeschränkungsrate, ob die jeweiligen Pakete des mit dem gerade in den Routing-Knotenpunkt eingespeisten Paket korrespondierenden Programm eingespeist werden sollen. Mit dem oben beschriebenen Prozess wird, wenn ein Routing-Knotenpunkt eine Beschränkung basierend auf der zugewiesenen Einspeisungsbeschränkungsrate auf den Paketen des mit dem gerade eingespeisten Paket korrespondierenden Programms durchführt, Paketen eines Programms mit einer hohen Priorität gewährleistet, dass diese in einen Routing-Knotenpunkt von einem Weiterleitungs-Port sobald wie möglich eingespeist werden, da die Einspeisungsbeschränkungsrate, die mit dem Programm mit der hohen Priorität korrespondiert, eher gering ist. Daher werden die Pakete des Programms mit der hohen Priorität seltener abgelenkt, eine Gesamtleistungsfähigkeit des Programms mit der hohen Priorität wird verbessert, die Übertragungseffizienz der Pakete des Programms mit der hohen Priorität wird verbessert, und die Stauung des NOC ohne Zwischenspeicher wird gemildert.
-
Für einen Fachmann ist klar, dass die obige Aufteilung von Funktionsmodulen für eine bequeme und kurze Beschreibung dargestellt ist. In der Praxis können die obigen Funktionen durch verschiedene funktionelle Module wie gefordert erreicht werden, d. h., dass das Gerät in verschiedene funktionelle Module zum Implementieren aller oder einiger der obigen Funktionen aufgeteilt werden kann. Ein detaillierter Arbeitsprozess des beschriebenen Systems, Gerät und Einheiten kann auf einen korrespondierenden Arbeitsprozess in den vorstehenden Verfahrensbeispielen verweisen und wird hier nicht wiederholt.
-
Es sollte verstanden werden, dass gemäß den Ausführungsbeispielen der Erfindung, das offenbarte System, Vorrichtung und Verfahren auf andere Art und Weise implementiert werden können. Zum Beispiel ist das beschriebene Vorrichtungsbeispiel lediglich beispielhaft. Die Aufteilung der Einheiten basiert lediglich auf logischen Funktionen, und die Einheiten können mit anderen Ansätzen in der Praxis aufgeteilt werden. Zum Beispiel können mehrere Einheiten oder Module kombiniert werden oder in ein anderes System integriert werden, oder einige Merkmale können weggelassen oder nicht implementiert werden. Zusätzlich können die dargestellten oder diskutierten Kopplungen, direkten Kopplungen oder Kommunikationsverbindungen zwischen individuellen Komponenten über indirekte Kopplungen oder Kommunikationsverbindungen zwischen einigen Schnittstellen, Geräten oder Einheiten implementiert werden, welche elektrisch, mechanisch oder in anderer Form ausgebildet sein können.
-
Die als separate Komponenten beschriebenen Einheiten können oder können nicht physikalisch getrennt sein. Die als Einheiten gezeigten Komponenten können entweder physikalische Einheiten oder nicht sein, d. h., die Einheiten können an einem Ort lokalisiert sein oder können auf mehrere Netzwerkeinheiten verteilt sein. Die gesamten oder Teile der Einheiten können basierend auf tatsächlichen Notwendigkeiten ausgewählt sein, um Lösungen gemäß den Ausführungsbeispielen der Erfindung zu implementieren.
-
Zusätzlich können individuelle Funktionseinheiten gemäß den Ausführungsbeispielen der Erfindung in einer Verarbeitungseinheit integriert sein oder die Einheiten können separat existieren, oder zwei oder mehrere Einheiten können in einer Einheit integriert sein. Die integrierte Einheit kann in Form einer Hardware oder Softwarefunktionseinheit implementiert sein.
-
Falls die Funktionen in Form einer Softwarefunktionseinheit implementiert sind und die Softwarefunktionseinheit verkauft wird oder als separate Produkte verwendet wird, kann die Softwarefunktionseinheit auch in einem computerlesbaren Speichermedium gespeichert sein. Basierend auf solch einem Verständnis können die technischen Lösungen der Offenbarung, Teil der Offenbarung, die zu existierenden Technologien beiträgt, oder Teil der technischen Lösungen in Form eines Computersoftwareprodukts ausgeführt sein. Das Computersoftwareprodukt wird in einem Speichermedium gespeichert und beinhaltet mehrere Instruktionen zum Anleiten eines Computergeräts (welches ein PC, Server, Netzwerkgerät oder ähnliches sein kann), um alle oder einen Teil der Schritte der Verfahren gemäß den Ausführungsbeispielen der Erfindung zu implementieren. Das vorgenannte Speichermedium beinhaltet verschiedene Medien, welche Programmcodes speichern können, z. B. USB Disk, mobile Festplatte, Read-Only Memory (ROM), Random Access Memory (RAM), Magnetdiskette, optische Speicherplatte und ähnliches.
-
Jene oben beschriebene Ausführungsbeispiele sind lediglich dazu gedacht, die technischen Lösungen der Erfindung zu erklären als im Gegenteil die Erfindung zu beschränken. Obwohl die Erfindung detailliert in Verbindung mit den vorgenannten Ausführungsbeispielen beschrieben ist, soll vom Fachmann verstanden werden, dass Modifikationen zu den technischen Lösungen gemäß den vorgenannten Ausführungsbeispielen oder einigen technischen Merkmalen in den Ausführungsbeispielen mit Äquivalenten ersetzt werden können. Diese Modifikationen und Äquivalente würden zugehörige technische Lösungen nicht von dem Geist und Umfang der technischen Lösungen gemäß den Ausführungsbeispielen der vorliegenden Erfindung entfernen.