DE10297314T5 - Vorrichtung und Verfahren zur Aufzählung von Prozessoren während des heissen Steckens eines Rechenknotens - Google Patents

Vorrichtung und Verfahren zur Aufzählung von Prozessoren während des heissen Steckens eines Rechenknotens Download PDF

Info

Publication number
DE10297314T5
DE10297314T5 DE10297314T DE10297314T DE10297314T5 DE 10297314 T5 DE10297314 T5 DE 10297314T5 DE 10297314 T DE10297314 T DE 10297314T DE 10297314 T DE10297314 T DE 10297314T DE 10297314 T5 DE10297314 T5 DE 10297314T5
Authority
DE
Germany
Prior art keywords
processor
node
processors
detected
hot
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.)
Ceased
Application number
DE10297314T
Other languages
English (en)
Inventor
Linda Portland Rankin
Mohan Aloha Kumar
Shivnandan Portland Kaushik
James Banks Crossland
David Costa Mesa O'Shea
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 DE10297314T5 publication Critical patent/DE10297314T5/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

Verfahren mit folgenden Schritten:
Aufzählen, als Reaktion auf ein Hot-Plug-Rücksetzen, eines oder mehrerer Prozessoren für ein Systemarchitektur-Betriebssystem, in dem ein Rechenknoten heiß gesteckt wird; und
Starten des einen oder der mehreren Prozessoren des Rechenknotens als Reaktion auf eine Betriebssystem-Aktivierungsanforderung.

