(57)【要約】【課題】  ランタイム中にシステム局所性情報を収集し、動的に更新する方法および装置を提供する。【解決手段】  本発明は、オペレーティングシステムに提供するシステム局所性情報をブート時に収集する。システム局所性情報は、統合された処理システム内の装置間の距離を記述する。次に、統合された処理システム内の装置間の距離を潜在的に変更する可能性があるトリガイベントが発生したことをオペレーティングシステムに通知する。この通知を受け取ると、オペレーティングシステムは、ランタイム中に、更新されたシステム局所性情報を提供するアドバンストコンフィグレーションアンドパワーインタフェース（ＡＣＰＩ）制御メソッドを呼び出して、トリガイベント発生後の、統合された処理システム内の装置間の距離の変化を反映する。【選択図】図３
2005056404.tif 000002
【特許請求の範囲】
【請求項１】
ランタイム中に、更新されたシステム局所性情報（３００）（ＳＬＩ）を提供する方法であって、
ブート時に、オペレーティングシステムに提供する統合された処理システム内の装置間の距離を記述したシステム局所性情報（３００）を収集すること（４０２）と、
前記システム局所性情報（３００）を潜在的に変更するトリガイベントが発生したことを前記オペレーティングシステムに通知すること（４０６）と、
前記オペレーティングシステムからの要求を受けて、ランタイム中に、更新されたシステム局所性情報（３００）を前記オペレーティングシステムに提供することであって、前記更新されたシステム局所性情報（３００）は、前記トリガイベント（５０６）の発生後の前記統合された処理システム内の装置間の距離を反映していることと
を含む更新されたシステム局所性情報を提供する方法。
【請求項２】
システム局所性情報（３００）テーブル（ＳＬＩＴ）を作成すること（５０２）
をさらに含み、
該ＳＬＩＴ（３００）には、ブート時に収集された装置の距離が入っている
請求項１記載の更新されたシステム局所性情報を提供する方法。
【請求項３】
前記オペレーティングシステムに前記追加を通知することは、前記ＳＬＩＴ（３００）を更新させるプロセス（５０４）を、前記オペレーティングシステムに呼び出させる
請求項２記載の更新されたシステム局所性情報を提供する方法。
【請求項４】
前記ＳＬＩＴ（３００）の前記更新のデータは、アドバンストコンフィグレーションアンドパワーインタフェース（ＡＣＰＩ）オブジェクトの呼び出しを受けて、前記オペレーティングシステムに提供される
請求項３記載の更新されたシステム局所性情報を提供する方法。
【請求項５】
前記ＡＣＰＩオブジェクトは＿ＳＬＩである
請求項４記載の更新されたシステム局所性情報を提供する方法。
【請求項６】
前記トリガイベントは、装置のオンライン追加に基づく（４０８）
請求項１記載の更新されたシステム局所性情報を提供する方法。
【請求項７】
前記オンライン追加の前記通知は、バスチェック通知を通してのものである（４０８）
請求項６記載の更新されたシステム局所性情報を提供する方法。
【請求項８】
前記トリガイベント（５０６）は、プロセッサ装置のオンライン削除に基づく（４１０）
請求項１記載の更新されたシステム局所性情報を提供する方法。
【請求項９】
前記オンライン削除の前記通知は、イジェクト要求通知を通してのものである（４１０）
請求項８記載の更新されたシステム局所性情報を提供する方法。
【請求項１０】
前記トリガイベントは、前記統合された処理システムのオンライン再構成に基づき（４１２）、
該オンライン再構成は、前記統合された処理システム内の装置間の距離に影響する
請求項１記載の更新されたシステム局所性情報を提供する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的にコンピュータシステムに関し、特にマルチプロセッサシステムの更新されたシステム局所性情報を動的に提供するシステムおよび方法に関する。
【０００２】
本願は、２００３年８月５日出願の、Dong Weiによる「System Locality Information Runtime Update on Itanium Processor Family Systems」と題する米国仮出願第６０／４９３，０２８号からの優先権を請求するものである。
さらに、本願は、２００１年４月２５日に出願され、本発明と同じ譲受人に譲渡された、発明者：Larry McMahan、Steven Roth、James Kleeb、およびGuy Kuntzによる「Allocating computer resources for efficient use by a program」と題する米国非仮出願第０９／８４２，２６９号に関連する。
【背景技術】
【０００３】
最近のコンピュータシステムはますます大型かつ複雑になっている。
大型コンピュータシステムの一例は、対称型多重処理（ＳＭＰ）アーキテクチャに基づいたマルチプロセッサ・マルチノードシステムである。
従来技術の図１に、ＳＭＰをベースとしたシステムの一例を示す。
従来技術の図１に示すように、典型的なＳＭＰシステム１００は、メモリ１０４へのアクセスに同じバス１０２を共有する複数のＣＰＵ（たとえば、ＣＰＵ０、ＣＰＵ１、ＣＰＵ２、ＣＰＵ３）を備えることができる。
本例では、ＣＰＵはＬ３キャッシュ１０６および入出力（Ｉ／Ｏ）モジュール１０８も共有する。
ＳＭＰをベースとしたシステムは、比較的少数のＣＰＵの場合にはうまく機能する。
しかし、システムが多数の（たとえば、１２基の）ＣＰＵを備える場合、共有されるバス１０２に問題が生じる。
【０００４】
ＳＭＰアーキテクチャを使用するシステムの制約を克服するように設計された代替のアーキテクチャは、非均等メモリアクセスシステム、またはＮＵＭＡである。
【０００５】
従来技術の図２に、ＮＵＭＡをベースとしたシステムアーキテクチャの一例を示す。
図２に示すように、このＮＵＭＡベースアーキテクチャの例では、システム２００中の各ノードは単純に４プロセッサＳＭＰシステム（たとえば、ＣＰＵ２０２〜２０８およびＣＰＵ２１０〜２１６）である。
ノード中の各ＣＰＵはＬ１およびＬ２キャッシュ（ここに示さず）を備え、Ｌ３キャッシュ２１８または２２０、およびメモリ２２２または２２４を共有する。
さらに、各ノード２２６〜２２８内のＣＰＵは、Ｉ／Ｏ装置２２３０または２３２、およびリモートキャッシュ２３４または２３６を共有することができる。
【０００６】
ノードは、システム内のあらゆるバイトが各ＣＰＵから同じ距離を有するメモリの領域である。
ノードのより一般的な定義は、同じバス上に物理的に配置されたブロックメモリＣＰＵ、および装置等である。
【０００７】
定義上、ＮＵＭＡベースのシステムでは、メモリの領域によっては、他の領域よりも長いアクセス時間を要するものがある。
これは、現在実行中のプロセスに関して、このプロセス中に使用される可能性がある、メモリまたは装置のいくつかのエリアに格納されているデータが、他のノードに常駐することによるものである場合がある。
したがって、他のノードまたはバス上に常駐するシステムのこういった部分はリモートと称される。
これに対応して、同じバス上に常駐するシステムのエリアはローカルであると称される。
システム構成要素間の距離の概念は、ホップ、待ち時間、および帯域幅を含め、様々な測定基準で求めることができる。
パラメータ「距離」は、本文書ではシステム局所性情報と呼ばれることもある。
【０００８】
アドバンストコンフィグレーションアンドパワーインタフェース（ＡＣＰＩ）仕様は、装置およびシステム全体両方の、頑健なオペレーティングシステム（ＯＳ）向けのマザーボードデバイスの構成および電力管理を可能にする業界共通のインタフェースを確立するために開発された。
ＡＣＰＩは、オペレーティングシステム向けのコンフィグレーションアンドパワーマネジメント（ＯＳＰＭ）の鍵となる要素である。
【０００９】
アドバンストコンフィグレーションアンドパワーインタフェース（ＡＣＰＩ）仕様バージョン１．０ｂは、システムがＳＭＰアーキテクチャに基づき、したがってオペレーティングシステム（ＯＳ）に、ＯＳが実行されているシステムについての局所性情報を提供しないと想定している。
したがって、ＯＳはＮＵＭＡベースのシステム上にあってもＳＭＰアーキテクチャを想定する必要がある。
【００１０】
ＡＣＰＩバージョン２．０ｂの導入に伴い、＿ＰＸＭ制御メソッドを通して、いくらか追加の近接性指示が提供された。
しかし、＿ＰＸＭメソッドは、ＯＳＰＭに対して、特定の装置モジュールが「近い」ことしか示さない。
装置モジュール間の相対的な距離（たとえば、メモリ待ち時間）についての記述はない。
【００１１】
Ｍｉｃｒｏｓｏｆｔ（登録商標）は、ＳＲＡＴ（システムリソースアフィニティテーブル）と呼ばれる静的なデータ構造を設計した。
これは、システムファームウェアの、ＯＳへのハンドオフ時に、近接性、すなわち装置が近いか否かについて寸描を提供する。
しかし、＿ＰＸＭ制御メソッドのように、相対距離情報は伝達されない。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
したがって、現在のインタフェース（たとえば、プラグアンドプレイインタフェース）の制約を引き延ばす新しいシステムアーキテクチャが構築されるに伴い、ＮＵＭＡ等、新しいシステムアーキテクチャをより頑健、かつ潜在的により効率的に取り扱うことができ、ＯＳがシステムパフォーマンスを最適化できるようにするＡＣＰＩベースの機構が必要である。
【課題を解決するための手段】
【００１３】
本発明の実施形態は、ランタイム中にシステム局所性情報を収集し、動的に更新する方法および装置を提供する。
方法の一実施形態では、本発明は、オペレーティングシステムに提供するシステム局所性情報をブート時に収集する。
システム局所性情報は、統合された処理システム内の装置間の距離を記述する。
次に、統合された処理システム内の装置間の距離を潜在的に変更する可能性があるトリガイベントが発生したことをオペレーティングシステムに通知する。
この通知を受け取ると、オペレーティングシステムは、ランタイム中に、更新されたシステム局所性情報を提供するアドバンストコンフィグレーションアンドパワーインタフェース（ＡＣＰＩ）制御メソッドを呼び出して、トリガイベント発生後の、統合された処理システム内の装置間の距離の変化を反映する。
【００１４】
本願に組み込まれるとともに、本願の一部をなす添付図面は、本発明の実施形態を示し、説明と併せて本発明の原理を説明する役割を果たす。
記載がない限り、本説明で参照する図面は、一定の比率で拡大縮小して描かれたものではないことを理解されたい。
【発明を実施するための最良の形態】
【００１５】
本発明は、統合された処理システム内の装置間の距離を記述する更新されたシステム局所性情報をオペレーティングシステム（ＯＳ）に提供する完全なソリューション（ブート時寸描およびランタイム更新機構）を提供する。
更新されたシステム局所性情報を使用して、ＯＳはシステムのパフォーマンスを最適化することができる。
【００１６】
ＡＣＰＩ仕様は、装置およびシステム全体両方の、頑健なオペレーティングシステム（ＯＳ）向けのマザーボードデバイス構成および電力管理を可能にする業界共通のインタフェースを提供する。
ＡＣＰＩはＯＳＰＭにおける鍵となる要素である。
【００１７】
ＡＣＰＩは、電力管理をＯＳに移し、ＯＳとハードウェアの間の抽象インタフェース（ＡＣＰＩ）を使用して上に述べた主要な目標を達成する手段を提供する。
ここで、ＡＣＰＩは、ソフトウェア要素およびハードウェア要素の両方から構成されるインタフェース仕様である。
【００１８】
ＡＣＰＩは、パワーマネジメントＢＩＯＳコード、アドバンストパワーマネジメント（ＡＰＭ）アプリケーションプログラムインタフェース（ＡＰＩ）、ＰＮＰＢＩＯＳ  ＡＰＩ、マルチプロセッサ仕様（ＭＰＳ）テーブル等の既存の集まりから、明確に規定されたパワーマネジメントアンドコンフィグレーションインタフェース仕様に進化した。
ＡＣＰＩは、既存の（レガシー）ハードウェアからＡＣＰＩハードウェアに順序立てて遷移する手段を提供し、ＡＣＰＩおよびレガシー機構の両方が１つのマシンに存在し、必要に応じて使用できるようにする。
【００１９】
さらに、ＡＣＰＩは、ＯＳＰＭの実施にあたり鍵となる要素である。
ＡＣＰＩ規定のインタフェースは、ハードウェアおよびソフトウェアのベンダーによるＡＣＰＩ互換（したがって、ＯＳＭＰ互換）の実施態様の構築を促すような広い適合性を意図している。
ＡＣＰＩ互換のシステムアーキテクチャの例として、ＳＭＰおよびＮＵＭＡベースのシステムを挙げることができる。
【００２０】
上に述べたように、ＳＲＡＴと呼ばれる静的データ構造が、システムファームウェアの、オペレーティングシステムへのハンドオフ時に、システムの近接性パラメータの寸描を提供する。
ＳＲＡＴデータ構造は、装置が互いに近い、すなわち近接しているか否かを記述するだけである。
２つの装置が両方とも第３の装置から離れていると記述されている場合、それらのうちの一方が他方よりも第３の装置から離れているか否かを示す情報は提供されない。
したがって、ＳＲＡＴ構造は、ＯＳＰＭ最適化を完全に実現するのに十分に、ＮＵＭＡベースのシステムのトポロジを記述しない。
静的ＳＲＡＴテーブルは、オペレーティングシステムが＿ＰＸＭ制御メソッドを呼び出したときに更新することができる。
＿ＰＸＭは、ＡＣＰＩバージョン２．０ｂにおいて導入された、システムの近接性指示をいくらか提供するＡＣＰＩ制御メソッドである。
このオプションのＡＣＰＩオブジェクトは、マシン内の近接性範囲を記述するために使用される。
＿ＰＸＭは、呼び出されると、特定の近接性範囲に属するものとして装置を識別する整数値を返す。
ＯＳは、同じ近接性範囲中の２つの装置は硬く結合されていると想定する。
ＯＳは、これに基づいて振る舞いを最適化することを選択することができる。
【００２１】
しかし、先に述べたように、ＳＲＡＴおよび＿ＰＸＭはシステム中の装置の間の近いか遠いかの関係しか提供しない。
したがって、いずれによっても相対距離情報は伝達されない。
その結果、ＮＵＭＡアーキテクチャに基づくシステムは、ＳＲＡＴ構造および＿ＰＸＭ制御メソッドによって提供されるデータを使用して、完全に最適化された様式で実行されない場合がある。
【００２２】
ＮＵＭＡベースのシステムに適用することが可能な、システム局所性情報テーブルまたはＳＬＩＴと称する静的データ構造が開発されている。
ＳＬＩＴは、すべてのプロセッサ、メモリコントローラ、およびホストブリッジの間の距離を記述する。
各モジュールには、ＳＭＰノードと等価である特定の局所性が関連付けられる。
ＳＬＩＴは、ノード間の距離単位を与える。
距離単位は、ＳＭＰまたはノード内距離に関連する。
静的ＳＬＩＴは、システムファームウェアの、ＯＳへのハンドオフ時のシステム局所性情報の寸描を提供する。
ＳＬＩＴテーブルについては、２００１年４月２５日出願の、Larry McMahan他による「Allocating computer resources for efficient use by a program」と題する米国特許出願第０９／８４２，９６９号にさらに詳細に説明されており、これは背景資料として参照により本明細書に援用される。
【００２３】
図３は、本発明の一実施形態による例示的なＳＬＩＴ３００を示す。
このテーブルはすべてのプロセッサ、メモリコントローラ、およびホストブリッジの間の距離単位を与える。
各モジュールには、ＳＭＰノードと等価である特定の局所性が関連付けられる。
【００２４】
図３に示すように、ＳＬＩＴ３００は距離行列に対応するエントリを含み、行列の行ｉは、局所性ｉからあらゆる局所性（それ自体を含む）への距離を示す。
ＳＬＩＴ３００は「局所性」と呼ばれるフィールドを含む。
各局所性の局所性インデックスの範囲は０から局所性−１である。
【００２５】
ＳＬＩＴ３００は、距離の行列として見ることができる。
ＳＬＩＴ３００はノード間の距離単位を与える。
距離単位はＳＭＰノード内距離に関連する。
一実施形態では、ＳＭＰ距離は任意に１０の値を有する。
ＳＬＩＴ３００の一実施例では、ＳＬＩＴ３００中の各エントリは１バイトの符号のない整数である。
局所性ｉから局所性ｊまでの距離を得るには、値ｉ＊（局所性）＋ｊが計算される（ＳＬＩＴ３００から読み取られる）。
局所性からそれ自体までの距離を除き、各距離は行列中に２回格納される。
行列の対角要素である、局所性からそれ自体までの距離（ＳＭＰ距離である）にはすべて、任意の値１０が与えられる。
非対角要素の距離はＳＭＰ距離に相対してスケーリングされるため、たとえば、局所性ｉから局所性ｊまでの距離がＳＭＰ距離の２．４倍である場合、２４の値がテーブルエントリ（セル）ｉ＊（局所性）＋ｊおよびｊ＊（局所性）＋ｉに格納されることになる。
局所性が別の局所性から到達不可能な場合、２５５の値（０ｘＦＦ）が対応するテーブルエントリに格納されることになる。
０〜９の値が確保される。
【００２６】
ＳＬＩＴ３００は、ＯＳがＮＵＭＡベースのシステム上でパフォーマンスを最適化するのを助ける有意なステップである。
しかし、今日構築されている新しいシステムは可用性が高く、ユーザがシステムをシャットダウンする必要なく、作業負荷を再平衡化する、またはオンラインでの装置の交換および／または構成解除を実行できるようにしている。
こういった動的オンライン再構成に直面した場合、ＳＬＩＴデータは古くなり、もはや有用ではなくなる可能性がある。
新しいモジュール／局所性が追加される可能性があるのみならず、モジュール／局所性間の既存の相対距離が、システムセルまたは装置の追加または削除により変更されている可能性もある。
【００２７】
図４は、本発明の一実施形態によるシステム局所性情報を更新する方法のフローチャートである。
図４に示すように、最初のステップ４０２において、システム局所性情報がブート時に収集され、オペレーティングシステムに提供される。
ブート時に、ファームウェアがシステムの制御をオペレーティングシステムにハンドオフする場合、ＯＳが、ファームウェアによって収集されたシステム局所性情報を、格納およびそれ以降の使用のために、ＳＬＩＴデータ構造と同様のデータベースにおいて受け取る。
【００２８】
本発明の実施形態によれば、ファームウェアインタフェース構造は、ハードウェアとオペレーティングシステムの間のインタフェースとしての役割を果たし、これら２つの間の通信およびデータ転送に役立つ。
したがって、ファームウェアインタフェース構造を使用して、システム局所性情報をオペレーティングシステムに通信する。
【００２９】
ＡＣＰＩ規格に基づく本発明の一実施形態では、システム局所性情報インタフェース構造はＳＬＩＴである。
ＳＬＩＴは、非ＳＭＰベースのシステムアーキテクチャに対応するＡＣＰＩ構造である。
【００３０】
図４を参照すると、ステップ４０４において、イベントの発生を検出することができる。
ブート時に収集されたシステム局所性情報に影響する可能性のある関心イベントとしては、オンラインでの装置またはセルの追加（ホットプラグ）、オンラインでの削除、およびシステムの動的な再構成が挙げられる。
【００３１】
動作４０６において、ＳＬＩＴ中の、ブート時に収集されたシステム局所性情報を潜在的に変更する可能性があるトリガイベントの発生がオペレーティングシステムに通知される。
本発明の一実施形態では、オンラインでの追加の場合、ファームウェアが、装置オブジェクトに対して行われるバスチェック通知を使用してＯＳに通知し、トリガイベントが発生したことをＯＳに示す。
オンラインでの削除の場合、イジェクト要求通知によりＯＳに通知される。
最後に、システムの動的な再構成の場合、プラットフォーム（ファームウェア）がＳＬＩ更新通知をＯＳに送り、動的な再構成が行われたことを示すことができる。
【００３２】
ＳＬＩＴ中のデータはブート時に収集されて、オペレーティングシステムに提供されただけであるため、統合されたシステム中のモジュールまたはセルの相対距離に影響するイベントが発生した後、システム局所性情報が古くなるのを防ぐために、データを更新する機構が必要である。
【００３３】
動作４０８において、トリガイベントがオンラインでの装置の追加、すなわちホットプラグであった場合、ＯＳは、ファームウェアにより行われる、通知されたポイントから開始してデバイスツリーに対して再列挙動作（一実施形態ではプラグアンドプレイ再列挙）を実行する必要があることをＯＳに示すバスチェック通知を受け取る。
したがって、ＯＳは追加された局所性に関連するすべての＿ＳＬＩ制御メソッドを呼び出す。
【００３４】
デバイスツリーは、名前の付いたオブジェクトを収容する、ＯＳにより制御されるメモリ中の階層ツリー構造であるＡＣＰＩ名前空間を参照する。
これらオブジェクトは、データオブジェクト、制御メソッドオブジェクト、バス／デバイスパッケージオブジェクト等であることができる。
ＯＳは、ＡＣＰＩ  ＢＩＯＳに常駐するＡＣＰＩテーブルから定義ブロックをロードかつ／またはアンロードすることにより、ランタイム時に名前空間の内容を動的に変更する。
ＡＣＰＩ名前空間中の情報はすべて、差別化定義ブロックおよび１つまたは複数の他の定義ブロックを収容する差別化システム記述テーブル（ＤＳＤＴ）から来る。
【００３５】
再び動作４０８を参照すると、バスチェック通知を受け取った後、オペレーティングシステムは、更新されたシステム局所性情報を得るために、追加された局所性に関連するＡＣＰＩ制御メソッドを呼び出すことができる。
一実施形態では、呼び出される制御メソッドは、追加された局所性に関連する＿ＳＬＩオブジェクトである。
【００３６】
本発明の一実施形態では、新たに収集されたシステム局所性情報を使用して、影響を受ける局所性に対応するセル中の既存の値を置き換えることができる。
【００３７】
代替の一実施形態では、新しいシステム局所性情報を受けて行を追加または削除することにより、ＯＳデータベースに格納されているＳＬＩＴのイメージを変更することができる。
さらに別の実施形態では、システム局所性情報の変更に応答して、まったく新しいＳＬＩＴを作成してもよい。
しかし、各トリガイベント後にＳＬＩＴ全体を再度作成すると、大量の処理資源を不必要に消費することになる可能性がある。
【００３８】
再び図４を参照すると、動作４１０において、オンラインでの削除の場合、イジェクト要求通知を使用してＯＳに通知され、プラグアンドプレイイジェクション動作を実行する必要があることをＯＳに知らせる。
したがって、イジェクト要求通知に応答して、ＯＳは、内部データ構造から除去されたモジュールに対応するシステム局所性情報を除去する必要がある。
【００３９】
動作４１２において、動的な再構成の場合、プラットフォームがＳＬＩ更新通知を局所性に送り、通知されたポイントから開始して、デバイスツリー上の局所性に関連する＿ＳＬＩオブジェクトを呼び出す必要があることをＯＳに示すことができる。
ＳＬＩ更新は、ＡＣＰＩ仕様に従った制御メソッドであり、一実施形態では、動的な再構成が行われたことをＯＳに通知するにあたり使用することができる。
ＳＬＩ更新通知を受け取ると、ＯＳは、通知されたポイントから開始して、デバイスツリー上の局所性に関連する＿ＳＬＩオブジェクトを呼び出すことができる。
【００４０】
したがって、動作４０８、４１０、または４１２のいずれか１つを実行することにより、ＯＳは、ホットプラグ、オンラインでの削除、または動的な再構成それぞれの結果として影響を受けるシステム局所性情報を更新することができる。
【００４１】
図５は、本発明の一実施形態によるシステム局所性情報を更新するシステムのブロック図である。
システム局所性更新システム５００は、ＳＬＩＴ作成器５０２、ＳＬＩＴ更新器５０４、およびトリガイベント検出器５０６を備える。
【００４２】
イベントが発生すると、トリガイベント検出器５０６がファームウェア５１２から、ＳＬＩＴ構造を使用してＯＳ５１０に提供されたシステム局所性情報を潜在的に変更する可能性のあるイベントが発生したことを示す入力を受け取る。
【００４３】
一実施形態では、システム局所性情報またはデータはシステムブート時に収集され、このデータは、ＳＬＩＴ等の構造化フォーマットでＯＳ５１０に提供される。
一実施形態では、ＳＬＩＴはＳＬＩＴ作成器５０２により作成される。
【００４４】
トリガイベント検出器５０６は、トリガイベントの発生をＯＳ５１０に示す。
一実施形態では、ＯＳ５１０に送られるメッセージのタイプによって検出されるトリガイベントのタイプがＯＳ５１０に通知される。
一実施形態では、オンラインでの追加の場合、ファームウェアが、トリガイベント検出器５０６を通してバスチェック通知をＯＳ５１０に送る。
オンラインでの削除の場合、ファームウェアは、トリガイベント検出器５０６を通してイジェクト要求通知をＯＳ５１０に送ることができる。
システムの動的な再構成の場合、ファームウェアは、トリガイベント検出器を通してＳＬＩ更新通知をＯＳ５１０に送ることができる。
【００４５】
本発明の一実施形態では、トリガイベント発生通知を受け取ると、ＯＳ５１０はＳＬＩＴ更新器５０４に、指示がトリガされたデバイスツリー上のポイントから開始して、新しいシステム局所性情報を収集するように指示することができる。
一実施形態では、オンラインでの追加の場合、ＯＳはプラグアンドプレイ再列挙を実行し、＿ＳＬＩ制御メソッドを呼び出すことにより、影響を受けたモジュールまたはセルについてのシステム局所性情報を更新するようにＳＬＩＴ更新器５０４に指示する。
＿ＳＬＩ制御メソッドは、各局所性ｉに関連付けることができ、影響を受けた局所性の距離を収容したバッファを返すオプションのＡＣＰＩオブジェクトである。
一実施形態では、＿ＳＬＩ制御メソッドは、＿ＰＸＭがシステム局所性を記述し、＿ＳＬＩが局所性間の相対距離情報を提供するという点で＿ＰＸＭ制御メソッドに結び付けることができる。
代替の一実施形態では、ＳＬＩＴ更新器５０４によって提供される新しいシステム局所性情報を使用し、ＳＬＩＴ作成器５０２を通して新しいＳＬＩＴを再度作成し、変更された、または新しいＳＬＩＴがＯＳ５１０に提供される。
【００４６】
オンラインでの削除を検出した場合、ＯＳ５１０は、プラグアンドプレイイジェクション動作を実行して、除去された局所性についてのシステム局所性情報を内部データ構造から除去するようにＳＬＩＴ更新器５０４に指示する。
【００４７】
システムの動的な再構成の場合、ＯＳ５１０は、＿ＳＬＩ制御メソッドを呼び出し、影響を受けたモジュール、装置、またはセルに関連するシステム局所性情報を収集することにより、更新動作を実行するようにＳＬＩＴ更新器５０４に指示することができる。
【００４８】
本発明の各種実施形態の教示により、非ＳＭＰベースのシステムアーキテクチャのシステム局所性情報を収集し、オンラインで更新することが可能になる。
本発明の特定の実施形態の上記説明は、例示および説明を目的として提示されたものである。
網羅的である、すなわち本発明を開示された厳密な形態に限定する意図はなく、上記教示を鑑みて多くの変更および変形が可能である。
実施形態は、本発明の原理およびその実際の適用について最良に説明するために選択され説明されたものであり、それによって当業者が、意図する特定の用途に適するように各種変更を行って本発明および各種実施形態を最良に利用できるようにする。
本発明の範囲は添付の特許請求の範囲およびその等価物によって規定されることを意図する。
【図面の簡単な説明】
【００４９】
【図１】ＳＭＰベースのシステムアーキテクチャの一例を示す（従来技術）。
【図２】ＮＵＭＡベースのシステムアーキテクチャの一例を示す（従来技術）。
【図３】本発明の一実施形態による例示的なＳＬＩＴテーブルを示す。
【図４】図４は、本発明の一実施形態によるシステム局所性情報を更新する方法のフローチャートである。
【図５】本発明の一実施形態によるシステム局所性情報を更新するシステムのブロック図である。
【符号の説明】
【００５０】
１００・・・ＳＭＰシステム、
１０４・・・メモリ、
１０６・・・Ｌ３キャッシュ、
２１８，２２０・・・Ｌ３キャッシュ、
２２２，２２４・・・メモリ、
２３４，２３６・・・リモートキャッシュ、
５０２・・・ＳＬＩＴ作成器、
５０４・・・ＳＬＩＴ更新器、
５０６・・・トリガイベント検出器、
５１０・・・オペレーティングシステム、
【図１】
2005056404.tif 000003
【図２】
2005056404.tif 000004
【図３】
2005056404.tif 000005
【図４】
2005056404.tif 000006
【図５】
2005056404.tif 000007