DE60224438T2 - Aggregation von hardwareereignissen in mehrfach knotensystemen - Google Patents

Aggregation von hardwareereignissen in mehrfach knotensystemen Download PDF

Info

Publication number
DE60224438T2
DE60224438T2 DE60224438T DE60224438T DE60224438T2 DE 60224438 T2 DE60224438 T2 DE 60224438T2 DE 60224438 T DE60224438 T DE 60224438T DE 60224438 T DE60224438 T DE 60224438T DE 60224438 T2 DE60224438 T2 DE 60224438T2
Authority
DE
Germany
Prior art keywords
node
remote
event
primary
primary node
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
DE60224438T
Other languages
English (en)
Other versions
DE60224438D1 (de
Inventor
Richard A. c/o IBM U Winchester LARY
Daniel H. Portland BAX
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
Application granted granted Critical
Publication of DE60224438D1 publication Critical patent/DE60224438D1/de
Publication of DE60224438T2 publication Critical patent/DE60224438T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Description

  • Diese Erfindung bezieht sich allgemein auf Mehrfachknoten-Computersysteme, bei denen es sich um Computersysteme mit mehr als einem Knoten handelt, der einen Prozessor, Speicher usw. aufweist, und insbesondere auf das Abwickeln von Hardwareereignissen, die von den Knoten solcher Systeme erzeugt werden.
  • In einem Computersystem werden von verschiedener Hardware Ereignisse erzeugt, die abgewickelt werden müssen. Beispielsweise stellt die erweiterte Konfigurations- und Energieschnittstellen-(ACPI, Advanced-Configuration-and-Power Interface-)Spezifikation eine Energieverwaltung und einen Konfigurationsmechanismus bereit. In ACPI-kompatiblen Computersystemen mit ACPI-kompatibler Hardware können die Systeme selbst in Reaktion auf interne und externe Ereignisse ein- und ausgeschaltet werden, und die jeweiligen Hardwareeinheiten können auch in energetischer Hinsicht gesteuert werden. Eine Netzwerkkarte in einem Energiespar-Modus kann beispielsweise ein Ereignis erzeugen, wenn sie ein Datenpaket von dem Netzwerk empfängt, an das sie angeschlossen ist, und aus dem Energiespar-Modus erwachen. Dieses Ereignis wird von dem Computersystem empfangen, in dem die Netzwerkkarte Bestandteil ist, sodass das Computersystem beispielsweise selbst einen Energiespar-Modus verlassen kann, in den es vorher eingetreten ist. Eine andere Ereignisart stellt das Hot-Plug-Ereignis dar, das von einer Hardwarekarte erzeugt wird, die in das Computersystem im eingeschalteten Zustand eingesetzt oder entfernt wird.
  • Ein Nachteil von ACPI-Ereignissen sowie anderer Arten von Hardwareereignissen besteht darin, dass sie von der Abwicklung dieser Ereignisse durch das Computersystem ausgehen, von dem die Hardware, die die Ereignisse erzeugt hat, Bestandteil ist. D. h., Hardwareereignisse werden oft gemäß einer Architektur festgelegt, die das Mehrknotensystem nicht erkennt, und deshalb annimmt, dass die Architektur ein Einzelknotensystem darstellt. In Mehrfachknoten-Computersystemen ist eine Anzahl von Knoten vorhanden, die jeweils ihre eigenen Prozessoren, Speicher usw. aufweisen, auf die die Verarbeitung verteilt wird. Des Weiteren sind die Chipsätze, die ACPI-Ereignishardware realisieren, typischerweise nicht für Mehrfachknoten ausgelegt. Betriebssysteme, die ACPI unterstützen, setzen allgemein eine Einzelinstanz der ACPI-Ereignishardware in dem System voraus und erkennen üblicherweise keine kopierte ACPI-Ereignishardware.
  • Derzeitige Architekturen zur Abwicklung von Hardwareereignissen setzen deshalb häufig voraus, dass die in einem bestimmten entfernten Knoten eines Mehrfachknoten-Computersystems erzeugten Ereignisse von diesem Knoten abgewickelt werden. Es gibt beispielsweise weder einen Mechanismus für einen primären System- oder Systemstartknoten, eine Nachricht von dem Ereignis zu empfangen, noch für diesen Knoten, das Ereignis abzuwickeln und an den entfernten Knoten zu leiten, je nachdem wie das Ereignis verarbeitet werden muss. Auch die normale ACPI-Ereignishardware stellt keinen Mechanismus zum Informieren eines Betriebssystems darüber bereit, an welchem Knoten ein Ereignis eingetreten ist. Dies ist problematisch, da die Betriebssystem-Strategien zum Verwalten von Hardware dann eine Einzelinstanz der ACPI-Hardware für das gesamte System annehmen. Diese Annahme gilt jedoch nicht für ein Mehrknotensystem, das um die normale ACPI-Ereignishardware herum aufgebaut ist. Aus diesen beschriebenen sowie anderen Gründen besteht ein Bedarf nach der vorliegenden Erfindung.
  • Die US-Patentschrift Nr. 6 247 091 beschreibt ein System zum Übertragen von Interrupts zwischen Knoten eines Mehrfachknoten-Computersystems.
  • Die vorliegende Erfindung stellt ein Verfahren bereit, wie es in Anspruch 1 beansprucht wird.
  • Bevorzugte Eigenschaften und Vorzüge der Erfindung werden aus der folgenden ausführlichen Beschreibung der zurzeit bevorzugten Ausführungsform der Erfindung in Verbindung mit den beigefügten Zeichnungen hervorgehen.
  • 1 stellt ein Flussdiagramm eines Verfahrens gemäß einer bevorzugten Ausführungsform der Erfindung dar.
  • 2 stellt eine Übersichtsdarstellung einer beispielhaften Hardwareereignis-Architektur dar, mit der eine Ausführungsform der Erfindung realisiert werden kann.
  • 3 stellt eine Übersichtsdarstellung eines beispielhaften Mehrknotensystems dar, mit dem eine Ausführungsform der Erfindung umgesetzt werden kann.
  • 4 stellt eine Übersichtsdarstellung dar, die den Gesamtfluss der Ereignisleitung und -Verarbeitung, wie z. B. in Verbindung mit der Ereignisarchitektur in 2, innerhalb eines Mehrknotensystems, wie z. B. das System aus 3, gemäß einer Ausführungsform der Erfindung zeigt.
  • 5 stellt ein Schaltbild eines Mehrknotensystems und insbesondere der Register seines Primärknotens gemäß einer Ausführungsform der Erfindung dar.
  • 1 zeigt ein Verfahren 100 gemäß einer bevorzugten Ausführungsform der Erfindung. Die Funktionalität des Verfahrens 100 kann als Mittel in einem computerlesbaren Medium eines Herstellungsartikels realisiert werden. Beispielsweise kann es sich bei dem computerlesbaren Medium um ein beschreibbares Datenspeichermedium oder ein moduliertes Trägersignal handeln. Teile des Verfahrens 100 werden an einem entfernten Knoten und an einem primären oder Systemstartknoten eines Mehrknotensystems ausgeführt, wie es durch die Spalten 102 bzw. 104 angegeben wird, die durch die gestrichelte Linie 106 getrennt werden.
  • Ein Hardwareereignis tritt zuerst an dem entfernten Knoten (108) ein. Bei dem Hardwareereignis kann es sich um ein erweitertes Konfigurations- und Energieschnittstellen-(ACPI)Ereignis wie z. B. ein Hot-Plug-Ereignis, eine andere Art von Hardwareereignis oder ein anderes Ereignis handeln. Das Ereignis erzeugt einen Interrupt an dem entfernten Knoten (110), wie z. B. einen Plattformverwaltungs-Interrupt (PMI, Platform Management Interrupt). Ein Bestandteil des entfernten Knotens erzeugt eigens den Interrupt, wie z. B. ein Interrupt-Leitwegrechner. Reagierend auf die Erzeugung des Interrupt erkennt eine Firmware-Unterbrechungsroutine das Ereignis und wird am entfernten Knoten (112) eingeleitet. Die Firmware-Unterbrechungsroutine leitet das Ereignis von dem entfernten Knoten an den Primärknoten, indem das Ereignis in ein erstes Register des Primärknotens (114) geschrieben wird. Beispielsweise kann eine Firmware-PMI-Routine des entfernten Knotens das Ereignis an ein Ein-/Ausgabe-Mehrzweck-(GPIO)Register des Primärknotens leiten.
  • An dem Primärknoten wird das Ereignis als automatische Reaktion auf den Schreibvorgang in das erste Register über eine direkte Verbindung des Ausgangs des ersten Registers zum Eingang eines zweiten Registers des Primärknotens (116) geleitet. Das zweite Register ist vorzugsweise für Ereignisse reserviert, die am Primärknoten eintreten und nicht für Ereignisse am entfernten Knoten. Auf diese Weise nutzt das Verfahren 100 vorteilhaft die Register des Primärknotens wie z. B. das zweite Register, die normalerweise nur für Ereignisse am Primärknoten verwendet werden. Im Fall von ACPI-Ereignissen kann es sich bei dem zweiten Register um ein Mehrzweckereignis-(GPE, General Purpose Event)Register handeln, das für solche Ereignisse reserviert ist. Der Schreibvorgang des Ereignisses in das zweite Register löst einen Interrupt aus, der am Primärknoten (118) erzeugt wird, wie z. B. ein Systemkonfigurations-(SCI)Interrupt.
  • Die Erzeugung des Interrupt am Primärknoten führt ihrerseits zum Ausführen eines Codes (120). Der Code wird zum Abwickeln des Ereignisses verwendet, das den Interrupt zuletzt ausgelöst hat. Beispielsweise kann es sich im Fall von ACPI-Ereignissen bei dem Code um den ACPI-Treiber des Betriebssystems (BS) handeln. Es ist möglich, dass der Code keine weiteren Knoten berücksichtigt, sodass der Code selbst nicht erkennt, dass das Ereignis nicht am Primärknoten selbst erzeugt wurde. Auf diese Weise ist das Verfahren 100 in der Lage, Standardtreiber wie z. B. normale ACPI-Treiber zu verwenden und erfordert deshalb keine Neuprogrammierung dieser Treiber, um die an anderen Knoten als dem Primärknoten eintretenden Ereignisse aufzunehmen.
  • Der Code leitet selbst einen bestimmten Prozess zum Abwickeln des Ereignisses ein (122). Der Prozess berücksichtigt umgekehrt keine weiteren Knoten und ist dazu ausgelegt, speziell Ereignisse aufzunehmen, die an anderen Knoten als dem Primärknoten eintreten. Beispielsweise kann es sich bei dem Code um ein ACPI-Maschinensprache-(AML)Verfahren handeln, wobei AML eine kompakte, in Zeichen übersetzte und abstrakte Maschinensprache ist. Der Prozess weist den entfernten Knoten entsprechend an, das Ereignis zu verarbeiten (124), sodass das Ereignis über diese Anweisung am entfernten Knoten verarbeitet wird. Beispielsweise kann der Prozess die Hardware wie z. B. eine Steuereinheit oder eine andere Hardware, an der das Ereignis eingetreten ist, entfernt manipulieren.
  • 2 zeigt eine beispielhafte Ereignisarchitektur 200, gemäß der Ausführungsformen der Erfindung realisiert werden können. Die Architektur 200 ist speziell für ACPI-Ereignisse ausgelegt und wird mit Bezug auf ein Einzelknotensystem beschrieben, das dann mittels Ausführungsformen der Erfindung zu einem Mehrknotensystem erweitert werden kann. Die Plattform-Hardware 202 beinhaltet Steuerungskarten und andere Arten von Hardware, die ACPI-Ereignisse erzeugen. Die Hardware 202 kann ihre Einstellungen beispielsweise von einem grundlegenden Ein-/Ausgabesystem (BIOS) 204 empfangen, bei dem es sich um eine Art von Firmware handelt. BS-unabhängige Komponenten 206 enthalten ACPI-Register 208, ein ACPI-BIOS 210 und ACPI-Tabellen 212. Die ACPI-Registern 208 können die zweiten Register enthalten, die im vorangehenden Abschnitt der ausführlichen Beschreibung beschrieben wurden. Das ACPI-BIOS 210 stellt eine Art von Firmware dar und kann die ACPI-Einstellungen der Hardware 202 speichern. Die ACPI-Tabellen 212 beschreiben die Schnittstellen zur Hardware 202, damit sie vom ACPI-Treiber und AML-Übersetzer 216 verwendet werden können.
  • Der ACPI-Treiber und der AML-Übersetzer 216 enthalten vorzugsweise oder haben Zugriff auf den Prozess, der im vorangehenden Abschnitt der ausführlichen Beschreibung beschrieben wurde und durch den ACPI-Treiber zum Verarbeiten eines Ereignisses an einem entfernten Knoten eingeleitet wird. Der ACPI-Treiber gehört typischerweise zum Standard eines bestimmten Betriebssystems und enthält einen AML-Übersetzer zum Übersetzen und Analysieren von Prozessen, die in AML geschrieben wurden. D. h., während die Prozesse nichtstandardisiert und für eine bestimmte Situation wie z. B. Ereignisse an entfernten Knoten ausgelegt sein können, ist der ACPI-Treiber selbst typischerweise standardisiert. Der ACPI-Treiber und der AML-Übersetzer 216 Wechselwirken mit dem BS-Einheitentreiber 214 für die Plattform-Hardware 202. Bei einem Einheitentreiber handelt es sich um eine Softwareroutine, die die Hardware mit dem BS verbindet.
  • Darüber hinaus Wechselwirken sowohl der Einheitentreiber 214 als auch der ACPI-Treiber und der AML-Übersetzer 216 mit dem BS-Kern 218. Ein Kern stellt einen grundlegender Bestandteil des Betriebssystems dar, der sich üblicherweise ständig im Speicher befindet und grundlegende Dienste bereitstellt. Er stellt den Teil des Betriebssystems dar, der sich der Hardware am nächsten befindet und aktiviert typischerweise die Hardware, indem er eine Schnittstelle mit dem Einheitentreiber 214 bildet. Über dem Kern 218 befinden sich Anwendungsprogramme 222, die auf dem Computersystem ausgeführt werden. Der Kern 218 wechselwirkt mit dem BS-Energieverwaltungs-(BSPM)Systemcode 220, bei dem es sich um den Teil des Betriebssystems handelt, der zum Bereitstellen und Überwachen der Energieverwaltungsdienste ausgelegt ist.
  • 3 zeigt ein Beispiel eines Mehrknotensystems 300, mit dem Ausführungsformen der Erfindung umgesetzt werden können. Das Mehrknotensystem 300 beinhaltet eine Anzahl von Knoten 302a, 302b, ..., 302n, die über eine Verbindung 306 zusammengeschaltet werden. Einer der Knoten stellt einen primären oder Systemstartknoten und die anderen Knoten entfernte Knoten dieses Primärknotens dar. Jeder der Knoten kann ferner optional eines oder alles des Folgenden enthalten: eine oder mehrere Zentraleinheiten (CPU) und/oder flüchtigen oder nichtflüchtigen Speicher und eine oder mehrere Speichereinheiten wie z. B. Festplatten-Laufwerke, Diskettenlaufwerke usw. Beispielsweise sind am Knoten 302a eine CPU 308, ein Speicher 312, ein Dienstprozessor 310 und eine Speichereinheit 314 vorhanden. Gleichermaßen sind am Knoten 302b eine CPU 316, ein Dienstprozessor 318, ein Speicher 320 und eine Speichereinheit 322 vorhanden. Schließlich weist der Knoten 302n eine CPU 314, einen Dienstprozessor 326, einen Speicher 328 und eine Speichereinheit 330 auf.
  • 4 stellt ein Flussdiagramm 400 dar, das veranschaulicht, wie eine Ausführungsform Hardwareereignisse von entfernten Knoten zu einem primären oder Systemstartknoten zusammenführt. Das Diagramm 400 ist nach der Funktionalität unterteilt, die von einem ersten Knoten 402, der als entfernter Knoten N bezeichnet wird, und einem primären oder Systemstartknoten 404 ausgeführt wird. Die vom ersten entfernten Knoten 402 ausgeführte Funktionalität ist von der vom primären Knoten 404 ausgeführten Funktionalität durch die gestrichelte Linie 406 getrennt.
  • Das Diagramm 400 wird mit Hinblick auf die Zusammenführung oder Vereinigung eines Ereignisses des ersten entfernten Knotens 402 zum Primärknoten 404 beschrieben. Ein Ereignis tritt an einer Hot-Plug-Steuereinheit 412 des Knotens 402 ein, wie es durch die Linie 414 gekennzeichnet ist. Bei dem Ereignis handelt es sich um ein Hot-Plug-ACPI-Ereignis. Die Steuereinheit 412 erkennt das Einstecken und Entfernen von Hardware-Karten in den und aus dem Knoten 402. Das Ereignis wird von einem Interrupt-Leitwegrechner 416 des Knotens 402 festgestellt, der in Reaktion darauf einen PMI-Interrupt erzeugt, wie es von der Linie 418 gekennzeichnet wird. Die PMI-Unterbrechungsroutine 420 des Knotens 402 schaltet den PMI-Interrupt in Reaktion auf die Erzeugung dieses Interrupt zunächst aus, was mit der Linie 422 gekennzeichnet wird. Die Unterbrechungsroutine 420 signalisiert das Ereignis dann dem Primärknoten 404, indem das Ereignis in ein GPIO-Register 426 des Primärknotens 404 geschrieben wird, wie es von der Linie 424 gekennzeichnet wird.
  • Der Schreibvorgang des Ereignisses in das GPIO-Register 426 des Primärknotens 404 leitet das Ereignis automatisch zu einem GPE-Register 430 des Primärknotens 404 weiter, wie es mit der Linie 428 angegeben ist. Dies beruht darauf, dass das GPIO-Register 426 zumindest mit dem GPE-Register 430 in Verbindung steht und vorzugsweise direkt verbunden ist. Der Schreibvorgang des Ereignisses in das GPE-Register 430 führt zum Erzeugen eines SCI-Interrupt, was von der Linie 432 gekennzeichnet wird. Die BS-Unterbrechungsroutine 434 wickelt den SCI-Interrupt ab und löst in Reaktion darauf die Anforderung des ACPI-Treibers 438 des Knotens 404 aus, was von der Linie 436 gekennzeichnet wird. Der Treiber 438 leitet daraufhin das AML-Verfahren 444 ein, was mit der Linie 442 angegeben wird. Das AML-Verfahren 444 ist besonders zum Abwickeln von entfernten Hardwareereignissen ausgelegt, während der Treiber 438 vorzugsweise einen normalen, unveränderten ACPI-Treiber zum Abwickeln von entfernten Hardwareereignissen darstellt. Ähnlich handelt es sich beim GPE-Register 430 um ein ACPI-Register, das normalerweise zum Abwickeln von lokalen Hardwareereignissen verwendet wird.
  • Das AML-Verfahren 444 manipuliert zuerst die Steuereinheit 412, wie es mit der Linie 446 gekennzeichnet ist, um das entfernte Ereignis abzuwickeln, das an der Steuereinheit 412 ausgelöst wurde. Nachdem dies stattgefunden hat, löscht es das Hot-Plug-Ereignis, wie es von der Linie 448 angegeben wird, und gibt den PMI-Interrupt wieder frei, wie es von der Linie 450 angegeben wird. Schließlich benachrichtigt es den Treiber 438, dass die Verarbeitung des Ereignisses abgeschlossen wurde, was von der Linie 452 angegeben wird, und das Ereignis aus dem GPE-Register 430 gelöscht wurde, was mit der Linie 440 gekennzeichnet wird. Auf diese Weise wird das an der Hot-Plug-Steuereinheit 412 des ersten entfernten Knotens 402 erzeugte Hot-Plug-Ereignis zum Systemstartknoten 404 zusammengeführt, um dort verarbeitet zu werden, was das Register 430 und den Treiber 438 unterstützt, die nicht für mehrere Knoten ausgelegt sind und ansonsten normalerweise für Ereignisse am Primärknoten verwendet werden. Dies wird erreicht, indem das Register 426 so verwendet wird, als ob es für Ereignisse von anderen Knoten als des Primärknotens 404 reserviert wäre, und ein Verfahren 444 vorhanden ist, das mehrere Knoten unterstützt. Der Treiber 438 stellt mit anderen Worten einen Code ohne Mehrfachknoten-Erkennung und das Verfahren 444 einen Prozess mit Mehrfachknoten-Erkennung dar. Mit anderen entfernten Knoten neben dem entfernten Knoten 402 wird auf dieselbe Weise verfahren.
  • 5 zeigt ein Mehrknotensystem 500 gemäß einer Ausführungsform der Erfindung, in der das Flussdiagramm aus 4 umgesetzt werden kann. Das System 500 enthält einen Primärknoten 502, der zum Datenaustausch mit einer Anzahl von entfernten Knoten 510a, 510b, ..., 510n verbunden ist, wie z. B. über eine in 5 nicht gezeigte Verbindung. Beispielsweise kann es sich bei dem Primärknoten 502 um den Systemstartknoten 404 aus 4 handeln, während der entfernte Knoten 402 aus 4 von einem der entfernten Knoten 510a, 510b, ..., 510n dargestellt wird.
  • Der Primärknoten 502 enthält einen Betriebssystem-Ereignistreiber 504, der vorzugsweise nicht für mehrere Knoten ausgelegt ist, und ein Verfahren 512, das vorzugsweise für mehrere Knoten ausgelegt ist. Bei dem Treiber 504 kann es sich um den ACPI-Treiber 438 aus 4 handeln, während es sich bei dem Verfahren 512 um das Verfahren 444 aus 4 handeln kann. Der Treiber 504 unterstützt insofern keine weiteren Knoten, als er für Ereignisse standardisiert ist, die im Gegensatz zu den entfernten Knoten 510a, 510b, ..., 510n am Primärknoten 502 erzeugt werden. Der Primärknoten 502 enthält Register 506 und 508, die jeweils das GPE-Register 430 und das GPIO-Register 426 aus 4 enthalten können. Vorzugsweise sind die Register 506 normalerweise für die Hardwareereignisse reserviert, die am Primärknoten 502 selbst erzeugt werden, während die Register 508 vorzugsweise für die an den entfernten Knoten 510a, 510b, ..., 510n erzeugten Ereignisse reserviert sind.
  • Deshalb werden innerhalb des Systems 500 die an den entfernten Knoten 510a, 510b, ..., 510n erzeugten Ereignisse an die Register 508 weitergeleitet, die für diesen Zweck reserviert sind. Die Ereignisse werden dann als Antwort darauf automatisch von den Registern 508 an die Register 506 geleitet, was die Verwendung der Register 506 unterstützt, die normalerweise für Hardwareereignisse am Primärknoten 502 reserviert sind. Vorzugsweise sind die Register 508 direkt mit den Registern 506 und die Register 508 wenigstens mit den Registern 506 zum Datenaustausch verbunden. Der Treiber 504, der annehmen kann, dass die Ereignisse am Primärknoten 502 erzeugt wurden, da er nicht für mehreren Knoten ausgelegt ist, leitet dann das Verfahren 512 ein. Da das Verfahren 512 mehrere Knoten unterstützt, kann es die Ereignisse ordnungsgemäß handhaben und verarbeiten. Auf diese Weise wird der Treiber 504, der nicht für mehrere Knoten ausgelegt ist, zur Verwendung innerhalb des Mehrknotensystems 500 unterstützt.
  • Bevorzugte Ausführungsformen der Erfindung bieten Vorzüge gegenüber dem Stand der Technik wie z. B. die Möglichkeit der Vereinigung oder Zusammenführung entfernter Hardwareereignisse zu einem primären oder Systemstartknoten innerhalb einer Architektur, die ansonsten nicht für mehrere Knoten ausgelegt ist oder mehrere Knoten funktionsmäßig unterstützt. Eine solche Zusammenführung wird ausgeführt, ohne dass die Primärknoten-Treiber der Architektur neu geschrieben werden müssen, und wird erreicht, indem die Register verwendet werden, auf die sich die Treiber für Primärknoten-Ereignisse normalerweise beziehen. Auf diese Weise kann die Zusammenführung von Hardwareereignissen wie z. B. ACPI-Ereignissen erreicht werden, ohne von der ACPI-Spezifikation abzuweichen und die ACPI-konformen Treiber zu verändern.
  • Ferner wurde die Erfindung im Wesentlichen mit Bezug auf ACPI-Ereignisse wie z. B. Hot-Plug-Ereignisse beschrieben. Die Erfindung selbst ist jedoch nicht derart eingeschränkt. Beispielsweise kann die Erfindung auf andere Ereignisarten und andere Arten von Hardwareereignissen angepasst werden.
  • Des Weiteren wurde die Erfindung im Wesentlichen mit Bezug auf die Treiber und bestimmte Register beschrieben, die nicht mehrere Knoten unterstützen oder ansonsten zur Verwendung mit Ereignissen am Primärknoten reserviert sind. Die Erfindung selbst ist jedoch nicht derart beschränkt. Beispielsweise kann die Erfindung an spezielle Treiber angepasst werden, die mehrere Knoten erkennen und dann bestimmte Register prüfen können, die zur Verwendung durch alle entfernten Knoten eines Mehrknotensystems unterteilt wurden. D. h., die direkt vom Treiber gelesenen Register selbst können zur Verwendung des Mehrknotensystems unterteilt werden und sind normalerweise nicht zur Verwendung durch den Primärknoten reserviert, wie es für die Erfindung im Wesentlichen beschrieben wurde.

Claims (7)

  1. Verfahren, das Folgendes umfasst: Befördern (114) eines Ereignisses, das an einem entfernten Knoten eintritt, von dem entfernten Knoten zu einem Primärknoten durch eine Firmware des entfernten Knotens, die einen Schreibvorgang in das erste Register (508) des Primärknotens ausführt; Leiten (116) des Ereignisses von dem ersten Register des Primärknotens an ein zweites Register (506) des Primärknotens; Erzeugen (118) eines Interrupt an dem Primärknoten in Reaktion auf das Schreiben in das zweite Register des Primärknotens; und, Aufrufen (120) eines Codes an dem Primärknoten zum Abwickeln des Ereignisses, das an dem entfernten Knoten auftritt, durch eine Unterbrechungssteuerroutine des Primärknotens in Reaktion auf die Erzeugung des Interrupt; dadurch gekennzeichnet, dass: es ferner das Einleiten eines Prozesses (512) am Primärknoten umfasst, der mehrere Knoten berücksichtigt, um das am entfernten Knoten aufgetretene Ereignis durch den Code des Primärknotens in Reaktion auf das Anfordern des Codes abzuwickeln; und worin das zweite Register des Primärknotens normalerweise für Ereignisse des Primärknotens vorgesehen ist, und der Code am Primärknoten keine weiteren Knoten berücksichtigt.
  2. Verfahren nach Anspruch 1, worin das zweite Register des Primärknotens für Ereignisse aller Knoten einschließlich des primären und entfernten Knotens vorgesehen ist, und der Code am Primärknoten mehrere Knoten berücksichtigt.
  3. Verfahren nach einem der vorangehenden Ansprüche, welches ferner das anfängliche Erzeugen (110) eines entfernten Interrupt an dem entfernten Knoten als automatische Reaktion auf das Ereignis umfasst, das am entfernten Knoten auftritt, wobei das Erzeugen des entfernten Interrupt eine Unterbrechungsroutine des entfernten Knotens zum Weiterleiten des Ereignisses an den Primärknoten veranlasst, indem ein Schreibvorgang in das erste Register des Primärknotens ausgeführt wird.
  4. Verfahren nach Anspruch 3, das ferner das anfängliche Erzeugen eines Ereignisses an der Hardware des entfernten Knotens umfasst, wobei das Erzeugen des Ereignisses eine Unterbrechungsroutine des entfernten Knotens zum Erzeugen des entfernten Interrupt am entfernten Knoten als automatische Reaktion auf das Ereignis einleitet, das an dem entfernten Knoten auftritt.
  5. Verfahren nach einem der vorangehenden Ansprüche, wobei das Ereignis an dem entfernten Knoten und wenigstens manche der Ereignisse des Primärknotens asynchrone Hardwareereignisse umfassen.
  6. Mehrfachknoten-Computersystem, das Befehle enthält, die beim Ausführen durch das Computersystem dieses zum Ausführen aller Verfahrensschritte des Verfahrens veranlassen würde, das von irgendeinem der Ansprüche 1 bis 5 festgelegt wird.
  7. Artikel, der ein computerlesbares Medium umfasst, das Befehle enthält, die beim Ausführen durch ein Mehrfachknoten-Computersystem dieses zum Ausführen aller Verfahrensschritte des Verfahrens veranlassen würde, das von irgendeinem der Ansprüche 1 bis 5 festgelegt wird.
DE60224438T 2001-10-01 2002-09-26 Aggregation von hardwareereignissen in mehrfach knotensystemen Expired - Lifetime DE60224438T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/968,768 US6988155B2 (en) 2001-10-01 2001-10-01 Aggregation of hardware events in multi-node systems
US968768 2001-10-01
PCT/US2002/030967 WO2003029999A1 (en) 2001-10-01 2002-09-26 Aggregation of hardware events in multi-node systems

Publications (2)

Publication Number Publication Date
DE60224438D1 DE60224438D1 (de) 2008-02-14
DE60224438T2 true DE60224438T2 (de) 2009-01-22

Family

ID=25514747

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60224438T Expired - Lifetime DE60224438T2 (de) 2001-10-01 2002-09-26 Aggregation von hardwareereignissen in mehrfach knotensystemen

Country Status (8)

Country Link
US (1) US6988155B2 (de)
EP (1) EP1449097B1 (de)
JP (1) JP3940397B2 (de)
CN (1) CN1303545C (de)
AT (1) ATE382898T1 (de)
DE (1) DE60224438T2 (de)
TW (1) TWI235920B (de)
WO (1) WO2003029999A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6988156B2 (en) * 2002-04-18 2006-01-17 Sun Microsystems, Inc. System and method for dynamically tuning interrupt coalescing parameters
US6889277B2 (en) * 2002-04-18 2005-05-03 Sun Microsystems, Inc. System and method for dynamically tuning interrupt coalescing parameters
US7197587B2 (en) * 2002-06-19 2007-03-27 Hewlett-Packard Development Company, L.P. Systems-events core for monitorings system events for a cellular computer system within a parent computer system, system-event manager for monitoring system events for more than one cellular computer system, and related system and method
US7305508B2 (en) * 2003-10-22 2007-12-04 Hewlett-Packard Development Company, L.P. Semaphoring system between system firmware and hardware manipulation subsystem
US7254726B2 (en) * 2003-11-10 2007-08-07 Dell Products L.P. System and method for managing system events by creating virtual events in an information handling system
US7752371B2 (en) * 2003-12-29 2010-07-06 Broadcom Corporation System and method for interrupt abstraction
US7496929B2 (en) * 2004-05-28 2009-02-24 Intel Corporation Performance of operations on a hardware resource through integral interpretive execution
US20060047878A1 (en) * 2004-08-25 2006-03-02 Zilavy Daniel V GPE register block
US7389297B1 (en) * 2004-09-02 2008-06-17 Sun Microsystems, Inc. Method for exit negotiation with aggregate application descendents
US8745124B2 (en) * 2005-10-31 2014-06-03 Ca, Inc. Extensible power control for an autonomically controlled distributed computing system
JP4960066B2 (ja) * 2006-11-15 2012-06-27 株式会社東芝 情報処理装置、および情報処理装置の制御方法
US7949813B2 (en) * 2007-02-06 2011-05-24 Broadcom Corporation Method and system for processing status blocks in a CPU based on index values and interrupt mapping
CN102495792A (zh) * 2011-11-04 2012-06-13 杭州中天微系统有限公司 在线调试多事件控制和实时监视的接口装置
US9940272B1 (en) 2015-04-09 2018-04-10 Juniper Networks, Inc. Hardware-based handling of missing interrupt propagation
US9886332B2 (en) 2015-05-04 2018-02-06 International Business Machines Corporation Storage and application intercommunication using ACPI
US9875167B1 (en) 2017-03-29 2018-01-23 Google Inc. Distributed hardware tracing
US10365987B2 (en) 2017-03-29 2019-07-30 Google Llc Synchronous hardware event collection
TWI733284B (zh) * 2019-12-24 2021-07-11 瑞昱半導體股份有限公司 硬體設定裝置及其硬體設定方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5165018A (en) 1987-01-05 1992-11-17 Motorola, Inc. Self-configuration of nodes in a distributed message-based operating system
JPH0268632A (ja) * 1988-09-05 1990-03-08 Toshiba Corp 割込み制御装置
US5282272A (en) * 1990-12-21 1994-01-25 Intel Corporation Interrupt distribution scheme for a computer bus
US5282271A (en) * 1991-10-30 1994-01-25 I-Cube Design Systems, Inc. I/O buffering system to a programmable switching apparatus
JP3177117B2 (ja) 1994-05-11 2001-06-18 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 複数のノード内の制御コードを更新する方法および装置
JPH07311752A (ja) 1994-05-11 1995-11-28 Internatl Business Mach Corp <Ibm> 分散データ処理システム及び初期プログラムロード方法
US5842026A (en) * 1996-07-01 1998-11-24 Sun Microsystems, Inc. Interrupt transfer management process and system for a multi-processor environment
US5968189A (en) * 1997-04-08 1999-10-19 International Business Machines Corporation System of reporting errors by a hardware element of a distributed computer system
US6247091B1 (en) * 1997-04-28 2001-06-12 International Business Machines Corporation Method and system for communicating interrupts between nodes of a multinode computer system
US6055643A (en) 1997-09-25 2000-04-25 Compaq Computer Corp. System management method and apparatus for supporting non-dedicated event detection
US6247077B1 (en) 1998-02-06 2001-06-12 Ncr Corporation Highly-scalable parallel processing computer system architecture
US6256740B1 (en) 1998-02-06 2001-07-03 Ncr Corporation Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric
US6219742B1 (en) 1998-04-29 2001-04-17 Compaq Computer Corporation Method and apparatus for artificially generating general purpose events in an ACPI environment
US6148361A (en) * 1998-12-17 2000-11-14 International Business Machines Corporation Interrupt architecture for a non-uniform memory access (NUMA) data processing system
US6272618B1 (en) * 1999-03-25 2001-08-07 Dell Usa, L.P. System and method for handling interrupts in a multi-processor computer
US6457135B1 (en) 1999-08-10 2002-09-24 Intel Corporation System and method for managing a plurality of processor performance states
US6691234B1 (en) * 2000-06-16 2004-02-10 Intel Corporation Method and apparatus for executing instructions loaded into a reserved portion of system memory for transitioning a computer system from a first power state to a second power state

Also Published As

Publication number Publication date
EP1449097B1 (de) 2008-01-02
US20030065853A1 (en) 2003-04-03
CN1561493A (zh) 2005-01-05
JP2005505053A (ja) 2005-02-17
JP3940397B2 (ja) 2007-07-04
US6988155B2 (en) 2006-01-17
EP1449097A4 (de) 2007-02-28
ATE382898T1 (de) 2008-01-15
EP1449097A1 (de) 2004-08-25
TWI235920B (en) 2005-07-11
CN1303545C (zh) 2007-03-07
WO2003029999A1 (en) 2003-04-10
DE60224438D1 (de) 2008-02-14

Similar Documents

Publication Publication Date Title
DE60224438T2 (de) Aggregation von hardwareereignissen in mehrfach knotensystemen
DE19900345B4 (de) Schnittstellenmodul für einen Universellen Seriellen Bus (USB) zur Verbindung mit einem USB über eine Programmierschnittstelle für eine USB-Funktion und Vorrichtung zum Anschluß an einen universellen seriellen Bus
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE19900290B4 (de) Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung
DE60125112T2 (de) PCI-Arbiter mit unter Spannung stellbarer Steuerungsunterstützung
DE60215833T2 (de) Mehrkanalschnittstelle für die kommunikation zwischen einrichtungen
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
DE2856483C2 (de)
DE19580707C2 (de) PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus
DE19914210B4 (de) Verfahren und Prozessor für eine gestaffelte Ausführung einer Anweisung
DE102015117019B4 (de) Serielle Peripherieschnittstellen-Kettenkommunikation mit rahmengebundener Antwort
DE102007012054B4 (de) Mehrmasterverkettungszweidrahtseriellbus
DE3725343A1 (de) Vielzweck-kanalsteuersystem
DE1549523B2 (de) Datenverarbeitungsanlage
DE19900369A9 (de) Vorrichtung und Verfahren zur Ausführung einer Steuerübertragung auf einem Universal Serial Bus
DE2411963B2 (de) Datenverarbeitungsanlage
DE4244266A1 (de)
EP0743595A2 (de) Kommunikationssystem mit Mitteln zum Austausch von Software
WO2005073865A2 (de) Vorrichtung zur datenübertragung zwischen speichern
DE4035837A1 (de) Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation
DE112007001135T5 (de) Gemeinschaftliche Nutzung von Daten durch Partitionen in einem partitionierbaren System
DE112021003094T5 (de) System und verfahren zum planen von gemeinsam nutzbaren pcie-endpunktvorrichtungen
DE102005041312A1 (de) Speicherzugriff auf virtuelles Targetgerät
DE19882975B4 (de) Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus
DE602004008060T2 (de) Usb host controller mit speicher für transferdeskriptoren

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8332 No legal effect for de
8370 Indication related to discontinuation of the patent is to be deleted
8364 No opposition during term of opposition