Description

  • ERFINDUNGSGEBIET
  • Die Erfindung betrifft im allgemeinen das Gebiet des heißen Steckens von Vorrichtungen. Insbesondere betrifft die Erfindung ein Verfahren und eine Vorrichtung zur Aufzählung von Prozessoren während des heißen Steckens eines Rechenknotens.
  • STAND DER TECHNIK
  • Die Entwicklung von Server-Chipsätzen und Server-Produkten, die für Serversysteme der Unternehmensklasse der oberen Preislage bestimmt sind, erfordert sorgfältige Berücksichtigung von sowohl Erfordernissen der Zuverlässigkeit, Verfügbarkeit und Funktionstüchtigkeit (RAS – reliability, availability and serviceability) als auch Merkmalen. Solche Produkte können zur Verwendung als Back-end-Server (wie beispielsweise in einem Datenzentrum) bestimmt sein, wo RAS-Merkmale und -Erfordernisse so bedeutsam wie Systemleistung sind. Die Fähigkeit, Module in einem Computersystem auszutauschen, ohne einen Computer ab- oder auszuschalten, ist vorteilhaft. Dieses "Austauschen" ist unter verschiedenen Bezeichnungen, wie beispielsweise heißer Anschluß, heißes Austauschen, heißes Zufügen, heißes Herausnehmen, Fähigkeit des heißen Steckens usw., bekannt.
  • Infolgedessen ist die Implementierung einer Fähigkeit des heißen Steckens (hot plug) in Systemen der Unternehmensserverklasse ein entscheidendes RAS-Merkmal. Die Fähigkeit des heißen Steckens ermöglicht Aufrüstungen und Reparatur von Knoten in einem System ohne Abschalten oder Neuladen des Systems. Die Fähigkeit des heißen Steckens von verschiedenen Teilen eines Computersystems, wie beispielsweise Prozessoren, Speicher, E/A-(Ein-Ausgabe-)Platinen, Modulen usw., ist infolgedessen nützlich zum Austauschen von fehlerhaften Teilen, Durchführen von Systemaktualisierungen und dergleichen.
  • Das heiße Stecken von CPU-Speicher bezieht sich auf die Fähigkeit, einen Prozessor/Speicherknoten hinzuzufügen/herauszunehmen/auszutauschen, während das Betriebssystem (OS – operating system) weiter auf der Plattform abläuft. Auf ähnliche Weise ist das heiße Stecken eines E/A-Knotens die Fähigkeit, einen aus mehreren PCI-Grundbrücken (peripheral component interconnect) und Bussegmenten bestehenden E/A-Knoten hinzuzufügen, herauszunehmen, auszutauschen, während das OS weiter abläuft. Der Fachmann wird erkennen, daß das heiße Stecken von CPU/Speicher, E/A-Knoten (heißes Stecken von E/A-Knoten im Unterschied zu heißem PCI-Stecken, dadurch, daß mehrere Grundbrücken heiß gesteckt werden) ein Merkmal ist, das nicht durch gegenwärtige Systemarchitekturen und Betriebssysteme unterstützt wird.
  • Bis jetzt ist das heiße Stecken von Vorrichtungen auf PCI-Vorrichtungen beschränkt gewesen. Die Möglichkeit, PCI-Vorrichtungen heiß zu stecken, wird durch die PCI-Busdefinition geboten. Demnach bietet die PCI-Busdefinition zwei Eigenschaften, die das heiße Stecken von PCI-Vorrichtungen ermöglichen. Die PCI-Busdefinition bietet einen Mechanismus zum Aufzählen von Vorrichtungen an einem PCI-Bus über PCI-Konfigurationsmechanismen. Darüber hinaus bietet die PCI-Busdefinition einen Mechanismus zum Aufzählen der von einer PCI-Vorrichtung benötigten Ressourcen über die PCI-Basisadreßregister (BAR) in dem PCI-Konfigurationsraum für die Vorrichtung.
  • Wie oben beschrieben, bezieht sich heißes Stecken auf die Fähigkeit einer Vorrichtung, zu einem Computer system hinzugefügt/aus ihm herausgenommen zu werden, während das System eingeschaltet ist, und ein Betriebssystem fährt, ohne daß die gegenwärtig auf dem System ablaufenden Aufgaben bedeutsam beeinflußt werden. Auf Grundlage der oben beschriebenen Eigenschaften der PCI-Busdefinition werden von einem Betriebssystem zwei Eigenschaften zum heißen Stecken einer Vorrichtung benötigt. Als erstes muß die Vorrichtung aufzählbar sein. Zweitens müssen die Vorrichtungsressourcen aufzählbar sein.
  • Anders gesagt, ist ein Softwaremechanismus erforderlich, der vom Betriebssystem dazu benutzt werden kann, zu erkennen, wenn die Vorrichtung heiß zugefügt wird, oder zu erkennen, wenn eine Vorrichtung herausgenommen wird. Weiterhin müssen die Ressourcen der Vorrichtung aufzählbar sein, ehe die Vorrichtung irgendeine der Ressourcen (Speicherraum, E/A, Konfigurations-ID) decodiert, über die das gegenwärtig ablaufende Betriebssystem Bescheid weiß. Gleicherweise kann die Vorrichtung zum heißen Stecken keine der Ressourcen benutzen, die das ablaufende System benutzt, bis das Betriebssystem weiß, welche Vorrichtung heiß gesteckt wird. Sobald ein heißes Stecken erkannt wird, ist Aufzählung der Ressourcen, die die heiß gesteckte Vorrichtung benutzen wird, erforderlich.
  • Leider wird das heiße Stecken von Prozessor/Speicher-Knoten nicht von gegenwärtigen Betriebssystemen unterstützt. Das beruht darauf, daß keine Mechanismen für die Aufzählung von Prozessor-Speicher/Knoten zur Verfügung stehen/definiert sind. Zusätzlich sind keine standardmäßigen Mechanismen zur Aufzählung der von Prozessor/Speicherknoten erforderten Ressourcen verfügbar. Da die oben beschriebenen Eigenschaften zum Ermöglichen des heißen Steckens einer Vorrichtung nicht von Prozessor/Speicherknoten bereitgestellt werden, würde die Implementierung eines Mechanismus zum Unterstützen des heißen Steckens von Prozessoren und Speicherknoten mög licherweise die Definition einer neuen Busschnittstelle zur Aufzählung von Prozessoren erfordern.
  • Es besteht daher weiterhin ein Erfordernis, eine oder mehrere der im oben beschriebenen bestehenden Begrenzungen zu überwinden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird beispielhafterweise und nicht begrenzend in den Figuren der beiliegenden Zeichnungen dargestellt. In den Zeichnungen zeigt:
  • 1 ein Blockdiagramm einer Netzcomputerumgebung nach dem Stand der Technik.
  • 2 ein Blockdiagramm eines herkömmlichen Computersystems.
  • 3 ein Blockdiagramm des heißen Steckens einer PCI-Vorrichtung nach dem Stand der Technik.
  • 4 ein Blockdiagramm eines Systems, bei dem die vorliegende Erfindung ausgeübt werden kann, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 5A und 5B weiterhin einen Rechenknoten nach der Darstellung in 4 gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
  • 6 ein Blockdiagramm einer weiteren Ausführungsform eines Systems, in dem die vorliegende Erfindung ausgeübt werden kann.
  • 7 ein Blockdiagramm einer Bushierarchie einer Systemkonfiguration gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
  • 8 ein Flußdiagramm eines Verfahrens zur Aufzählung von Prozessoren während des heißen Steckens eines Rechenknotens gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 9 ein Flußdiagramm eines zusätzlichen Verfahrens zur aufzählenden Erkennung eines oder mehrerer Prozessoren gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
  • 10 ein Flußdiagramm eines zusätzlichen Verfahrens zum Setzen einer Prozessor-ID eines erkannten Prozessors gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 11 ein Flußdiagramm eines zusätzlichen Verfahrens zum Einleiten eines Quittungsaustauschs mit einem ablaufenden Betriebssystem gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
  • 12 ein Flußdiagramm eines zusätzlichen Verfahrens zum Einleiten eines Quittungsaustauschs mit einem ablaufenden Betriebssystem gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung.
  • 13 ein Flußdiagramm eines zusätzlichen Verfahrens zum Erkennen von einem oder mehreren Prozessoren gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung.
  • 14 ein Flußdiagramm eines zusätzlichen Verfahrens zum Setzen einer Prozessor-ID eines erkannten Prozessors gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
  • 15 ein Flußdiagramm eines Verfahrens zur Aufzählung von Prozessorressourcen nach dem heißen Stecken eines Rechenknotens gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 16 ein Flußdiagramm eines zusätzlichen Verfahrens zum Erkennen einer Benachrichtigung des heißen Steckens gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
  • 17 ein Flußdiagramm eines zusätzlichen Verfahrens zur Aufzählung von Prozessorressourcen gemäß der weiteren Ausführungsform der vorliegenden Erfindung.
  • 18 ein Flußdiagramm eines zusätzlichen Verfahrens zum Erkennen von einem oder mehreren Prozessoren nach dem heißen Stecken eines Rechenknotens gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
  • 19 ein Flußdiagramm eines zusätzlichen Verfahrens zur Bestimmung einer Prozessor-ID von jedem von einem oder mehreren erkannten Prozessoren gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es werden ein Verfahren und eine Vorrichtung zur Aufzählung von Prozessoren während des heißen Steckens eines Rechenknotens beschrieben. Das Verfahren umfaßt die Aufzählung von einem oder mehreren Prozessoren als Reaktion auf eine Rücksetzung bei heißem Stecken (hot-plug reset). Die Aufzählung wird von dem Betriebssystem durchgeführt, das auf einem System abläuft, in dem ein Prozessor/Speicherknoten heiß gesteckt wird. Sobald die Aufzählung abgeschlossen ist, wird der Prozessor/Speicherknoten als Reaktion auf eine Betriebssystem-Aktivierungsanforderung gestartet. Dementsprechend werden, sobald die Vorrichtungsaufzählung, wie auch die Ressourcenaufzählung abgeschlossen sind, der eine oder die mehreren Prozessoren des Prozessor/Speicherknotens aktiviert, so daß das Betriebssystem beginnen kann, die Prozessoren des heiß gesteckten Prozessor/Speicherknotens zu benutzen.
  • In der nachfolgenden Beschreibung werden für Erläuterungszwecke zahlreiche bestimmte Einzelheiten aufgeführt, um ein gründliches Verständnis der vorliegenden Erfindung zu bieten. Es wird dem Fachmann jedoch offenbar sein, daß die vorliegende Erfindung ohne einige dieser spezifischen Einzelheiten ausgeübt werden kann. Zusätzlich bietet die nachfolgende Beschreibung Beispiele und die beiliegenden Zeichnungen zeigen für Erläuterungszwecke verschiedene Beispiele. Diese Beispiele sind jedoch nicht als begrenzend auszulegen, da sie nur Beispiele der vorliegenden Erfindung und nicht eine erschöpfende Liste aller möglichen Ausführungen der vorliegenden Erfindung bieten sollen. In anderen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform dargestellt, um zu vermeiden, daß die Einzelheiten der vorliegenden Erfindung verdeckt werden.
  • Teile der nachfolgenden ausführlichen Beschreibung können als Algorithmen und symbolische Darstellungen von Operationen an Datenbit dargestellt sein. Diese algorithmischen Beschreibungen und Darstellungen werden vom Fachmann der Technik der Datenverarbeitung dazu benutzt, die Substanz seiner Arbeit anderen Fachmännern in dieser Technik zu vermitteln. Ein Algorithmus, so wie er hier beschrieben ist, bezieht sich auf eine konsequente Folge von Handlungen, die zu einem gewünschten Ergebnis führen. Die Handlungen sind solche, die physikalische Manipulationen von physikalischen Größen erfordern. Diese Größen können die Form von elektrischen oder magnetischen Signalen annehmen, die gespeichert, übertragen, kombiniert, verglichen und sonstwie manipuliert werden können. Weiterhin werden diese Signale hauptsächlich aus Gründen des normalen Gebrauchs als Bit, Werte, Elemente, Symbole, Zeichen, Glieder, Nummern oder dergleichen bezeichnet.
  • Diese und ähnliche Begriffe sollen jedoch den entsprechenden physikalischen Größen zugeordnet werden und sind nur auf diese Größen angewandte zweckdienliche "Etikette". Wenn nicht besonders anders angegeben, wird man erkennen, daß Erörterungen, bei denen Begriffe wie "Verarbeitung" oder "Berechnung" oder "Rechnung" oder "Bestimmung" oder "Anzeige" oder dergleichen verwendet werden, die Funktion und Prozesse eines Computersystems oder einer ähnlichen elektronischen Rechenvorrichtung betreffen, die Daten manipuliert, die als physikalische (elektronische) Größen in den Vorrichtungen des Computersystems dargestellt sind, und in andere Daten umformt, die auf ähnliche Weise als physikalische Größen in den Vorrichtungen des Computersystems, wie beispielsweise Speichern, Registern oder anderen derartigen Informationsspeicherungs-, Übertragungs-, Anzeigevorrichtungen oder dergleichen dargestellt sind.
  • Die hier dargestellten Algorithmen und Anzeigen beziehen sich nicht inhärent auf irgendeinen bestimmten Computer oder sonstige Vorrichtung. Verschiedene Mehrzwecksysteme können mit Programmen gemäß der hiesigen Lehre benutzt werden, oder es kann sich als zweckdienlich erweisen, spezialisiertere Vorrichtungen zur Durchführung des erforderlichen Verfahrens zu konstruieren. Beispielsweise können beliebige Verfahren gemäß der vorliegenden Erfindung in festverdrahteten Schaltungen, durch Programmierung eines Mehrzweckprozessors oder durch eine beliebige Kombination von Hardware und Software implementiert werden.
  • Der Fachmann wird sofort erkennen, daß die Erfindung mit anderen Computersystemkonfigurationen als den unten beschriebenen, einschließlich von Handgeräten, Mehrprozessorsystemen, mikroprozessorbasierender oder programmierbarer Unterhaltungselektronik, DSP-Vorrichtungen (digital signal processing), Netz-PC, Minicomputern, Mainframes und dergleichen ausgeübt werden kann. Die Erfindung kann auch in verteilten Rechenumgebungen aus geübt werden, wo Aufgaben durch Fernverarbeitungsvorrichtungen durchgeführt werden, die über ein Kommunikationsnetz miteinander verknüpft sind. Die erforderliche Struktur für verschiedene dieser Systeme wird aus der untenstehenden Beschreibung offenbar werden.
  • Es versteht sich, daß vom Fachmann verschiedene Begriffe und Verfahren zur Beschreibung von Kommunikationen, Protokollen, Anwendungen, Implementierungen, Mechanismen usw. benutzt werden. Ein derartiges Verfahren ist die Beschreibung einer Implementierung eines Verfahrens als ein Algorithmus oder ein mathematischer Ausdruck. Das heißt, während das Verfahren beispielsweise als Ausführung von Code auf einem Computer implementiert werden kann, kann der Ausdruck dieses Verfahrens zutreffender und prägnanter als Formel, Algorithmus oder mathematischer Ausdruck vermittelt und kommuniziert werden.
  • So würde ein Fachmann einen Block mit der Bezeichnung A + B = C als Additionsfunktion erkennen, deren Implementierung in Hardware und/oder Software zwei Eingaben (A und B) erfordern und eine Summierungsausgabe (C) erzeugen würde. So soll die Verwendung einer Formel, eines Algorithmus oder eines mathematischen Ausdrucks in Beschreibungen so verstanden werden, daß sie eine physikalische Ausführungsform in zumindest Hardware und/oder Software aufweist (wie beispielsweise ein Computersystem, in dem die Verfahren der vorliegenden Erfindung sowohl ausgeübt werden als auch als Ausführungsform implementiert sein können).
  • Bei einer Ausführungsform sind die Verfahren der vorliegenden Erfindung in maschinenablauffähigen Anweisungen verwirklicht. Die Anweisungen können dazu benutzt werden, einen Mehrzweck- oder Spezialprozessor, der mit den Anweisungen programmiert ist, zu veranlassen, die Schritte der vorliegenden Erfindung durchzuführen. Als Alternative könnten die Schritte der vorliegenden Er findung durch spezifische Hardwareelemente durchgeführt werden, die fest verdrahtete Logik zur Durchführung der Schritte enthalten, oder durch irgendeine Kombination von programmierten Computerelementen und anwendungsspezifischen Hardwareelementen.
  • Bei einer Ausführungsform kann die vorliegende Erfindung als Computerprogrammprodukt bereitgestellt werden, das ein maschinen- oder computer-lesbares Medium enthalten kann, auf dem Anweisungen gespeichert sind, die zur Programmierung eines Computers (oder sonstiger Elektronikvorrichtungen) zur Durchführung eine Verfahrens gemäß der vorliegenden Erfindung benutzt werden können. Das computerlesbare Medium kann Disketten, optische Platten, CD ROM (Compact Disc Read-Only Memory) und magnetooptische Platten, ROM (Read-Only Memory), RAM (Random Access Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), magnetische oder optische Karten, Flash-Speicher oder dergleichen umfassen, ist aber nicht darauf beschränkt.
  • Dementsprechend enthält das computerlesbare Medium irgendeine Art von medien-/maschinenlesbarem Medium, das zum Speichern von elektronischen Anweisungen geeignet ist. Darüber hinaus kann die vorliegende Erfindung auch als Computerprogrammprodukt heruntergeladen werden. Dabei kann das Programm von einem entfernten Computer (z.B. einem Server) zu einem anfordernden Computer (z.B. einem Clienten) übertragen werden. Die Übertragung des Programms kann über in einer Trägerwelle oder einem sonstigen Ausbreitungsmedium verwirklichte Datensignale über eine Kommunikationsstrecke (z.B. ein Modem, eine Netzverbindung oder dergleichen) stattfinden.
  • Systemarchitektur
  • Nunmehr auf 1 Bezug nehmend, zeigt die 1 eine Netzumgebung 100, in der die Verfahren der vorliegenden Erfindung implementiert werden können. Nach der Darstellung enthält die Netzumgebung mehrere Computersysteme, wie beispielsweise eine Mehrzahl von Servern 104 (104-1, ..., 104-M) und eine Mehrzahl von Clienten 108 (108-1, ..., 108-M), die miteinander über ein Netz 102 verbunden sind. Das Netz 102 kann beispielsweise das Internet sein. Man beachte, daß als Alternative das Netz 102 eines oder mehrere der folgenden sein oder umfassen kann: ein lokales Netz (LAN – Local Area Network), ein Weitverkehrsnetz (WAN – Wide Area Network), eine Satellitenstrecke, ein Fasernetz, ein Kabelnetz oder eine Kombination von diesen und/oder anderen. Das hier beschriebene Verfahren und die Vorrichtung können im wesentlichen auf eine beliebige Art von Kommunikationsmittel oder -vorrichtung angewandt werden, ob örtlich oder abgesetzt, wie beispielsweise ein LAN, ein WAN, einen Systembus, ein Plattenlaufwerk, Speicherung usw.
  • Bezug nehmend auf 2 zeigt die 2 einen herkömmlichen Personal Computer 200 in Blockdiagrammform, der für einen beliebigen der in 1 gezeigten Clienten 108 und Server 104 repräsentativ sein kann. Das Blockdiagramm ist eine konzeptmäßige Darstellung auf hoher Ebene und kann auf verschiedene Weisen durch verschiedene Architekturen implementiert werden. Der Computer 200 enthält ein Bussystem 202, das eine Zentraleinheit (CPU – Central Processing Unit) 204, einen Nurlesespeicher (ROM – Read Only Memory) 206, einen Direktzugriffsspeicher (RAM – Random Access Memory) 208, einen Speicher 210, eine Anzeige 220, eine Tonausgabe 222, eine Tastatur 224, einen Zeiger 226, verschiedene Ein-Ausgabe-(E/A-)Vorrichtung 228 und Kommunikationseinheit 230 miteinander verbindet.
  • Das Bussystem 202 kann beispielsweise ein oder mehrere Busse vom Typ Systembus, PCI-Bus (Peripheral Component Interconnect), AGP-Bus (Advanced Graphics Port), SCSI-Bus (Small Computer System Interface), Fire Wire-Bus usw. sein. Die CPU 204 kann eine einzelne, mehrfache oder auch verteilte Rechenressource sein. Der ROM 206 kann eine beliebige Art von nichtflüchtigem Speicher sein, der programmierbar sein kann, wie beispielsweise maskenprogrammierbar, flash usw.
  • Zusätzlich kann der RAM 208 beispielsweise ein statischer, dynamischer, synchroner, asynchroner Speicher oder eine beliebige Kombination dieser sein. Der Speicher 210 kann eine CD (Compact Disc), DVD (Digital Versatile Disk), Festplatte (HD – Hard Disc), optische Platte, Band, Flash-Speicher, Speicherstab, Videorekorder usw. sein. Während die Anzeige 220 beispielsweise eine Kathodenstrahlröhre (CRT – Cathode Ray Tube), Flüssigkristallanzeige (LCD – Liquid Crystal Display), ein Projektionssystem, ein Fernseher (TV – Television) usw. sein kann, kann Audio 222 eine monophone, stereophone, dreidimensionale Sound-Karte usw. sein.
  • Die Tastatur 224 kann eine Tastatur, eine Elektrophontastatur, ein Tastenblock, eine Reihe von Schaltern usw. sein. Der Zeiger 226 kann beispielsweise eine Maus, ein Sensor-Eingabefeld, ein Trackball, ein Joystick usw. sein. Die E/A-Vorrichtungen 228 können eine Sprachbefehleingabevorrichtung, eine Daumenabdruckeingabevorrichtung, ein Chipkartenplatz, eine PC-Kartenschnittstelle (Personal Computer Card-Schnittstelle), Zubehör für Virtual Reality sein, die wahlweise über einen Ein-Ausgangsanschluß 229 mit anderen Vorrichtungen und Systemen verbunden sein können. Ein Beispiel einer Universal-E/A-Vorrichtung 228 wäre eine MIDI-Karte (Musical Instrument Digital Interface), bei der der E/A-Anschluß 229 mit dem (den) Musikinstrumenten) verbunden ist.
  • Die Kommunikationsvorrichtung 230 könnte beispielsweise ein Ethernet-Adapter für LAN-Verbindungen (Local Area Network), eine Satellitenverbindung, ein Set-Top-Box-Adapter, ein xDSL-Adapter (Digital Subscriber Line), ein Funkmodem, ein herkömmliches Telefonmodem, eine direkte Telefonverbindung, eine HFC-Verbindung (Hybrid Fiber Coax), ein Kabelmodem usw. sein. Der externe Verbindungsanschluß 232 kann nach Bedarf jede beliebige Zusammenschaltung zwischen einer abgesetzten Vorrichtung und dem Bussystem 202 über die Kommunikationsvorrichtung 230 ermöglichen.
  • Beispielsweise könnte die Kommunikationsvorrichtung 230 ein Ethernet-Adapter sein, der über den Verbindungsanschluß 232 beispielsweise mit einem externen DSL-Modem verbunden ist. Man beachte, daß je nach der eigentlichen Implementierung eines Computersystems das Computersystem einige, alle, mehr, oder eine Umordnung der Elemente im Blockdiagramm umfassen kann. Beispielsweise könnte ein "dünner" Client (Thin Client) aus einer drahtlosen Handvorrichtung bestehen, die beispielsweise keine herkömmliche Tastatur aufweist. So sind viele Variationen des Systems der 2 möglich.
  • Wieder auf 1 Bezug nehmend ist die Mehrzahl von Clienten 108 effektiv mit Web-Seiten, Anwendungsdiensteanbietern, Suchmaschinen und/oder Datenbankressourcen verbunden, die durch Server, wie beispielsweise die Server 104, über das Netz 102 dargestellt werden. Der Web-Browser und/oder andere Anwendungen laufen allgemein auf der Mehrzahl von Clienten 108 ab, während Informationen im allgemeinen auf den Servern 104 residieren. Zur Erleichterung der Erläuterung soll ein einziger Server 104 bzw. ein einziger Client 108-1 eine Ausführungsform der vorliegenden Verfahren darstellen. Es ist leicht ersichtlich, daß diese Verfahren leicht auf mehrere Clienten, Server oder dergleichen anwendbar sind.
  • Nunmehr Bezug nehmend auf 3 zeigt die 3 ein Blockdiagramm des heißen Steckens einer PCI-Vorrichtung, beispielsweise im Computer 200 nach der Darstellung in 2. Wie oben beschrieben, ist das herkömmliche heiße Stecken von Vorrichtungen auf PCI-Vorrichtungen beschränkt gewesen. Um ein heißes PCI-Stecken zu ermöglichen, sieht die PCI-Bus-Definition zwei Eigenschaften vor, die für das heiße Stecken einer Vorrichtung erforderlich sind: (1) die PCI-Bus-Definition sieht einen Mechanismus zum Auflisten von Vorrichtungen an einem PCI-Bus über die PCI-Konfigurationsmechanismen vor; und (2) die PCI-Bus-Definition bietet einem Mechanismus zum Aufzählen oder Auflisten der durch eine PCI-Vorrichtung benötigten Ressourcen über die PCI-Basisadreßregister (BAR) und den Geräte-PCI-Konfigurationsraum.
  • Dementsprechend kann, wie in 3 dargestellt, ein PCI-Adapter 302 in einen PCI-Steckplatz 312 eingesteckt werden. Bei der beschriebenen Ausführungsform signalisiert das mechanische Schließen des Schalters 314 des PCI-Steckplatzes eine Unterbrechung (Interrupt) zu einer Hot-Plug-Steuerung 330 (Steuerung für heißes Stecken). Sobald dabei die Hot-Plug-Steuerung 330 eine Unterbrechung, beispielsweise über den Schalter 332, empfängt, liefert ein Benachrichtigungsblock der Hot-Plug-Steuerung 334 eine Unterbrechung (Interrupt) zu einer CPU 340. Nach der Darstellung enthält die Hot-Plug-Steuerung 334 ein Register 336, das sowohl die PC-Busnummer wie auch die Vorrichtungsnummer der heiß gesteckten Vorrichtung anzeigt. Diese Informationen werden über den Interrupt 338 für die CPU 340 bereitgestellt. Zusätzlich wird der Interrupt auch für die Software 350 zur Verfügung gestellt, die den PCI-Konfigurationsraum 320 zur Untersuchung der Basisadreßregister 326 im PCI-Konfigurationsraum 320 nutzt.
  • Auf Grundlage der Analyse der BAR 326 ist demnach die Software 350 in der Lage, die erforderlichen Ressourcen der PCI-Vorrichtung aufzulisten und auch der heiß gesteckten Vorrichtung Zugang zu den vom Computer 200 verfügbaren Ressourcen zu gewähren. Wie in 3 dargestellt, wird infolgedessen die Vorrichtungsauflistung durch die Hot-Plug-Steuerung 334 geliefert, während die Ressourcenauflistung durch die Basisadreßregister 326 bereitgestellt wird, die beide durch die PCI-Bus-Definition aktiviert werden. Leider wird das heiße Stecken von Nicht-PCI-Vorrichtungen, wie beispielsweise Prozessorknoten, nicht durch herkömmliche Systeme unterstützt.
  • Nunmehr auf 4 Bezug nehmend zeigt die 4 eine Ausführungsform eines Systems 400, bei der die vorliegende Erfindung angewandt werden kann. 4 ist eine Blockdiagrammdarstellung einer 8-Wege-Server-Architektur. Der Rechenknoten 402 enthält eine Mehrzahl von mit einer skalierbaren Knotensteuerung (Scalable Node Controller) (SNC0) 420 verbundenen Prozessoren (P) 410 (410-1, ..., 410-N) und eine Mehrzahl von anderen, mit SNC1 470 verbundenen Prozessoren (P) 460 (460-1, ..., 460-N). Die SNC0 420 steuert die Schnittstellen zu den Schaltern SPS0 430 und SPS1 480 und ist auch eine an den Speicher 406 angeschlossene Speichersteuerung. Auf gleiche Weise steuert die SNC1 470 die Schnittstellen zu den Schaltern SPS1 480 und ist auch eine an den Speicher 454 angeschlossene Speichersteuerung. Die Schalter SPS0 730 und SPS1 780 sind skalierbaren Anschlußschalter (SPS – Scalability Port Switches) und wirken als Schalter zwischen Rechen-(Prozessor/Speicher-)Knoten 402 und 450 und E/A-Knoten (SIOH0 432 und SIOH1 482).
  • Die Server-E/A-Hubs (SIOH – Server I/O Hubs), SIOH0 432 und SIOH1 482 können als Grund-PCI-Brücken dienen. SIOH0 432 und SIOH1 482 sind mit E/A-Steuerung Hub 2 (ICH2) 434 bzw. 484 verbunden, ICH2 434 ist über 436 und ICH2 484 über 486 verbunden. Bei einer Ausführungsform sind SIOH0 432 und SIOH1 482 mit beispielsweise verschiedenen Legacy-Vorrichtungen, wie beispielsweise USB-Vorrichtungen, AC'97-Vorrichtungen usw. verbunden. ICH2 434 und ICH2 484 können auch Power-Management-Schnittstellen steuern.
  • SIOH0 432 und SIOH1 482 sind auch mit PCI-IBA (Infiniband-)Brücken, IVXB 442 und 492 und über Verbindungen 444 und 494 mit Vorrichtungen verbunden. Ebenfalls in dieser Ausführungsform dargestellt sind SIOH0 432 und SIOH1 482 auch mit PCI 64 Hub2-Vorrichtungen (P64H2) 438, 446 und 488, 496 verbunden. P64H2 weist zwei PCI-PCI-Brücken, zwei PCI-Hot-Plug-Steuerungen und zwei E/A-API-Steuerungen (Advanced Programmable Interrupt Controllers) auf. So ist P64H2 446 über Verbindungen 448 an Vorrichtungen, P64H2 438 über Verbindungen 440 an Vorrichtungen, P64H2 496 über Verbindungen 498 an Vorrichtungen und P64H2 488 über Verbindungen 490 an Vorrichtungen angeschlossen.
  • Es ist in Betracht zu ziehen, daß in einem System, wie dem in 4 dargestellten das heiße Stecken von Rechenknoten 402/450 nicht unterstützt wird. In einem voll funktionsfähigen System würde beispielsweise der Ausfall eines Rechenknotens 402/450 das Abschalten des gesamten Systems 400 erfordern, um den fehlerhaften Knoten auszutauschen. Weiterhin erfordern Systemaufrüstungen und Reparaturen von Rechenknoten ein Abschalten des Systems, es sei denn das heiße Stecken von Rechenknoten wird unterstützt. Leider würde das heiße Stecken von Rechenknoten eine neue Busdefinition erfordern, um die für das heiße Stecken von Vorrichtungen erforderliche Vorrichtungs- und Ressourcenaufzählung bereitzustellen.
  • Nunmehr auf 5A Bezug nehmend, zeigt die 5A weiterhin den Rechenknoten 402 als das Computersystem 400 nach der Darstellung in 4. Aus den oben beschriebenen Gründen wird das heiße Stecken des Rechenknotens 402 im Computersystem 400 nach der Darstellung in 4 gegenwärtig nicht durch herkömmliche Systeme unterstützt. Auf Grundlage der für ein heißes PCI-Stecken erforderlichen Eigenschaften werden jedoch die folgenden Eigenschaften bereitgestellt, um das heiße Stecken eines Rechenknotens zu unterstützen. Als erstes bietet die vorliegende Erfindung einen Mechanismus zur Vorrichtungsaufzählung. Bei einer Ausführungsform wird ein Softwaremechanismus bereitgestellt, der vom Betriebssystem des Rechensystems 400 benutzt werden kann, um zu erkennen, wenn ein Rechenknoten heiß gesteckt oder heiß zugefügt wird oder zu erkennen, wenn der Rechenknoten entfernt wird.
  • Zusätzlich beschreibt die vorliegende Erfindung einen Mechanismus zur Aufzählung von Rechenknotenressourcen. Wie oben beschrieben, müssen Ressourcen aufzählbar sein, ehe eine Vorrichtung irgendeine der Ressourcen (Speicherraum, E/A-Raum usw.) decodiert, über die das gegenwärtig ablaufende Betriebssystem Bescheid weiß. Anders gesagt kann die heiß gesteckte Vorrichtung die vom ablaufenden System benutzten Ressourcen erst benutzen, wenn das Betriebssystem weiß, welche Vorrichtung heiß gesteckt wird und welche Ressourcen die heiß gesteckte Vorrichtung benutzen wird.
  • Dementsprechend sind die Verfahren zur Vorrichtungsaufzählung und Ressourcenaufzählung gemäß einer Ausführungsform der vorliegenden Erfindung wie folgt. Bei einer Ausführungsform wird der Konfigurationsraum einer einem heiß gesteckten Rechenknoten zugeordneten PCI-Vorrichtung zum Registrieren der Gegenwart/Abwesenheit eines an den Rechenknoten angekoppelten Prozessors benutzt. Bei einer Ausführungsform wird dies durch Offenbarung der Gegenwart und Abwesenheit der Vorrichtung über eine zutreffende Power-Management-Spezifikation, wie beispielsweise die ACPI-Mechanismen (Advanced Configuration and Power Management Interface) durchgeführt.
  • Wie oben angedeutet, ist die PCI-Vorrichtung für einen Rechenknoten die skalierbare Knotensteuerung (SNC0) 420, und der verfügbare Raum bezieht sich auf beispielsweise CPUKILL-Bit eines CPUKILL-Registers 426, die in einem Systemrücksetzregister 425 des PCI-Konfigurationsraums SNC0 420 enthalten sind. Bei der beschriebenen Ausführungsform werden die CPUKILL-Bit dazu benutzt, die Gegenwart von Prozessoren im Rechenknoten widerzuspiegeln. Dementsprechend ist bei einer Ausführungsform das auf SNC0 420 ablaufende BIOS vor seiner Teilnahme am ablaufenden System für die Erkennung der Gegenwart von Prozessoren über die bestehenden residenten Architekturmechanismen (herkömmliche Verfahren) und Widerspiegelung dieser Gegenwart/Abwesenheit in den CPUKILL-Bit verantwortlich.
  • Zusätzlich wird ein dynamischer Mechanismus zum Identifizieren der Prozessorressourcen bereitgestellt. Bei einer Ausführungsform werden die Prozessorressourcen über Informationen im Konfigurationsraum einer dem Rechenknoten zugeordneten PCI-Vorrichtung identifiziert. Wie oben angedeutet, ist die entsprechende PCI-Vorrichtung die skalierbare Knotensteuerung (SNC0 420/SNC1 470). Bei der beschriebenen Ausführungsform ist die sichtbare Prozessorressource des Betriebssystems die APIC-Identifikation (Advanced Programmable Interrupt Controller) (APIC ID) des Prozessors.
  • Wie in 5B gezeigt, enthält dementsprechend der Prozessor 410 einen APIC-Bereich 412, der ein APIC-ID-Register 414 enthält. Dabei wird ein dynamischer Mechanismus zum Rücksetzen einer APIC-ID jedes heiß gesteckten Prozessors mit einer eindeutigen ID, die als Reaktion auf eine Hot-Plug-Rücksetzung erzeugt wird, vorgesehen. Bei einer Ausführungsform benutzt die eindeutige APIC-ID die Knoten-ID 424 von SNC0 420 und eine CPUKILL-Bit-Nummer, die den jeweiligen Prozessor darstellt. Dabei umfaßt die APIC-ID in der beschriebenen Ausführungsform 8 Bit und wird durch Verketten der 5-Bit-Knoten-ID 424 mit den 3 Bit der dem Prozessor entsprechenden CPUKILL-Bit gebildet.
  • Dabei ergibt die Kombination die systemweite, eindeutige APIC-ID für jeden entsprechenden heiß gesteckten Prozessor aufgrund der Tatsache, daß die Knoten-ID 424 der SNC im gesamten System eindeutig ist. Bei einer alternativen Ausführungsform kann jedoch anstatt der Knoten-ID die Kombination der PCI-Bus-Nummer und einer Vorrichtungsnummer benutzt werden, aufgrund der Tatsache, daß die Kombination im gesamten gegebenen PCI-Segment eindeutig sein wird. Zusätzlich benutzt der standardmäßige ACPI-Mechanismus zum Melden von Vorrichtungsressourcen diesen dynamischen Mechanismus zum Melden von APIC-ID der Vorrichtung an das Betriebssystem.
  • Wieder Bezug nehmend auf 5A wird der Rechenknoten 402 zum Ausführen des System-BIOS als Reaktion auf eine Hot-Plug-Rücksetzanweisung aktiviert. Bei einer Ausführungsform wird die Erkennung des heißen Steckens eines Prozessorspeicherknotens durch einen intelligenten Agenten durchgeführt, der beispielsweise das Verriegeln eines (nicht gezeigten) Schalters erkennt, wenn der Rechenknoten beispielsweise in SPS1 480 nach der Darstellung in 4 eingesteckt wird. Dabei gibt nach der Erkennung der Agent das Hot-Plug-Rücksetzen aus, damit das BIOS einen oder mehrere an den Rechenknoten angekoppelte Prozessoren erkennt.
  • Dementsprechend wird in der beschriebenen Ausführungsform das BIOS das CPUKILL-Register für jeden erkannten Prozessor setzen. Nach der Erkennung sind die verschiedenen APIC-ID jedes Prozessors gesetzt und sind eine Kombination der Knoten-ID 424 und der den entsprechenden Prozessor darstellenden CPUKILL-Bit. Nach der Durchführung kann das BIOS einen Quittungsaustausch mit einem ablaufenden System der Systemarchitektur einleiten, in der der Rechenknoten heiß gesteckt wird, beispielsweise wie in 4 dargestellt.
  • Bei einer Ausführungsform setzt das BIOS ein SPINCO-Registerbit (Scalability Port Interface Control) zur Freigabe einer Verbindung 404 zu einem skalierbaren Anschlußschalter, wie beispielsweise SPS0 430 oder SPS1 480. Als Reaktion auf das Setzen des SPINCO-Registers kann dementsprechend der Rechenknoten 402 eine Unterbrechung ausgeben. Bei einer Ausführungsform wird eine Systemsteuerungsunterbrechung (SCI – System Control Interrupt) zum ablaufenden Betriebssystem ausgegeben. Als Reaktion auf die SCI kann das Betriebssystem ein Plattform-Teilsystem, wie beispielsweise ein ACPI-Teilsystem starten. Nach dem Starten kann für das ACPI-Teilsystem eine ACPI-Ereignisbenachrichtigung bereitgestellt werden, um ein Aufzählungsverfahren einzuleiten.
  • Bei einer Ausführungsform liest dieses Aufzählungsverfahren dann die entsprechenden CBC-Register 422 (Chipset Boot Configuration) und CPUKILL-Register 426, um jeden der an den heiß gesteckten Rechenknoten 402 angekoppelten Prozessoren aufzuzählen und eine Vorrichtungsstruktur zu aktualisieren. Bei einer Ausführungsform wird die Vorrichtungsstruktur durch das Betriebssystem gelesen, um die Aufzählung der heiß gesteckten Prozessoren und auch der von den heiß gesteckten Prozessoren benutzten Ressourcen zu empfangen. Bei einer Ausführungsform ist die Vorrichtungsstruktur ein vom BIOS in den ACPI-Tabellen des Systems bereitgestellter MAT-Eintrag (Multiple APIC Table). Einzelheiten des MAT-Verfahrens sind aus der Spezifikation ACPI 2.0 ersichtlich.
  • Dabei kann das ablaufende Betriebssystem die Datenstruktur der Vorrichtung benutzen und sobald die entsprechende Vorrichtung und auch die Ressourcen festgestellt worden sind, kann es eine Systeminitialisierungsanforderung an den Rechenknoten ausgeben, um zu beginnen, den einen oder die mehreren daran angekoppelten Prozessoren 410 zu betreiben. Dabei offenbart die vorliegende Erfindung die Gegenwart und Abwesenheit der Vorrichtung über die entsprechenden ACPI-Mechanismen und bedient sich eines dynamischen Mechanismus zur Identifizierung von Prozessorressourcen über Informationen im Konfigurationsraum einer skalierbaren Knotensteuerung. Daher wird durch die vorliegende Erfindung das heiße Stecken von Rechenknoten, wie beispielsweise in 4 und 5A dargestellt, ermöglicht.
  • 6 zeigt eine weitere Ausführungsform eines Systems 500, wo die vorliegende Erfindung ausgeübt werden kann. 6 ist eine Blockdiagrammdarstellung einer 8-Wege-Serversystemarchitektur mit vier, vier Prozessorknoten. Die vier Prozessorknoten sind 510 (510-1, ..., 510-4). Der Knoten 510-1 ist ausführlicher dargestellt, wo vier Prozessoren (P) 502 (502-1, ..., 502-4) mit einer skalierbaren Knotensteuerung (SNC – Scalable Node Controller) 504 sowie einem Speicher 506 und einem LPC-Flash-BIOS 508 (Low Pin Count) verbunden sind. Man beachte, daß die Prozessoren (P) auch über einen örtlichen Speicher für ihre eigene Verwendung, wie beispielsweise einen Cache-Speicher der Ebene 2 verfügen können. Die SNC 504 ist an die Schalter SPS0 512 und SPS1 520 angeschlossen.
  • Gleicherweise weisen die anderen Knoten 510-2510-4 SNC auf, die an die Schalter SPS0 512 und SPS1 520 angeschlossen sind, und auch die Prozessoren P, Speicher und ein LPC-Flash-BIOS. Die Schalter SPS0 512 und SPS1 520 sind skalierbare Anschlußschalter (SPS – Scalability Port Switches) und wirken als Schalter zwischen Rechen-(Prozessor/Speicher-)Knoten (510) und E/A-Knoten (SIOH0 514 und SIOH1 530). Die Server-E/A-Hubs (SIOH – Server I/O Hubs) SIOH0 514 und SIOH1 530 dienen als Grund-PCI-Brücken. SIOH0 514 und SIOH1 520 sind mit E/A-Steuerungs-Hub 2 (ICH2) 518 bzw. 532 verbunden.
  • ICH2 518 weist Verbindungen zu verschiedenen möglichen Vorrichtungen und/oder Bussen auf. Beispiele sind Festplattenlaufwerke (HDD – Hard Disk Drive) 518-1, USB 518-2, IDE CD-ROM 518-3, PCI-Steckplätze 518-4, Super-E/A 518-5 und Firmware-Hub FWH 518-6. Man beachte, daß an diese Vorrichtungen und/oder Busse andere Vorrichtungen und/oder Busse angeschlossen sein können. Beispielsweise ist mit Super E/A 518-5 eine Tastatur-Steuerung KBC 518-6 (Keyboard Controller) und verschiedene (Misc – Miscellaneous) Vorrichtungen 518-7 angeschlossen. Diese verschiedenen Vorrichtungen können beispielsweise verschiedene Legacy-Vorrichtungen, wie beispielsweise AC'97-Vorrichtungen, Power-Management-Vorrichtungen usw. sein. Auf gleiche Weise kann ICH2 532 über Verbindung 533 an verschiedene Vorrichtungen und/oder Busse angeschaltet sein.
  • Nach der Darstellung ist SIOH1 530 mit Verbindungen 535 mit einer Brücke VXB 534 verbunden. Die VXB 534 kann beispielsweise eine NGIO-Brücke (Next Generation I/O – E/A der nächsten Generation) sein, wobei Verbindungen 535 NGIO-Kanäle darstellen. Wie ebenfalls in dieser Ausführungsform dargestellt, sind SIOH0 514 und SIOH1 530 mit PCI 64 Hub2-Vorrichtungen (P64H2) 516-1 bis 516-N und 536 verbunden. Die P64H2 weist zwei PCI-PCI-Brücken, zwei PCI-Hot-Plug-Steuerungen und zwei E/A-APIC-Steuerungen (Advanced Programmable Interrupt Controllers) auf. So würden P64H2 516-1 bis 516-N jeweils über Verbindungen 517-1 bis 517-N an Vorrichtungen angeschaltet sein.
  • 7 zeigt eine Bushierarchie 600 für eine Ausführungsform einer Systemkonfiguration. Hier sind vier Knoten-SNC als SNC0 602, SNC1 604, SNC2 606 und SNC3 608 bezeichnet. Zwei SPS sind als SPS0 610 und SPS1 612 bezeichnet. Jede SNC (601–608) ist mit jedem SPS 610 und 612 verbunden. Als nächstes ist jeder SPS 610 und 612 mit jedem IOH (E/A-Hub) IOH0 614 und IOH1 616 verbunden. Hier können SNC, SPS und IOH jeweils Register enthalten, um Informationen, wie beispielsweise Knoten-ID, Bustyp usw. aufzubewahren. Zusätzlich können die IOH mit anderen Bussen, wie beispielsweise als Reihe von PCI-Bussen über solche Vorrichtungen, wie Brücken, Hub-Verbindungen usw., verbunden sein.
  • Was aus der Darstellung der 7 ersichtlich sein sollte, ist die Fähigkeit, durch Verwendung von von der SNC oder dem Prozessor aus zugänglichen Informationen (siehe 5) Rechenknoten-Hot-Plug-Erkennungs- wie auch Ressourceninformationen, wie oben beschrieben, aufzuzählen. Diese Vorrichtungsinformationen können dynamisch erhalten werden, wodurch dem Betriebssystem und/oder der Software ermöglicht wird, heißes Stecken von Rechenknoten, wie auch Prozessorressourcen aufzuzählen, um mit der Nutzung der heiß gesteckten Rechenknoten durch das Betriebssystem zu beginnen.
  • Dementsprechend beschreibt die vorliegende Erfindung Verfahren zur Aufzählung von an einen heiß gesteckten Rechenknoten angekoppelten Prozessoren. Zusätzlich wird eine eindeutige ID als eine Prozessor-ID jedes erkannten Prozessors gesetzt. Dieser Mechanismus zur Einstellung der Prozessor-ID jedes erkannten Prozessors ermöglicht Vorrichtungsaufzählung durch ein Aufzählungsverfahren, das von einem ACPI-Teilsystem bereitgestellt wird. Dementsprechend bestimmt das Aufzählungsverfahren jeden erkannten Prozessor und die ID des erkannten Prozessors über verschiedene, im Rechenknoten enthaltene Konfigurationsregister.
  • Nach der Bestimmung wird durch das Aufzählungsverfahren eine Vorrichtungsstruktur aktualisiert, um Vorrichtungsaufzählung und Ressourcenaufzählung der Prozessoren des heiß gesteckten Rechenknotens für das ablaufende Betriebssystem bereitzustellen. Durch Bereitstellung dieser Informationen kann das ablaufende Betriebssystem beginnen, die Prozessoren zu betreiben und zu nutzen, um ihnen Aufgaben zuzuweisen. Dabei wird durch die hier beschriebenen Verfahren die Implementierung einer neuen PCI-Definition zum Unterstützen des heißen Steckens von Prozessor/Speicher-Knoten vermieden. Es werden nunmehr Verfahren zur Implementierung der Lehren der vorliegenden Erfindung beschrieben.
  • Funktionsweise
  • Nunmehr Bezug nehmend auf 8 zeigt die 8 ein Flußdiagramm eines Verfahrens 700 zur Durchführung von Vorrichtungsaufzählung von einem oder mehreren, an einen heiß gesteckten Prozessor/Speicher-Knoten 402/450 angekoppelten Prozessoren, wie beispielsweise in 4-6 dargestellt. Im Verfahrensblock 702 wird bestimmt, ob eine Hot-Plug-Rücksetzanweisung empfangen worden ist. Nach ihrem Empfang wird der Verfahrensblock 704 durchgeführt. Im Verfahrensblock 704 wird die Aufzählung eines oder mehrerer Prozessoren durch das Betriebssystem durchgeführt, in das ein Rechenknoten (z.B. 402) heiß gesteckt wird.
  • Bei der beschriebenen Ausführungsform wird die Aufzählung im wesentlichen für ein Aufzählungsverfahren eines Power-Management-Teilsystems, wie beispielsweise die ACPI-Spezifikation, vorgesehen, die die verschiedenen PCI-Konfigurationsregister des heiß gesteckten Rechenknotens abfragen kann. Unter Verwendung der Konfigurationsregister kann das Verfahren die ID (Identifications – Kennzeichnungen) jedes erkannten Prozessors bestimmen und diese Informationen wie auch die Prozessorressourcen für ein ablaufendes Betriebssystem aufzählen. Sobald die Vorrichtungs- wie auch Ressourcenaufzählung für das Betriebssystem erstellt worden ist, kann demnach die Nutzung des oder der heiß gesteckten Prozessoren durch das laufende Betriebssystem beginnen.
  • Als nächstes wird im Verfahrensblock 720 bestimmt, ob eine Betriebssystem-Aktivierungsanforderung empfangen worden ist. Sobald die Aktivierungsanforderung empfangen wird, wird der Verarbeitungsblock 780 durchgeführt. Im Verarbeitungsblock 780 wird der eine oder die mehreren Prozessoren des heiß gesteckten Rechenknotens gestartet. Dabei zeigt der Empfang der Aktivierungsanforderung an, daß Aufzählung der erkannten oder heiß ge steckten Vorrichtungen wie auch der entsprechenden Ressourcen der Vorrichtungen durch das Betriebssystem abgeschlossen worden ist. Dabei hat das Betriebssystem in einer Ausführungsform eine Vorrichtungsstruktur abgefragt, die mit entsprechenden Vorrichtungs- und Ressourceninformationen belegt ist, die dem ablaufenden Betriebssystem ermöglichen, zu beginnen, die Prozessoren zu nutzen und ihnen Aufgaben zuzuweisen.
  • Nunmehr Bezug nehmend auf 9 zeigt die 9 ein Flußdiagramm eines Verfahrens 706 zum Aufzählen der Erkennung von einem oder mehreren Prozessoren des Verfahrensblocks 704 nach der Darstellung in 8. Im Verfahrensblock 708 wird ein oder mehrere an den heiß gesteckten Rechenknoten angekoppelte Prozessoren erkannt. Nach der Erkennung wird im Verfahrensblock 710 eine entsprechende Prozessor-ID jedes des einen oder der mehreren erkannten Prozessoren auf einen jeweiligen eindeutigen Wert gesetzt. Als nächstes leitet der Rechenknoten im Verfahrensblock 750 einen Quittungsaustausch mit dem ablaufenden Betriebssystem einer Architekturplattform ein, auf der der Rechenknoten heiß gesteckt wird. Bei einer Ausführungsform wird durch Einleitung des Quittungsaustauschs eine Benachrichtigung heiß gesteckt für das Betriebssystem bereitgestellt.
  • Nunmehr auf 10 Bezug nehmend zeigt die 10 ein Flußdiagramm eines zusätzlichen Verfahrens 712 zum Setzen einer entsprechenden Prozessor-ID des Verfahrensblocks 710, wie in 9 dargestellt. Im Verfahrensblock 714 wird ein Prozessor aus dem einen oder den mehreren erkannten Prozessoren ausgewählt. Nach der Auswahl wird im Verfahrensblock 730 eine eindeutige ID für den ausgewählten Prozessor entsprechend einer dem Prozessor zugeordneten Prozessornummer und einer Knoten-ID des Rechenknotens erzeugt. Dementsprechend ist in der beschriebenen Ausführungsform die Prozessornummer ein dem entsprechenden Prozessor zugeordneter CPUKILL-Registerwert, während sich die Knoten-ID auf eine im CBC-Register 422 der skalierbaren Knotensteuerung (SNC0 420), nach der Darstellung in 5A, enthaltene Knoten-ID 424 bezieht.
  • Sobald eine eindeutige ID für den ausgewählten Prozessor erzeugt ist, wird der Verfahrensblock 734 durchgeführt. Im Verfahrensblock 734 wird eine Prozessor-ID in dem jeweiligen Prozessor entsprechend der erzeugten eindeutigen ID aktualisiert. Dabei wird in der beschriebenen Ausführungsform eine APIC-ID des entsprechenden Prozessors auf die erzeugte eindeutige ID gesetzt, beispielsweise durch das System-BIOS. Abschließend werden im Verfahrensblock 736 die Verfahrensblöcke 714–734 für jeden erkannten Prozessor wiederholt.
  • Nunmehr Bezug nehmend auf 11 zeigt die 11 ein Flußdiagramm eines Verfahrens 752 zum Einleiten eines Quittungsaustauschs mit dem ablaufenden Betriebssystem des Verfahrensblocks 750 nach der Darstellung in 9. Im Verfahrensblock 754 wird eine Knotenverbindung des Rechenknotens freigegeben, um Kommunikation mit dem Systemarchitekturanschluß einzuleiten (siehe 4). Dementsprechend wird in der beschriebenen Ausführungsform eine Verbindung einer skalierbaren Knotensteuerung aktiviert, um Kommunikation mit einem skalierbaren Anschlußschalter, wie beispielsweise dem SPS1 430 einzuleiten. Nach der Freigabe wird im Verfahrensblock 756 der Rechenknoten zur Ausgabe einer Unterbrechung angewiesen. Abschließend gibt der Rechenknoten im Verfahrensblock 758 eine Unterbrechung über den skalierbaren Anschlußschalter an das Betriebssystem aus.
  • Nunmehr Bezug nehmend auf 12 zeigt die 12 ein Flußdiagramm eines zusätzlichen Verfahrens 760 zum Einleiten eines Quittungsaustauschs mit dem ablaufenden Betriebssystem des Verfahrensblocks 750 nach der Darstellung in 9. Im Verfahrensblock 762 wird bestimmt, ob eine Systemunterbrechung vom ablaufenden Be triebssystem erkannt wird. Nach der Erkennung leitet das ablaufende Betriebssystem im Verfahrensblock 764 ein Plattform-Teilsystem ein. Bei einer Ausführungsform bezieht sich das Plattform-Teilsystem auf ein ACPI-Teilsystem. Als nächstes wird im Verfahrensblock 766 die Benachrichtigung des Hot-Plug-Ereignisses für das Plattform-Teilsystem bereitgestellt. Bei einer Ausführungsform wird dies durch Erkennung eines zwischengespeicherten Bits durch das Plattform-Teilsystem durchgeführt. Nach Bereitstellung der Benachrichtigung arbeitet das Plattform-Teilsystem im Verfahrensblock 768 ein Aufzählungsverfahren ab, das Vorrichtungs- wie auch Ressourceninformationen des heiß gesteckten Rechenknotens durchführt.
  • Nunmehr Bezug nehmend auf 13 zeigt die 13 ein zusätzliches Verfahren 716 zur Erkennung des einen oder der mehreren erkannten Prozessoren des Verfahrensblocks 714. Im Verfahrensblock 718 wird ein Knotenprozessorregister des heiß gesteckten Rechenknotens abgefragt, um einen Prozessorkapazitätswert des Rechenknotens zu bestimmen. Bei einer Ausführungsform wird dies durch Analyse des Systemrücksetzregisters des Rechenknotens durchgeführt. Im Rücksetzregister enthält ein Register mit CPUKILL-Bit eine jedem Prozessoranschluß des Rechenknotens zugeordnete Prozessornummer und ein oder mehrere Bit zur Anzeige, ob ein Prozessor an den Prozessoranschluß des Rechenknotens angekoppelt ist (siehe 5A).
  • Nach Bestimmung des Kapazitätswertes wird im Verfahrensblock 720 ein entsprechender Prozessoranschluß des Rechenknotens ausgewählt. Nach der Auswahl wird im Verfahrensblock 722 bestimmt, ob ein Prozessor in einem ausgewählten Anschluß geladen ist. Erkennung des Prozessors wird entsprechend dem Fachmann bekannten Prozessorerkennungsverfahren durchgeführt. Wenn ein Prozessor in dem ausgewählten Anschluß geladen ist, wird der Verfahrensblock 724 durchgeführt. Im Verfahrens block 724 wird ein Prozessorknoten-Registerwert gesetzt, um die Gegenwart des erkannten Prozessors anzuzeigen. Abschließend werden im Verfahrensblock 726, Verfahrensblöcke 720–724 für jeden der Prozessoranschlüsse wiederholt.
  • Nunmehr Bezug nehmend auf 14 zeigt die 14 ein zusätzliches Verfahren 740 zum Setzen einer Prozessor-ID jedes erkannten Prozessors. Im Verfahrensblock 742 wird eine entsprechende Prozessorknotenregister-Prozessornummer des jeweiligen erkannten Prozessors ausgewählt. Nach der Auswahl wird im Verfahrensblock 744 die ausgewählte Prozessornummer mit einem Knotenregister-ID-Wert verkettet, um eine eindeutige ID zu bilden. Nach ihrer Bildung wird im Verfahrensblock 746 eine Prozessor-ID des entsprechenden Prozessors durch diese eindeutige ID ersetzt. Abschließend werden im Verfahrensblock 748 die Verfahrensblöcke 742-746 für jeden erkannten Prozessor wiederholt. Dementsprechend bietet nach dem Abschluß das Setzen jeder Prozessor-ID Vorrichtungsaufzählung für das ablaufende Betriebssystem, die in einer Ausführungsform über ein von einem Plattform-Teilsystem eingeleitetes Aufzählungsverfahren bereitgestellt wird.
  • Nunmehr Bezug nehmend auf 15 zeigt die 15 ein Flußdiagramm eines Verfahrens 800 zur Durchführung von Vorrichtungs- wie auch Ressourcenaufzählung für ein ablaufendes Betriebssystem als Reaktion auf das heiße Stecken eines Rechenknotens in einem System, wie beispielsweise in 47 dargestellt. Im Verfahrensblock 802 wird bestimmt, ob Benachrichtigung des heißen Steckens erkannt wird. Nach der Erkennung wird im Verfahrensblock 820 Aufzählung von einem oder mehreren erkannten Prozessoren und Ressourcen jedes der erkannten Prozessoren für ein Betriebssystem der Systemarchitektur bereitgestellt, in dem der Rechenknoten heiß gesteckt ist.
  • Sobald Aufzählung der heiß gesteckten Vorrichtungen, wie auch der Ressourcen der heiß gesteckten Vorrichtungen für das Betriebssystem bereitgestellt sind, wird der Verfahrensblock 860 durchgeführt. Im Verfahrensblock 860 wird eine Aktivierungsanforderung zu dem einen oder den mehreren Prozessoren des Rechenknotens übertragen, um den Rechenknoten anzuweisen, jeden der an den Rechenknoten angekoppelten Prozessoren zu starten. Nachdem sie gestartet worden sind, kann das Betriebssystem beginnen, jedem einen oder mehreren erkannten Prozessoren Aufgaben zuzuweisen, um mit der vollen Nutzung des heiß gesteckten Rechenknotens zu beginnen.
  • Nunmehr Bezug nehmend auf 16 zeigt die 16 ein zusätzliches Verfahren 806 zur Erkennung von Benachrichtigung eines heißen Steckens. Im Verfahrensblock 808 wird bestimmt, ob eine Unterbrechung erkannt wird. Bei einer Ausführungsform ist die Unterbrechung eine Systemsteuerungsunterbrechung, die durch den heiß gesteckten Rechenknoten ausgegeben wird. Nach der Erkennung wird im Verfahrensblock 810 eine Systemsteuerungsunterbrechung eingeleitet, um das ablaufende Betriebssystem anzuweisen, ein Plattform-Teilsystem, beispielsweise ein ACPI-Plattform-Teilsystem, wie oben beschrieben, zu starten. Als nächstes wird im Verfahrensblock 812 bestimmt, ob das Plattform-Teilsystem gestartet worden ist. Nach dem Start wird im Verfahrensblock 814 eine Benachrichtigung des Aufzählungsereignisses an das Plattform-Teilsystem ausgegeben.
  • Nunmehr auf 17 Bezug nehmend, zeigt die 17 ein zusätzliches Verfahren 822 zur Durchführung von Vorrichtungs- wie auch Ressourceninformationen des Verfahrensblocks 820 nach der Darstellung in 15. Im Verfahrensblock 824 wird Erkennung eines oder mehrerer an den heiß gesteckten Rechenknoten angekoppelten Prozessoren durchgeführt. Nach der Durchführung werden auch eine oder mehrere Ressourcen jedes der erkannten Prozessoren erkannt. Im Verfahrensblock 840 wird eine Prozessor-Vorrichtungsstruktur mit jeder Prozessor-ID jedes erkannten Prozessors und jeder der entsprechenden Prozessorressourcen aktualisiert. Dementsprechend wird, wie oben beschrieben, durch Aktualisierung der Prozessor-Vorrichtungsstruktur Vorrichtungsaufzählung, wie auch Ressourcenaufzählung, für das ablaufende Betriebssystem bereitgestellt, sobald das ablaufende Betriebssystem die Vorrichtungsstruktur abfragt. Dabei wird das ablaufende Betriebssystem durch Verwendung dieser Informationen in der Lage sein, Aufgaben an die Prozessoren des heiß gesteckten Rechenknotens auszugeben.
  • Nunmehr auf 18 Bezug nehmend, zeigt die 18 ein Flußdiagramm eines zusätzlichen Verfahrens zur Erkennung des einen oder der mehreren Prozessoren des Verfahrensblocks 824. Im Verfahrensblock 828 wird ein entsprechender Prozessoranschluß des Rechenknotens entsprechend beispielsweise den CPUKILL-Bit des Systemrücksetzregisters ausgewählt. Nach der Auswahl wird im Verfahrensblock 830 bestimmt, ob ein Prozessor in dem Prozessoranschluß des Rechenknotens geladen ist. Wie oben beschrieben, wird dieses Verfahren durch herkömmliche Verfahren nach dem Stand der Technik durchgeführt. Als nächstes wird im Verfahrensblock 832 eine ID des erkannten Prozessors bestimmt. Abschließend werden im Verfahrensblock 834 die Verfahrensblöcke 828–832 für jeden der Prozessoranschlüsse des heiß gesteckten Rechenknotens wiederholt, um jeden an den heiß gesteckten Rechenknoten angekoppelten Prozessor zu erkennen.
  • Nunmehr auf 19 Bezug nehmend, zeigt die 19 ein Flußdiagramm eines zusätzlichen Verfahrens 836 zum Erkennen einer Prozessor-ID des einen oder der mehreren erkannten Prozessoren, beispielsweise des Verfahrensblocks 824 nach der Darstellung in 17. Im Verfahrensblock 838 wird Auswahl einer Prozessornummer für einen entsprechenden erkannten Prozessor aus einem ent sprechenden Prozessorknotenregister durchgeführt. Als nächstes wird im Verfahrensblock 840 die ausgewählte Prozessornummer mit einer Knoten-ID des Rechenknotens verkettet, um eine ID des Prozessors zu bestimmen. Abschließend werden im Verfahrensblock 842 die Verfahrenblöcke 838–840 für jeden des einen oder der mehreren erkannten Prozessoren des heiß gesteckten Rechenknotens wiederholt, um eine Prozessor-ID für jeden der erkannten Prozessoren zu bestimmen.
  • Dementsprechend beschreibt die vorliegende Erfindung Verfahren zur Aufzählung von an einen heiß gesteckten Rechenknoten angekoppelten Prozessoren. Zusätzlich wird eine eindeutige ID als eine Prozessor-ID jedes erkannten Prozessors gesetzt. Durch diesen Mechanismus zum Setzen der Prozessor-ID jedes erkannten Prozessors wird Vorrichtungsaufzählung für ein Aufzählungsverfahren ermöglicht, das von einem ACPI-Teilsystem bereitgestellt wird. Dementsprechend bestimmt das Aufzählungsverfahren jeden erkannten Prozessor und die ID des erkannten Prozessors über verschiedene, im Rechenknoten enthaltene Konfigurationsregister.
  • Nach der Bestimmung aktualisiert das Aufzählungsverfahren eine Vorrichtungsstruktur, um Vorrichtungsaufzählung und Ressourcenaufzählung der Prozessoren des heiß gesteckten Rechenknotens für das ablaufende Betriebssystem bereitzustellen. Durch Bereitstellung dieser Informationen kann das ablaufende Betriebssystem damit beginnen, die Prozessoren zu betreiben und zu nutzen, um ihnen Aufgaben zuzuweisen. Dabei wird durch die hier beschriebenen Verfahren die Implementierung einer neuen PCI-Definition zum Unterstützen des heißen Steckens von Prozessor-Speicher-Knoten vermieden.
  • Alternative Ausführungsformen
  • Es sind mehrere Aspekte einer Implementierung einer Systemarchitektur zur Bereitstellung des Ermöglichens ei nes heißen Steckens eines Rechenknotens beschrieben worden. Jedoch bieten verschiedene Implementierungen der Systemarchitektur zahlreiche Merkmale einschließlich des Vervollständigens, des Ergänzens und/oder des Ersetzens der oben beschriebenen Merkmale. Merkmale können als Teil des System-Mikrocodes, der Softwareverfahren oder als Teil des Rechenknotens in verschiedenen Implementierungen implementiert werden. Zusätzlich wurde bei der obigen Beschreibung zu Erläuterungszwecken ein bestimmtes Vokabular benutzt, um ein gründliches Verständnis der Erfindung zu bieten. Dem Fachmann wird jedoch offenbar sein, daß die spezifischen Einzelheiten nicht zur Ausführung der Erfindung erforderlich sind.
  • Obwohl darüber hinaus eine hier beschriebene Ausführungsform auf ein Verfahren und eine Vorrichtung zur Prozessoraufzählung eines heiß gesteckten Rechenknotens gerichtet ist, wird der Fachmann erkennen, daß die Lehre der vorliegenden Erfindung auf andere Systeme anwendbar ist. In der Tat liegen Systeme zum heißen Stecken (aller Nicht-PCI-Vorrichtungen) in den Lehren der vorliegenden Erfindung, ohne aus dem Rahmen und Sinn der vorliegenden Erfindung zu weichen. Die oben beschriebenen Ausführungsformen wurden gewählt und beschrieben, um die Grundsätze der Erfindung und ihre praktischen Anwendungen am besten zu erläutern. Diese Ausführungsformen wurden gewählt, um anderen Fachmännern dieser Technik die beste Nutzung der Erfindung und verschiedener Ausführungsformen mit verschiedenen Abänderungen, die sich für den bestimmten in Betracht gezogenen Verwendungszweck eignen, zu ermöglichen.
  • Es versteht sich, daß, selbst wenn zahlreiche Eigenschaften und Vorteile verschiedener Ausführungsformen der vorliegenden Erfindung in der obigen Beschreibung aufgeführt worden sind, zusammen mit Einzelheiten der Struktur und Funktion verschiedener Ausführungsformen der Erfindung, diese Offenbarung nur beispielhaft ist.
  • In manchen Fällen werden gewisse Teilbaugruppen nur bei einer derartigen Ausführungsform ausführlich beschrieben. Trotzdem wird erkannt und ist beabsichtigt, daß diese Teilbaugruppen in anderen Ausführungsformen der Erfindung benutzt werden können. Es können Änderungen in Einzelheiten durchgeführt werden, besonders Angelegenheiten der Struktur und des Managements von Teilen innerhalb der Grundsätze der vorliegenden Erfindung, zu dem vollen, durch die breite allgemeine Bedeutung der Begriffe angedeuteten Ausmaß, in dem die beiliegenden Ansprüche ausgedrückt sind.
  • Die vorliegende Erfindung bietet viele Vorteile gegenüber bekannten Verfahren. Dementsprechend beschreibt die vorliegende Erfindung Verfahren zur Aufzählung von an einen heiß gesteckten Rechenknoten angekoppelten Prozessoren. Zusätzlich wird eine eindeutige ID als eine Prozessor-ID jedes erkannten Prozessors gesetzt. Durch diesen Mechanismus zum Setzen der Prozessor-ID jedes erkannten Prozessors wird Vorrichtungsaufzählung für ein Aufzählungsverfahren ermöglicht, das von einem ACPI-Teilsystem bereitgestellt wird. Dementsprechend wird durch das Aufzählungsverfahren jeder erkannter Prozessor und die ID des erkannten Prozessors über verschiedene, im Rechenknoten enthaltene Konfigurationsregister bestimmt.
  • Nach der Bestimmung aktualisiert das Aufzählungsverfahren eine Vorrichtungsstruktur zur Bereitstellung von Vorrichtungsaufzählung und Ressourcenaufzählung der Prozessoren des heiß gesteckten Rechenknotens für das ablaufende Betriebssystem. Durch Bereitstellung dieser Informationen kann das ablaufende Betriebssystem beginnen, die Prozessoren zu betreiben und sie zu nutzen, um ihnen Aufgaben zuzuweisen. Dabei wird durch die hier beschriebenen Verfahren die Implementierung einer neuen PCI-Definition zum Unterstützen des heißen Steckens von Prozessor-Speicher-Knoten vermieden.
  • Nach der Offenbarung von beispielhaften Ausführungsformen und der besten Betriebsweise können Abänderungen und Änderungen an den offenbarten Ausführungsformen durchgeführt werden und dabei im Rahmen der durch die nachfolgenden Ansprüche definierten Erfindung verblieben werden.
  • ZUSAMMENFASSUNG
  • Es werden eine Vorrichtung und ein Verfahren zur Aufzählung von Prozessoren während des heißen Steckens eines Rechenknotens beschrieben. Das Verfahren umfaßt das Aufzählen von einem oder mehreren Prozessoren als Reaktion auf ein Hot-Plug-Rücksetzen. Die Aufzählung wird für ein Systemarchitektur-Betriebssystem bereitgestellt, in dem ein Rechenknoten heiß gesteckt wird. Nach Abschluß der Aufzählung wird der Rechenknoten als Reaktion auf eine Betriebssystem-Aktivierungsanforderung gestartet. Dementsprechend werden nach Abschluß der Vorrichtungsaufzählung wie auch der Ressourcenaufzählung der eine oder die mehreren Prozessoren des Prozessor-Speicher-Knotens aktiviert, so daß das Betriebssystem beginnen kann, die Prozessoren des heiß gesteckten Rechenknotens zu nutzen.

