JP3940397B2 - マルチノード・システムにおけるハードウェア・イベントの集約化 - Google Patents

マルチノード・システムにおけるハードウェア・イベントの集約化 Download PDF

Info

Publication number
JP3940397B2
JP3940397B2 JP2003533136A JP2003533136A JP3940397B2 JP 3940397 B2 JP3940397 B2 JP 3940397B2 JP 2003533136 A JP2003533136 A JP 2003533136A JP 2003533136 A JP2003533136 A JP 2003533136A JP 3940397 B2 JP3940397 B2 JP 3940397B2
Authority
JP
Japan
Prior art keywords
node
event
register
remote
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 - Fee Related
Application number
JP2003533136A
Other languages
English (en)
Other versions
JP2005505053A (ja
Inventor
ラリー、リチャード、エイ
バックス、ダニエル、エイチ
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 JP2005505053A publication Critical patent/JP2005505053A/ja
Application granted granted Critical
Publication of JP3940397B2 publication Critical patent/JP3940397B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

本発明は、一般に、プロセッサやメモリなどを備える2以上のノードが存在するコンピュータ・システムであるマルチノード・コンピュータ・システムに関し、より詳細には、そのようなシステムのノードによって生成されるハードウェア・イベントの管理に関する。
コンピュータ・システムでは、様々なハードウェアが、処理する必要のあるイベントを生成する。例えば、ACPI(拡張構成および電源インターフェース(advanced configuration and power interface))仕様は、電源管理/構成機構を提供する。ACPI互換ハードウェアを含むACPI互換コンピュータ・システムでは、内部および外部イベントに応答して、システム自身が電源をオン、オフすることができ、特定のハードウェア要素を電力監視点(powervantage point)から管理することもできる。低電力モード(low-power mode)にあるネットワーク・カードは、例えば、接続されているネットワークからデータ・パケットを受信したときに、イベントを生成することができ、低電力モードから抜け出すことができる。このイベントは、ネットワーク・カードがその一部を成すコンピュータ・システムによって受信され、その結果、例えば、コンピュータ・システムは、それまで入っていた低電力モードから抜け出すことができる。別のタイプのイベントに、ホットプラグ(hot-plug)・イベントがあり、このイベントは、システム稼動中にハードウェア・カードがコンピュータ・システムに挿入されたり、コンピュータ・システムから取り外されたりした場合に発生する。
ACPIイベント、ならびにその他のタイプのハードウェア・イベントの不都合な点は、それらのイベントが、イベントを発生させたハードウェアをその一部として含むコンピュータ・システムによってイベント処理が行われると想定していることである。すなわち、ハードウェア・イベントはしばしば、マルチノード・システム非認識(multi-node system unaware)のアーキテクチャに基づいて定められ、したがって、当該アーキテクチャをシングルノード・システムであると想定する。マルチノード・コンピュータ・システムには、自身のプロセッサやメモリなどを備えた複数のノードが存在しており、それらに処理が分散される。さらに、ACPIイベント・ハードウェアを実装するチップセット自体が、一般にはマルチノード非認識である。ACPI対応のオペレーティング・システムは一般に、システム内にはACPIイベント・ハードウェアのインスタンスが1つだけ存在するものと想定し、また大抵は複製ACPIイベント・ハードウェアを認識しない。
したがって、現在のハードウェア・イベント処理アーキテクチャはしばしば、マルチノード・コンピュータ・システムのある遠隔ノード内で生成されたイベントはそのノードによって処理されると想定している。例えば、システムの一次すなわちブート・ノードがイベントの通知を受信する機構も存在せず、このノードがイベントを操作し、遠隔ノードにイベントをどのように処理すべきか指示する機構も存在しない。オペレーティング・システムにどのノードでイベントが発生したかを通知するために、標準的なACPIイベント・ハードウェアによって提供される機構も存在しない。これは問題と言えるが、このようになったのは、ハードウェアを操作するためのオペレーティング・システムの方針が、システム全体でACPIイベント・ハードウェアのインスタンスは1つであると想定しているためである。しかし、この想定は、標準的なACPIイベント・ハードウェアに基づいて設計されたマルチノード・システムについては当てはまらない。ここで説明した理由、およびその他の理由のため、本発明が必要とされている。
本発明は、マルチノード・システムにおけるハードウェア・イベントの集約化に関する。本発明の方法では、遠隔ノードで発生したイベントが、遠隔ノードのファームウェアが一次ノードの第1のレジスタに書き込みを行うことによって、一次ノードに転送される。イベントは、一次ノードの第1のレジスタから一次ノードの第2のレジスタに伝達される。それに自動的に応答して、一次ノードで割り込みが生成される。割り込みの生成に応答して、一次ノードの割り込みハンドラが、遠隔ノードで発生したイベントを処理するために、一次ノードでコードを呼び出す。
本発明のマルチノード・システムは、一次ノードと1つまたは複数の遠隔ノードを含む。一次ノードは、互いに通信可能に結合された第1のレジスタと第2のレジスタを備える。第2のレジスタは、一次ノードのイベント用に通常は予約されている。一次ノードは、イベントを処理するためのマルチノード非認識コードも含み、このコードは、第1のレジスタから第2のレジスタへのイベントの転送に応答して生成される割り込みに応答して呼び出される。イベントは遠隔ノードで発生して、一次ノードの第1のレジスタに転送され、イベントの最終的な処理は一次ノードによって行われる。イベントは、一次ノードの第1のレジスタから第2のレジスタに自動的に伝達される。
本発明の製造物品は、コンピュータ可読媒体および媒体中の手段を含む。この手段は、一次ノードの第1のレジスタに書き込まれたイベントを一次ノードの第2のレジスタに自動的に伝達して、遠隔ノードで発生したイベントを第1のレジスタから第2のレジスタに転送するためのものである。第2のレジスタへの書き込みに自動的に応答して、一次ノードで割り込みが生成される。前記手段は、イベントを処理するために、割り込みの生成に応答して、一次ノードでコードを呼び出すためのものでもある。本発明のその他の特徴および利点は、本発明の現在のところ好ましい実施形態の以下の詳細な説明を、添付の図面と併せ読むことにより明らかとなるであろう。
概要
図1には、本発明の好ましい実施形態による方法100が示されている。方法100の機能を、製造物品のコンピュータ可読媒体中の手段として実施することができる。例えば、コンピュータ可読媒体を、記録可能データ記憶媒体または変調搬送波信号(modulated carrier signal)とすることができる。方法100の各部分は、破線106で分割された列102および列104によってそれぞれ示される、マルチノード・システムの遠隔ノードおよび一次すなわちブート・ノードで実行される。
ハードウェア・イベントは最初、遠隔ノードで発生する(108)。ハードウェア・イベントは、ホットプラグ・イベントなどのACPI(拡張構成および電源インターフェース)イベント、あるいは別のタイプのハードウェア・イベントまたは他のイベントとすることができる。イベントは、遠隔ノードでPMI(プラットフォーム管理割り込み(platform management interrupt))などの割り込みを生成する(110)。具体的には、割り込みルータ(interruptrouter)などの遠隔ノードのコンポーネントが、割り込みを生成する。割り込みの生成に応答して、ファームウェアの割り込みハンドラ(firmwareinterrupt handler)がイベントを検出し、遠隔ノード上で呼び出される(112)。ファームウェアの割り込みハンドラは、イベントを一次ノードの第1のレジスタに書き込むことによって、イベントを遠隔ノードから一次ノードに転送する(114)。例えば、遠隔ノードのファームウェアのPMIハンドラは、イベントを一次ノードのGPIO(汎用入出力)レジスタ(generalpurpose input/output register)に転送することができる。
一次ノードでは、第1のレジスタへのイベントの書き込みに自動的に応答して、一次ノードの第1のレジスタの出力と第2のレジスタの入力とを直接接続したコネクションを介して、イベントが伝達される(116)。第2のレジスタは好ましくは、遠隔ノードで発生したイベント用にではなく、一次ノードで発生したイベント用に通常は予約されている。このようにして、方法100は、第2のレジスタなど、一次ノードで発生したイベント専用に通常は使用される一次ノードのレジスタを利用する。ACPIイベントの場合、第2のレジスタは、こうしたイベント用に予約されているGPE(汎用イベント)レジスタ(general purpose event register)とすることができる。第2のレジスタへのイベントの書き込みによって、一次ノードでSCI(システム構成割り込み(systemconfiguration interrupt))割り込みなどの割り込みが生成される(118)。
一次ノードでの割り込みの生成によって、コードが呼び出される(120)。このコードは、前記割り込みを最終的に発生させる元となったイベントを処理するためのものである。例えば、ACPIイベントの場合、当該コードをオペレーティング・システム(OS)のACPIドライバとすることができる。イベントが一次ノードで生成されたものではないことをコードが認識しない点で、このコードはマルチノード非認識である。このようにして、方法100は、標準ACPIドライバなどの標準的なドライバを使用することができ、したがって、一次ノード以外のノードで発生したイベントに対応できるように、これらのドライバを書き換える必要はない。
前記コードは、イベントを処理するために特定のプロセスを呼び出す(122)。このプロセスはこれまでとは異なり、マルチノード認識(multi-node aware)であり、具体的には一次ノード以外のノードで発生したイベントに対応できるように設計される。例えば、このプロセスをAML(ACPIマシン語)メソッド(ACPIMachine Language method)とすることができる。AMLはコンパクトな、トークン化された(tokenize)、抽象マシン語である。このプロセスは、遠隔ノードにイベントを処理するための適切な指示を出し(124)、イベントはこの指示に従って遠隔ノードで処理される(126)。例えば、プロセスは、コントローラやその他のハードウェアなど、イベントが発生したハードウェアを遠隔操作する。
背景技術
図2には、イベント・アーキテクチャ200の一例が示されており、それに基づき本発明の実施形態を実施することができる。アーキテクチャ200は、具体的にはACPIイベント用とし、シングルノード・システムに関して説明されるが、本発明の実施形態に従ってマルチノード・システムに拡張することができる。プラットフォーム・ハードウェア202は、ACPIイベントを生成するコントロール・カードおよびその他のタイプのハードウェアを含む。ハードウェア202は、その設定を、例えば、一種のファームウェアであるBIOS(基本入出力システム)204から受信することができる。OS非依存のコンポーネント206は、ACPIレジスタ208、ACPI BIOS210、およびACPIテーブル212を含む。ACPIレジスタ208は、詳細な説明の前のセクションで説明した第2のレジスタを含む。ACPI BIOS210は、一種のファームウェアであり、ハードウェア202のACPI設定を記録することができる。ACPIテーブル212は、ACPIドライバ/AMLインタプリタ(ACPI driver and AML interpreter)216によって使用される、ハードウェア202へのインターフェースを記述する。
ACPIドライバ/AMLインタプリタ216は好ましくは、ACPIドライバによって呼び出されて遠隔ノード・イベントを処理する、詳細な説明の前のセクションで説明したプロセスを含むか、またはそのようなプロセスにアクセスすることができる。ACPIドライバは一般に、所与のOSにとって標準的なものであり、AMLで記述されたプロセスの解釈および構文解析を行うためのAMLインタプリタを含む。すなわち、プロセスは非標準的であり、遠隔ノード・イベントのような所与の状況に特化したものとすることができるが、ACPIドライバ自体は一般に標準的なものである。ACPIドライバ/AMLインタプリタ216は、プラットフォーム・ハードウェア202のために、OSのデバイス・ドライバ214と対話を行う。デバイス・ドライバは、ハードウェアをOSにつなげるソフトウェア・ルーチンである。
さらに、デバイス・ドライバ214およびACPIドライバ/AMLインタプリタ216は、OSカーネル218と対話を行う。カーネルは、ふつうメモリ内に常駐し、基本サービスを提供するOSの基本部分である。カーネルは、ハードウェアに最も近いOSの部分であり、一般にデバイス・ドライバ214とインターフェースをとることによってハードウェアを活動化する。カーネル218の上に、コンピュータ・システム上で動作するアプリケーション・プログラム222が存在する。カーネル218は、電源管理サービスを提供し管理するために設計されたOSの一部である、OSPM(OS電源管理)システム・コード(OS power management system code)220とも対話を行う。
図3には、マルチノード・システム300の一例が示されており、それに関して本発明の実施形態を実施することができる。マルチノード・システム300は、相互接続306を介して相互接続された複数のノード302a、302b、...、302nを含む。ノードの1つは一次すなわちブート・ノードであり、その他のノードはこの一次ノードにとって遠隔ノードである。ノードの各々は、1つまたは複数のCPU(中央処理装置)、または揮発性もしくは不揮発性メモリ、あるいはその両方、およびハードディスク・ドライブやフロッピー(R)ディスク・ドライブなどの1つまたは複数の記憶装置のうちのどれかまたはすべてを任意選択で含むことができる。例えば、ノード302aは、CPU308、メモリ312、サービス・プロセッサ310、および記憶装置314を有する。同様に、ノード302bは、CPU316、サービス・プロセッサ318、メモリ320、および記憶装置322を有する。最後に、ノード302nは、CPU324、サービス・プロセッサ326、メモリ328、および記憶装置330を有する。
遠隔ノードのハードウェア・イベントの一次すなわちブート・ノードへの集約化
図4は、本発明の一実施形態によってハードウェア・イベントがどのように遠隔ノードから一次すなわちブート・ノードに集約化されるかを示したフローチャート400である。チャート400は、遠隔ノードNとも呼ばれる第1の遠隔ノード402によって実行される機能と、一次すなわちブート・ノード404によって実行される機能とに分かれている。第1の遠隔ノード402によって実行される機能は、一次ノード404によって実行される機能から、破線406によって分けられている。遠隔ノード402以外の他の遠隔ノードを含むこともできる。
チャート400は、第1の遠隔ノード402で発生したイベントの一次ノード404への集約化または合体化(coalescing)に関して描かれている。あるイベントが、線414で示すようにノード402のホットプラグ・コントローラ412で発生する。このイベントをホットプラグACPIイベントとする。コントローラ412はハードウェア・カードのノード402への挿入およびノード402からの取り外しを検出する。前記イベントがノード402の割り込みルータ416によって検出され、それに応答して、割り込みルータが、線418で示すようにPMI割り込みを生成する。この割り込みの生成に応答して、ノード402のPMI割り込みハンドラ420は最初に、線422で示すようにPMI割り込みを無効化する。割り込みハンドラ420は次に、一次ノード404のGPIOレジスタ426にイベントを書き込むことによって、線424で示すようにイベントを一次ノードに通知する。
一次ノード404のGPIOレジスタ426にイベントを書き込むと、線428に示すように、そのイベントは一次ノード404のGPEレジスタ430に自動的に転送される。これは、GPIOレジスタ426がGPEレジスタ430に少なくとも通信可能に結合され、好ましくは直接接続されるためである。GPEレジスタ430へのイベントの書き込みによって、線432に示すようにSCI割り込みが生成される。OSの割り込みハンドラ434がSCI割り込みを処理し、それに応答して、ノード404のACPIドライバ438が、線436に示すように呼び出される。ドライバ438は、それに応答して、線442に示すようにAMLメソッド444を呼び出す。AMLメソッド444は、遠隔ハードウェア・イベントを処理するように特殊化されており、一方、ドライバ438は好ましくは、遠隔ハードウェア・イベントを処理するように修正されていない標準的なACPIドライバとする。同様に、GPEレジスタ430は、ローカル・ハードウェア・イベントを処理するのに通常使用されるACPIレジスタとする。
AMLメソッド444は最初、線446に示すようにコントローラ412を操作して、コントローラ412で発生した遠隔イベントを処理する。この処理が行われると、AMLメソッド444は、線448に示すようにホットプラグ・イベントを消去し、線450に示すようにPMI割り込みを再有効化する。AMLメソッド444は最後に、線452に示すようにイベントの処理が完了したことをドライバ438に通知し、線440に示すようにGPEレジスタ430からイベントを消去する。このようにして、第1の遠隔ノード402のホットプラグ・コントローラ412で生成されたホットプラグ・イベントが、レジスタ430と、これ以外の通常の場合は一次ノードのイベント用に使用されるマルチノード非認識のドライバ438とを利用して当該イベントを処理するために、ブート・ノード404に集約化される。これは、一次ノード404以外のノードのイベント用に予約されたレジスタとしてレジスタ426を使用することによって、またマルチノード認識のメソッド444を備えることによって達成される。言い換えれば、ドライバ438はマルチノード非認識コードであるが、メソッド444はマルチノード認識プロセスである。遠隔ノード402以外の他の遠隔ノードも同様の方式で処理される。
図5には、本発明の一実施形態によるマルチノード・システム500が示されており、このシステム内で図4のフローチャート400を実施することができる。システム500は一次ノード502を含み、一次ノードは、図5には示されていない相互接続を介すなどして、複数の遠隔ノード510a、510b、...、510nに通信可能に結合される。例えば、一次ノード502を図4のブート・ノード404とすることができ、一方、図4の遠隔ノード402を遠隔ノード510a、510b、...、510nの1つとすることができる。
一次ノード502は、好ましくはマルチノード非認識のオペレーティング・システムのイベント・ドライバ504と、好ましくはマルチノード認識のメソッド512とを含む。ドライバ504を図4のACPIドライバ438とすることができ、一方、メソッド512を図4のメソッド444とすることができる。ドライバ504は、一次ノード502で生成されたイベントに対して標準化されており、遠隔ノード510a、510b、...、510nで生成されたイベントに対してはそうでないという点で、マルチノード非認識である。一次ノード502はレジスタ506およびレジスタ508を含み、それぞれ図4のGPEレジスタ430およびGPIOレジスタ426を含むことができる。レジスタ506は好ましくは、一次ノード502で発生したハードウェア・イベント用に通常は予約されており、一方、レジスタ508は好ましくは、遠隔ノード510a、510b、...、510nで発生したイベント用に予約されている。
したがって、システム500内では、遠隔ノード510a、510b、...、510nで生成されたイベントは、転送先として予約されているレジスタ508に転送される。それに自動的に応答して、次にこのイベントは、レジスタ508からレジスタ506に転送されて、一次ノード502でのハードウェア・イベント用に通常は予約されているレジスタ506が使用される。レジスタ508は好ましくは、レジスタ506に直接接続されるが、レジスタ508は少なくとも、レジスタ506に通信可能に結合される。マルチノード非認識であるためイベントが一次ノード502で生成されたと認識しているドライバ504は次に、メソッド512を呼び出す。メソッド512はマルチノード認識であるので、イベントを適切に操作し処理することができる。このようにして、マルチノード非認識のドライバ504が、マルチノード・システム500内でも利用できるようになる。
従来技術を上回る利点
本発明の実施形態は、従来技術を上回る利点を提供する。本発明は、本発明を用いなければマルチノード認識でもマルチノード操作可能(multi-node operable)でもないアーキテクチャ内で、遠隔ノードのハードウェア・イベントを一次すなわちブート・ノードに合体化または集約化することを可能にする。こうした集約化は、当該アーキテクチャの一次ノードのドライバを必ずしも書き換える必要なく達成され、これらのドライバが通常は一次ノードのイベント用に参照するレジスタを使用して達成される。したがって、ACPIイベントなどのハードウェア・イベントの集約化は、ACPI仕様から逸脱することなく、またACPI準拠のドライバを変更することなく、達成することができる。
代替実施形態
本明細書では説明のために本発明の具体的な実施形態を説明してきたが、本発明の主旨および範囲から逸脱することなく様々な修正を施し得ることは理解されよう。例えば、本発明は実質的に、ホットプラグ・イベントなどのACPIハードウェア・イベントに関して説明された。しかし、本発明自体は、そのようなイベントに制限されるものではない。例えば、本発明は、その他のタイプのイベント、およびその他のタイプのハードウェア・イベントにも適合可能である。
別の例として、本発明は実質的に、他の通常の場合は一次ノードで生成されたイベント用に予約されたマルチノード非認識のドライバとある種のレジスタ群とに関して説明された。しかし、本発明自体は、そのようなものに制限されるものではない。例えば、本発明は、特別に記述されたマルチノード認識のドライバにも適合可能であり、そうしたドライバは、マルチノード・システムのすべての遠隔ノードが使用するためにパーティション分割されたある種のレジスタ群を精査することができる。すなわち、ドライバによって直接読み取られるレジスタ群は、マルチノード・システムで使用するためにパーティションに分割することができ、本発明が実質的に説明されたように、一次ノードで使用するために通常は予約されることがない。したがって、本発明の保護の範囲は、添付の特許請求の範囲およびその均等物によってのみ制限される。
登録特許の第1ページに記載するよう推奨された、本発明の好ましい実施形態による方法のフローチャートである。 本発明の実施形態を実施することができる、例示的なハードウェア・イベント・アーキテクチャの図である。 本発明の実施形態を実施することができる、マルチノード・システムの一例の図である。 本発明の一実施形態による、図3のマルチノード・システムなどのマルチノード・システム内で行われる、図2のイベント・アーキテクチャなどに関するイベントの転送および処理の全体フローを詳細に示した図である。 本発明の一実施形態によるマルチノード・システム、特にその一次ノードのレジスタの図である。

Claims (8)

  1. 遠隔ノードで発生したイベントを前記遠隔ノードから一次ノードに、前記遠隔ノードのファームウェアが前記一次ノードの第1のレジスタ(508)に書き込みを行うことによって、転送するステップ(114)と、
    前記イベントを前記一次ノードの前記第1のレジスタから前記一次ノードの第2のレジスタ(506)に伝達するステップ(116)と、
    前記一次ノードの前記第2のレジスタへの書き込みに自動的に応答して、前記一次ノードで割り込みを生成するステップ(118)と、
    前記遠隔ノードで発生した前記イベントを処理するために、前記割り込みの発生に応答して、前記一次ノードの割り込みハンドラによって、前記一次ノードでコードを呼び出すステップ(120)とを含み、
    前記一次ノードの前記第2のレジスタが、前記一次ノードのイベント用に通常は予約されており、前記一次ノードで呼び出すコードが、複数のノードを別個に扱わないマルチノード非認識である方法。
  2. 遠隔ノードで発生したイベントを前記遠隔ノードから一次ノードに、前記遠隔ノードのファームウェアが前記一次ノードの第1のレジスタ(508)に書き込みを行うことによって、転送するステップ(114)と、
    前記イベントを前記一次ノードの前記第1のレジスタから前記一次ノードの第2のレジスタ(506)に伝達するステップ(116)と、
    前記一次ノードの前記第2のレジスタへの書き込みに自動的に応答して、前記一次ノードで割り込みを生成するステップ(118)と、
    前記遠隔ノードで発生した前記イベントを処理するために、前記割り込みの発生に応答して、前記一次ノードの割り込みハンドラによって、前記一次ノードでコードを呼び出すステップ(120)とを含み、
    前記一次ノードの前記第2のレジスタが、前記一次ノードと前記遠隔ノードを含むすべてのノードのイベント用に予約されており、前記一次ノードで呼び出すコードが、複数のノードを別個に扱うマルチノード認識である方法。
  3. 前記遠隔ノードで発生した前記イベントを処理するために、前記コードの呼び出しに応答して、前記一次ノードの前記コードによって、前記一次ノードで複数のノードを別個に扱うプロセスであるマルチノード認識プロセス(512)を呼び出すステップをさらに含む、請求項1または2に記載の方法。
  4. 前記遠隔ノードで発生した前記イベントに自動的に応答して、前記遠隔ノードで遠隔割り込みを生成するステップ(110)をさらに最初に含み、前記遠隔割り込みの生成が、前記遠隔ノードの割り込みハンドラに、前記一次ノードの前記第1のレジスタに書き込みを行うことによって、前記イベントを前記一次ノードに転送させる、請求項1ないしのいずれかに記載の方法。
  5. 前記遠隔ノードのハードウェアでイベントを生成するステップをさらに最初に含み、前記イベントの生成が、前記遠隔ノードの割り込みルータに、前記遠隔ノードで発生した前記イベントに自動的に応答して、前記遠隔ノードで遠隔割り込みを生成させる、請求項に記載の方法。
  6. 前記遠隔ノードで発生した前記イベントおよび前記一次ノードの少なくともいくつかのイベントが、非同期ハードウェア・イベント(asynchronous hardware event)を含む、請求項1ないしのいずれかに記載の方法。
  7. 請求項1ないしのいずれかに記載の方法を実行するためのマルチノード・コンピュータ・システム。
  8. コンピュータに
    請求項1ないしのいずれかに記載の方法を実行させるコンピュータ・プログラム
JP2003533136A 2001-10-01 2002-09-26 マルチノード・システムにおけるハードウェア・イベントの集約化 Expired - Fee Related JP3940397B2 (ja)

Applications Claiming Priority (2)

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
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
JP2005505053A JP2005505053A (ja) 2005-02-17
JP3940397B2 true JP3940397B2 (ja) 2007-07-04

Family

ID=25514747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003533136A Expired - Fee Related JP3940397B2 (ja) 2001-10-01 2002-09-26 マルチノード・システムにおけるハードウェア・イベントの集約化

Country Status (8)

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

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889277B2 (en) * 2002-04-18 2005-05-03 Sun Microsystems, Inc. System and method for dynamically tuning interrupt coalescing parameters
US6988156B2 (en) * 2002-04-18 2006-01-17 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
US10365987B2 (en) 2017-03-29 2019-07-30 Google Llc Synchronous hardware event collection
US9875167B1 (en) 2017-03-29 2018-01-23 Google Inc. Distributed hardware tracing
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
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
US6247077B1 (en) 1998-02-06 2001-06-12 Ncr Corporation Highly-scalable parallel processing computer system architecture
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
CN1561493A (zh) 2005-01-05
EP1449097B1 (en) 2008-01-02
ATE382898T1 (de) 2008-01-15
TWI235920B (en) 2005-07-11
US20030065853A1 (en) 2003-04-03
EP1449097A4 (en) 2007-02-28
EP1449097A1 (en) 2004-08-25
WO2003029999A1 (en) 2003-04-10
JP2005505053A (ja) 2005-02-17
US6988155B2 (en) 2006-01-17
CN1303545C (zh) 2007-03-07
DE60224438T2 (de) 2009-01-22
DE60224438D1 (de) 2008-02-14

Similar Documents

Publication Publication Date Title
JP3940397B2 (ja) マルチノード・システムにおけるハードウェア・イベントの集約化
US6480972B1 (en) Data processing system and method for permitting a server to remotely perform diagnostics on a malfunctioning client computer system
KR0167818B1 (ko) 버스 중재 시스템, 버스 중재 회로, 버스 중재 방법 및 데이타 전송 방법
US7890812B2 (en) Computer system which controls closing of bus
US20050246455A1 (en) I/O handling in generic USB rivers
US10684880B2 (en) Allocating and initializing I/O devices at virtual
US5937200A (en) Using firmware to enhance the functionality of a controller
JPH04318654A (ja) マイクロプロセッサへの割り込みのリダイレクションシステム
WO2018040494A1 (zh) 一种扩展处理器指令集的方法及装置
US20080276027A1 (en) Interrupt control apparatus, bus bridge, bus switch, image processing apparatus, and interrupt control method
US11449456B2 (en) System and method for scheduling sharable PCIe endpoint devices
US5968174A (en) Method and apparatus for implementing a 32-bit operating system which supports 16-bit code
US20100169069A1 (en) Composite device emulation
WO2018209513A1 (zh) 操作硬盘的方法和硬盘管理器
US20070150683A1 (en) Dynamic memory buffer allocation method and system
US7028132B2 (en) Distributed peer-to-peer communication for interconnect busses of a computer system
CN107168815A (zh) 一种收集硬件错误信息的方法
US6931465B1 (en) Intelligent, extensible SIE peripheral device
US6687744B1 (en) Data processing system and method for permitting a server computer system to function as a virtual keyboard to a client computer system
JP3189894B2 (ja) 仮想計算機システム
CN117971135A (zh) 存储设备的访问方法、装置、存储介质和电子设备
JP2003330871A (ja) データ転送装置
JPH05242006A (ja) メモリ制御方式
JPS61269545A (ja) 計算機システム
JP2003345515A (ja) ディスク制御装置、ストレージシステム、及びその制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060809

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070330

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120406

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130406

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130406

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140406

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees