DE60212422T2 - Verfahren und gerät zur urladung einer "nichtuniformen speicherzugriff-(numa-) maschine" - Google Patents

Verfahren und gerät zur urladung einer "nichtuniformen speicherzugriff-(numa-) maschine" Download PDF

Info

Publication number
DE60212422T2
DE60212422T2 DE60212422T DE60212422T DE60212422T2 DE 60212422 T2 DE60212422 T2 DE 60212422T2 DE 60212422 T DE60212422 T DE 60212422T DE 60212422 T DE60212422 T DE 60212422T DE 60212422 T2 DE60212422 T2 DE 60212422T2
Authority
DE
Germany
Prior art keywords
numa
processors
node
child
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60212422T
Other languages
English (en)
Other versions
DE60212422D1 (de
Inventor
Hoa Van Cedar Park LEE
Anh Kiet Cedar Park TRAN
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE60212422D1 publication Critical patent/DE60212422D1/de
Application granted granted Critical
Publication of DE60212422T2 publication Critical patent/DE60212422T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)

Description

  • Bereich der Technik der Erfindung
  • Die vorliegende Erfindung betrifft Mehrprozessor-Rechnerarchitekturen und insbesondere Maschinen mit nichteinheitlichem Speicherzugriff (NUMA-Maschinen).
  • Der Erfindung zugrunde liegender allgemeiner Stand der Technik
  • Eine symmetrische Mehrprozess-(SMP-)Architektur enthält mehrere Zentraleinheiten (Central Processing Units (CPUs)), die sich in einem Schrank befinden und denselben Speicher gemeinsam benutzen. Durch diese Architektur können SMP-Systeme je nach den Erfordernissen des Benutzers, zum Beispiel im Hinblick auf das Transaktionsvolumen, Skalierbarkeit bereitstellen.
  • SMP-Systeme können zwischen zwei und 32 oder mehr CPUs enthalten. Wenn jedoch eine CPU in einem SMP-System ausfällt, fällt das ganze System aus. Um sich gegen einen Ausfall der CPU abzusichern, kann eine redundante Auslegung vorgesehen werden, indem man zwei oder mehr SMP-Systeme in einem Verbundsystem (Cluster) verwendet. Wenn ein SMP-System in dem Verbundsystem ausfällt, können die anderen SMP-Systeme auf diese Weise ihren Betrieb fortsetzen und einen Ausgleich für das ausgefallene System schaffen.
  • Eine einzige CPU startet gewöhnlich das SMP-System und lädt das Betriebssystem, das die anderen CPUs einschaltet. Da die CPUs in einem SMP-System denselben Speicher gemeinsam benutzen, gibt es nur ein Betriebssystem und eine Instanz der Anwendung im Speicher. SMP-Systeme sind immer dann besonders vorteilhaft, wenn Prozesse überlappt ausgeführt werden können. Zum Beispiel können mehrere Anwendungen gleichzeitig ausgeführt werden. Ein weiteres Beispiel ist das Multithreading-Verfahren, das gleichzeitige Operationen innerhalb einer einzigen Anwendung umfasst.
  • Die Architektur beim nichteinheitlichen Speicherzugriff (NUMA-Architektur) ist eine Mehrprozess-Architektur, bei der der Speicher in nahe und ferne Bänke getrennt wird. Wie ein SMP-System umfasst eine NUMA-Maschine mehrere CPUs, die einen einzigen Speicher gemeinsam benutzen. Bei NUMA wird jedoch auf den lokalen Speicher, der sich auf derselben Verarbeitungsplatine wie die CPUs befindet, schneller zugegriffen als auf den gemeinsam benutzten Speicher, der sich auf anderen Verarbeitungsplatinen befindet.
  • Eine SMP-Systemspeicherbelegungsarchitektur kann so gestaltet werden, dass sie eine NUMA-Maschine mit einzelnen SMP-Systemen unterstützt, die mit den SMA-NUMA-Adaptern verbunden sind. Wenn jedes SMP-System eine eigenständige Maschine ist, wird das Systemknotenkennungs-(ID-)Feld im PIR-Register eines jeden Giga-Prozessors (GP) immer auf "0" gesetzt. Die Firmware verwendet immer den Speicherbelegungsplan, der der Systemkennung "0" (ID0) entspricht, um eine Konfiguration der Ferneingabe-/-ausgabe-(Remote-Input/Output-(RIO-)) Verteilerstationen vorzunehmen.
  • Wenn mehrere SMP-Systeme miteinander verbunden werden, um eine NUMA-Maschine zu bilden, müssen die einzelnen SMP-Systeme hinsichtlich des für sie vorgesehenen NUMA-Speicherbelegungsplans ordnungsgemäß eingerichtet werden, damit sie in der NUMA-Maschine richtig funktionieren. Während die Firmware-Funktion zum Starten des SMP-Systems in der autonomen Betriebsart beibehalten wird, ist es wünschenswert, dass dasselbe Bild der System-Firmware ein Verfahren zur Konfiguration der gesamten NUMA-Maschine bereitstellen kann, um alle einzelnen SMP-Maschinen für den Normalbetrieb im NUMA-Modus zu starten.
  • In der US-Patentschrift 5 938 765 werden eine Vorrichtung und ein Verfahren zur Initialisierung eines Mehrprozessor-Rechnersystems mit mehreren Knoten und gemeinsam benutztem Speicher beschrieben. Die Knoten in dem Mehrprozessor-Rechnersystem führen parallel, jedoch getrennt und unabhängig voneinander BIOS-Standardroutinen auf PC-Grundlage zur Initialisierung der Knoten aus. Diese BIOS-Routinen legen Adressen von Hardware-Komponenten auf jedem Knoten so fest, als befänden sich die Knoten in einer Umgebung mit nur einem einzigen Knoten. Nachdem das BIOS ausgeführt worden ist, werden die Adressen der Hardware-Komponenten neu programmiert, damit sie der Mehrknotenumgebung entsprechen. Ein Hauptprozessor übernimmt dann die Steuerung, um das Betriebssystem in der Mehrknotenumgebung zu starten.
  • Es ist überdies auch wünschenswert, dass dieses neue Verfahren die NUMA-Maschine starten kann, ohne viel von der für den Startvorgang vorgesehenen Zeit für die Durchführung von RIO-Konfigurationsoperationen, d.h. die gleichzeitige Durchführung der Konfiguration von RIO-Verteilerstationen eines jeden Systemknotens, aufzuwenden.
  • BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung stellt ein Verfahren, eine Vorrichtung und ein Programm zum Starten einer Maschine mit nichteinheitlichem Speicherzugriff (NUMA-Maschine) bereit. Die Erfindung umfasst die Konfiguration einer Vielzahl von eigenständigen symmetrischen Mehrprozesssystemen zum Betrieb in einem NUMA-System. Jedem der Mehrprozesssysteme wird eine NUMA-Kennung zugewiesen, wobei jede Kennung eindeutig ist. Die Mehrprozesssysteme werden im NUMA-Modus in einem Arbeitsgang gestartet. Ein Firmware-Bild wird in den lokalen Speicher eines Mehrprozesssystems in einem NUMA-System geladen, und eine Hardware-Systemkonsole wird über die Version der Firmware unterrichtet. Die Hardware-Systemkonsole empfängt eine Bestätigung, dass die Version der Firmware bei allen Mehrprozesssystemen in dem NUMA-System gleich ist. NUMA-Adapter werden so konfiguriert, dass sie jedes Mehrprozesssystem mit dem NUMA-System verbinden, und alle Host-Prozessoren werden initialisiert. Alle Host-Prozessoren werden zur Ausführung der System-Firmware freigegeben.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung wird nun lediglich anhand eines Beispiels und mit Bezug auf die beigefügten Zeichnungen beschrieben, bei denen:
  • 1 ein Datenverarbeitungssystem bildlich darstellt, in dem die vorliegende Erfindung ausgeführt werden kann;
  • 2 ein Blockschaltbild eines Datenverarbeitungssystems ist, in dem die vorliegende Erfindung ausgeführt werden kann;
  • 3 ein Flussdiagramm ist, das den Prozess der Konfiguration eines SMP-Systems gemäß der vorliegenden Erfindung zeigt;
  • 4 ein Flussdiagramm ist, das den Prozess der Konfiguration des Host-Prozessors und des Speichers gemäß der vorliegenden Erfindung zeigt; und
  • 5 ein Flussdiagramm ist, das den Prozess des Startens eines NUMA-Systems gemäß der vorliegenden Erfindung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Nun Bezug nehmend auf die Figuren und insbesondere auf 1 ist ein Datenverarbeitungssystem bildlich dargestellt, in dem die vorliegende Erfindung gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ausgeführt werden kann. Ein Rechner 100 ist gezeigt, zu dem eine Systemeinheit 110, ein Bildschirm 102, eine Tastatur 104, Speichereinheiten 108, die Diskettenlaufwerke und andere Arten von festen und auswechselbaren Speichermedien beinhalten können, und eine Maus 106 gehört. Weitere Eingabeeinheiten wie zum Beispiel ein Joystick, ein Berührungstablett, ein berührungsempfindlicher Bildschirm, eine Rollkugel, ein Mikrofon und dergleichen können zu dem Personal Computer 100 gehören. Der Rechner 100 enthält vorzugsweise auch eine grafische Benutzeroberfläche, die mittels Systemsoftware realisiert werden kann, welche sich auf einem rechnerlesbaren Datenträger befindet, der mit dem Rechner 100 betrieben wird.
  • Nun Bezug nehmend auf 2 ist ein Blockschaltbild eines Datenverarbeitungssystems gezeigt, in dem die vorliegende Erfindung ausgeführt werden kann. Das Datenverarbeitungssystem 200 ist ein Beispiel für einen Rechner wie zum Beispiel den Rechner 100 in 1, in dem sich Code oder Befehle befinden können, die die Prozesse der vorliegenden Erfindung ausführen. Das Datenverarbeitungssystem 200 verwendet eine lokale Busarchitektur zur Verbindung von Peripherieeinheiten (peripheral component interconnect (PCI)). Zwar verwendet das gezeigte Beispiel einen PCI-Bus, doch können auch andere Busarchitekturen wie zum Beispiel Accelerated Graphics Port (AGP) und Industry Standard Architecture (ISA) eingesetzt werden. Die Prozessoren 202, 204, 206 und der Hauptspeicher 210 sind über die PCI-Brücke 212 mit dem lokalen PC-Bus 208 verbunden. Die PCI-Brücke 212 kann auch eine integrierte Speichersteuereinheit und einen Cachespeicher für die Prozessoren 202, 204 und 206 enthalten. Weitere Verbindungen zum lokalen PCI-Bus 208 können über eine direkte Anbindung von Komponenten oder über Erweiterungskarten hergestellt werden. In dem gezeigten Beispiel sind der lokale Netzwerk-(LAN-)Adapter 214, der SCSI-Hostbusadapter 216 und die Erweiterungsbusschnittstelle 218 mittels direkter Komponentenanbindung mit dem lokalen PCI-Bus 208 verbunden. Im Gegensatz dazu sind der Audioadapter 220, der Grafikadapter 222 und der Audio-/Videoadapter 224 über Erweiterungskarten, die in Erweiterungssteckplätze gesteckt werden, mit dem lokalen PCI-Bus 208 verbunden. Die Erweiterungsbusschnittstelle 218 stellt einen Anschluss für einen Tastatur- und einen Mausadapter 224, einen Modem 226 und einen Zusatzspeicher 228 bereit. Der SCSI-Hostbusadapter 216 stellt einen Anschluss für ein Festplattenlaufwerk 230, ein Bandlaufwerk 232 und ein CD-ROM-Laufwerk 234 bereit. Gewöhnliche Ausführungsformen von lokalen PCI-Bussen unterstützen drei oder vier PCI-Erweiterungssteckplätze oder Zusatzanschlüsse.
  • Auf den Prozessoren 202, 204 und 206 wird ein einziges Betriebssystem ausgeführt, das die Steuerung von verschiedenen Komponenten in dem Datenverarbeitungssystem 200 in 2 ermöglicht und koordiniert. Das Betriebssystem kann ein handelsübliches Betriebssystem wie zum Beispiel Windows 2000 sein. "Windows" ist ein Warenzeichen der Microsoft Corporation. Ein objektorientiertes Programmiersystem wie zum Beispiel Java kann in Verbindung mit dem Betriebssystem ausgeführt werden und ermöglicht Aufrufe des Betriebssystems von Java-Programmen oder -Anwendungen, die auf dem Datenverarbeitungssystem 200 ausgeführt werden. "Java" ist ein Warenzeichen von Sun Microsystems, Inc. Befehle für das Betriebssystem, das objektorientierte Programmiersystem und Anwendungen oder Programme befinden sich in Speichereinheiten wie zum Beispiel dem Festplattenlaufwerk 230 und können in den Hauptspeicher 210 zur Ausführung durch die Prozessoren 202, 204 und 206 geladen werden.
  • Der Fachmann versteht, dass die in 2 gezeigte Hardware in Abhängigkeit von der gegebenen Art der Ausführung unterschiedlich sein kann. Andere interne Hardware- oder periphere Einheiten wie zum Beispiel ein Flash-ROM (oder ein gleichwertiger nichtflüchtiger Speicher) oder optische Plattenlaufwerke und dergleichen können zusätzlich zu oder anstelle der in 2 gezeigten Hardware verwendet werden.
  • Die Prozesse der vorliegenden Erfindung können zudem auf ein Datenverarbeitungssystem mit mehreren Prozessoren angewendet werden.
  • Das in 2 gezeigte Beispiel und die vorstehend beschriebenen Beispiele sind nicht als architektonische Einschränkungen zu verstehen.
  • Ein symmetrischer Mehrprozess-(SMP-)Systemspeicherbelegungsplan ist so aufgebaut, dass er eine nichteinheitliche Speicherzugriffs-(NUMA-)Konfiguration unterstützt, indem er einzelne SMP-Maschinen miteinander verbindet. Wenn einzelne Maschinen in einer autonomen Betriebsart verwendet werden, wird die Systemkennung im Prozessor auf null gesetzt. Die vorliegende Erfindung verwendet zur Konfiguration des Systems im SMP- und im NUMA-Modus dieselbe Firmware. Die Hardware-Systemkonsole (HSC) für das NUMA-System weist den Dienstprozessor eines jeden SMP-Systems an, das System im NUMA-Modus auf der Grundlage der NUMA-Konfigurationsvariablen, die im Direktzugriffspeicher für nichteinheitlichen Speicherzugriff (Non-Uniform Random Access Memory (NURAM)) gespeichert sind, einzurichten.
  • Die NUMA-Maschine verfügt über eine oder mehrere Hardware-Systemkonsolen (HSCs), die zur Konfiguration und zur Verwaltung der NUMA-Maschine dienen. Jedes SMP-System verfügt über seinen eigenen eingebauten Common Service Processor (CSP). Die HSC ist bei manchen Datenübertragungsverbindungen mit allen CSPs verbunden.
  • Bezug nehmend auf 3 ist ein Flussdiagramm gezeigt, das den Prozess der Konfiguration eines SMP-Systems gemäß der vorliegenden Erfindung veranschaulicht. In dieser Phase des Startprozesses tauscht die HSC mit den SMPs Daten aus und weist jedem SMP eine Kennung (ID) zu, die den Platz des SMP in der NUMA-Maschine bestimmt. Jeder CSP des Systems verwaltet zwei Byte-Variablen des nichtflüchtigen Direktzugriffspeichers (NVRAM) für die NUMA-Konfiguration:
    • • NUMA_mode_flag: Wenn das NUMA_mode_flag den Wert "0" hat, befindet sich das System im autonomen SMP-Modus. Andernfalls sind der Modus und der Wert der Variablen eine Bitmaske, um das Vorhandensein der Systemknoten in der NUMA-Maschine anzuzeigen.
    • • NUMA_node_id: Diese Variable enthält die Kennung des Systemknotens für das SMP-System, in dem diese NVRAM-Variable vorhanden ist.
  • Die HSC weist alle CSPs an, die Variable NUMA_mode_flag mit dem richtigen Maskenwert für die NUMA-Maschine zu setzen (Schritt 301), und anschließend weist sie jedem CSP eine eindeutige NUMA_node_id zu und weist diesen an, seine eindeutige NUMA_node_id zu setzen (Schritt 302). Nachdem NUMA_mode_flag und NUMA_node_id gesetzt wurden, sendet die HSC einen Einschaltbefehl an den CSP eines jeden Knotens, um sein angeschlossenes SMP-System einzuschalten (Schritt 303).
  • Bezug nehmend auf 4 ist ein Flussdiagramm gezeigt, das den Prozess der Konfiguration des Host-Prozessors und des Speichers gemäß der vorliegenden Erfindung veranschaulicht. Der CSP eines jeden Knotens konfiguriert und prüft die Host-Prozessoren (Schritt 401), und anschließend konfiguriert und prüft er den Host-Speicher (Schritt 402). Nach erfolgtem Selbsttest beim Einschalten (Power On Self Test (POST)) wird dem Speicher eine Systemspeicher-Basisadresse zugewiesen, die aber nichtfortlaufend sein kann. Der Speicher eines SMP-Systems kann zum Beispiel nichtzusammenhängend sein und numerische Speicherbereiche haben, seine Größe von 256G kann er aber nicht überschreiten.
  • Nachdem die Host-Prozessoren und der Speicher konfiguriert und geprüft wurden, konfiguriert und prüft der CSP den NUMA-Speicher (Schritt 403) und setzt die Kennung des Knotens auf "X" (Schritt 404). Daraufhin legt der CSP die Basisadressen für alle Ferneingabe-/-ausgabe-(Remote-Input/Output-(RIO-)Verteilerstationen fest, indem er einen für die Knotenkennung "X" reservierten Systemspeicherbelegungsplan verwendet.
  • Anschließend ordnet der CSP vorübergehend lokalen Systemspeicher zu, wobei er an der Adresse null beginnt (Schritt 406), und lädt dann das Bild der System-Firmware in seinen lokalen Systemspeicher (Schritt 407). Von dort ordnet der CSP den lokalen Systemspeicher dauerhaft zu, wobei er an der Startadresse Y beginnt, die der Speicherbelegungsplan für die Knotenkennung "X" reserviert hat (Schritt 408). Sobald der lokale Systemspeicher zugeordnet worden ist, unterrichtet der CSP die HSC über die Version des geladenen Firmware-Bildes (Schritt 409) und wartet dann auf eine Bestätigung von der HSC, dass das geladene Bild der System-Firmware gleich dem Bild der Firmware der anderen Knoten ist (Schritt 410).
  • Der CSP konfiguriert seine NUMA-Adapter, um das System mit der letzten NUMA-Maschine zu verbinden (Schritt 411), und setzt das Zeitbasisregister des lokalen Knotens auf einen Anfangswert (Schritt 412).
  • Unter Verwendung der logischen Partitionshardware des Giga-Prozessors startet der CSP eines jeden Knotens alle GP-Prozessoren mit:
    • • MSR[SF] = 1, womit dem Prozessor mitgeteilt wird, dass er mit der Ausführung des Codes im 64-Bit-Modus beginnen soll.
    • • MSR[Hv] = 0, wodurch der Prozessor in eine logische Partitionsumgebung gebracht wird (HV steht für Hypervisor).
    • • HID0[19] = 1, was anzeigt, dass die Zeitbasisfunktion des Prozessors im NUMA-Modus arbeitet. Dieser Wert dient auch als Kennzeichen (flag) der NUMA-Firmware, so dass die Firmware dem NUMA-Ausführungspfad folgen muss.
    • • HID4[0] = 1, das den Prozessor auswählt, der in der Umgebung der Servermaschine vom Typ RS/6000 läuft.
    • • HID4[7:22]. Setze dieses Register (Basisadresse des Speichers des Knotens) auf der Grundlage der Gleichung: Basisadresse (Y) des Systemspeichers skaliert mit 64M = (NUMA_node_id·256G) >> 26.
    • • HID4[1:2]. Setze dieses Register (Realmodus-Begrenzungsregister) so, dass 1G Realmodus-Adressgrößenfreigabe codiert wird, d.h. auf einen Wert von 2.
    • • HID4[62:63||3:6] = 0, wodurch die Kennung der logischen Partition auf "0", den Standardwert, gesetzt wird.
    • • PIR[23:25]= NUMA_node_id. Setze dieses Register auf die Knotenkennung (node_id) des SMP-Systems, in dem sich der Prozessor befindet.
    • • SPRG0 = NUMA_mode_flag. Dadurch wird NUMA_mode_flag in das Sonderregister 0 übertragen, so dass allen Prozessoren der gesetzte Wert dieses NVRAM-Kennzeichens zur Verfügung steht, bevor sie auf das NVRAM zugreifen und seinen Inhalt lesen können.
    Schritt (413).
  • Der CSP setzt die Programmzähler oder Register für die nächste Befehlsadresse (Next Instruction Address (NIA)) von allen Host-Prozessoren auf den Einsprungpunkt in die Firmware des Systems, d.h. 0x100 (Schritt 414), und gibt alle Host-Prozessoren frei, so dass sie mit der Ausführung der Firmware des Systems beginnen können (Schritt 415). Die vorstehend beschriebenen Konfigurationen machen es möglich, dass das jeweilige Bild der System-Firmware an einzelnen Knoten so ausgeführt wird, als ob es an der Speicheradresse 0 geladen wäre.
  • Nun Bezug nehmend auf 5 ist ein Flussdiagramm gezeigt, das den Prozess des Startens eines NUMA-Systems gemäß der vorliegenden Erfindung veranschaulicht. Der Prozess beginnt, wenn jeder Knoten einen Hauptprozessor auswählt, der die RIO-Verteilerstationen des Knotens konfiguriert (Schritt 501). Die Firmware eines jeden Systemknotens setzt einen Hauptsoftware-Merker (master software semaphore) ein. Alle Prozessoren von demselben Systemknoten konkurrieren um den Erhalt dieses Merkers. Der Gewinner, der den Merker erfolgreich erhält, wird der Knoten-Hauptprozessor. Die Prozessoren, die nicht Knoten-Hauptprozessor werden, werden als untergeordnete Prozessoren (slave processors) bezeichnet. Die untergeordneten Knotenprozessoren warten, bis der Knoten-Hauptprozessor Eins zu-eins-Quittungsaustauschoperationen einleitet (Schritt 503), wobei die untergeordneten Prozessoren zu diesem Zeitpunkt ihre Zeitbasis-(TB-)Register setzen (Schritt 504). Die untergeordneten Prozessoren schalten dann in eine Hypervisor-Umgebung, um untergeordnete NUMA-Prozessoren zu werden (Schritt 505). Die Hypervisor-Umgebung ist eine ausführende Umgebung, in der die Prozessoren uneingeschränkten Zugriff auf die Hardware des Systems haben. Alle untergeordneten NUMA-Prozessoren führen dann Firmware aus, die sich im Knoten 0 befindet, und warten, bis der NUMA-Hauptprozessor ihnen gestattet, fortzufahren (Schritt 506).
  • Der Knotenprozessor, der als Knoten-Hauptprozessor ausgewählt wird, muss die RIO-Verteilerstationen des lokalen Knotens konfigurieren (Schritt 507). Wenn der Knoten-Hauptprozessor die Konfiguration der RIO-Verteilerstationen abgeschlossen hat, synchronisiert er sein Zeitbasis-(TB-)Register mit der Zeitbasis des Knotens (Schritt 508) und tauscht dann mit jedem untergeordneten Knotenprozessor eine Quittung aus, so dass jeder untergeordnete Prozessor sein TB-Register ebenfalls synchronisiert (Schritt 509). Nach dem Quittungsaustausch verlassen die untergeordneten Knotenprozessoren die Partitionsumgebung und wechseln in die Hypervisor-Umgebung, wie im Schritt 505 beschrieben ist. Die untergeordneten Prozessoren fahren mit der Ausführung desselben Codes fort, der nun aus dem Speicher des Systemknotens mit der Kennung 0 (ID0) abgerufen wird. Diese untergeordneten Knotenprozessoren sind nun die untergeordneten NUMA-Prozessoren der NUMA-Maschine und warten darauf, dass der NUMA-Hauptprozesor Einszu-eins-Quittungsaustauschoperationen einleitet. Jeder Knoten-Hauptprozessor setzt dann die globalen Warteschlangenunterbrechungsmasken-(Global-Queue-Interrupt-Mask-(GQIRM-))Register des Knotens (Schritt 510).
  • Jeder Knoten-Hauptprozessor verlässt die Partitionsumgebung und wechselt in die gloable Hypervisor-Umgebung und den Hypervisor-Speicherbereich, um um die Funktion des NUMA-Hauptprozessors zu konkurrieren (Schritt 511). Die Firmware des Systems setzt außerdem den NUMA-Hauptsoftwaremerker ein. Da alle Knoten-Hauptprozessoren in die Hypervisor-Umgebung wechseln, ist der NUMA-Hauptsoftwaremerker der Firmware für die Systemknotenkennung 0 (ID0) das Ziel des Wettbewerbs. Der Gewinner, der diesen NUMA-Hauptmerker erfolgreich erhält, wird wieder der NUMA-Hauptprozessor. Wenn es einem Knoten-Hauptprozessor nicht gelingt, NUMA-Hauptprozessor zu werden, wartet er auf den Eins-zu-eins-Quittungsaustausch mit dem NUMA-Hauptprozessor und wird dann ein untergeordneter NUMA-Prozessor (Schritt 513).
  • Der zum NUMA-Hauptprozessor gewählte Prozessor erfasst alle aktualisierten Strukturen der RIO-Verteilerstationen der Knoten, alle Angaben zum Status der Speicher der Knoten und alle Angaben zum Status der Prozessoren der Knoten (Schritt 514). Der NUMA-Hauptprozessor führt dann die offene Firmware aus und erzeugt den Baum mit den Einheiten der offenen Firmware für die ganze NUMA-Maschine (Schritt 515). Anschließend startet der NUMA-Hauptprozessor die NUMA-Maschine so, als ob sie logisch eine riesige SMP-Maschine wäre. Dazu gehört das Laden des Betriebssystems (OS) in den NUMA-Systemspeicher und die Übertragung der Steuerung auf das Betriebssystem (Schritt 516). Der NUMA-Hauptprozessor führt den Betriebssystem-Code aus, um allen untergeordneten NUMA- Prozessoren ihren Bestimmungsort im Betriebssystem zuzuweisen (Schritt 517).
  • Das Verfahren der vorliegenden Erfindung führt eine Übereinstimmung des Speicherinhalts unter den Knoten eines SMP-Systems herbei, bevor die Firmware des Systems ausgeführt wird. Dadurch kann die NUMA-Maschine mit einem übereinstimmenden Inhalt des Systemspeichers gestartet werden, wodurch die Nichtübereinstimmung des Speicherinhalts bei dem herkömmlichen Verfahren mit zwei Arbeitsgängen nach dem Stand der Technik vermieden wird.
  • Es sei ausdrücklich angemerkt, dass die vorliegende Erfindung zwar im Zusammenhang mit einem vollständig funktionsfähigen Datenverarbeitungssystem beschrieben wurde, der Fachmann jedoch versteht, dass die Prozesse der vorliegenden Erfindung auch in Form von einem rechnerlesbaren Datenträger mit Befehlen sowie in vielen verschiedenen anderen Formen vertrieben werden können und dass die vorliegende Erfindung ungeachtet der jeweiligen Art des signaltragenden Mediums, das tatsächlich zum Vertrieb eingesetzt wird, gleichermaßen Anwendung findet. Zu Beispielen für rechnerlesbare Datenträger gehören beschreibbare Datenträger wie zum Beispiel eine Diskette, eine Festplatte, ein Direktzugriffspeicher (RAM), CD-ROMs, DVD-ROMs und Übertragungsmedien wie zum Beispiel digitale und analoge Datenübertragungsverbindungen sowie drahtgebundene oder drahtlose Datenübertragungsverbindungen, die Übertragungsformen wie zum Beispiel Hochfrequenz- und Lichtwellenübertragungen nutzen. Der rechnerlesbare Datenträger kann die Form von codierten Formaten annehmen, die zur tatsächlichen Verwendung in einem bestimmten Datenverarbeitungssystem decodiert werden.

Claims (16)

  1. Verfahren zum Starten einer Maschine mit nichteinheitlichem Speicherzugriff (NUMA-Maschine), das Folgendes umfasst: Konfigurieren (401 bis 403) einer Vielzahl von eigenständigen symmetrischen Mehrprozesssystemen für den Betrieb in einem NUMA-System; Zuweisen (404) einer NUMA-Kennung zu jedem der Mehrprozesssysteme, wobei jede Kennung eindeutig ist; Starten des Mehrprozesssystems im NUMA-Modus in einem Arbeitsgang; dadurch gekennzeichnet, dass das Verfahren des Weiteren die folgenden Schritte umfasst: Laden (407) eines Firmware-Bilds in den lokalen Speicher eines Mehrprozesssystems in einem NUMA-System und Unterrichten (409) einer Hardware-Systemkonsole über die Version der Firmware; Empfangen (410) einer Bestätigung von der Hardware-Systemkonsole, dass die Version der Firmware bei allen Mehrprozesssystemen in dem NUMA-System gleich ist; Konfigurieren (411) von NUMA-Adaptern, um jedes Mehrprozesssystem mit dem NUMA-System zu verbinden, und Initialisieren (413) aller Host-Prozessoren; und Freigeben (415) aller Host-Prozessoren zur Ausführung der System-Firmware.
  2. Verfahren nach Anspruch 1, wobei der Schritt des Konfigurierens der Mehrprozesssysteme des Weiteren Folgendes umfasst: Konfigurieren (401 bis 402) und Prüfen der Host-Prozessoren und des Speichers; und Konfigurieren (403) und Prüfen des NUMA-Speichers.
  3. Verfahren nach Anspruch 1, das des Weiteren Folgendes umfasst: Auswählen (501) eines Knoten-Hauptprozessors in jedem Mehrprozesssystem und Festlegen aller anderen Prozessoren in jedem System als untergeordnete Knotenprozessoren; und Auswählen (511) eines NUMA-Hauptprozessors unter den einzelnen Knoten-Hauptprozessoren und Festlegen aller anderen Knoten-Hauptprozessoren als untergeordnete NUMA-Prozessoren.
  4. Verfahren nach Anspruch 3, das des Weiteren Folgendes umfasst: Durchführen (503) eines Eins-zu-eins-Quittungsaustauschs zwischen dem Knoten-Hauptprozessor und jedem untergeordneten Knotenprozessor in einem Mehrprozesssystem, wobei der Quittungsaustausch das Zeitbasisregister von allen untergeordneten Knotenprozessoren mit der Knoten-Zeitbasisquelle synchronisiert (504); und Schalten (505) der untergeordneten Knotenprozessoren in jedem Mehrprozesssystem in eine Hypervisor-Umgebung, in der die untergeordneten Knotenprozessoren untergeordnete NUMA-Prozessoren werden, wobei die untergeordneten NUMA-Prozessoren uneingeschränkten Zugriff auf die Hardware des Systems haben.
  5. Verfahren nach Anspruch 3, wobei der NUMA-Hauptprozessor: ein einziges Betriebssystem in den Speicher des NUMA-Systems lädt (516); die Steuerung dem Betriebssystem überträgt (516); und den Betriebssystem-Code ausführt (517), der alle untergeordneten Prozessoren einem festgelegten Platz in dem NUMA-Betriebssystem zuordnet.
  6. System zum Starten einer Maschine mit nichteinheitlichem Speicherzugriff (NUMA-Maschine), das Folgendes umfasst: eine Kennungskomponente, die jedem der Mehrprozesssysteme eine NUMA-Kennung zuweist, wobei jede Kennung eindeutig ist; und einen Startmechanismus, der die Mehrprozesssysteme im NUMA-Modus in einem Arbeitsgang startet; eine Vielzahl von Hardware-Konfigurationskomponenten, die eine Vielzahl von eigenständigen symmetrischen Mehrprozesssystemen (200) für den Betrieb in einem NUMA-System konfigurieren, dadurch gekennzeichnet, dass jede Hardware-Konfigurationskomponente Folgendes umfasst: einen Software-Lademechanismus, der ein Firmware-Bild in den lokalen Speicher eines Mehrprozesssystems in einem NUMA-System lädt (407) und eine Hardware-Systemkonsole über die Version der Firmware unterrichtet (409); eine Empfangskomponente, die von der Hardware-Systemkonsole eine Bestätigung empfängt (410), dass die Version der Firmware bei allen Mehrprozesssystemen in dem NUMA-System gleich ist; eine Adapterkonfigurationskomponente, die NUMA-Adapter konfiguriert (411), um jedes Mehrprozesssystem mit dem NUMA-System zu verbinden, und alle Host-Prozessoren initialisiert (413); und einen Freigabemechanismus, der alle Host-Prozessoren zur Ausführung von System-Firmware freigibt (415).
  7. System nach Anspruch 6, das des Weiteren Folgendes umfasst: eine Host-Prüfkomponente, die die Host-Prozessoren und den Speicher konfiguriert (401 bis 402) und prüft; und eine NUMA-Prüfkomponente, die den NUMA-Speicher konfiguriert (403) und prüft.
  8. System nach Anspruch 6, das des Weiteren Folgendes umfasst: eine Vielzahl von Knotenauswahlmechanismen, die einen Knoten-Hauptprozessor in jedem Mehrprozesssystem auswählen (501) und alle anderen Prozessoren in jedem System als untergeordnete Knotenprozessoren festlegen; und einen NUMA-Auswahlmechanismus, der einen NUMA-Hauptprozessor unter den einzelnen Knoten-Hauptprozessoren auswählt (511) und alle anderen Knoten-Hauptprozessoren als untergeordnete NUMA-Prozessoren festlegt.
  9. System nach Anspruch 8, das des Weiteren Folgendes umfasst: einen Quittungsaustausch-Mechanismus, der einen Eins-zu-Eins-Quittungsaustausch zwischen dem Knoten-Hauptprozessor und jedem untergeordneten Knotenprozessor in einem Mehrprozesssystem durchführt, wobei der Quittungsaustausch das Zeitbasisregister von allen untergeordneten Knotenprozessoren mit der Knoten-Zeitbasisquelle synchronisiert (504); und einen Schaltmechanismus, der die untergeordneten Knotenprozessoren in jedem Mehrprozesssystem in eine Hypervisor-Umgebung schaltet (505), in der die untergeordneten Knotenprozessoren untergeordnete NUMA-Prozessoren werden, wobei die untergeordneten NUMA- Prozessoren uneingeschränkten Zugriff auf die Hardware des Systems haben.
  10. System nach Anspruch 8, wobei der NUMA-Hauptprozessor: ein einziges Betriebssystem in den Speicher des NUMA-Systems lädt (516); die Steuerung dem Betriebssystems überträgt (516); und den Betriebssystem-Code ausführt (517), der alle untergeordneten Prozessoren einem festgelegten Platz in dem NUMA-Betriebssystem zuordnet.
  11. System nach Anspruch 8, das des Weiteren Folgendes umfasst: einen Schaltmechanismus, der die untergeordneten Knotenprozessoren in jedem Mehrprozesssystem in eine Hypervisor-Umgebung schaltet, in der die untergeordneten Knotenprozessoren untergeordnete NUMA-Prozessoren werden, wobei die untergeordneten NUMA-Prozessoren uneingeschränkten Zugriff auf die Hardware des Systems haben.
  12. Rechnerprogrammprodukt in einem rechnerlesbaren Datenträger zur Verwendung in einem Datenverarbeitungssystem, um eine Maschine mit nichteinheitlichem Speicherzugriff (NUMA-Maschine) zu starten, wobei das Rechnerprogrammprodukt Folgendes umfasst: Befehle, um eine Vielzahl von eigenständigen symmetrischen Mehrprozesssystemen für den Betrieb in einem NUMA-System zu konfigurieren (401 bis 403); Befehle, um jedem der Mehrprozesssysteme eine NUMA-Kennung zuzuweisen (404), wobei jede Kennung eindeutig ist; und Befehle, um die Mehrprozesssysteme in einem Arbeitsgang im NUMA-Modus zu starten; dadurch gekennzeichnet, dass das Rechnerprogrammprodukt des Weiteren Folgendes umfasst: Befehle, um ein Firmware-Bild in den lokalen Speicher eines Mehrprozesssystems in einem NUMA-System zu laden (407) und um eine Hardware-Systemkonsole über die Version der Firmware zu unterrichten (409); Befehle, um von der Hardware-Systemkonsole eine Bestätigung zu empfangen (410), dass die Version der Firmware bei allen Mehrprozesssystemen in dem NUMA-System gleich ist; Befehle, um NUMA-Adapter zu konfigurieren (411), um jedes Mehrprozesssystem mit dem NUMA-System zu verbinden, und um alle Host-Prozessoren zu initialisieren (413); und Befehle (415), um alle Host-Prozessoren zur Ausführung von System-Firmware freizugeben.
  13. Rechnerprogrammprodukt nach Anspruch 12, das des Weiteren Folgendes umfasst: Befehle, um die Host-Prozessoren und den Speicher zu konfigurieren (401 bis 402) und zu prüfen; und Befehle, um den NUMA-Speicher zu konfigurieren (403) und zu prüfen.
  14. Rechnerprogrammprodukt nach Anspruch 12, das des Weiteren Folgendes umfasst: Befehle, um einen Knoten-Hauptprozessor in jedem Mehrprozesssystem auszuwählen (501) und um alle anderen Prozessoren in jedem System als untergeordnete Knotenprozessoren festzulegen; und Befehle, um einen NUMA-Hauptprozessor unter den einzelnen Knoten-Hauptprozessoren auszuwählen (511) und um alle anderen Knoten-Hauptprozessoren als untergeordnete NUMA-Prozessoren festzulegen.
  15. Rechnerprogrammprodukt nach Anspruch 14, das des Weiteren Folgendes umfasst: Befehle, um einen Eins-zu-Eins-Quittungsaustausch zwischen dem Knoten-Hauptprozessor und jedem untergeordneten Knotenprozessor in einem Mehrprozesssystem durchzuführen, wobei der Quittungsaustausch das Zeitbasisregister von allen untergeordneten Knotenprozessoren mit der Knoten-Zeitbasisquelle synchronisiert (504); und Befehle, um die untergeordneten Knotenprozessoren in jedem Mehrprozesssystem in eine Hypervisor-Umgebung zu schalten (505), in der die untergeordneten Knotenprozessoren untergeordnete NUMA-Prozessoren werden, wobei die untergeordneten NUMA-Prozessoren uneingeschränkten Zugriff auf die Hardware des Systems haben.
  16. Rechnerprogrammprodukt nach Anspruch 14, wobei der NUMA-Hauptprozessor: ein einziges Betriebssystem in den NUMA-Systemspeicher lädt (516); die Steuerung dem Betriebssystem überträgt (516); und den Betriebssystem-Code ausführt (517), der alle untergeordneten Prozessoren einem festgelegten Platz in dem NUMA-Betriebssystem zuordnet.
DE60212422T 2001-04-12 2002-03-21 Verfahren und gerät zur urladung einer "nichtuniformen speicherzugriff-(numa-) maschine" Expired - Lifetime DE60212422T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US833337 2001-04-12
US09/833,337 US6842857B2 (en) 2001-04-12 2001-04-12 Method and apparatus to concurrently boot multiple processors in a non-uniform-memory-access machine
PCT/GB2002/001369 WO2002084478A2 (en) 2001-04-12 2002-03-21 Method and apparatus to boot a non-uniform-memory-access (numa) machine

Publications (2)

Publication Number Publication Date
DE60212422D1 DE60212422D1 (de) 2006-07-27
DE60212422T2 true DE60212422T2 (de) 2006-12-07

Family

ID=25264139

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60212422T Expired - Lifetime DE60212422T2 (de) 2001-04-12 2002-03-21 Verfahren und gerät zur urladung einer "nichtuniformen speicherzugriff-(numa-) maschine"

Country Status (9)

Country Link
US (1) US6842857B2 (de)
EP (1) EP1436696B1 (de)
JP (1) JP3974440B2 (de)
KR (1) KR100690416B1 (de)
AT (1) ATE330277T1 (de)
AU (1) AU2002242857A1 (de)
CA (1) CA2441799A1 (de)
DE (1) DE60212422T2 (de)
WO (1) WO2002084478A2 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137121B2 (en) * 2002-04-19 2006-11-14 Equator Technologies, Inc. Data-processing circuit and method for switching between application programs without an operating system
US7281055B2 (en) * 2002-05-28 2007-10-09 Newisys, Inc. Routing mechanisms in systems having multiple multi-processor clusters
US7350063B2 (en) * 2002-06-11 2008-03-25 Intel Corporation System and method to filter processors by health during early firmware for split recovery architecture
US7167908B2 (en) * 2002-09-27 2007-01-23 Intel Corporation Facilitating operation of a multi-processor system via a resolved symbolic constant
US7254676B2 (en) * 2002-11-15 2007-08-07 Intel Corporation Processor cache memory as RAM for execution of boot code
US7577755B2 (en) * 2002-11-19 2009-08-18 Newisys, Inc. Methods and apparatus for distributing system management signals
US7386626B2 (en) * 2003-06-23 2008-06-10 Newisys, Inc. Bandwidth, framing and error detection in communications between multi-processor clusters of multi-cluster computer systems
US6975954B2 (en) * 2003-06-24 2005-12-13 Intel Corporation Functional testing of logic circuits that use high-speed links
US7395347B2 (en) * 2003-08-05 2008-07-01 Newisys, Inc, Communication between and within multi-processor clusters of multi-cluster computer systems
US7146497B2 (en) * 2003-09-30 2006-12-05 International Business Machines Corporation Scalability management module for dynamic node configuration
US7493435B2 (en) * 2003-10-06 2009-02-17 Intel Corporation Optimization of SMI handling and initialization
JP4451687B2 (ja) 2004-03-22 2010-04-14 株式会社日立製作所 ストレージシステム
JPWO2006001051A1 (ja) * 2004-06-24 2008-04-17 富士通株式会社 マルチプロセッサ装置及びその制御方法
US7895596B2 (en) * 2005-09-13 2011-02-22 Hewlett-Packard Development Company, L.P. Processor assignment in multi-processor systems
JP4963855B2 (ja) * 2006-03-28 2012-06-27 株式会社ソニー・コンピュータエンタテインメント ネットワークコンピューティングシステムおよびマルチプロセッサコンピュータ
US20080052699A1 (en) * 2006-08-02 2008-02-28 Baker Steven T Syncronized dual-processor firmware updates
US20080046705A1 (en) * 2006-08-15 2008-02-21 Tyan Computer Corporation System and Method for Flexible SMP Configuration
US7836293B1 (en) * 2007-05-07 2010-11-16 Force 10 Networks, Inc Accelerated deserialized boot implementation for a multiprocessor system
US7945815B2 (en) * 2007-08-14 2011-05-17 Dell Products L.P. System and method for managing memory errors in an information handling system
EP2189909B1 (de) 2007-09-14 2014-02-12 Fujitsu Limited Informationsverarbeitungseinheit und verfahren zu ihrer steuerung
US7895428B2 (en) * 2007-09-28 2011-02-22 International Business Machines Corporation Applying firmware updates to servers in a data center
US8141093B2 (en) * 2007-11-15 2012-03-20 International Business Machines Corporation Management of an IOV adapter through a virtual intermediary in an IOV management partition
US8141092B2 (en) * 2007-11-15 2012-03-20 International Business Machines Corporation Management of an IOV adapter through a virtual intermediary in a hypervisor with functional management in an IOV management partition
US8141094B2 (en) * 2007-12-03 2012-03-20 International Business Machines Corporation Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions
US8078862B2 (en) * 2008-04-25 2011-12-13 Intel Corporation Method for assigning physical data address range in multiprocessor system
US8359415B2 (en) * 2008-05-05 2013-01-22 International Business Machines Corporation Multi-root I/O virtualization using separate management facilities of multiple logical partitions
US8359459B2 (en) * 2008-05-27 2013-01-22 Oracle America, Inc. Using hardware support to reduce synchronization costs in multithreaded applications
US8144582B2 (en) * 2008-12-30 2012-03-27 International Business Machines Corporation Differentiating blade destination and traffic types in a multi-root PCIe environment
US9535767B2 (en) * 2009-03-26 2017-01-03 Microsoft Technology Licensing, Llc Instantiating a virtual machine with a virtual non-uniform memory architecture
US9529636B2 (en) 2009-03-26 2016-12-27 Microsoft Technology Licensing, Llc System and method for adjusting guest memory allocation based on memory pressure in virtual NUMA nodes of a virtual machine
CN103180819A (zh) * 2010-11-01 2013-06-26 惠普发展公司,有限责任合伙企业 多处理器计算机系统和方法
US10521388B2 (en) * 2018-09-28 2019-12-31 Intel Corporation Multi-uplink device enumeration and management
KR102647127B1 (ko) * 2022-01-13 2024-03-12 엘지전자 주식회사 차량용 디스플레이 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182106B1 (en) * 1993-08-30 2001-01-30 International Business Machines Corporation Method and system for providing a common hardware system console interface in data processing systems
US5642506A (en) * 1994-12-14 1997-06-24 International Business Machines Corporation Method and apparatus for initializing a multiprocessor system
JP2908739B2 (ja) * 1994-12-16 1999-06-21 インターナショナル・ビジネス・マシーンズ・コーポレイション 多重プロセッサ・システムにおけるcpuのモニタリング・システム及び方法
US5970439A (en) * 1997-03-13 1999-10-19 International Business Machines Corporation Performance monitoring in a data processing system
US5938765A (en) * 1997-08-29 1999-08-17 Sequent Computer Systems, Inc. System and method for initializing a multinode multiprocessor computer system
US6240501B1 (en) * 1997-09-05 2001-05-29 Sun Microsystems, Inc. Cache-less address translation
KR100250464B1 (ko) * 1997-11-25 2000-04-01 정선종 고속병렬컴퓨터의 노드 부트 방법
US6178445B1 (en) * 1998-03-31 2001-01-23 International Business Machines Corporation System and method for determining which processor is the master processor in a symmetric multi-processor environment
US6158000A (en) * 1998-09-18 2000-12-05 Compaq Computer Corporation Shared memory initialization method for system having multiple processor capability
US6678741B1 (en) * 1999-04-09 2004-01-13 Sun Microsystems, Inc. Method and apparatus for synchronizing firmware
US6611911B1 (en) * 1999-12-30 2003-08-26 Intel Corporation Bootstrap processor election mechanism on multiple cluster bus system
US6584560B1 (en) * 2000-04-19 2003-06-24 Dell Usa, L.P. Method and system for booting a multiprocessor computer

Also Published As

Publication number Publication date
WO2002084478A3 (en) 2004-04-29
AU2002242857A1 (en) 2002-10-28
WO2002084478A2 (en) 2002-10-24
DE60212422D1 (de) 2006-07-27
JP3974440B2 (ja) 2007-09-12
KR20040068460A (ko) 2004-07-31
ATE330277T1 (de) 2006-07-15
US6842857B2 (en) 2005-01-11
KR100690416B1 (ko) 2007-03-09
US20020152371A1 (en) 2002-10-17
EP1436696A2 (de) 2004-07-14
JP2003006174A (ja) 2003-01-10
EP1436696B1 (de) 2006-06-14
CA2441799A1 (en) 2002-10-24

Similar Documents

Publication Publication Date Title
DE60212422T2 (de) Verfahren und gerät zur urladung einer "nichtuniformen speicherzugriff-(numa-) maschine"
DE3689696T2 (de) Datenverarbeitungssystem mit einem Hauptprozessor und einem Ko-Prozessor mit gemeinsamen Betriebsmitteln.
DE69613423T2 (de) Unterbrechungssystem in einem Mikroprozessor
DE102007012448B4 (de) Ein chipsatz-unabhängiges Verfahren für lokale Aktualisierung und Konfigurierung eines System-BIOS
DE68921775T2 (de) Prozessorssimulation.
DE69827544T2 (de) Datenverarbeitungsgerät und -Verfahren
DE69421755T2 (de) Initialisierung von Mehrfachbus-Netzwerken
DE69620062T2 (de) Datenzugriffimplementierung von Gerätetreiberschnittstelle
DE102021102589A1 (de) Berechnungsgraph-optimierung
DE102012220267B4 (de) Rechenarbeitsverteilungs - Referenzzähler
DE112007001466T5 (de) Behandlung von Adressübersetzungen und Ausnahmen einer Heterogenen Ressource
DE102021106796A1 (de) Techniken zur speicherfehlerisolierung
DE102021114012A1 (de) Intelligente flüssigkeitsgekühlte computer- pods für ein mobiles rechenzentrum
DE102007025397A1 (de) System mit mehreren Prozessoren und Verfahren zu seinem Betrieb
DE2517276A1 (de) Datenverarbeitungssystem
DE3508640A1 (de) Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus
DE102021104970A1 (de) Kooperative parallele speicherzuteilung
DE102021104561A1 (de) Asynchrone datenbewegungspipeline
DE112021002221T5 (de) Intelligentes testen von kühlsystemen in rechenzentren auf serverebene
DE102021103492A1 (de) Anwendungsprogrammierschnittstelle zum beschleunigen von matrixoperationen
DE102021106797A1 (de) Techniken zur orchestrierung von phasen der thread-synchronisation
DE102021105251A1 (de) Konfigurierbarer kühlkörper
DE112019000460T5 (de) Adapter für direkten speicherzugriff
DE102021102746A1 (de) Lese/schreib-seitenreplikation für mehrere recheneinheiten
DE112020007283T5 (de) Dockingboard für eine Multiformat-Grafikverarbeitungseinheit

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)