Claims (34)

  1. Verfahren mit folgenden Schritten: Aufzählen, als Reaktion auf ein Hot-Plug-Rücksetzen, eines oder mehrerer Prozessoren für ein Systemarchitektur-Betriebssystem, in dem ein Rechenknoten heiß gesteckt wird; und Starten des einen oder der mehreren Prozessoren des Rechenknotens als Reaktion auf eine Betriebssystem-Aktivierungsanforderung.
  2. Verfahren nach Anspruch 1, wobei das Aufzählen weiterhin folgende Schritte umfaßt: Setzen einer entsprechenden Prozessor-ID von jedem des oder der detektierten Prozessoren, die mit dem Rechenknoten gekoppelt sind, auf einen jeweils eindeutigen Wert; und Einleiten eines Quittungsaustauschs mit dem Betriebssystem, um dadurch eine Hot-Plug-Benachrichtigung für das Betriebssystem zu liefern.
  3. Verfahren nach Anspruch 2, wobei das Setzen der jeweiligen Prozessor-ID weiterhin folgende Schritte umfaßt: Auswählen eines Prozessors aus dem einen oder den mehreren detektierten Prozessoren; Erzeugen einer eindeutigen ID für den ausgewählten Prozessor entsprechend einer Prozessornummer des ausgewählten Prozessors und einer Knoten-ID des Rechenknotens; Aktualisieren einer Prozessor-ID in dem ausgewählten Prozessor entsprechend der erzeugten eindeutigen ID; und Wiederholen des Auswählens, Erzeugens und Aktualisierens für jeden der einen oder der mehreren detektierten Prozessoren.
  4. Verfahren nach Anspruch 2, wobei Einleiten des Quittungsaustauschs weiterhin umfaßt: Freigeben einer Knotenverbindung des Rechenknotens, so daß Kommunikation mit einem Systemarchitekturanschluß aktiviert wird; und Anweisen des Rechenknotens zur Ausgabe eines Systeminterrupts über die Verbindung.
  5. Verfahren nach Anspruch 4, welches weiterhin umfaßt: Auslösen eines Plattform-Teilsystems durch das Betriebssystem als Reaktion auf den Systeminterrupt; Erzeugen einer Hot-Plug-Ereignisbenachrichtigung für das Plattform-Teilsystem; und Abarbeiten eines Ressourcenaufzählungsverfahrens durch das Plattform-Teilsystem zur Aufzählung von Ressourcen des oder der detektierten Prozessoren.
  6. Verfahren nach Anspruch 4, wobei das Freigeben der Knotenverbindung weiterhin folgende Schritte umfaßt: Setzen eines Knotenanschlußregisters, um den Rechenknoten zur Freigabe der Knotenverbindung anzuweisen; Ausgeben einer Anforderung an den Rechenknoten zum Ausgeben eines Systemsteuerungsinterrupts; und Auslösen eines Plattform-Teilsystems durch das Betriebssystem als Reaktion auf die Systemsteuerungsunterbrechung.
  7. Verfahren nach Anspruch 1, weiterhin mit folgenden Schritten: Detektieren von einem oder mehreren mit dem Rechenknoten gekoppelten Prozessoren; und Setzen eines entsprechenden Knotenprozessorregisters für jeden detektierten Prozessor, um die Aufzählung jedes detektierten Prozessors für das Betriebssystem zu ermöglichen.
  8. Verfahren nach Anspruch 3, wobei das Auswählen eines Prozessors weiterhin umfaßt: Abfragen eines Knotenprozessorregisters zur Bestimmung eines Prozessorkapazitätswertes des Rechenknotens; Auswählen eines entsprechenden Prozessoranschlusses des Rechenknotens; Bestimmen, wenn ein Prozessor in dem Prozessoranschluß des Rechenknotens geladen ist; wenn ein Prozessor detektiert wird, Setzen eines entsprechenden Prozessorknotenregisterwertes zum Anzeigen der Gegenwart des detektierten Prozessors; und Wiederholen des Auswählens, Bestimmens und Setzens für jeden der einen oder der mehreren detektierten Prozessoren entsprechend dem Prozessorkapazitätswert, so daß jede Prozessor-ID entsprechend einem jeweiligen Prozessorknotenregisterwert gesetzt wird.
  9. Verfahren nach Anspruch 2, wobei das Setzen der Prozessor-ID weiterhin folgende Schritte umfaßt: Auswählen einer entsprechenden Prozessornummer für einen entsprechenden detektierten Prozessor aus einem entsprechenden Prozessorknotenregister, Verketten der ausgewählten Prozessornummer mit einem Knotenregister zum Bilden einer eindeutigen ID; Ersetzen einer Prozessor-ID des entsprechenden Prozessors durch die eindeutige ID; und Wiederholen des Auswählens und Verkettens für jeden der detektierten Prozessoren.
  10. Verfahren mit folgenden Schritten: Einleiten eines Aufzählungsverfahrens als Reaktion auf eine Hot-Plug-Benachrichtigung; Aufzählen von Ressourcen von einem oder mehreren detektierten Prozessoren durch das Aufzählungsver fahren für ein Systemarchitektur-Betriebssystem, in dem ein Rechenknoten heiß gesteckt wird; und Übertragen einer Aktivierungsanforderung an den oder die Prozessoren des heiß gesteckten Rechenknotens.
  11. Verfahren nach Anspruch 10, wobei das Einleiten weiterhin folgende Schritte umfaßt: Erkennen eines Interrupts; Einleiten eines Systemsteuerungsinterrupts als Reaktion auf die Unterbrechung, um dadurch das Betriebssystem anzuweisen, ein Plattform-Teilsystem zu starten; und nach dem Starten des Plattform-Teilsystems Ausgeben einer Ressourcenaufzählungs-Ereignisbenachrichtigung an das Plattform-Teilsystem.
  12. Verfahren nach Anspruch 10, wobei das Aufzählen weiterhin folgende Schritte umfaßt: Starten des Aufzählungsverfahrens als Reaktion auf Ressourcenereignisbenachrichtigung; Detektieren von einem oder mehreren Prozessoren, die mit dem heiß gesteckten Rechenknoten gekoppelt sind, als Reaktion auf die Prozessoraufzählung; Detektieren von einer oder mehreren von dem oder den detektierten Prozessoren benötigten Ressourcen als Reaktion auf die Prozessoraufzählung; und Aktualisieren einer Prozessor-Vorrichtungsstruktur mit jeder detektierten Prozessor-ID und Ressource, wodurch der oder die detektierten Prozessoren und die Ressourcen des oder der detektierten Prozessoren für das Betriebssystem aufgezählt werden.
  13. Verfahren nach Anspruch 12, wobei das Detektieren weiterhin folgende Schritte umfaßt: Auswählen eines entsprechenden Prozessorknotenregisterwerts des Rechenknotens; wenn ein Prozessorknotenregisterwert gesetzt ist, Detektieren eines Prozessors; und Wiederholen des Auswählens und Detektierens für jeden Prozessorknotenregisterwert des Rechenknotens zum Detektieren des einen oder der mehreren Prozessoren.
  14. Verfahren nach Anspruch 12, wobei das Detektieren weiterhin folgende Schritte umfaßt: Auswählen einer entsprechenden Prozessornummer für einen entsprechenden detektierten Prozessor aus einem entsprechenden Prozessorknotenregister; Verketten der ausgewählten Prozessornummer mit einem Knotenregister-ID-Wert zum Bestimmen einer Prozessor-ID für den entsprechenden Prozessor; Ersetzen einer Prozessor-ID des entsprechenden Prozessors durch die eindeutige ID; und Wiederholen des Auswählens und Verkettens für jeden der detektierten Prozessoren zum Bestimmen einer Prozessor-ID für jeden der detektierten Prozessoren.
  15. Maschinenlesbares Speichermedium mit Programmanweisungen, die einen Computer anweisen, auf eine bestimmte Weise zu funktionieren, wenn sie durch einen Prozessor ausgeführt werden, wobei die Programmanweisungen folgende Schritte umfassen: Aufzählen von einem oder mehreren Prozessoren für ein Systemarchitektur-Betriebssystem, in dem ein Rechenknoten heiß gesteckt wird, als Reaktion auf eine Hot-Plug-Rücksetzung; und Starten des oder der Prozessoren des Rechenknotens als Reaktion auf eine Betriebssystem-Aktivierungsanforderung.
  16. Maschinenlesbares Speichermedium nach Anspruch 15, wobei die Aufzählung weiterhin folgendes umfaßt: Setzen einer jeweiligen Prozessor-ID jedes der mehreren, mit dem Rechenknoten gekoppelten, detektierten Prozessoren auf einen jeweils eindeutigen Wert; und Einleiten eines Quittungsaustauschs mit dem Betriebssystem, um dadurch eine Benachrichtigung des heißen Steckens für das Betriebssystem zu liefern.
  17. Maschinenlesbares Speichermedium nach Anspruch 16, wobei das Setzen der entsprechenden Prozessor-ID weiterhin folgende Schritte umfaßt: Auswählen eines Prozessors aus dem oder den detektierten Prozessoren; Erzeugen der eindeutigen ID für den ausgewählten Prozessor entsprechend einer Prozessornummer des ausgewählten Prozessors und einer Knoten-ID des Rechenknotens; Aktualisieren einer Prozessor-ID in dem ausgewählten Speicherprozessor entsprechend der erzeugten eindeutigen ID; und Wiederholen des Auswählens, Erzeugens und Aktualisierens für jeden der detektierten Prozessoren.
  18. Maschinenlesbares Speichermedium nach Anspruch 16, wobei das Einleiten des Quittungsaustauschs weiterhin folgende Schritte umfaßt: Freigeben einer Knotenverbindung des Rechenknotens, so daß die Kommunikation mit einem Systemarchitekturanschluß aktiviert wird; und Anweisen des Rechenknotens zur Ausgabe eines Systeminterrupts über die Verbindung.
  19. Maschinenlesbares Speichermedium nach Anspruch 18, welches weiterhin umfaßt: Auslösen eines Plattform-Teilsystems durch das Betriebssystem als Reaktion auf den Systeminterrupt; Erzeugen einer Hot-Plug-Ereignisbenachrichtigung für das Plattform-Teilsystem; und Abarbeiten eines Ressourcenaufzählungsverfahrens durch das Plattform-Teilsystem zur Aufzählung von Ressourcen des oder der detektierten Prozessoren.
  20. Maschinenlesbares Speichermedium nach Anspruch 18, wobei das Freigeben der Knotenverbindung weiterhin folgende Schritte umfaßt: Setzen eines Knotenanschlußregisters, um den Rechenknoten zur Freigabe der Knotenverbindung anzuweisen; Abgeben einer Anforderung an den Rechenknoten zum Abgeben eines Systemsteuerungsinterrupts; und Auslösen eines Plattform-Teilsystems durch das Betriebssystem als Reaktion auf den Systemsteuerungsinterrupts.
  21. Maschinenlesbares Speichermedium nach Anspruch 15, welches weiterhin umfaßt: Erkennen von einem oder mehreren mit dem Rechenknoten gekoppelten Prozessoren; und Setzen eines entsprechenden Knotenprozessorregisters für jeden detektierten Prozessor, um die Aufzählung jedes detektierten Prozessors für das Betriebssystem zu ermöglichen.
  22. Maschinenlesbares Speichermedium nach Anspruch 17, wobei das Auswählen eines Prozessors weiterhin folgende Schritte umfaßt: Abfragen eines Knotenprozessorregisters zur Bestimmung eines Prozessorkapazitätswertes des Rechenknotens; Auswählen eines entsprechenden Prozessoranschlusses des Rechenknotens; Bestimmen, wenn ein Prozessor im Prozessoranschluß des Rechenknotens geladen ist; wenn ein Prozessor detektiert wird, Setzen eines entsprechenden Prozessorknotenregisterwertes zum Anzeigen der Gegenwart des detektierten Prozessors; und Wiederholen des Auswählens, Bestimmens und Setzens für jeden der detektierten Prozessoren entsprechend dem Prozessorkapazitätswert, so daß jede Prozessor-ID entsprechend dem jeweiligen Prozessorknotenregisterwert gesetzt wird.
  23. Maschinenlesbares Speichermedium nach Anspruch 16, wobei Setzen der Prozessor-ID weiterhin folgende Schritte umfaßt: Auswählen einer entsprechenden Prozessornummer für einen entsprechenden detektierten Prozessor aus einem entsprechenden Prozessorknotenregister, Verketten des ausgewählten Werts mit einem Knotenregister-ID-Wert zum Bilden der eindeutigen Prozessor-ID; Ersetzen einer Prozessor-ID des entsprechenden detektierten Prozessors durch die eindeutige ID; und Wiederholen des Auswählens und Verkettens für jeden der detektierten Prozessoren.
  24. Maschinenlesbares Speichermedium mit Programmanweisungen, die einen Computer anweisen, auf bestimmte Weise zu funktionieren, wenn sie durch einen Prozessor ausgeführt werden, wobei die Programmanweisungen folgende Schritte umfassen: Einleiten eines Aufzählungsverfahrens als Reaktion auf einer Hot-Plug-Benachrichtigung; Aufzählen von Ressourcen von einem oder mehreren detektierten Prozessoren durch das Aufzählungsverfahren für ein Systemarchitektur-Betriebssystem, in dem ein Rechenknoten heiß gesteckt wird; und Übertragen einer Aktivierungsanforderung zu dem oder den Prozessoren des heiß gesteckten Rechenknotens.
  25. Maschinenlesbares Speichermedium nach Anspruch 24, wobei das Einleiten weiterhin folgende Schritte umfaßt: Erkennen eines Interrupts; Einleiten eines Systemsteuerungsinterrupts als Reaktion auf den Interrupt, um dadurch das Betriebs system anzuweisen, ein Plattform-Teilsystem zu starten; und Ausgeben einer Ressourcenaufzählungs-Ereignisbenachrichtigung an das Plattform-Teilsystem.
  26. Maschinenlesbares Speichermedium nach Anspruch 24, wobei das Aufzählen weiterhin folgende Schritte umfaßt: Starten des Aufzählungsverfahrens als Reaktion auf die Ressourcenereignisbenachrichtigung; Detektieren von einem oder mehreren, mit dem heiß gesteckten Rechenknoten gekoppelten Prozessoren als Reaktion auf die Prozessoraufzählung; Detektieren von einer oder mehreren Ressourcen, die durch den einen oder die mehreren detektierten Prozessoren benötigt wurden als Reaktion auf die Prozessoraufzählung; und Aktualisieren einer Prozessor-Vorrichtungsstruktur mit jeder detektierten Prozessor-ID und Ressource, wodurch die detektierten Prozessoren und die Ressourcen des oder der detektierten Prozessoren für das Betriebssystem aufgezählt werden.
  27. Maschinenlesbares Speichermedium nach Anspruch 26, wobei das Detektieren eines oder mehrerer Prozessoren weiterhin folgendes umfaßt: Auswählen eines entsprechenden Prozessorknotenregisterwerts des Rechenknotens; wenn ein Prozessorknotenregisterwert gesetzt ist, Detektieren eines Prozessors; und Wiederholen des Auswählens und Detektieren für jeden Prozessorknotenregisterwert des Rechenknotens zum Detektieren des oder der Prozessoren.
  28. Maschinenlesbares Speichermedium nach Anspruch 26, wobei das Detektieren eines oder mehrerer Prozessoren weiterhin folgende Schritte umfaßt: Auswählen einer entsprechenden Prozessornummer für einen entsprechenden detektierten Prozessor aus einem entsprechenden Prozessorknotenregister; Verketten der ausgewählten Prozessornummer mit einem Knotenregister-ID-Wert zum Bestimmen einer Prozessor-ID für den entsprechenden Prozessor; Ersetzen einer Prozessor-ID des entsprechenden Prozessors durch die eindeutige ID; und Wiederholen des Auswählens und Verkettens für jeden des einen oder der mehreren detektierten Prozessoren zum Bestimmen einer Prozessor-ID für jeden der detektierten Prozessoren.
  29. Vorrichtung, welche umfaßt: einen Rechenknoten mit einem oder mehreren damit gekoppelten Prozessoren, die jeweils über eine Verbindung mit dem Knoten gekoppelt sind, wobei die Verbindung das Stecken in einen Systemarchitekturanschluß ermöglichen soll; und eine mit dem Rechenknoten gekoppelte Speichervorrichtung mit darin gespeicherten Anweisungssequenzen, die bei Ausführung durch den Rechenknoten diesen dazu veranlassen, als Reaktion auf ein Hot-Plug-Rücksetzen die Detektion eines oder mehrerer Prozessoren für ein Systemarchitektur-Betriebssystem aufzuzählen, in dem ein Rechenknoten heiß gesteckt wird, und als Reaktion auf eine Betriebssystem-Aktivierungsanforderung den oder die Prozessoren zu starten.
  30. Vorrichtung nach Anspruch 29, wobei die Anweisung zum Aufzählen weiterhin den Prozessor veranlaßt, eine entsprechende Prozessor-ID jedes der an den Rechenknoten gekoppelten, detektierten Prozessoren auf einen jeweils eindeutigen Wert zu setzen und einen Quittungsaustausch mit dem Betriebssystem einzuleiten, um dadurch eine Hot-Plug-Benachrichtigung an das Betriebssystem zu liefern.
  31. Vorrichtung nach Anspruch 29, wobei die Anweisung zum Aufzählen weiterhin den Prozessor veranlaßt, ein Knotenprozessorregister abzufragen, um einen Prozessorkapazitätswert des Rechenknotens zu bestimmen, einen entsprechenden Knotenanschluß des Rechenknotens auszuwählen; zu bestimmen, wenn ein Prozessor in dem Prozessoranschluß des Rechenknotens geladen ist; wenn ein Prozessor detektiert wird, einen entsprechenden Prozessorknotenregisterwert zum Anzeigen der Gegenwart des detektierten Prozessors zu setzen, und das Auswählen, Bestimmen und Setzen für jeden der detektierten Prozessoren entsprechend dem Prozessorkapazitätswert zu wiederholen, so daß jede Prozessor-ID entsprechend dem jeweiligen Prozessorknotenregisterwert gesetzt wird.
  32. System, welches umfaßt: eine Architekturplattform mit einem oder mehreren Anschlüssen zum Koppeln mit einem oder mehreren Rechenknoten; einen Rechenknoten mit einem oder mehreren damit gekoppelten Prozessoren und einer oder mehreren Verbindungen, die jeweils mit dem Knoten gekoppelt sind, wobei die Verbindungen das heiße Stecken in einen Systemarchitekturanschluß ermöglichen sollen; und eine mit dem Rechenknoten gekoppelte Speichervorrichtung mit darin gespeicherten Anweisungssequenzen, die bei ihrer Ausführung durch den Rechenknoten den Rechenknoten veranlassen als Reaktion auf ein Hot-Plug-Rücksetzen einen oder mehrere Prozessoren für das Architekturplattform-Betriebssystem aufzuzählen, in dem der Rechenknoten heiß gesteckt ist, und als Reaktion auf eine Betriebssystem-Aktivierungsanforderung den die Prozessoren zu starten.
  33. System nach Anspruch 32, wobei die Anweisung zum Aufzählen weiterhin folgende Schritte umfaßt: Setzen einer entsprechenden Prozessor-ID jedes der mit dem Rechenknoten gekoppelten, detektierten Prozessoren auf einen entsprechenden eindeutigen Wert und Einleiten eines Quittungsaustauschs mit dem Betriebssystem, um dadurch eine Hot-Plug-Benachrichtigung für das Betriebssystem zu liefern.
  34. System nach Anspruch 33, welches weiterhin die Anweisung umfaßt, ein Aufzählungsverfahrens als Reaktion auf Hot-Plug-Benachrichtigung einzuleiten; Ressourcen eines oder mehrerer detektierter Prozessoren durch das Aufzählungsverfahren für ein Systemarchitektur-Betriebssystem aufzuzählen, in dem ein Rechenknoten heiß gesteckt ist; und eine Aktivierungsanforderung zu dem oder den Prozessoren des heiß gesteckten Rechenknotens zu übertragen.
