DE112007003722B4 - Modifizieren von Systemroutinginformationen in linkbasierenden Systemen - Google Patents
Modifizieren von Systemroutinginformationen in linkbasierenden Systemen Download PDFInfo
- Publication number
- DE112007003722B4 DE112007003722B4 DE112007003722.9T DE112007003722T DE112007003722B4 DE 112007003722 B4 DE112007003722 B4 DE 112007003722B4 DE 112007003722 T DE112007003722 T DE 112007003722T DE 112007003722 B4 DE112007003722 B4 DE 112007003722B4
- Authority
- DE
- Germany
- Prior art keywords
- components
- routing
- hot
- rta
- plug event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
eine Speichereinheit zum Speichern einer ersten Tabelle, die Routingwegen zwischen mehreren Komponenten, die über einen oder mehrere Kommunikationslinks gekoppelt sind, vor einem Hot-Plug-Ereignis entspricht, und einer zweiten Tabelle, die Routingwegen zwischen den mehreren Komponenten nach dem Hot-Plug-Ereignis entspricht; und
eine Logik zum Vergleichen der Einträge in der ersten Tabelle und der zweiten Tabelle, um zu ermitteln, welche korrespondierenden Routing-Table-Array(RTA)-Register in Reaktion auf das Hot-Plug-Ereignis zu modifizieren sind, wobei jedes der mehreren RTA-Register dazu dient, Routingdaten zu speichern, die mit jeweils einer der mehreren Komponenten verknüpft sind, um Paketroutinginformation den mehreren Komponenten anzuzeigen.
Description
- Hintergrund
- Die vorliegende Offenbarung betrifft allgemein das Gebiet von Elektronik. Insbesondere betrifft eine Ausführungsform der Erfindung die Techniken zum Modifizieren von Systemroutinginformationen in linkbasierenden Systemen.
- RAS (Reliability, Availability und Serviceability – Zuverlässigkeit, Verfügbarkeit und Bedienbarkeit) sind immer kritischere Merkmale für moderne Computersysteme, insbesondere in Serverplattformen, geworden. In einem linkbasierenden System, wie CSI (Common System Interface), hängt eine erfolgreiche Implementierung von RAS-Merkmalen, wie ein Socket(oder Link)-Hot-Plug, von der Rekonfiguration von Routingdaten während der Laufzeit ab. Generell können Routingdaten betreffend nächste Nachbarn von einem Mitglied eines linkbasierenden Systems in Speichereinrichtungen gespeichert werden, die lokal für jedes Mitglied in dem linkbasierenden System sind. Rekonfigurierungsabläufe für Routingdaten können für das OS (Betriebssystem) transparent durchgeführt werden unter Verwendung von Bearbeitungszeit, die sonst anderweitig von dem OS benutzt werden könnte. Da das OS sein eigenes Latenzerfordernis besitzt, ist das Minimieren von Rekonfigurationszeit der Routingtabelle ein Schlüsselkriterium in den RAS-Implementierungen geworden.
- Aus der
US 2003/0231633 A1 - Aus der
US 2007/0118628 A1 - Kurze Beschreibung der Zeichnungen
- Die detaillierte Beschreibung wird mit Bezug auf die beigefügten Figuren dargestellt. In den Figuren gibt die Stelle(n) am weitesten links in den Bezugszeichen die Figur an, in der das Bezugszeichen zum ersten Mal auftritt. Die Verwendung der gleichen Bezugszeichen in verschiedenen Figuren bezeichnet ähnliche oder identische Gegenstände.
-
1 ,2 und5 bis8 zeigen Blockdiagramme von Ausführungsformen von Computersystemen, die zum Implementieren der verschiedenen Ausführungsformen, die hierin diskutiert werden, benutzt werden können. -
3 bis4 stellen Ablaufdiagramme von Verfahren gemäß einigen Ausführungsformen dar. - Detaillierte Beschreibung
- In der nachfolgenden Beschreibung werden zahlreiche spezifische Details dargelegt, um ein vollständiges Verständnis der verschiedenen Ausführungsformen zu liefern. Einige Ausführungsformen können jedoch ohne die spezifischen Details ausgeführt werden. In anderen Fällen werden gut bekannte Verfahren, Abläufe, Komponenten und Schaltungen nicht im Detail beschrieben, um nicht von den speziellen Ausführungsformen abzulenken. Verschiedene Aspekte der Ausführungsformen der Erfindung können unter Verwendung verschiedener Mittel ausgeführt werden, wie z. B. integrierte Halbleiterschaltungen („Hardware”), computerlesbare Anweisungen, die in einem oder mehreren Programmen („Software”) organisiert sind, oder Kombinationen von Hardware und Software. Für die Zwecke der Offenbarung soll die Bezugnahme auf „Logik” entweder Hardware, Software oder Kombinationen davon bedeuten.
- Einige Ausführungsformen, die hier diskutiert werden, ermöglichen ein effizienteres und/oder schnelleres Ändern von Systemroutingkonfigurationen in einem linkbasierenden System (wie in einem CSI-System), um z. B. RAS zu verbessern. Insbesondere ermöglichen einige Techniken relativ großen Computersystemen (wie z. B. Blade-Servers mit vielen Leitungswegen zwischen verschiedenen Knoten, die hierin auch als Agenten bezeichnet werden, wie sie im Zusammenhang mit
1 diskutiert werden) effizienter und/oder schneller Systemroutingkonfigurationen zu ändern, z. B. durch Reduzieren der Anzahl von RTA(Routing Table Array)-Registern, die berechnet werden müssen und aktualisiert werden müssen beispielsweise während eines Hot-Plug-Ereignisses, wie z. B. bei begrenzten Zeitfenstern, die für SMI (System Management Interrupt), PMI (Platform Management Interrupt) oder anderen Interrupt-Abwicklungen zur Verfügung stehen. Außerdem können in einer Ausführungsform Systemroutingkonfigurationen modifiziert werden, ohne die Systemtopologie zu ändern. Außerdem können einige der hierin diskutierten Techniken in verschiedenen Arten von Computerumgebungen eingesetzt werden, beispielsweise wie in jenen, die mit Bezug auf die1 bis8 diskutiert werden. - Insbesondere stellt die
1 ein Blockdiagramm eines Computersystems100 gemäß einer Ausführungsform der Erfindung dar. Das System100 kann einen oder mehrere Agenten102-1 bis102-M (zusammen hierin als „Agenten102 ” oder noch allgemeiner als „Agent102 ” bezeichnet) aufweisen. In einer Ausführungsform können die Agenten102 Komponenten eines Computersystems sein, wie die Computersysteme, die im Zusammenhang mit den2 bis8 diskutiert werden. - Wie in
1 dargestellt ist, können die Agenten102 über ein Netzwerk104 kommunizieren. In einer Ausführungsform kann das Netzwerk104 ein Computernetzwerk umfassen, welches verschiedenen Agenten (wie z. B. Rechnervorrichtungen) ermöglicht, Daten zu kommunizieren. In einer Ausführungsform kann das Netzwerk104 eine oder mehrere Verbindungen (oder Verbindungsnetzwerke) aufweisen, die über einen seriellen (z. B. Punkt-zu-Punkt)-Link und/oder über einen gemeinsam genutztes Kommunikationsnetz kommunizieren. Beispielsweise können einige Ausführungsformen Komponentendebug oder -validierung von Links unterstützen, die eine Kommunikation mit vollständig gepufferten dualen In-Line-Speichermodulen (FBD) ermöglichen, z. B. wenn der FBD-Link ein serieller Link zum Koppeln von Speichermodulen an einen Host-Controller-Vorrichtung (wie ein Prozessor oder Memory-Hub) ist. Die Debug-Informationen können von dem FBD-Kanal-Host übertragen werden, so dass die Debug-Informationen entlang dem Kanal durch Channel-Traffic-Trace-Capture-Tools (wie ein oder mehrere logische Analysatoren) beobachtet wird. - In einer Ausführungsform kann das System
100 ein Schichtprotokollschema unterstützen, welches eine physikalische Schicht, eine Link-Schicht, eine Routingschicht, eine Transportschicht und/oder eine Protokollschicht aufweist. Das Netzwerk104 kann ferner der Übertragung von Daten dienen (z. B. in Form von Paketen) von einem Protokoll (z. B. Caching-Prozessor oder Caching-Aware-Memory-Controller) zu einem anderen Protokoll für ein Punkt-zu-Punkt- oder ein gemeinsam genutztes Netzwerk. Ferner kann in einigen Ausführungsformen das Netzwerk104 eine Kommunikation vorsehen, die ein oder mehrere Cache-Kohärenzprotokolle beinhaltet. - Weiterhin können, wie durch die Richtung der Pfeile in
1 gezeigt ist, die Agenten102 Daten über das Netzwerk104 übertragen und/oder empfangen. Somit können einige Agenten einen unidirektionalen Link verwenden, während andere Agenten einen bidirektionalen Link zur Kommunikation verwenden können. Beispielsweise können ein oder mehrere Agenten (wie der Agent102-M ) Daten übertragen (z. B. über einen unidirektionalen Link106 ), ein oder mehrere andere Agenten (wie der Agent102-2 ) können Daten empfangen (z. B. über einen unidirektionalen Link108 ), während ein oder mehrere Agenten (wie der Agent102-1 ) sowohl Daten übertragen als auch empfangen können (z. B. über einen bidirektionalen Link110 ). -
2 zeigt ein Blockdiagramm eines Punkt-zu-Punkt(PtP)-Computersystems200 gemäß einer Ausführungsform der Erfindung. Die2 zeigt ein Beispiel eines CSI linkbasierenden Systems mit vier Prozessoren oder zentralen Rechnereinheiten (CPUs) (CPU0 bis CPU3) und zwei Schnittstellengeräten202 und204 , die als Eingabe/Ausgabe-Hubs (IOHs) in einigen Ausführungsformen implementiert sein können. - Die in
2 dargestellten CPUs und Schnittstellengeräte können CSI-Komponenten sein, die miteinander durch CSI-Links kommunizieren (als bidirektionale Pfeile dargestellt). Weiterhin stellen die Zahlen in jeder der Rechtecke oder Kreise, die mit dem Link gekoppelt sind, Sample-Port-Zahlen für ein gegebenes Gerät dar. Wie in2 gezeigt ist, kann jede der CPUs mit einem Speichersubsystem verbunden sein, auf welches von der entsprechenden CPU zugegriffen werden kann. Alternativ können sich ein oder mehrere der CPUs eine Speichereinheit (nicht gezeigt) zusätzlich zu oder anstelle eines dezidierten Speichersubsystems teilen. In einigen Ausführungsformen können die Schnittstellengeräte202 bis204 eine Verbindung zu I/O-Geräten zur Verfügung stellen, wie Peripheral-Component-Interconnect-Express (PCIe) (z. B. entsprechend der PCIe Spezifikation, Version 2.0, Oktober 2006) und/oder ein I/O-Controller-Hub (ICH), wie weiter im Zusammenhang mit7 beschrieben. In einer Ausführungsform kann die Kommunikation von Prozessor zu Prozessor und/oder zwischen dem Prozessor und dem oder den Schnittstellengerät(en) unter Verwendung von CSI-Paketen ausgeführt werden. Weiterhin kann jede der CSI-Komponenten (z. B. einschließlich einer oder mehrerer der CPUs und/oder Schnittstellengerät(e)) ein RTA und ein Source-Address-Decoder (SAD) enthalten. Der RTA kann die CSI-Paket-Routinginformation an andere Sockets liefern. Der SAD kann einen Mechanismus zur Verfügung stellen, um ein Routing der Ressourcen, wie Speicher, I/O, etc., darzustellen. - Zum Zwecke der Erklärung einer Ausführungsform ist anzunehmen, dass die CPU3 in
2 entfernt werden muss, während das Betriebssystem läuft. In einigen Ausführungsformen unterstützen die CSI-Komponenten einen Quiesce-Modus, bei dem der normale Verkehr angehalten werden könnte, während die RTA/SAD die Betriebsweisen wechseln. Allgemein werden solche Ereignisse, welche ein Hinzufügen, Entfernen und/oder Verändern von Komponenten des Computersystems einschließen, hierin als „Hot-Plug”-Ereignisse bezeichnet. Um mit dem Ereignis, welches mit dem Entfernen der CPU3 verbunden ist, umzugehen, kann die Plattform ein SMI System Management Interrupt erzeugen, um das Basic Input Output System (BIOS) zu informieren, dass eine Komponente entfernt werden muss. In einigen Implementierungen umfasst der Entfernungsvorgang nach dem SMI Folgendes: - 1. Auswählen einer CPU als die Monarch-CPU, die für das Ausführen des meisten SMI-Ereignishandhabungscodes verantwortlich ist (Nachfolgend wird als Beispiel die CPU0 als Monarch-CPU angenommen.);
- 2. Die Monarch-CPU legt das gesamte System still, um allen Verkehr, der durch die CSI-Verbindungen läuft, anzuhalten;
- 3. Die Monarch-CPU berechnet die neuen Werte für die Systemkonfigurations-RTA-Register und aktualisiert diese;
- 4. Die Monarch-CPU führt andere Systemkonfigurationsvorgänge durch, z. B. eine Berechnung der neuen Werte für SAD-Register und eine Aktualisierung von diesen, Deaktivieren von Links zu dem Hot-Removed-Socket, etc.; und
- 5. Die Monarch-CPU hebt die Stilllegung des Systems auf und gibt die Nicht-Monarch-Prozessoren frei und kehrt von dem SMI zurück. Das System fährt mit dem Ablauf fort.
- Zum Ändern des System-Routings wird im obigen Schritt 3 die Neuberechnung des Routings durchgeführt, indem zuerst eine neue Topologie des Routingnetzes des Sockets (oder des Links), der entfernt wurde, erlangt wird. Zweitens können die neuen Werte für alle RTA-Register berechnet werden. Schließlich werden alle RTA-Register aktualisiert. Dieser Ansatz ist sehr ineffizient, weil durch alle RTA-Register durchgegangen werden muss, um deren Werte zu berechnen und diese zu aktualisieren, selbst wenn sie den alten Wert nach dem Hot-Plug-Ereignis behalten, z. B. jene RTA-Register für das Routing zwischen der CPU0 und der CPU1 in dem Beispiel der
2 . Dies ist noch schlimmer für ein reales System, bei dem die RTAs eine große Anzahl sein können. Beispielsweise können einige CPUs 12 Ports mit 80 RTA-Einträgen an jedem der Ports aufweisen. Dadurch kann der Vorgang des Änderns des Systemroutings 24 zu einer signifikanten Latenz führen, die umgekehrt die Systemruhezeit während des Hot-Plug-Ereignisses erhöht, und sogar die vom Betriebssystem tolerierte Deadline in einem großen System übersteigt. - Die
3 und4 zeigen Ablaufdiagramme der Verfahren300 bzw.400 , die verwendet werden können, um Routinginformationen in einem Computersystem gemäß der Erfindung effizienter und/oder schneller zu aktualisieren. In einer Ausführungsform können verschiedene Komponenten, die hierin diskutiert werden, z. B. mit Bezug auf die1 ,2 und5 bis8 , um ein oder mehrere Abläufe, die hierin mit Bezug auf die3 oder4 diskutiert werden, durchzuführen. - Bezug nehmend auf die
1 bis3 kann in einem Vorgang302 nach einer Initialisierung eines Hot-Plugs-Ereignisses (z. B. wie durch einen Interrupt, wie ein SMI oder PMI, angezeigt) eine neue Topologie für das Routingnetz des Sockets (oder Links), welches entfernt, hinzugefügt und/oder modizfiziert wird, erlangt werden, z. B. durch Bezugnahme auf eine Systemlevel-Routingtabelle. In einer Ausführungsform kann eine Zwischendatentabelle (die hierin als eine „Routing-Data-Table” bezeichnet wird) benutzt werden, um Registerwerte für das neue Routingnetz zu berechnen, sowie die geänderten RTA-Register zu filtern. Die Zellen der Routing-Data-Table können Informationen enthalten, um die Übergänge von einer Quelle zu einem Ziel zu lenken (route). - Beispielsweise zeigt nachfolgende Tabelle 1 eine Beispieltabelle, die der
2 entspricht, bevor die CPU3 entfernt ist. Die Routinginformationen werden durch den Routingalgorithmus berechnet, der spezifisch sein oder auf den Systemerfordernissen beruhen könnte. Das Beispiel der Tabelle 1 ist durch den Algorithmus des minimalen Abstandes berechnet, d. h. bei dem jede Zelle in der Tabelle den minimalen Routing-Weg von einer gegebenen Quelle (Reihe) zu einem gegebenen Ziel (Spalte) anzeigt. Ausführungsformen der Erfindung sind jedoch nicht auf den Algorithmus des minimalen Abstandes beschränkt und jeder Algorithmus, dessen Ausgang dafür geeignet ist, mit dem Format der Routing-Data-Table konform zu sein, kann benutzt werden. Tabelle 1 – Beispiel einer (aktuellen) Routing-Data-Table zur vollen Verbindung - Ferner können solche Routinginformationen das Zwischenergebnis sein, um die endgültigen RTA-Registerwerte zu berechnen. Für ein linkbasiertes System kann das Routingnetz für jede Komponente mit Ports, Einträgen und virtuellen Kanälen etc. implementiert sein. So können eine Anzahl von aufeinanderfolgenden Berechnungen durchgeführt werden. Abhängig von der Implementierung können einige oder alle der Routingtabelleninformationen beim Hochfahren des Systems hochfahren oder anderweitig vor einem Handeln berechnet werden. Andere Implementierungen können wenigstens einige der Routing-Table-Informationen während eines Hot-Plug-Ereignisses berechnen. Weiterhin kann in einigen Ausführungsformen die neue Topologie durch verschiedene Mittel beim Vorgang
302 erlangt werden, wie z. B. aufgrund von Informationen, die durch ein Management/Assistant-Agent seitens eines dritten Systems bereitgestellt werden, der dynamisch festgestellt wird etc. - Bei einem Vorgang
304 können alle notwendigen Modifikationen bestimmt werden. Da jede Zelle in der Routing-Data-Table eine Routinginformation von der Quelle zu dem Ziel enthält, brauchen beispielsweise, falls ein Zellenwert sich vor und nach dem Hot-Plug-Ereignis nicht ändert, die entsprechenden RTA-Registerwerte ebenfalls nicht geändert zu werden. Andernfalls werden die RTA-Registerwerte geändert, um die Übertragung zu neuen Ports oder Wegen zu leiten. - Beispielsweise stellt die nachfolgende Tabelle 2 ein Beispiel einer (neuen) Routing-Data-Table für die zu entfernende CPU3 aus der
2 dar. In einer Ausführungsform können beim Vorgang304 die RTA-Register, welche nicht neu berechnet werden müssen und zum Schluss aktualisiert werden müssen, durch einen Vergleich der Zellenwerte in den Routing-Data-Tables der Topologie vor (siehe Tabelle 1) und nach dem Hot-Plug-Ereignis (siehe Tabelle 2) herausgefiltert werden, um die Geschwindigkeit zu erhöhen und/oder die Latenz, welche mit dem Hot-Plug-Ereignis verbunden ist, zu reduzieren. Tabelle 2 – Beispiel einer (neuen) Routing-Data-Table für eine zu entfernende CPU3 - Beispielsweise wird durch den Vergleich der Tabelle 2 mit der Tabelle 1 deutlich, dass das Entfernen der CPU3 zu Änderungen von sechs Zellen führt, während fünfzehn Zellen ihren vorhergehenden Wert behalten. In einigen Ausführungsformen können die aktuellen Tabellen in einer anderen Speichereinrichtung als die neue Tabelle gespeichert werden (z. B. können die Tabellen in unterschiedlichen Speicheruntersystemen oder Caches, wie mit Bezug auf
2 diskutiert, gespeichert werden). Alternativ können die Tabellen in der gleichen Speichereinrichtung gespeichert werden (wie z. B. eine gemeinsam genutzte Speichereinrichtung oder eine private Speichereinrichtung). - Nimmt man z. B. an, dass für jede Zelle die Zeit T für die nacheinanderfolgende Berechnung und Hardwareaktualisierung benötigt wird, dann wird die benötigte Zeit von (15 + 6)T = 21T auf 6T reduziert, und dies ist um den Faktor 3,5 schneller. Wenn man den Hot-Add-Fall (z. B. Hinzufügen der CPU3) berücksichtigt, dann entspricht die Tabelle 1 der Routing-Data-Table nach den Topologieänderungen, während die Tabelle 2 der ursprünglichen Konfigurationen entspricht. Dies liegt daran, weil die Zellen aus und von der CPU3 gezählt werden sollten, so dass die benötigte Zeit von (21 + 10)T = 31T zu (6 + 10)T = 16T verringert wird, was etwa um den Faktor 2 schneller ist. Aufgrund der Bestimmung, die im Vorgang
304 vorgenommen wird, berechnet ein Vorgang306 dementsprechend die neuen Werte für die gefilterten RTA-Register. Bei einem Vorgang308 kann die Routing-Information aufgrund der berechneten Werte des Vorgangs306 aktualisiert werden (beispielsweise werden nur die gefilterten RTA-Register des Vorgangs304 aktualisiert). -
4 stellt ein Ablaufdiagramm eines Verfahrens400 dar, welches benutzt werden kann, um den Vorgang304 der3 gemäß einer Ausführungsform durchzuführen. Bei einem Vorgang402 kann eine neue Routing-Data-Table für die neue Topologie berechnet werden. In einer Ausführungsform kann der Vorgang402 für benachbarte Komponenten der zu entfernenden, hinzuzufügenden und/oder zu modifizierenden Komponente durchgeführt werden. Bei einem Vorgang404 kann die neue Tabelle mit der aktuellen Tabelle, wie im Zusammenhang mit der3 diskutiert, verglichen werden. Aufgrund des Vergleichs im Vorgang404 können die Register (z. B. RTA-Register), die zu modifizieren (oder zu filtern) sind, in einem Vorgang406 bestimmt werden. Bei einem Vorgang408 kann die aktuelle Routingtabelle mit Daten aus der neuen Routingtabelle, die im Vorgang402 berechnet wurde, aktualisiert werden. - Da einige Ausführungsformen nur geänderte RTA-Register herausfiltern, wird deutlich, dass solche Ausführungsformen zu besseren Ergebnissen führen, wenn im System die Zahl ihrer Komponenten anwächst. Beispielsweise ist in
5 ein vergleichsweise großes System500 mit 12 Prozessoren gezeigt, wobei die CPU7 (welche sich in der Mitte des Systems befindet), hinzugefügt werden soll. Nachfolgende Tabelle 3 entspricht dem System500 . Wie man sehen kann, ist die Anzahl der geänderten und ungeänderten Zellen 62 bzw. 70, so dass sich die Leistung von (62 + 70)T auf 62T verbessert, was mehr als um den Faktor 2 schneller ist. - Weiterhin soll in dem System
600 der6 eine Eck-CPU (CPU4) entfernt werden. Die nachfolgende Tabelle 4 entspricht dem System600 . In diesem Beispiel werden nur drei Zellen geändert, so dass die Zeit, die zum Rekonfigurieren des Routing benötigt wird, von (3 + 107)T auf 3T verringert wird, was mehr als Faktor 35 schneller ist. Tabelle 4 – Beispiel einer zu entfernenden CPU4 - Demnach kann in einigen Ausführungsformen eine Zwischen-Routing-Data-Table verwendet werden, die Routinginformationen von einer Quelle zu einem Ziel enthält. Durch Vergleich mit den Datentabellen vor und nach einem Hot-Plug-Ereignis muss nur ein minimaler Satz von RTA-Registern berechnet und aktualisiert werden, um die Leistung zu erhöhen. Obgleich hierin nur Socket-Hot-Plug-Ereignisse als Beispiele diskutiert werden, funktionieren ferner die hierin beschriebenen Ausführungsformen auch bei einem Link-Hot-Plug. Das vorangehende Beispiel verwendet den SMI, um die Erfindung zu beschreiben. Ähnliche Techniken können auch in Systemen des PMI verwendet werden.
-
7 stellt ein Blockdiagramm einer Ausführungsform eines Computersystems700 dar. Eine oder mehrere der Komponenten der1 und/oder2 können eine oder mehrere Komponenten umfassen, die mit Bezug auf das Computersystem700 diskutiert werden. Das Computersystem700 kann eine oder mehrere zentrale Rechnereinheiten (CPUs)702 (die hierin gemeinsam als „Prozessoren702 ” oder allgemeiner als „Prozessor702 ” bezeichnet werden können) aufweisen, die an ein Verbindungsnetzwerk (oder Bus)704 gekoppelt sind. Die Prozessoren können jeder Typ von Prozessor sein, wie ein Allzweckprozessor, ein Netzwerkprozessor (der Daten bearbeiten kann, die über ein Computernetzwerk104 kommuniziert werden) etc. (einschließlich einem Computerprozessor mit reduziertem Instruktionssatz (RISC) oder einem Computer mit komplexem Instruktionssatz (CISC)). Ferner können die Prozessoren702 eine Einzelkern- oder Mehrkern-Bauform aufweisen. Die Prozessoren702 mit einer Mehrkernbauform können verschiedene Type von Prozessorkernen auf dem gleichen integrierten Schaltkreis(IC)-Chip aufweisen. Außerdem können die Prozessoren702 mit einer Mehrkernbauform als symmetrische oder asymmetrische Multiprozessoren implementiert sein. - Der Prozessor
702 kann einen oder mehrere Caches (nicht gezeigt) aufweisen, die privat und/oder gemeinsam genutzt in verschiedenen Ausführungsformen sein können. Allgemein speichert ein Cache Daten, die ursprünglichen Daten entsprechen, die woanders gespeichert oder früher berechnet wurden. Um die Speicherzugriffslatenz zu reduzieren, nachdem die Daten in einem Cache gespeichert wurden, kann eine zukünftige Benutzung durch Zugriff auf eine Kopie im Cache vorgenommen werden, anstelle die ursprünglichen Daten wieder aufzurufen oder neu zu berechnen. Der oder die Caches können alle Arten von Cache, wie z. B. ein Level 1(L1)-Cache, ein Level 2(L2)-Cache, ein Level 3(L3)-Cache, ein Mid-Level-Cache, ein Last-Level-Cache (LLC), etc. sein, um elektronische Daten zu speichern (die z. B. Anweisungen umfassen), die von einer oder mehreren Komponenten des Systems700 verwendet werden. - Ein Chipsatz
706 kann zusätzlich mit dem Verbindungsnetzwerk704 gekoppelt sein. Ferner kann der Chipsatz706 einen Memorycontrolhub (MCH)708 aufweisen. Der MCH708 kann einen Speichercontroller710 aufweisen, der mit einem Speicher712 gekoppelt ist. In einer Ausführungsform kann der MCH auch eine Grafiklogik aufweisen und demzufolge als ein grafischer MCH (GMCH) bezeichnet werden. Der Speicher712 kann Daten speichern, die z. B. Sequenzen von Anweisungen umfassen, die von dem Prozessor702 ausgeführt werden oder von beliebigen anderen Geräten, die mit Komponenten des Computersystems700 in Verbindung stehen. In einer Ausführungsform kann der Speicher712 gleich oder ähnlich zu den Speichersubsystemen, die in2 gezeigt sind, sein. Außerdem kann in einer Ausführungsform der Erfindung der Speicher712 ein oder mehrere flüchtige Speichereinrichtungen, wie Random Access Memory (RAM), Dynamic RAM (DRAM), synchronen DRAM (SDRAM), statischen RAM (SRAM), etc. aufweisen. Nichtflüchtiger Speicher kann außerdem benutzt werden, wie z. B. eine Festplatte. Zusätzliche Geräte können mit dem Verbindungsnetzwerk704 gekoppelt sein, wie mehrere Prozessoren und/oder mehrere Systemspeicher. - Der MCH
708 kann ferner eine Grafikschnittstelle714 aufweisen, die mit einer Anzeigevorrichtung716 gekoppelt ist (z. B. über einen grafischen Beschleuniger in einer Ausführungsform). In einer Ausführungsform kann die Grafikschnittstelle714 mit der Anzeigevorrichtung716 über einen beschleunigten Grafikport (AGP) gekoppelt sein. In einer Ausführungsform der Erfindung kann die Anzeigevorrichtung716 (wie ein Fachbildschirm) mit der Grafikschnittstelle714 durch beispielsweise einen Signalwandler gekoppelt sein, der eine digitale Darstellung eines Bildes, das in einer Speichereinrichtung gespeichert ist, wie ein Videospeicher oder ein Systemspeicher (z. B. Speicher712 ), in Anzeigesignale umwandelt, die von der Anzeige716 ausgewertet und angezeigt werden. - Wie in der
7 gezeigt, kann die Hub-Schnittstelle718 mit dem MCH708 an einen Eingabe/Ausgebe-Control-Hub (ICH)720 gekoppelt sein. Der ICH720 kann eine Schnittstelle zu Eingabe/Ausgabe(I/O)-Geräten bereitstellen, die mit dem Computersystem700 gekoppelt sind. Die ICH720 kann mit einem Bus722 über eine Peripheriebrücke (oder Controller)724 gekoppelt sein, wie z. B. eine Peripheral Component Interconnect(PCI)-Brücke, die der PCIe-Spezifikation entsprechen kann, ein Universal Serial Bus(USB)-Controller etc. Die Brücke724 kann einen Datenweg zwischen dem Prozessor702 und Peripheriegeräten bereitstellen. Andere Arten von Topologien können benutzt werden. Außerdem können mehrere Busse mit dem ICH720 gekoppelt sein, z. B. durch mehrere Brücken oder Controller. Beispielsweise kann der Bus722 kompatibel sein zu der PCI Local Bus Spezifikation, Version 7.0, 9. März, 2004, die erhältlich ist von PCI Special Interest Group, Portland, Oregon, USA (nachfolgend hier als ein „PCI-Bus” bezeichnet). Alternativ kann der Bus722 einen Bus umfassen, der kompatibel zu der PCI-X Spezifikation Version 7.0a, 23. April 2003 (hierin nachfolgend als ein „PCI-X-Bus” bezeichnet) und/oder zur PCIe-Spezifikation, erhältlich von der vorhergehend genannten PCI Special Interest Group, Portland, Oregon, USA. Ferner kann der Bus722 andere Arten und Konfigurationen von Bussystemen umfassen. Darüber hinaus können andere Peripheriegeräte, die mit dem ICH720 gekoppelt sind, in verschiedenen Ausführungsformen der Erfindung Integrated Drive Electronics (IDE) oder Small Computer System Interface(SCSI)-Festplattentreiber, USB-Port(s), eine Tastatur, eine Maus, einen oder mehrere Parallelports, einen oder mehre Floppydisktreiber, digitale Ausgabeanschlüsse (z. B. Digital Video Interface (DVI)), etc. aufweisen. - Der Bus
722 kann mit einem Audiogerät726 , einem oder mehreren Disk-Treibern728 und einem Netzwerkadapter730 (welcher ein NIC in einer Ausführungsform sein kann) gekoppelt sein. In einer Ausführungsform kann der Netzwerkadapter730 oder andere Geräte, die mit dem Bus722 gekoppelt sind, mit dem Chipsatz706 in Verbindung stehen. Andere Geräte können mit dem Bus722 gekoppelt sein. Außerdem können verschiedene Komponenten (wie der Netzwerkadapter730 ) mit dem MCH708 in einigen Ausführungsformen der Erfindung gekoppelt sein. Zusätzlich können der Prozessor702 und der MCH708 kombiniert sein, um einen einzelnen Chip zu bilden. - Zusätzlich kann das Computersystem
700 flüchtigen und/oder nichtflüchtigen Speicher umfassen. Beispielsweise kann nichtflüchtiger Speicher eines oder mehreres von Folgendem umfassen: Nurlesespeicher (ROM), programmierbarer ROM (PROM), löschbarer PROM (EPROM), elektronischer EPROM (EEPROM), einen Disktreiber (z. B.728 ), eine Floppydisk, einen Compact-Disc-ROM (CD-ROM), eine Digital Versatile Disk (DVD), Flashmemory, eine magnetoopische Diskette oder andere Arten von nichtflüchtigen maschinenlesbaren Medien, die in der Lage sind, elektronische Daten zu speichern (die z. B. Anweisungen umfassen). -
8 zeigt ein Computersystem800 , das in einer Punkt-zu-Punkt-(PtP)-Konfiguration gemäß einer Ausführungsform der Erfindung eingerichtet ist. Insbesondere zeigt die8 ein System, bei dem Prozessoren, Speicher und Eingabe/Ausgabe-Geräte durch eine Anzahl von Punkt-zu-Punkt-Schnittstellen untereinander verbunden sind. Die vorhergehenden in Bezug auf die1 bis7 diskutierten Vorgänge können von einer oder mehreren Komponenten des Systems800 durchgeführt werden. - Wie in der
8 dargestellt ist, kann das System800 mehrere Prozessoren aufweisen, von denen zur Klarheit nur zwei Prozessoren802 und804 gezeigt sind. Die Prozessoren802 und804 können jeweils einen lokalen Memory-Control-Hub (MCH)806 und808 aufweisen, um eine Kommunikation mit Speichern810 und812 zu ermöglichen. Die Speicher810 und/oder812 können verschiedene Daten speichern, wie z. B. jene, die im Zusammenhang mit dem Speicher712 der7 diskutiert wurden. Wie in der8 gezeigt ist, können die Prozessoren802 und804 außerdem einen oder mehrere Caches aufweisen, die im Zusammenhang mit der7 diskutiert wurden. - In einer Ausführungsform können die Prozessoren
802 und804 einer der Prozessoren702 sein, die im Zusammenhang mit7 diskutiert wurden. Die Prozessoren802 und804 können Daten über eine Punkt-zu-Punkt-(PtP)-Schnittstelle814 unter Verwendung PtP-Schnittstellenschaltungen816 bzw.818 austauschen. Außerdem können die Prozessoren802 und804 jeweils Daten mit einem Chipsatz820 über individuelle PtP-Schnittstellen822 und824 unter Verwendung von Punkt-zu-Punkt-Schnittstellenschaltungen826 ,828 ,830 und832 austauschen. Der Chipsatz820 kann ferner Daten mit einer Hochleistungsgrafikschaltung834 über eine Hochleistungsgrafikschnittstelle836 austauschen, z. B. unter Verwendung einer PtP-Schnittstellenschaltung837 . - In wenigstens einer Ausführungsform können ein oder mehrere Vorgänge, die im Zusammenhang mit den
1 bis7 diskutiert wurden, durch die Prozessoren802 oder804 und/oder andere Komponenten des Systems800 , wie jene, die über einen Bus840 kommunizieren, ausgeführt werden. Andere Ausführungsformen der Erfindung können jedoch in anderen Schaltungen, logischen Einheiten oder Vorrichtungen innerhalb des Systems800 der8 existieren. Ferner können andere Ausführungsformen der Erfindung über verschiedene Schaltungen, logische Einheiten oder Vorrichtungen, die in8 dargestellt sind, verteilt sein. - Ein Chipsatz
820 kann mit dem Bus840 unter Verwendung einer PtP-Schnittstellenschaltung841 kommunizieren. Der Bus840 kann ein oder mehrere Geräte aufweisen, die mit ihm kommunizieren, sowie eine Busbrücke842 und I/O-Geräte843 . Die Busbrücke842 kann über einen Bus844 mit anderen Geräten kommunizieren, wie z. B. einer Tastatur/Maus845 , Kommunikationsgeräte846 (wie z. B. Modems, Netzwerkschnittstellengeräte oder andere Kommunikationsgeräte, die mit dem Computernetzwerk104 kommunizieren), ein Audio-I/O-Gerät und/oder eine Datenspeichereinrichtung848 . Die Datenspeichereinrichtung848 kann Code speichern, der auf den Prozessoren802 und/oder ausgeführt werden kann. - In verschiedenen Ausführungsformen der Erfindung können die hierin diskutierten Vorgänge, z. B. in Bezug auf die
1 bis8 , als Hardware (z. B. als Schaltung), Software, Firmware, Mikrocode oder Kombinationen davon implementiert werden, die als ein Computerprogrammprodukt bereitgestellt werden können, z. B. einschließlich eines maschinenlesbaren oder computerlesbaren Mediums mit darauf gespeicherten Anweisungen (oder Softwareprozeduren), die benutzt werden, um einen Computer zu programmieren, um einen hierin beschriebenen Vorgang auszuführen. Außerdem kann der Ausdruck „Logik” z. B. Software, Hardware oder Kombinationen von Software und Hardware umfassen. Das maschinenlesbare Medium kann Speichereinrichtungen, wie jene, die hier diskutiert wurden, umfassen. Zusätzlich kann ein solches computerlesbares Medium als ein Computerprogrammprodukt heruntergeladen werden, wobei das Programm von einem entfernten Computer (z. B. Server) zu einem anfragenden Computer (z. B. Client) mittels Datensignalen, die in einer Trägerwelle oder einem anderen Propagationsmedium verkörpert ist, über eine Kommunikationsverbindung (z. B. einem Bus, einem Modem oder einer Netzwerkverbindung) übertragen werden. - Eine Bezugnahme in der Beschreibung auf „eine einzelne Ausführungsform” oder „eine Ausführungsform” bedeutet, dass ein bestimmtes Merkmal, eine Struktur oder eine Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben wurde, in wenigstens einer Implementierung enthalten ist. Das Auftreten des Ausdruckes „in einer Ausführungsform” an verschiedenen Orten der Beschreibung kann sich immer auf die gleiche Ausführungsform oder nicht auf die gleiche Ausführungsform beziehen.
- Außerdem können in der Beschreibung und den Ansprüchen die Ausdrücke „gekoppelt” und „verbunden” einschließlich ihrer Abwandlungen benutzt werden. In einigen Ausführungsformen der Erfindung kann „verbunden” benutzt werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem physikalischen oder elektrischen Kontakt zueinander stehen. „Gekoppelt” kann bedeuten, dass zwei oder mehr Elemente in direktem physikalischen oder elektrischen Kontakt sind. „Gekoppelt” kann jedoch auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt zueinander sind, aber trotzdem miteinander zusammenarbeiten oder interagieren.
- Somit ist zu verstehen, dass, obgleich Ausführungsformen der Erfindung in einer Sprache spezifisch für strukturelle Merkmale und/oder methodologischen Vorgängen beschrieben wurden, der beanspruchte Gegenstand nicht auf die spezifischen Merkmale oder Vorgänge, die beschrieben wurden, beschränkt ist. Die spezifischen Merkmale oder Vorgänge sind vielmehr in Form von Beispielen einer Implementierung des beanspruchten Gegenstandes offenbart.
Claims (20)
- Vorrichtung zum Modifizieren von Systemroutinginformationen, die Folgendes umfasst: eine Speichereinheit zum Speichern einer ersten Tabelle, die Routingwegen zwischen mehreren Komponenten, die über einen oder mehrere Kommunikationslinks gekoppelt sind, vor einem Hot-Plug-Ereignis entspricht, und einer zweiten Tabelle, die Routingwegen zwischen den mehreren Komponenten nach dem Hot-Plug-Ereignis entspricht; und eine Logik zum Vergleichen der Einträge in der ersten Tabelle und der zweiten Tabelle, um zu ermitteln, welche korrespondierenden Routing-Table-Array(RTA)-Register in Reaktion auf das Hot-Plug-Ereignis zu modifizieren sind, wobei jedes der mehreren RTA-Register dazu dient, Routingdaten zu speichern, die mit jeweils einer der mehreren Komponenten verknüpft sind, um Paketroutinginformation den mehreren Komponenten anzuzeigen.
- Vorrichtung nach Anspruch 1, wobei die Logik dazu dient, Modifikationen von Daten, die in den ermittelten RTA-Registern gespeichert sind, entsprechend der Einträge in der zweiten Tabelle zu bewirken.
- Vorrichtung nach Anspruch 2, wobei Einträge der zweiten Tabelle, die zum Modifizieren der bestimmen RTA-Register gelesen werden, Daten speichern, die sich von den Daten, die in den entsprechenden Einträgen der ersten Tabelle gespeichert sind, unterscheiden.
- Vorrichtung nach Anspruch 1, die weiterhin einen Prozessor umfasst, der die Logik umfasst.
- Vorrichtung nach Anspruch 4, wobei der Prozessor einen oder mehrere Prozessorkerne umfasst.
- Vorrichtung nach Anspruch 1, wobei sich eine oder mehrere der mehreren Komponenten, die Speichereinheit oder die Logik auf einem gleichen Halbleiterbauteil mit integrierter Schaltung befinden.
- Vorrichtung nach Anspruch 1, wobei die mehreren Komponenten einen oder mehrere Prozessoren, ein oder mehrere Schnittstellengeräte und/oder eine oder mehrere Speichereinrichtungen umfassen.
- Vorrichtung nach Anspruch 1, wobei der eine oder die mehreren Kommunikationslinks einen oder mehrere Punkt-zu-Punkt-Links umfassen.
- Vorrichtung nach Anspruch 1, wobei das Hot-Plug-Ereignis einem Hinzufügen einer Komponente, einem Entfernen einer Komponente und/oder einem Modifizieren einer Komponente eines linkbasierenden Computersystems entspricht.
- Vorrichtung nach Anspruch 1, wobei die Speichereinheit eine erste Speichereinrichtung zum Speichern der ersten Tabelle und eine zweite Speichereinrichtung zum Speichern der zweiten Tabelle umfasst.
- Verfahren zum Modifizieren von Systemroutinginformationen, das Folgendes umfasst: Bestimmen von Routingwegen zwischen mehreren Komponenten in einem linkbasierten Computersystem in Reaktion auf ein Auftreten eines Hot-Plug-Ereignisses; Speichern von Daten, die den Routingwegen zwischen den mehreren Komponenten nach dem Auftreten des Hot-Plug-Events entsprechen, in einer ersten Tabelle; Vergleichen der ersten Tabelle mit einer zweiten Tabelle, die Daten speichert, die Routingwegen zwischen den mehreren Komponenten vor dem Auftreten des Hot-Plug-Ereignisses entsprechen; und Aktualisieren einer oder mehreren Routing-Table-Array(RTA)-Register basierend auf Ergebnissen des Vergleichs, wobei jedes der mehreren RTA-Register dazu dient, Routingdaten zu speichern, die mit jeweils einer der mehreren Komponenten verknüpft sind, um Paketroutinginformation den mehreren Komponenten anzuzeigen.
- Verfahren nach Anspruch 11, das weiterhin ein Detektieren eines Auftretens eines Hot-Plug-Ereignisses umfasst.
- Verfahren nach Anspruch 11, wobei das Aktualisieren der einen oder mehreren RTA-Register auf Eintragen der ersten Tabelle beruht.
- Verfahren nach Anspruch 11, das ferner ein Ersetzen von Daten, die in der zweiten Tabelle gespeichert sind, durch Daten, die in der ersten Tabelle gespeichert sind, umfasst.
- Verfahren nach Anspruch 11, wobei das Hot-Plug-Ereignis einem Hinzufügen einer Komponente, einem Entfernen einer Komponente und/oder einem Modifizieren einer Komponente eines linkbasierenden Computersystems entspricht.
- System zum Modifizieren von Systemroutinginformationen, das Folgendes umfasst: mehrere Punkt-zu-Punkt-Links, um mehrere Komponenten zu koppeln; mehrere Routing-Table-Array(RTA)-Register, wobei jedes der mehreren RTA-Register dazu dient, Routingdaten zu speichern, die mit jeweils einer der mehreren Komponenten verknüpft sind, um Paketroutinginformationen den mehreren Komponenten anzuzeigen; eine Speichereinheit zum Speichern einer ersten Tabelle, die Routingwegen zwischen den mehreren Komponenten vor einem Hot-Plug-Ereignis entspricht, und einer zweiten Tabelle, die Routingwegen zwischen den mehreren Komponenten nach dem Hot-Plug-Ereignis entspricht; und einen Prozessor zum Berechnen von Daten, die in der zweiten Tabelle gespeichert werden, in Reaktion auf ein Auftreten des Hot-Plug-Ereignisses, und zum Vergleichen der Einträge in der ersten Tabelle und der zweiten Tabelle, um zu ermitteln, welche korrespondierenden RTA-Register in Reaktion auf das Hot-Plug-Ereignis zu modifizieren sind.
- System nach Anspruch 16, wobei der Prozessor eine Modifikation von Daten, die in den ermittelten RTA-Registern gespeichert sind, gemäß den Einträgen der zweiten Tabelle veranlasst.
- System nach Anspruch 16, wobei der Prozessor einen oder mehrere Prozessorkerne umfasst.
- System nach Anspruch 16, wobei sich eine oder mehrere der mehreren Komponenten, die Speichereinheit oder der Prozessor auf dem gleichen Halbleiterbauteil mit integrierter Schaltung befinden.
- System nach Anspruch 16, wobei die mehreren Komponenten einen oder mehrere Prozessoren, ein oder mehrere Schnittstellengeräte oder eine oder mehrere Speichereinrichtungen umfasst.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2007/003367 WO2009070912A1 (en) | 2007-11-29 | 2007-11-29 | Modifying system routing information in link based systems |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112007003722T5 DE112007003722T5 (de) | 2011-01-13 |
DE112007003722B4 true DE112007003722B4 (de) | 2017-05-24 |
Family
ID=40717245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112007003722.9T Expired - Fee Related DE112007003722B4 (de) | 2007-11-29 | 2007-11-29 | Modifizieren von Systemroutinginformationen in linkbasierenden Systemen |
Country Status (6)
Country | Link |
---|---|
US (1) | US9210068B2 (de) |
JP (1) | JP5307151B2 (de) |
CN (1) | CN101878620A (de) |
DE (1) | DE112007003722B4 (de) |
GB (1) | GB2467705B (de) |
WO (1) | WO2009070912A1 (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101878620A (zh) | 2007-11-29 | 2010-11-03 | 英特尔公司 | 在基于链路的系统中修改系统路由信息 |
JP5326689B2 (ja) * | 2009-03-11 | 2013-10-30 | 日本電気株式会社 | バス接続用アダプタ |
CN104811473B (zh) * | 2015-03-18 | 2018-03-02 | 华为技术有限公司 | 一种创建虚拟非易失性存储介质的方法、系统及管理系统 |
US10749808B1 (en) | 2015-06-10 | 2020-08-18 | Amazon Technologies, Inc. | Network flow management for isolated virtual networks |
CN105700975B (zh) * | 2016-01-08 | 2019-05-24 | 华为技术有限公司 | 一种中央处理器cpu热移除、热添加方法及装置 |
US11108687B1 (en) | 2018-09-12 | 2021-08-31 | Amazon Technologies, Inc. | Scalable network function virtualization service |
US10897417B2 (en) | 2018-09-19 | 2021-01-19 | Amazon Technologies, Inc. | Automated route propagation among networks attached to scalable virtual traffic hubs |
US10834044B2 (en) | 2018-09-19 | 2020-11-10 | Amazon Technologies, Inc. | Domain name system operations implemented using scalable virtual traffic hub |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030231633A1 (en) * | 1999-01-18 | 2003-12-18 | Nec Corporation | Router apparatus |
US20070118628A1 (en) * | 2005-11-21 | 2007-05-24 | Kumar Mohan J | Live network configuration within a link based computing system |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2856050B2 (ja) * | 1993-11-30 | 1999-02-10 | 日本電気株式会社 | ルーティング制御方法 |
US5784576A (en) * | 1996-10-31 | 1998-07-21 | International Business Machines Corp. | Method and apparatus for adding and removing components of a data processing system without powering down |
US6009488A (en) | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
US6487623B1 (en) * | 1999-04-30 | 2002-11-26 | Compaq Information Technologies Group, L.P. | Replacement, upgrade and/or addition of hot-pluggable components in a computer system |
JP3895888B2 (ja) * | 1999-06-29 | 2007-03-22 | 株式会社日立製作所 | パケット通信方法およびノード装置 |
US6665297B1 (en) * | 1999-12-09 | 2003-12-16 | Mayan Networks Corporation | Network routing table |
US6647446B1 (en) * | 2000-03-18 | 2003-11-11 | Sony Corporation | Method and system for using a new bus identifier resulting from a bus topology change |
US7123620B1 (en) * | 2000-04-25 | 2006-10-17 | Cisco Technology, Inc. | Apparatus and method for scalable and dynamic traffic engineering in a data communication network |
US6956858B2 (en) * | 2000-06-30 | 2005-10-18 | Mayan Networks Corporation | Network routing table and packet routing method |
US7493438B2 (en) | 2001-10-03 | 2009-02-17 | Intel Corporation | Apparatus and method for enumeration of processors during hot-plug of a compute node |
US7673090B2 (en) * | 2001-12-19 | 2010-03-02 | Intel Corporation | Hot plug interface control method and apparatus |
JP3997844B2 (ja) * | 2002-06-12 | 2007-10-24 | 日本電気株式会社 | 経路計算方法、経路計算プログラム及び経路計算装置 |
US7415627B1 (en) * | 2003-03-17 | 2008-08-19 | Network Equipment Technologies, Inc. | Partitioning and categorizing data in a split-plane architecture for fast recovery from data plane failures and fast restarts |
US7200694B2 (en) * | 2003-05-30 | 2007-04-03 | American Megatrends, Inc. | Servicing multiple hot-plug events utilizing a common event signal in providing hot-plug attention button support |
JP4319486B2 (ja) | 2003-07-23 | 2009-08-26 | サンネット株式会社 | 通信ネットワークシステム |
US20050157479A1 (en) * | 2004-01-16 | 2005-07-21 | Hayden Douglas T. | Bus device insertion and removal system |
US20050289101A1 (en) | 2004-06-25 | 2005-12-29 | Doddaballapur Jayasimha | Methods and systems for dynamic partition management of shared-interconnect partitions |
GB0416272D0 (en) * | 2004-07-20 | 2004-08-25 | British Telecomm | Method of operating a network |
US7321947B2 (en) * | 2005-03-10 | 2008-01-22 | Dell Products L.P. | Systems and methods for managing multiple hot plug operations |
US8130759B2 (en) * | 2005-07-29 | 2012-03-06 | Opnet Technologies, Inc. | Routing validation |
US7447822B2 (en) * | 2005-12-12 | 2008-11-04 | Inventec Corporation | Hot-plug control system and method |
US7613120B2 (en) * | 2005-12-30 | 2009-11-03 | Intel Corporation | Dynamic wide area network packet routing |
US7860106B2 (en) * | 2006-02-13 | 2010-12-28 | Wind River Systems, Inc. | System and method for routing table computation and analysis |
JP4930762B2 (ja) * | 2006-05-24 | 2012-05-16 | 日本電気株式会社 | 情報処理装置、および、装置間接続方法 |
CN100466623C (zh) | 2006-07-25 | 2009-03-04 | 华为技术有限公司 | 一种基于ospf的路由信息更新方法和网络设备 |
CN100394742C (zh) | 2006-08-17 | 2008-06-11 | 北京邮电大学 | 开放最短路径优先路由协议的监测与分析系统及工作方法 |
US7756017B2 (en) * | 2006-09-08 | 2010-07-13 | The Uwm Research Foundation, Inc. | System and method for scheduling routing table calculation in link state routing protocols |
KR100778340B1 (ko) * | 2006-12-07 | 2007-11-22 | 한국전자통신연구원 | 라우터 시스템에서의 소프트웨어 업그레이드에 따른 포워딩정보 테이블 관리 장치 및 그 방법 |
US7836238B2 (en) * | 2006-12-19 | 2010-11-16 | International Business Machines Corporation | Hot-plug/remove of a new component in a running PCIe fabric |
US20080259951A1 (en) * | 2007-04-23 | 2008-10-23 | Omar Cardona | Method and apparatus for unplanned and uninterrupted network adapter replacement |
EP2201729A1 (de) | 2007-10-16 | 2010-06-30 | Telefonaktiebolaget LM Ericsson (PUBL) | Funktelekommunikations-netzknoten und verfahren zum justieren des routing-tabellenaktualisierungsintervalls |
CN101878620A (zh) | 2007-11-29 | 2010-11-03 | 英特尔公司 | 在基于链路的系统中修改系统路由信息 |
US20090144476A1 (en) * | 2007-12-04 | 2009-06-04 | Xiaohua Cai | Hot plug in a link based system |
US8069228B2 (en) * | 2009-05-08 | 2011-11-29 | Hewlett-Packard Development Company, L.P. | Preventing access of a network facility in response to an operation |
-
2007
- 2007-11-29 CN CN2007801017686A patent/CN101878620A/zh active Pending
- 2007-11-29 US US12/745,254 patent/US9210068B2/en not_active Expired - Fee Related
- 2007-11-29 JP JP2010533409A patent/JP5307151B2/ja not_active Expired - Fee Related
- 2007-11-29 GB GB1009707.9A patent/GB2467705B/en active Active
- 2007-11-29 WO PCT/CN2007/003367 patent/WO2009070912A1/en active Application Filing
- 2007-11-29 DE DE112007003722.9T patent/DE112007003722B4/de not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030231633A1 (en) * | 1999-01-18 | 2003-12-18 | Nec Corporation | Router apparatus |
US20070118628A1 (en) * | 2005-11-21 | 2007-05-24 | Kumar Mohan J | Live network configuration within a link based computing system |
Also Published As
Publication number | Publication date |
---|---|
US20120151107A1 (en) | 2012-06-14 |
JP2011503731A (ja) | 2011-01-27 |
WO2009070912A1 (en) | 2009-06-11 |
JP5307151B2 (ja) | 2013-10-02 |
CN101878620A (zh) | 2010-11-03 |
GB2467705B (en) | 2012-02-15 |
US9210068B2 (en) | 2015-12-08 |
GB2467705A (en) | 2010-08-11 |
DE112007003722T5 (de) | 2011-01-13 |
GB201009707D0 (en) | 2010-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112007003722B4 (de) | Modifizieren von Systemroutinginformationen in linkbasierenden Systemen | |
DE102009022152B4 (de) | Verwenden von Kritikaliätsinformationen zum Routen von Cache-Kohärenz-Kommmunikationen | |
DE102021121062A1 (de) | System, vorrichtung und verfahren zur dynamischen bereitstellung kohärenter speicherdomänen | |
DE102018006546A1 (de) | Plattformschnittstellenschicht und protokoll für beschleuniger | |
DE112012005210B4 (de) | Bereitstellen eines gemeinsamen Caching-Agenten für ein Kern- und integriertes Ein-/Ausgabe-(IO)-Modul | |
DE112020006859T5 (de) | Beibehaltung von speicher-namensraum-identifizierern für die migration von virtualisierten ausführungsumgebungen im laufenden betrieb | |
DE102009061252B3 (de) | Vorrichtung, Verfahren und System zur Verarbeitung einer Transaktion auf einem PCI-Bus mittels eines Root-Komplexes | |
DE102018006797A1 (de) | Kohärente Speichereinrichtungen über PCIe | |
DE112008002019T5 (de) | Auslagern von Eingabe/Ausgabe (I/O)-Virtualisierungsarbeitsgängen an einem Prozessor | |
DE112010001467B4 (de) | Steuerung von Blöcken einer On-Die-System-Struktur | |
DE102013205886A1 (de) | Dynamische Bankmodus-Adressierung für Speicherzugriff | |
DE112013005090T5 (de) | Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit | |
DE102013209643B4 (de) | Mechanismus für optimierte Nachrichtenaustauschdatenübertragung zwischen Nodelets innerhalb eines Plättchens | |
DE112008002416T5 (de) | Gemeinsame Nutzung von Legacy-Geräten in einer Multithost-Umgebung | |
DE102019108798A1 (de) | Hochbandige verbindungsschicht für kohärente nachrichten | |
DE112016006065T5 (de) | Spekulative nummerierung von adressräumen für bus-einrichtungsfunktionen | |
DE102019109119A1 (de) | Host-verwalteter kohärenter gerätespeicher | |
DE202010018020U1 (de) | Opportunistische Verbesserung einer MMIO-Anfrageabwicklung aufgrund eines Zielberichts von Raumerfordernissen | |
DE112007000688B4 (de) | Fehlerverwaltungstopologien | |
DE102018213428A1 (de) | Techniken zum Reduzieren von Beschleuniger-Speicherzugriffskosten in Plattformen mit mehreren Speicherkanälen | |
DE112007001135T5 (de) | Gemeinschaftliche Nutzung von Daten durch Partitionen in einem partitionierbaren System | |
DE102022205478A1 (de) | Busübergreifende speicherabbildung | |
DE112015006516T5 (de) | BUS-Einrichtung-Funktion-Adressraumabbildung | |
DE112008001957T5 (de) | Systeme und Verfahren zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks | |
DE112017004907T5 (de) | System, Vorrichtung und Verfahren zur Durchführung einer verteilten Arbitration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012560000 Ipc: H04L0012741000 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012560000 Ipc: H04L0012741000 Effective date: 20121120 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012741000 Ipc: H04L0012751000 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012741000 Ipc: H04L0012751000 Effective date: 20140520 |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |