DE112007003722B4 - Modifizieren von Systemroutinginformationen in linkbasierenden Systemen - Google Patents

Modifizieren von Systemroutinginformationen in linkbasierenden Systemen Download PDF

Info

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
Application number
DE112007003722.9T
Other languages
English (en)
Other versions
DE112007003722T5 (de
Inventor
Xiaohua Cai
Yufu Li
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112007003722T5 publication Critical patent/DE112007003722T5/de
Application granted granted Critical
Publication of DE112007003722B4 publication Critical patent/DE112007003722B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology 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

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.

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 ist bereits eine Vorrichtung zum Modifizieren von Systemroutinginformationen angesichts einer Kommunikationsstörung bekannt, wobei die Vorrichtung mehrere Komponenten, die über einen oder mehrere Kommunikationslinks gekoppelt sind, und eine Speichereinrichtung zum Speichern einer ersten Tabelle, die Routingwegen zwischen den mehreren Komponenten vor einem Verbindungsänderungs-Ereignis entspricht, und einer zweiten Tabelle, die Routingwegen zwischen den mehreren Komponenten nach einer Kommunikationsstörung entspricht, umfasst.
  • Aus der US 2007/0118628 A1 ist ein „Hot-Plug” im gerouteten Netzwerkeinsatz bekannt. Der in der vorgenannten Druckschrift beanspruchten Erfindung liegt das Problem zugrunde, dass bei einem „Hot-Plug” die Pakete niemals das gewünschte Ziel erreichen, was wiederum zu einer Beschädigung und/oder zu einem Ausfall von einem oder mehreren der Arbeitsprozesse eines Computersystems führen kann.
  • 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 und 5 bis 8 zeigen Blockdiagramme von Ausführungsformen von Computersystemen, die zum Implementieren der verschiedenen Ausführungsformen, die hierin diskutiert werden, benutzt werden können.
  • 3 bis 4 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 die 1 bis 8 diskutiert werden.
  • Insbesondere stellt die 1 ein Blockdiagramm eines Computersystems 100 gemäß einer Ausführungsform der Erfindung dar. Das System 100 kann einen oder mehrere Agenten 102-1 bis 102-M (zusammen hierin als „Agenten 102” oder noch allgemeiner als „Agent 102” bezeichnet) aufweisen. In einer Ausführungsform können die Agenten 102 Komponenten eines Computersystems sein, wie die Computersysteme, die im Zusammenhang mit den 2 bis 8 diskutiert werden.
  • Wie in 1 dargestellt ist, können die Agenten 102 über ein Netzwerk 104 kommunizieren. In einer Ausführungsform kann das Netzwerk 104 ein Computernetzwerk umfassen, welches verschiedenen Agenten (wie z. B. Rechnervorrichtungen) ermöglicht, Daten zu kommunizieren. In einer Ausführungsform kann das Netzwerk 104 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 Netzwerk 104 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 Netzwerk 104 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 Agenten 102 Daten über das Netzwerk 104 ü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 Agent 102-M) Daten übertragen (z. B. über einen unidirektionalen Link 106), ein oder mehrere andere Agenten (wie der Agent 102-2) können Daten empfangen (z. B. über einen unidirektionalen Link 108), während ein oder mehrere Agenten (wie der Agent 102-1) sowohl Daten übertragen als auch empfangen können (z. B. über einen bidirektionalen Link 110).
  • 2 zeigt ein Blockdiagramm eines Punkt-zu-Punkt(PtP)-Computersystems 200 gemäß einer Ausführungsform der Erfindung. Die 2 zeigt ein Beispiel eines CSI linkbasierenden Systems mit vier Prozessoren oder zentralen Rechnereinheiten (CPUs) (CPU0 bis CPU3) und zwei Schnittstellengeräten 202 und 204, 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 in 2 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äte 202 bis 204 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 mit 7 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 und 4 zeigen Ablaufdiagramme der Verfahren 300 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 die 1, 2 und 5 bis 8, um ein oder mehrere Abläufe, die hierin mit Bezug auf die 3 oder 4 diskutiert werden, durchzuführen.
  • Bezug nehmend auf die 1 bis 3 kann in einem Vorgang 302 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.
    Figure DE112007003722B4_0002
    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 Vorgang 304 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.
    Figure DE112007003722B4_0003
    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 Vorgang 306 dementsprechend die neuen Werte für die gefilterten RTA-Register. Bei einem Vorgang 308 kann die Routing-Information aufgrund der berechneten Werte des Vorgangs 306 aktualisiert werden (beispielsweise werden nur die gefilterten RTA-Register des Vorgangs 304 aktualisiert).
  • 4 stellt ein Ablaufdiagramm eines Verfahrens 400 dar, welches benutzt werden kann, um den Vorgang 304 der 3 gemäß einer Ausführungsform durchzuführen. Bei einem Vorgang 402 kann eine neue Routing-Data-Table für die neue Topologie berechnet werden. In einer Ausführungsform kann der Vorgang 402 für benachbarte Komponenten der zu entfernenden, hinzuzufügenden und/oder zu modifizierenden Komponente durchgeführt werden. Bei einem Vorgang 404 kann die neue Tabelle mit der aktuellen Tabelle, wie im Zusammenhang mit der 3 diskutiert, verglichen werden. Aufgrund des Vergleichs im Vorgang 404 können die Register (z. B. RTA-Register), die zu modifizieren (oder zu filtern) sind, in einem Vorgang 406 bestimmt werden. Bei einem Vorgang 408 kann die aktuelle Routingtabelle mit Daten aus der neuen Routingtabelle, die im Vorgang 402 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 System 500 mit 12 Prozessoren gezeigt, wobei die CPU7 (welche sich in der Mitte des Systems befindet), hinzugefügt werden soll. Nachfolgende Tabelle 3 entspricht dem System 500. 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.
  • Figure DE112007003722B4_0004
  • Figure DE112007003722B4_0005
    Tabelle 3 – Beispiel einer hinzuzufügenden CPU7
  • Weiterhin soll in dem System 600 der 6 eine Eck-CPU (CPU4) entfernt werden. Die nachfolgende Tabelle 4 entspricht dem System 600. 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.
    Figure DE112007003722B4_0006
    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 Computersystems 700 dar. Eine oder mehrere der Komponenten der 1 und/oder 2 können eine oder mehrere Komponenten umfassen, die mit Bezug auf das Computersystem 700 diskutiert werden. Das Computersystem 700 kann eine oder mehrere zentrale Rechnereinheiten (CPUs) 702 (die hierin gemeinsam als „Prozessoren 702” oder allgemeiner als „Prozessor 702” 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 Computernetzwerk 104 kommuniziert werden) etc. (einschließlich einem Computerprozessor mit reduziertem Instruktionssatz (RISC) oder einem Computer mit komplexem Instruktionssatz (CISC)). Ferner können die Prozessoren 702 eine Einzelkern- oder Mehrkern-Bauform aufweisen. Die Prozessoren 702 mit einer Mehrkernbauform können verschiedene Type von Prozessorkernen auf dem gleichen integrierten Schaltkreis(IC)-Chip aufweisen. Außerdem können die Prozessoren 702 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 Systems 700 verwendet werden.
  • Ein Chipsatz 706 kann zusätzlich mit dem Verbindungsnetzwerk 704 gekoppelt sein. Ferner kann der Chipsatz 706 einen Memorycontrolhub (MCH) 708 aufweisen. Der MCH 708 kann einen Speichercontroller 710 aufweisen, der mit einem Speicher 712 gekoppelt ist. In einer Ausführungsform kann der MCH auch eine Grafiklogik aufweisen und demzufolge als ein grafischer MCH (GMCH) bezeichnet werden. Der Speicher 712 kann Daten speichern, die z. B. Sequenzen von Anweisungen umfassen, die von dem Prozessor 702 ausgeführt werden oder von beliebigen anderen Geräten, die mit Komponenten des Computersystems 700 in Verbindung stehen. In einer Ausführungsform kann der Speicher 712 gleich oder ähnlich zu den Speichersubsystemen, die in 2 gezeigt sind, sein. Außerdem kann in einer Ausführungsform der Erfindung der Speicher 712 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 Verbindungsnetzwerk 704 gekoppelt sein, wie mehrere Prozessoren und/oder mehrere Systemspeicher.
  • Der MCH 708 kann ferner eine Grafikschnittstelle 714 aufweisen, die mit einer Anzeigevorrichtung 716 gekoppelt ist (z. B. über einen grafischen Beschleuniger in einer Ausführungsform). In einer Ausführungsform kann die Grafikschnittstelle 714 mit der Anzeigevorrichtung 716 über einen beschleunigten Grafikport (AGP) gekoppelt sein. In einer Ausführungsform der Erfindung kann die Anzeigevorrichtung 716 (wie ein Fachbildschirm) mit der Grafikschnittstelle 714 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. Speicher 712), in Anzeigesignale umwandelt, die von der Anzeige 716 ausgewertet und angezeigt werden.
  • Wie in der 7 gezeigt, kann die Hub-Schnittstelle 718 mit dem MCH 708 an einen Eingabe/Ausgebe-Control-Hub (ICH) 720 gekoppelt sein. Der ICH 720 kann eine Schnittstelle zu Eingabe/Ausgabe(I/O)-Geräten bereitstellen, die mit dem Computersystem 700 gekoppelt sind. Die ICH 720 kann mit einem Bus 722 ü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ücke 724 kann einen Datenweg zwischen dem Prozessor 702 und Peripheriegeräten bereitstellen. Andere Arten von Topologien können benutzt werden. Außerdem können mehrere Busse mit dem ICH 720 gekoppelt sein, z. B. durch mehrere Brücken oder Controller. Beispielsweise kann der Bus 722 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 Bus 722 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 Bus 722 andere Arten und Konfigurationen von Bussystemen umfassen. Darüber hinaus können andere Peripheriegeräte, die mit dem ICH 720 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ät 726, einem oder mehreren Disk-Treibern 728 und einem Netzwerkadapter 730 (welcher ein NIC in einer Ausführungsform sein kann) gekoppelt sein. In einer Ausführungsform kann der Netzwerkadapter 730 oder andere Geräte, die mit dem Bus 722 gekoppelt sind, mit dem Chipsatz 706 in Verbindung stehen. Andere Geräte können mit dem Bus 722 gekoppelt sein. Außerdem können verschiedene Komponenten (wie der Netzwerkadapter 730) mit dem MCH 708 in einigen Ausführungsformen der Erfindung gekoppelt sein. Zusätzlich können der Prozessor 702 und der MCH 708 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 Computersystem 800, das in einer Punkt-zu-Punkt-(PtP)-Konfiguration gemäß einer Ausführungsform der Erfindung eingerichtet ist. Insbesondere zeigt die 8 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 die 1 bis 7 diskutierten Vorgänge können von einer oder mehreren Komponenten des Systems 800 durchgeführt werden.
  • Wie in der 8 dargestellt ist, kann das System 800 mehrere Prozessoren aufweisen, von denen zur Klarheit nur zwei Prozessoren 802 und 804 gezeigt sind. Die Prozessoren 802 und 804 können jeweils einen lokalen Memory-Control-Hub (MCH) 806 und 808 aufweisen, um eine Kommunikation mit Speichern 810 und 812 zu ermöglichen. Die Speicher 810 und/oder 812 können verschiedene Daten speichern, wie z. B. jene, die im Zusammenhang mit dem Speicher 712 der 7 diskutiert wurden. Wie in der 8 gezeigt ist, können die Prozessoren 802 und 804 außerdem einen oder mehrere Caches aufweisen, die im Zusammenhang mit der 7 diskutiert wurden.
  • In einer Ausführungsform können die Prozessoren 802 und 804 einer der Prozessoren 702 sein, die im Zusammenhang mit 7 diskutiert wurden. Die Prozessoren 802 und 804 können Daten über eine Punkt-zu-Punkt-(PtP)-Schnittstelle 814 unter Verwendung PtP-Schnittstellenschaltungen 816 bzw. 818 austauschen. Außerdem können die Prozessoren 802 und 804 jeweils Daten mit einem Chipsatz 820 über individuelle PtP-Schnittstellen 822 und 824 unter Verwendung von Punkt-zu-Punkt-Schnittstellenschaltungen 826, 828, 830 und 832 austauschen. Der Chipsatz 820 kann ferner Daten mit einer Hochleistungsgrafikschaltung 834 über eine Hochleistungsgrafikschnittstelle 836 austauschen, z. B. unter Verwendung einer PtP-Schnittstellenschaltung 837.
  • In wenigstens einer Ausführungsform können ein oder mehrere Vorgänge, die im Zusammenhang mit den 1 bis 7 diskutiert wurden, durch die Prozessoren 802 oder 804 und/oder andere Komponenten des Systems 800, wie jene, die über einen Bus 840 kommunizieren, ausgeführt werden. Andere Ausführungsformen der Erfindung können jedoch in anderen Schaltungen, logischen Einheiten oder Vorrichtungen innerhalb des Systems 800 der 8 existieren. Ferner können andere Ausführungsformen der Erfindung über verschiedene Schaltungen, logische Einheiten oder Vorrichtungen, die in 8 dargestellt sind, verteilt sein.
  • Ein Chipsatz 820 kann mit dem Bus 840 unter Verwendung einer PtP-Schnittstellenschaltung 841 kommunizieren. Der Bus 840 kann ein oder mehrere Geräte aufweisen, die mit ihm kommunizieren, sowie eine Busbrücke 842 und I/O-Geräte 843. Die Busbrücke 842 kann über einen Bus 844 mit anderen Geräten kommunizieren, wie z. B. einer Tastatur/Maus 845, Kommunikationsgeräte 846 (wie z. B. Modems, Netzwerkschnittstellengeräte oder andere Kommunikationsgeräte, die mit dem Computernetzwerk 104 kommunizieren), ein Audio-I/O-Gerät und/oder eine Datenspeichereinrichtung 848. Die Datenspeichereinrichtung 848 kann Code speichern, der auf den Prozessoren 802 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 bis 8, 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)

  1. 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.
  2. 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.
  3. 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.
  4. Vorrichtung nach Anspruch 1, die weiterhin einen Prozessor umfasst, der die Logik umfasst.
  5. Vorrichtung nach Anspruch 4, wobei der Prozessor einen oder mehrere Prozessorkerne umfasst.
  6. 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.
  7. Vorrichtung nach Anspruch 1, wobei die mehreren Komponenten einen oder mehrere Prozessoren, ein oder mehrere Schnittstellengeräte und/oder eine oder mehrere Speichereinrichtungen umfassen.
  8. Vorrichtung nach Anspruch 1, wobei der eine oder die mehreren Kommunikationslinks einen oder mehrere Punkt-zu-Punkt-Links umfassen.
  9. 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.
  10. 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.
  11. 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.
  12. Verfahren nach Anspruch 11, das weiterhin ein Detektieren eines Auftretens eines Hot-Plug-Ereignisses umfasst.
  13. Verfahren nach Anspruch 11, wobei das Aktualisieren der einen oder mehreren RTA-Register auf Eintragen der ersten Tabelle beruht.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. System nach Anspruch 16, wobei der Prozessor einen oder mehrere Prozessorkerne umfasst.
  19. 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.
  20. System nach Anspruch 16, wobei die mehreren Komponenten einen oder mehrere Prozessoren, ein oder mehrere Schnittstellengeräte oder eine oder mehrere Speichereinrichtungen umfasst.
DE112007003722.9T 2007-11-29 2007-11-29 Modifizieren von Systemroutinginformationen in linkbasierenden Systemen Expired - Fee Related DE112007003722B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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