DE10297314T 2001-10-03 2002-09-30 Vorrichtung und Verfahren zur Aufzählung von Prozessoren während des heissen Steckens eines Rechenknotens Ceased DE10297314T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/971211 2001-10-03
US09/971,211 US7493438B2 (en) 2001-10-03 2001-10-03 Apparatus and method for enumeration of processors during hot-plug of a compute node
PCT/US2002/031327 WO2003029993A2 (en) 2001-10-03 2002-09-30 An apparatus and method for enumeration of processors during hot-plug of a compute node

Publications (1)

Publication Number Publication Date
DE10297314T5 true DE10297314T5 (de) 2004-09-09

Family

ID=25518074

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10297314T Ceased DE10297314T5 (de) 2001-10-03 2002-09-30 Vorrichtung und Verfahren zur Aufzählung von Prozessoren während des heissen Steckens eines Rechenknotens

Country Status (7)

Country Link
US (2) US7493438B2 (de)
CN (1) CN100380353C (de)
AU (1) AU2002362405A1 (de)
DE (1) DE10297314T5 (de)
GB (1) GB2397152B (de)
HK (1) HK1062592A1 (de)
WO (1) WO2003029993A2 (de)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225427B2 (en) * 2002-06-14 2007-05-29 Hewlett-Packard Development Company, L.P. Method and device for providing computer system component data
US20040015638A1 (en) * 2002-07-22 2004-01-22 Forbes Bryn B. Scalable modular server system
US20040015581A1 (en) * 2002-07-22 2004-01-22 Forbes Bryn B. Dynamic deployment mechanism
US7114105B2 (en) * 2002-12-05 2006-09-26 Qualcomm, Inc. System and method for software download to wireless communication device
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
US7734741B2 (en) 2004-12-13 2010-06-08 Intel Corporation Method, system, and apparatus for dynamic reconfiguration of resources
US7738484B2 (en) * 2004-12-13 2010-06-15 Intel Corporation Method, system, and apparatus for system level initialization
US20070150713A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Methods and arrangements to dynamically modify the number of active processors in a multi-node system
JP4831317B2 (ja) * 2006-02-24 2011-12-07 日本電気株式会社 Pci多段ブリッジ構成コンピュータにおけるacpiマシン語テーブル記述方法及び装置とそのプログラム
US7725613B2 (en) * 2006-02-27 2010-05-25 Microsoft Corporation Device installation with host controller consideration
US20070214347A1 (en) * 2006-03-13 2007-09-13 Rothman Michael A Method and apparatus for performing staged memory initialization
US8028100B2 (en) * 2006-05-05 2011-09-27 Data I/O Corporation Automated processing system employing intelligent module automatic recognition
US7836238B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Hot-plug/remove of a new component in a running PCIe fabric
US7860930B2 (en) * 2006-12-19 2010-12-28 International Business Machines Corporation Communication between host systems using a transaction protocol and shared memories
US7984454B2 (en) * 2006-12-19 2011-07-19 International Business Machines Corporation Migration of single root stateless virtual functions
US8271604B2 (en) * 2006-12-19 2012-09-18 International Business Machines Corporation Initializing shared memories for sharing endpoints across a plurality of root complexes
US7813366B2 (en) 2006-12-19 2010-10-12 International Business Machines Corporation Migration of a virtual endpoint from one virtual plane to another
US7991839B2 (en) * 2006-12-19 2011-08-02 International Business Machines Corporation Communication between host systems using a socket connection and shared memories
US7836129B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Communication between host systems using a queuing system and shared memories
JP2008186261A (ja) * 2007-01-30 2008-08-14 Fujitsu Ltd マザーボード,情報処理装置,設定方法,設定プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
WO2009070912A1 (en) * 2007-11-29 2009-06-11 Intel Corporation Modifying system routing information in link based systems
US20090198770A1 (en) * 2008-02-04 2009-08-06 Universal Scientific Industrial Co., Ltd. System and method of updating codes in controller
US20090278679A1 (en) * 2008-05-07 2009-11-12 Dell Products L.P. Methods and Media for Event Notification in Information Handling Systems
US9110716B2 (en) * 2008-06-10 2015-08-18 Dell Products, Lp Information handling system power management device and methods thereof
JP5401679B2 (ja) * 2009-02-19 2014-01-29 株式会社日立製作所 計算機システム、管理方法及び管理サーバ
US8949499B2 (en) * 2010-06-24 2015-02-03 International Business Machines Corporation Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
US8943257B2 (en) * 2011-09-30 2015-01-27 Intel Corporation Protocol neutral fabric
US8984174B2 (en) 2011-12-06 2015-03-17 Qualcomm Incorporated Method and a portable computing device (PCD) for exposing a peripheral component interface express (PCIE) coupled device to an operating system operable on the PCD
CN102523277B (zh) * 2011-12-09 2018-03-23 中兴通讯股份有限公司 一种终端平台版本升级的方法和系统
CN104115132B (zh) 2011-12-22 2018-02-06 英特尔公司 借助于存储器通道关闭的功率节约
US8972618B2 (en) * 2012-07-31 2015-03-03 Hewlett-Packard Develpment Company, L.P. Staged discovery in a data storage fabric
JP5985403B2 (ja) * 2013-01-10 2016-09-06 株式会社東芝 ストレージ装置
CN105553568B (zh) * 2015-12-12 2018-02-06 浙江环顺网络科技有限公司 Ftth终端及其模块更换方法
US10437751B1 (en) * 2018-04-13 2019-10-08 Dell Products L.P. Device hot plug system
CN114372017B (zh) * 2022-01-04 2023-12-12 中国大恒(集团)有限公司北京图像视觉技术分公司 一种不影响cxp设备正常工作的枚举方法
CN114185607B (zh) * 2022-02-14 2022-06-14 苏州浪潮智能科技有限公司 Arm服务器中pci设备的启动控制方法、装置及设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT978377B (it) 1973-01-23 1974-09-20 Folco Z Struttura mobile con raggio di curvatura di valore zero
US5933609A (en) 1996-04-08 1999-08-03 Vlsi Technology, Inc. Method and system for hot docking a portable computer to a docking station via the primary PCI bus
US5999997A (en) * 1996-07-26 1999-12-07 Compaq Computer Corporation Two computers cooperating via interconnected busses
US6338150B1 (en) * 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6249828B1 (en) * 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6212585B1 (en) * 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6161157A (en) * 1998-10-27 2000-12-12 Intel Corporation Docking system
US6295566B1 (en) 1998-10-31 2001-09-25 Campaq Computer Corporation PCI add-in-card capability using PCI-to-PCI bridge power management
US6535944B1 (en) 1999-03-30 2003-03-18 International Business Machines Corporation Hot plug control of MP based computer system
US6925513B1 (en) * 1999-05-04 2005-08-02 Apple Computer, Inc. USB device notification
US6516367B1 (en) * 1999-06-24 2003-02-04 International Business Machines Corporation Method and system for detecting bus device configuration changes
GB2394849A (en) 1999-10-01 2004-05-05 Agilent Technologies Inc Multi-channel replicating device for broadband optical signals, and systems including such devices
US6262493B1 (en) 1999-10-08 2001-07-17 Sun Microsystems, Inc. Providing standby power to field replaceable units for electronic systems
US6754725B1 (en) * 2001-05-07 2004-06-22 Cypress Semiconductor Corp. USB peripheral containing its own device driver
US6807596B2 (en) 2001-07-26 2004-10-19 Hewlett-Packard Development Company, L.P. System for removing and replacing core I/O hardware in an operational computer system

Also Published As

Publication number Publication date
GB2397152A (en) 2004-07-14
US20030065752A1 (en) 2003-04-03
GB2397152B (en) 2005-12-07
US7493438B2 (en) 2009-02-17
GB0407360D0 (en) 2004-05-05
CN100380353C (zh) 2008-04-09
WO2003029993A3 (en) 2004-01-29
AU2002362405A1 (en) 2003-04-14
US20090106471A1 (en) 2009-04-23
WO2003029993A2 (en) 2003-04-10
CN1564987A (zh) 2005-01-12
HK1062592A1 (en) 2004-12-17
US7822900B2 (en) 2010-10-26

Similar Documents

Publication Publication Date Title
DE10297314T5 (de) Vorrichtung und Verfahren zur Aufzählung von Prozessoren während des heissen Steckens eines Rechenknotens
DE69834401T2 (de) Businterfacesystem und verfahren
DE60009185T2 (de) "Universal serial bus" Interpreter
DE60215007T2 (de) Multiprozessorsystem und verfahren zum betrieb eines multiprozessorsystems
DE19747396C2 (de) Verfahren und Anordnung zur Schaffung einer Ferndiagnose für ein elektronisches System über ein Netz
DE69630355T2 (de) Dynamische gerätanpassung unter verwendung von treiber-kandidatlisten
DE3725343A1 (de) Vielzweck-kanalsteuersystem
JPH0760443B2 (ja) 組立て指示作成システム
DE102008059790A1 (de) Verfahren, Vorrichtung und Befehle zum Verarbeiten von Vektordaten
DE102012210582A1 (de) Verringern der Auswirkung des Ausfalls einer Vermittlungsstelle in einem Schaltnetzwerk mittels Schaltkarten
DE102009031126A1 (de) Aktivieren der funktionalen Abhängigkeit in einem Multifunktionsgerät
US20080065874A1 (en) System and method for dynamic determination of system topology in a multiple building block server system
DE3508640A1 (de) Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus
DE102005025399A1 (de) System und Verfahren zur SCSI- und SAS-Hardwarevalidierung
DE10238563A1 (de) System und Verfahren zum Testen von Schaltungen und Programmieren integrierter Schaltungsvorrichtungen
DE102012217315A1 (de) Verwenden von nativen Routinen an Stelle von emulierten Routinen in einer emulierten Anwendung
EP1069731A3 (de) Netzwerk und Verfahren zum Austausch von Botschaften
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE102022107800A1 (de) Booten und verwenden eines einzelnen cpu-sockels als partitionierte multi-cpu-plattform
DE112019000460T5 (de) Adapter für direkten speicherzugriff
DE112018005620T5 (de) Auftragsverwaltung in einem datenverarbeitungssystem
DE10202758A1 (de) DMA-Controller sowie Verfahren und Computersystem mit einem solchen
EP3779635A1 (de) Interaktives intelligentes tablet und datenverarbeitungsverfahren sowie vorrichtung dafür
DE60111047T2 (de) Verfahren und vorrichtung zur flexibelen hochgeschwindigkeitsübertragung
DE112017006528T5 (de) Angriff/abnormalität-detektionsvorrichtung, angriff/abnormalität-detektionsverfahren und angriff/abnormalität-detektionsprogramm

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law

Ref document number: 10297314

Country of ref document: DE

Date of ref document: 20040909

Kind code of ref document: P

R003 Refusal decision now final
R011 All appeals rejected, refused or otherwise settled