(57)【特許請求の範囲】
【請求項１】
システムファームウェア（ＳＦＷ）インスタンスを用いてコード化された非一時的な機械可読記憶媒体であり、該システムファームウェアインスタンスは、
ブレードシステムの第１のブレードデバイスの第１の論理プロセッサによって実行可能な命令であって、
前記ブレードシステムのパーティションのパーティション構成情報にアクセスする命令であって、前記パーティションは、オペレーティングシステム（ＯＳ）を実行し、前記第１のブレードデバイスと、第２の論理プロセッサを備える第２のブレードデバイスとを備え、前記第１の論理プロセッサ及び前記第２の論理プロセッサは、異なるＳＦＷドメインの一部として動作する、アクセスする命令と、
前記第１の論理プロセッサと関連付けられた前記第１のブレードデバイスの利用可能なメモリを前記第２のブレードデバイスに対して特定する命令であって、前記第２のブレードデバイスは、前記第１のブレードデバイスの前記特定されたメモリを前記ＯＳによる使用に利用可能にする、特定する命令と、
前記パーティション構成情報が、前記第１のブレードデバイスが拡張ブレードデバイスであることを示しているとの判断に応答して、前記ＯＳが少なくとも前記第２の論理プロセッサによって実行されている間、前記第１の論理プロセッサが前記ＳＦＷインスタンスの命令を実行するＳＦＷ実行モードに前記第１の論理プロセッサを配置する命令と
を含む、システムファームウェアインスタンスを用いてコード化された非一時的な機械可読記憶媒体。
【請求項２】
前記配置する命令は、前記第１の論理プロセッサによって実行可能な命令であって、システム管理モード（ＳＭＭ）に入り、前記ＯＳが少なくとも前記第２のブレードデバイスの前記第２の論理プロセッサによって実行されている間、前記ＳＭＭの状態を維持する命令を含むものである、請求項１に記載の非一時的な機械可読記憶媒体。
【請求項３】
前記配置する命令は、前記第１の論理プロセッサによって実行可能な命令であって、前記第１のブレードデバイスの前記特定されたメモリを前記第１の論理プロセッサから隠蔽する命令を含むものである、請求項１に記載の非一時的な機械可読記憶媒体。
【請求項４】
前記特定する命令は、前記第１の論理プロセッサによって実行可能な命令であって、前記特定されたメモリの記述を、前記第１のブレードデバイスのサービスプロセッサからアクセス可能な前記第１のブレードデバイスのサービスメモリに記憶する命令を含むものであり、ここで、該サービスプロセッサは、前記第２のブレードデバイスに前記記述を提供しており、
前記アクセスする命令は、前記第１の論理プロセッサによって実行可能な命令であって、前記サービスメモリに記憶された前記パーティション構成情報にアクセスする命令を含むものである、請求項１に記載の非一時的な機械可読記憶媒体。
【請求項５】
前記アクセスする命令は、前記第１の論理プロセッサによって実行可能な命令であって、
前記サービスメモリに記憶された前記パーティションのメモリルーティング情報にアクセスする命令と、
前記メモリルーティング情報に基づいて、前記第１のブレードデバイスのノードコントローラを用いて、前記第１のブレードデバイスの前記特定されたメモリをターゲットとする、前記ＯＳからのメモリトランザクションを、前記特定されたメモリにルーティングするように、前記第１のブレードデバイスを構成する命令と
を含むものである、請求項４に記載の非一時的な機械可読記憶媒体。
【請求項６】
前記特定する命令は、前記第１のブレードデバイスによって実行可能な命令であり、
前記第１のブレードデバイスの複数の論理プロセッサのうちの任意の１つと関連付けられた前記第１のブレードデバイスの利用可能なメモリを特定する命令であって、前記複数の論理プロセッサは、前記第１の論理プロセッサを含むものである、特定する命令と、
前記第１のブレードデバイスの前記特定されたメモリの記述を前記第２のブレードデバイスに提供する命令と
を含んでおり、
前記配置する命令は、前記ＯＳが少なくとも前記第２のブレードデバイスの前記第２の論理プロセッサによって実行されている間、前記複数の論理プロセッサのそれぞれが前記ＳＦＷインスタンスの命令を実行する前記ＳＦＷ実行モードに該論理プロセッサのそれぞれを配置する命令を含むものである、請求項１に記載の非一時的な機械可読記憶媒体。
【請求項７】
システムであって、
第１のシステムファームウェア（ＳＦＷ）インスタンスを記憶する第１のファームウェアメモリと、
ブレードエンクロージャ内にそれぞれ実装された第１のブレードデバイス及び第２のブレードデバイスを備えるパーティションの前記第１のブレードデバイスの第１の論理プロセッサと、
前記パーティションをブートしてオペレーティングシステム（ＯＳ）を実行する第２のＳＦＷインスタンスを記憶する第２のファームウェアメモリと、
前記第２のブレードデバイスの第２の論理プロセッサと
を含んでなり、
前記第１のＳＦＷインスタンスは、前記第１の論理プロセッサによって実行可能な命令であり、
前記第１の論理プロセッサと関連付けられた前記第１のブレードデバイスの利用可能なメモリを前記第２のブレードデバイスに対して特定する命令と、
前記ＯＳが少なくとも前記第２の論理プロセッサによって実行されている間、前記第１の論理プロセッサが前記ＳＦＷインスタンスの命令を実行するＳＦＷ実行モードに前記第１の論理プロセッサを配置する命令と
を含み、
前記第２のＳＦＷインスタンスは、前記第２の論理プロセッサによって実行可能な命令であって、前記第２の論理プロセッサ及び前記第１のブレードデバイスの前記特定されたメモリを前記ＯＳによる使用に利用可能にする命令を含むものである、システム。
【請求項８】
前記第１のＳＦＷインスタンスは、前記第１の論理プロセッサによって実行可能な命令であって、前記第１のブレードデバイスの前記特定された利用可能なメモリを前記第１の論理プロセッサから隠蔽する命令を含むものである、請求項７に記載のシステム。
【請求項９】
前記第１のＳＦＷインスタンスの前記特定する命令は、前記第１の論理プロセッサによって実行可能な命令であって、前記第１のブレードデバイスの第１のサービスプロセッサからアクセス可能な前記第１のブレードデバイスの第１のサービスメモリに前記特定されたメモリの記述を記憶する命令を含むものであり、前記第１のサービスプロセッサは、前記記述を前記第１のサービスメモリから前記第２のブレードデバイスの第２のサービスプロセッサを介して前記第２のブレードデバイスの第２のサービスメモリに転送するものである、請求項７に記載のシステム。
【請求項１０】
前記第１のＳＦＷインスタンスは、前記第１の論理プロセッサによって実行可能な命令であって、第１のパーティション構成情報に基づいて、前記第１の論理プロセッサが拡張論理プロセッサであると判断する命令を含むものである、前記第１の論理プロセッサによって実行可能な命令を含むものであり、
前記配置する命令は、前記第１の論理プロセッサによって実行可能な命令であって、前記第１の論理プロセッサが拡張論理プロセッサであるとの前記判断に応答して、前記第１の論理プロセッサを前記ＳＦＷ実行モードに配置する命令を含むものであり、
前記第２のＳＦＷインスタンスの前記命令は、前記第２の論理プロセッサによって実行可能な命令であり、
第２のパーティション構成情報に基づいて、前記第２のブレードデバイスが計算ブレードデバイスであると判断する命令と、
前記第２のブレードデバイスが計算ブレードデバイスであるとの前記判断に応答して、前記ＳＦＷ実行モードに入らないことを決定する命令と
を含むものである、請求項９に記載のシステム。
【請求項１１】
前記第２のＳＦＷインスタンスの前記命令は、前記第２の論理プロセッサによって実行可能な命令であり、
前記第２の論理プロセッサと関連付けられた前記第２のブレードデバイスの利用可能なメモリを特定する命令と、
少なくとも１つの高度構成及び電力インタフェース（ＡＣＰＩ）テーブルにおいて、計算論理プロセッサ並びに前記第１のブレードデバイス及び前記第２のブレードデバイスの前記特定されたメモリが前記ＯＳによる使用に利用可能であることを示す命令と、
前記少なくとも１つのＡＣＰＩテーブルを、前記ＯＳからアクセス可能なメモリ領域に記憶する命令であって、前記少なくとも１つのＡＣＰＩテーブルのそれぞれは、前記第１の論理プロセッサに関するいずれの情報も除外するものである、記憶する命令と
を更に含む、請求項１０に記載のシステム。
【請求項１２】
前記第１の論理プロセッサ及び前記第２の論理プロセッサは、異なる設計を有しており、
前記第１のＳＦＷインスタンスは、前記第１の論理プロセッサによって実行可能な命令であって、前記第１の論理プロセッサを、第１のＳＦＷドメインの一部として動作するように構成する命令を含むものであり、
前記第２のＳＦＷインスタンスは、前記第２の論理プロセッサによって実行可能な命令であって、前記第２の論理プロセッサを、前記第１のＳＦＷドメインと異なる第２のＳＦＷドメインの一部として動作するように構成する命令を含むものである、請求項７に記載のシステム。
【請求項１３】
第１の論理プロセッサ及び第２の論理プロセッサをそれぞれ備える第１のブレードデバイス及び第２のブレードデバイスを備えるブレードシステムのパーティションによって実行可能な方法であって、
前記第１の論理プロセッサを、第１のシステムファームウェア（ＳＦＷ）インスタンスと関連付けられた第１のＳＦＷ領域の一部として動作させるとともに、前記第２の論理プロセッサを、第２のＳＦＷインスタンスと関連付けられた第２のＳＦＷドメインの一部として動作させて、前記パーティションをブートしてオペレーティングシステム（ＯＳ）を実行するように構成するステップと、
前記第１の論理プロセッサ及び前記第２の論理プロセッサを用いて、前記第１の論理プロセッサと関連付けられた前記第１のブレードデバイスの利用可能なメモリと、前記第２の論理プロセッサと関連付けられた前記第２のブレードデバイスの利用可能なメモリとを特定するステップと、
前記第２の論理プロセッサと、前記第１のブレードデバイス及び前記第２のブレードデバイスのそれぞれの前記特定されたメモリとを前記ＯＳによる使用に利用可能にするステップと、
前記ＯＳの実行が開始する前に、前記第１の論理プロセッサをシステム管理モード（ＳＭＭ）に配置するステップと、
少なくとも前記第２の論理プロセッサを用いて前記ＯＳの実行を開始するステップと、
前記ＯＳの実行中、前記第１の論理プロセッサを前記ＳＭＭに維持するステップと
を含んでなる、ブレードシステムのパーティションによって実行可能な方法。
【請求項１４】
前記第１のブレードデバイスの前記特定されたメモリの記述を、前記第１のブレードデバイスの第１のサービスプロセッサからアクセス可能な前記第１のブレードデバイスの第１のサービスメモリに記憶するステップと、
前記記述を前記第１のサービスプロセッサから前記第２のブレードデバイスの第２のサービスプロセッサに提供するステップと、
前記第２のサービスプロセッサを用いて、前記記述を前記第２のブレードデバイスの第２のサービスメモリに記憶するステップと
を更に含む、請求項１３に記載の方法。
【請求項１５】
第１のパーティション構成情報に基づいて、前記第１の論理プロセッサが拡張論理プロセッサであると判断するステップであって、前記第１の論理プロセッサは、該第１の論理プロセッサが拡張論理プロセッサであるとの前記判断に応答して、該第１の論理プロセッサを前記ＳＭＭに配置して維持する、判断するステップと、
第２のパーティション構成情報に基づいて、前記第２の論理プロセッサが計算論理プロセッサであると判断するステップと、
前記ＯＳを用いて、該ＯＳのアクティブ動作中に、前記第１のブレードデバイスの前記特定されたメモリにアクセスするステップと
を更に含む、請求項１４に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
ブレードシステムは、ブレードエンクロージャ内に実装された複数のブレードデバイスを備えることができる。ブレードデバイスのそれぞれは、例えば、ブレードサーバでありうる。幾つかの例では、ユーザは、ブレードエンクロージャ内に実装されたブレードデバイスのうちの１つ、幾つか、又は全てを備えるようにブレードシステムのパーティションをセットアップすることができる。そのような例では、パーティションは、オペレーティングシステム（ＯＳ）を走らせることができるとともに、このＯＳを用いてアプリケーションを走らせることができる。
【０００２】
以下の詳細な説明は、図面を参照する。
【図面の簡単な説明】
【０００３】
【図１】オペレーティングシステム（ＯＳ）が少なくとも第２の論理プロセッサによって実行されている間、第１の論理プロセッサをシステムファームウェア（ＳＦＷ）実行モードに配置する一例示のブレードシステムのブロック図である。
【図２】ＯＳがパーティションの別の論理プロセッサによって実行されている間、パーティションの複数の論理プロセッサをＳＦＷ実行モードに配置する一例示のブレードシステムのブロック図である。
【図３】システムのパーティションの論理プロセッサをＳＦＷ実行モードに配置し、この論理プロセッサと関連付けられたメモリをパーティションのＯＳに利用可能にする一例示のシステムのブロック図である。
【図４】第２の論理プロセッサを用いたＯＳの実行中に第１の論理プロセッサをシステム管理モード（ＳＭＭ）に維持する一例示の方法のフローチャートである。
【図５】異なるＳＦＷドメインにおいて動作するように構成されたパーティションの第１の論理プロセッサ及び第２の論理プロセッサのメモリをパーティションのＯＳによる使用に利用可能にする一例示の方法のフローチャートである。
【発明を実施するための形態】
【０００４】
上述したように、ブレードシステムのパーティションは、オペレーティングシステム（ＯＳ）を走らせることができるとともに、このＯＳを用いてアプリケーションを走らせることができる。ＯＳを走らせるパーティションは、複数のブレードデバイスを備えることができ、各ブレードは、論理プロセッサ及びメモリを備える。各論理プロセッサは、集積回路（ＩＣ）（例えば、チップ）上に備えることができる。少なくとも１つの中央処理装置（ＣＰＵ）を備えるＩＣは、本明細書において「ＣＰＵ  ＩＣ」と呼ばれる場合がある。幾つかの例では、論理プロセッサに加えて、ＣＰＵ  ＩＣは、ブレードデバイスのメモリを管理する少なくとも１つの統合メモリコントローラを備えることができる。そのような例では、ＣＰＵ  ＩＣのメモリコントローラが管理することができるメモリの量を比較的限られたものとすることができ、これによって、ブレードデバイス上で利用可能なメモリの量を制限することができ、したがって、パーティション内で利用可能なメモリの量を制限することができる。
【０００５】
追加のブレードデバイスをパーティションに加えることによって、より多くのメモリをパーティションに加えることができる。しかしながら、ＯＳによって走らされる幾つかのアプリケーションのライセンスコストは、アプリケーションが利用するのに使用可能な論理プロセッサの数に基づいて算出される場合がある。したがって、ブレードデバイスをパーティションに加えることは、加えられたブレードデバイスの論理プロセッサの可用性に起因して、幾つかのアプリケーションのライセンスコストを実質的に増加させる場合がある。
【０００６】
これらの課題に対処するために、本明細書において説明する例は、ブレードシステムのパーティションに関することができ、このパーティションは、ＯＳを実行し、第１の論理プロセッサ及び第２の論理プロセッサをそれぞれ備える拡張ブレードデバイス及び計算ブレードデバイスを備えており、第１の論理プロセッサ及び第２の論理プロセッサは、異なるシステムファームウェア（ＳＦＷ）ドメインにおいて動作する。本明細書において説明する例では、ＯＳが計算ブレードデバイスの少なくとも第２の論理プロセッサによって実行されている間、拡張ブレードデバイスの第１の論理プロセッサを、第１の論理プロセッサがＳＦＷインスタンスの命令を実行するＳＦＷ実行モードに配置することができる。本明細書において説明する例では、第１の論理プロセッサと関連付けられた拡張ブレードデバイスのメモリを、ＯＳによる使用に更に利用可能にすることができる。
【０００７】
第１の論理プロセッサ及び第２の論理プロセッサを異なるＳＦＷドメインに配置するとともに、ＯＳに対して第１の論理プロセッサを特定しないことによって、本明細書において説明する例では、拡張ブレードデバイスの第１の論理プロセッサをパーティションのＯＳにも、このＯＳによって走らされるアプリケーションにも暴露することなく、このＯＳが拡張ブレードデバイスのメモリを利用することを可能にすることができる。したがって、本明細書において説明する例は、拡張ブレードデバイスの論理プロセッサがアプリケーションライセンスコストを増加させることなく、パーティションが、ＯＳ及びアプリケーションを走らせるために拡張ブレードデバイスのメモリを用いることを可能にすることができる。
【０００８】
本明細書において説明する例では、パーティションによるＯＳの実行中に、拡張ブレードデバイスの論理プロセッサをＳＦＷ実行モードに配置することによって、この論理プロセッサは、ＯＳによる使用に利用不能な状態にある間、例えば、拡張ブレードデバイスにおけるエラー情報を収集するＳＦＷインスタンスの命令を実行するのに利用可能な状態にしておくこともできるし、それ以外に、ＳＦＷインスタンスの命令の制御下で拡張ブレードデバイスのリソースを管理するのに利用可能な状態にしておくこともできる。
【０００９】
加えて、拡張ブレードデバイス及び計算ブレードデバイスの論理プロセッサを異なるＳＦＷドメインにおいて動作させることによって、本明細書において説明する例は、パーティションが、異なる設計を用いた論理プロセッサを有する拡張ブレードデバイス及び計算ブレードデバイスを利用することを可能にすることができる。そのような例では、拡張ブレードデバイスは、計算ブレードデバイスの論理プロセッサよりも高価でない論理プロセッサを備えることができる。このように、本明細書において説明する例は、パーティションのメモリが、計算ブレードデバイスよりも高価でない拡張ブレードデバイスによって提供されるメモリによる補助を受けることを可能にすることができる。
【００１０】
次に図面を参照する。図１は、ＯＳが少なくとも第２の論理プロセッサ１４２によって実行されている間、第１の論理プロセッサ１３２をＳＦＷ実行モードに配置する一例示のブレードシステム１００のブロック図である。本明細書において説明する例では、ブレードシステムは、ブレードエンクロージャ、及びこのブレードエンクロージャ内に実装された少なくとも１つのブレードデバイスを備えるコンピューティングシステムでありうる。図１の例では、ブレードシステム１００は、ブレードシステム１００のブレードエンクロージャ内にそれぞれ実装されたブレードデバイス１３０及び１４０を備える。ブレードシステム１００は、ブレードデバイス１３０及び１４０のそれぞれのリソースを用いてＯＳ１１５を走らせることができる。例えば、ＯＳ１１５は、少なくともブレードデバイス１３０及び１４０を備えるブレードシステム１００のパーティション１０８によって走らせることができる。
【００１１】
「ブレードデバイス」は、本明細書において用いられるとき、メモリ及び少なくとも１つの論理プロセッサを備えるとともに、ブレードエンクロージャに実装可能である物理的なコンピューティングデバイスでありうる。幾つかの例では、ブレードデバイスは、動作に備えてブレードエンクロージャに物理的に実装可能であり、幾つかのコアコンピューティングリソース（例えば、ＣＰＵ  ＩＣ及びメモリ）を備え、幾つかの周辺コンピューティングリソース（例えば、電源装置、冷却ファン、外部ネットワーキングポート等、又はそれらの組み合わせ）を除外した、モジュール式コンピューティングデバイスでありうる。「ブレードエンクロージャ」は、本明細書において用いられるとき、複数のブレードデバイスを収容し、収容されたブレードデバイス用の少なくとも１つの周辺リソースを提供するシャーシでありうる。例えば、ブレードエンクロージャは、実装されたブレードデバイスを冷却するファン、実装されたブレードデバイスに電力を提供する少なくとも１つの電源装置、実装されたブレードデバイス用の外部ネットワークポート等、又はそれらの組み合わせを備えることができる。
【００１２】
図１の例では、ブレードデバイス１３０は、論理プロセッサ１３２、及び論理プロセッサ１３２と関連付けられたメモリ１３４を備えることができる。本明細書において説明する例では、論理プロセッサ１３２は、本明細書において「拡張」論理プロセッサ１３２と呼ばれる場合があり、ブレードデバイス１３０は、本明細書において「拡張」ブレードデバイス１３０と呼ばれる場合がある。幾つかの例では、ブレードデバイス１３０は、複数の論理プロセッサを備えることができ、これらの論理プロセッサの幾つか又は全ては、関連付けられたメモリを有する。ブレードデバイス１４０は、論理プロセッサ１４２を備えることができる。幾つかの例では、ブレードデバイス１４０は、論理プロセッサ１４２と関連付けられたメモリを備えることができる。本明細書において説明する例では、論理プロセッサ１４２は、本明細書において「計算」論理プロセッサ１４２と呼ばれる場合があり、ブレードデバイス１４０は、本明細書において「計算」ブレードデバイス１４０と呼ばれる場合がある。幾つかの例では、ブレードデバイス１４０は、複数の論理プロセッサを備えることができ、これらの論理プロセッサの幾つか又は全ては、関連付けられたメモリを有する。「論理プロセッサ」は、本明細書において用いられるとき、ＣＰＵ  ＩＣ、ＣＰＵ  ＩＣのＣＰＵ（例えば、マルチコアＣＰＵ  ＩＣ上の複数のコアのうちの１つ）、又はＣＰＵ  ＩＣのＣＰＵ（又はコア）上のスレッドでありうる。
【００１３】
本明細書において説明するいずれの拡張ブレードデバイス又は計算ブレードデバイスも、上記で説明したようなブレードデバイスでありうる。本明細書において説明する例では、拡張ブレードデバイスは、ブレードデバイスを備えるパーティションのＯＳによって用いられる、論理プロセッサではなくメモリを提供するように指定されたブレードデバイスでありうる。本明細書において説明する例では、計算ブレードデバイスは、ブレードデバイスを備えるパーティションのＯＳによって用いられるメモリ及び論理プロセッサを提供するように指定されたブレードデバイスでありうる。幾つかの例では、パーティションの各ブレードデバイスは、パーティションの構成の態様を記述するパーティション構成情報において拡張ブレードデバイス又は計算ブレードデバイスとして指定することができる。加えて、本明細書において説明するいずれの拡張論理プロセッサ又は計算論理プロセッサも、上記で説明したような論理プロセッサでありうる。本明細書において説明する例では、拡張論理プロセッサは、拡張ブレードデバイスの論理プロセッサであってもよく、計算論理プロセッサは、計算ブレードデバイスの論理プロセッサであってもよい。
【００１４】
論理プロセッサ「と関連付けられた」メモリ（又は論理プロセッサの「関連付けられた」メモリ）は、本明細書において用いられるとき、論理プロセッサを備えるか又は構成するＣＰＵ  ＩＣ上に統合されたメモリコントローラによって管理されるメモリである。例えば、論理プロセッサと関連付けられたメモリを備えるブレードデバイスは、少なくとも１つのメモリモジュールと、少なくとも１つの論理プロセッサ（例えば、ＣＰＵ又はコア）及びメモリモジュールを管理する少なくとも１つの統合メモリコントローラを備えるＣＰＵ  ＩＣとを備えることができる。幾つかの例では、ブレードデバイスは、複数のＣＰＵ  ＩＣを備えることができ、各ＣＰＵ  ＩＣは、ブレードデバイスのメモリモジュールを管理する少なくとも１つの統合メモリコントローラを備える。メモリモジュールは、本明細書において用いられるとき、例えば、デュアルインラインメモリモジュール（ＤＩＭＭ）、シングルインラインメモリモジュール（ＳＩＭＭ）、又は複数のメモリデバイスを備える他の任意のタイプのメモリモジュールでありうる。
【００１５】
図１の例では、ブレードデバイス１３０は、命令１２２、１２４、及び１２６を含むＳＦＷインスタンス１２１を用いてコード化された機械可読記憶媒体１２０を備える。幾つかの例では、ＳＦＷインスタンス１２１は、追加の命令を含みうる。「機械可読記憶媒体」は、本明細書において用いられるとき、実行可能命令、データ等の情報を含むか又は記憶する任意の電子記憶装置、磁気記憶装置、光記憶装置、又は他の物理的記憶装置でありうる。例えば、本明細書において説明するいずれの機械可読記憶媒体も、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライブ（例えば、ハードドライブ）、ソリッドステートドライブ、任意のタイプの記憶ディスク（例えば、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、他の任意のタイプのコンパクトディスク、ＤＶＤ等）等、又はそれらの組み合わせのうちの任意のものでありうる。さらに、本明細書において説明するいずれの機械可読記憶媒体も、非一時的なものでありうる。本明細書において説明するいずれの「メモリ」も、少なくとも１つの機械可読記憶媒体の少なくとも一部分でありうる。
【００１６】
図１の例では、ＳＦＷインスタンス１２１の命令は、ＳＦＷインスタンス１２１に関して以下で説明する機能を実行するように論理プロセッサ１３２によって実行可能である。論理プロセッサ１３２は、記憶媒体１２０上に記憶された命令をフェッチ、デコード、及び実行して、以下で説明する機能を実行することができる。図１の例では、記憶媒体１２０は、ＳＦＷインスタンス１２１を記憶するＲＯＭでありうる。幾つかの例では、記憶媒体１２０は、ブレードシステム１００のブレードデバイスエンクロージャ内に実装された別のブレードデバイス上に備えることができる。「システムファームウェアインスタンス」（又は「ＳＦＷインスタンス」）は、本明細書において用いられるとき、ブレードデバイスのリソースをブート及び管理する一組の機械実行可能命令でありうる。例えば、リセット後、ブレードデバイスの論理プロセッサは、ＳＦＷインスタンスの命令を実行して、論理プロセッサの動作のための初期化及び論理プロセッサと関連付けられたメモリ等のブレードデバイスの他のリソースの初期化を開始することができる。幾つかの例では、論理プロセッサ及び関連付けられたメモリのこの初期化は、ＳＦＷインスタンスによって実施されるパワーオンセルフテスト（ＰＯＳＴ）を含みうる。
【００１７】
ＳＦＷインスタンスの命令は、論理プロセッサによって実行されると、論理プロセッサを、ＳＦＷインスタンスと関連付けられたＳＦＷドメインにおいて動作するように構成することもできる。ＳＦＷインスタンスと関連付けられた「システムファームウェアドメイン」（又は「ＳＦＷドメイン」）は、本明細書において用いられるとき、ＳＦＷインスタンスによってブートされた論理プロセッサが、ブート後にＳＦＷインスタンスの命令を実行するときに動作することができる環境でありうる。幾つかの例では、ＳＦＷドメインは、例えば、ＳＦＷデータ構造体及びＳＦＷコード（すなわち、機械実行可能命令）を含む複数のＳＦＷリソースを備えることができる。ＳＦＷドメインの一部として動作する論理プロセッサは、本明細書において用いられるとき、ＳＦＷドメインのＳＦＷリソースへのアクセスを有する論理プロセッサでありうる。幾つかの例では、ＳＦＷドメインのＳＦＷリソース（例えば、ＳＦＷデータ構造体及びＳＦＷコード）は、ＳＦＷドメインのシステム管理メモリ領域（例えば、ＳＭＲＡＭ）に記憶することができる。そのような例では、ＳＦＷドメインの一部として動作する論理プロセッサは、ＳＦＷドメインのシステム管理メモリ領域に記憶されたＳＦＷリソースへのアクセスを有する論理プロセッサでありうる。ＳＦＷドメインの一部として動作する論理プロセッサは、システム管理メモリ領域内のＳＦＷリソースに常にアクセスを有することができるとは限らない。逆に、この論理プロセッサは、幾つかの時点（例えば、ブート中）、或る特定のモード（例えば、システム管理モード（ＳＭＭ））等においてアクセスを有することができる。本明細書において説明する例では、そのような制限されたアクセスを有する論理プロセッサは、それでも、システム管理メモリ領域内のＳＦＷリソースへのアクセスを有するとみなすことができる。幾つかの例では、システム管理メモリ領域は、ブレードエンクロージャ内に実装されるとともにこの領域へのアクセスを有する論理プロセッサを備える少なくとも１つのブレードデバイスの機械可読記憶媒体の少なくとも一部分でありうる。
【００１８】
ＳＦＷデータ構造体は、例えば、高度構成及び電力インタフェース（ＡＣＰＩ：advanced configuration and power interface）テーブル、システム管理ＢＩＯＳ（ＳＭＢＩＯＳ）テーブル、メモリデータ構造体、割り込みベクトル、セマフォ等、又はそれらの組み合わせを含みうる。ＳＦＷデータ構造体は、ＳＦＷインスタンスの命令を実行する論理プロセッサが生成して、システム管理メモリ領域に記憶することができる。ＳＦＷコードは、システム管理割り込み（ＳＭＩ）ハンドラ等の割り込みサービスルーチンを実施する実行可能命令を含みうる。ＳＦＷコードは、エラーハンドラを実施する実行可能命令も含みうる。ＳＦＷコードは、システム管理メモリ領域内にコピーされたＳＦＷインスタンスの命令でありうる。
【００１９】
図１の例では、論理プロセッサ１３２及び１４２は、異なるＳＦＷドメイン１６０及び１６２の一部としてそれぞれ動作するように構成することができる。本明細書において説明する例では、異なるＳＦＷドメインの一部として動作するように構成された論理プロセッサは、異なるシステム管理メモリ領域（例えば、異なるＳＭＲＡＭ領域）内の異なるＳＦＷリソースにアクセスするように構成された論理プロセッサでありうる。そのような例では、第１のＳＦＷドメインの一部として動作するように構成された論理プロセッサは、第２のＳＦＷドメインのいずれのＳＦＷリソースへのアクセスも有しないことがある。例えば、ＳＦＷドメイン１６０の一部として動作するように構成された論理プロセッサ１３２は、第１のシステム管理メモリ領域（例えば、ＳＭＲＡＭ）に記憶されたＳＦＷドメイン１６０の第１のＳＦＷリソースへの（例えば、ＳＭＭにおける）アクセスを有することがあり、第２のシステム管理メモリ領域（例えば、ＳＭＲＡＭ）に記憶されたＳＦＷドメイン１６２の第２のＳＦＷリソースへのアクセスを有しないことがある。そのような例では、ＳＦＷドメイン１６２の一部として動作するように構成された論理プロセッサ１４２は、第２のシステム管理メモリ領域に記憶されたＳＦＷドメイン１６２の第２のＳＦＷリソースへの（例えば、ＳＭＭにおける）アクセスを有することがあり、第１のシステム管理メモリ領域に記憶されたＳＦＷドメイン１６０の第１のＳＦＷリソースへのアクセスを有しないことがある。
【００２０】
幾つかの例では、論理プロセッサは、異なるＳＦＷインスタンスを用いて論理プロセッサのそれぞれをブートすることによって異なるＳＦＷドメインの一部として動作するように構成することができる。図１の例では、論理プロセッサ１３２及び１４２は、ＳＦＷインスタンス１２１の命令を用いて論理プロセッサ１３２をブートするとともに、ＳＦＷインスタンス１２１とは異なる別のＳＦＷインスタンスの命令を用いて論理プロセッサ１４２をブートすることによって、異なるＳＦＷドメインの一部として動作するように構成することができる。
【００２１】
図１の例では、ブレードシステム１００の少なくとも一部分のリセット（例えば、パーティション１０８のリセット）の後、ＳＦＷインスタンス１２１の命令１２２は、論理プロセッサ１３２によって実行されると、論理プロセッサ１３２を、ＳＦＷインスタンス１２１と関連付けられたＳＦＷドメイン１６０の一部として動作するように構成することができる。例えば、命令１２２は、論理プロセッサ１３２のハードウェアアドレスマップを、論理プロセッサ１３２が第１のシステム管理メモリ領域（例えば、ＳＭＲＡＭ）に記憶されたＳＦＷドメイン１６０の第１のＳＦＷリソースにアクセスするように構成することができる。そのような例では、第１のＳＦＷリソースは、ＳＦＷドメイン１６０のＳＦＷコード（例えば、ＳＭＩハンドラ等）及び状態情報（例えば、保留中の割り込み、ロードされたドライバ、ロードされたＡＣＰＩテーブル等に関する情報）を含みうる。幾つかの例では、第１のシステム管理メモリ領域は、パーティション１０８のブレードデバイス１３０のメモリ（例えば、ＲＡＭ）の領域（例えば、メモリ１３４の領域）又はパーティション１０８の別のブレードデバイスのメモリの領域でありうる。
【００２２】
また、リセット後、論理プロセッサ１４２は、別のＳＦＷインスタンスの命令を実行して、ＳＦＷドメイン１６０と異なるとともに別のＳＦＷインスタンスと関連付けられたＳＦＷドメイン１６２の一部として動作するように論理プロセッサ１４２を構成することもできる。例えば、それらの命令は、論理プロセッサ１４２のハードウェアアドレスマップを、論理プロセッサ１４２が第１のシステム管理メモリ領域と異なる第２のシステム管理メモリ領域（例えば、ＳＭＲＡＭ）に記憶されたＳＦＷドメイン１６２の第２のＳＦＷリソースにアクセスするように構成することができる。そのような例では、第１のＳＦＷリソースと異なる第２のＳＦＷリソースは、ＳＦＷドメイン１６２のＳＦＷコード（例えば、ＳＭＩハンドラ等）及び状態情報（例えば、保留中の割り込み、ロードされたドライバ、ロードされたＡＣＰＩテーブル等に関する情報）を含みうる。幾つかの例では、第２のシステム管理メモリ領域は、パーティション１０８のブレードデバイス１４０のメモリ（例えば、ＲＡＭ）の領域又はパーティション１０８の別のブレードデバイスのメモリの領域でありうる。
【００２３】
図１の例では、命令１２４は、論理プロセッサ１３２によって実行されると、論理プロセッサ１３２と関連付けられたブレードデバイス１３０の利用可能なメモリ１３５をブレードデバイス１４０に対して特定することができる。幾つかの例では、命令１２４によって特定されたメモリ１３５は、ＯＳ１１５等のブレードシステム１００のＯＳによる使用に利用可能であると判断されたメモリでありうる。例えば、論理プロセッサ１３２は、命令１２４を実行して、論理プロセッサ１３２と関連付けられたメモリ１３４の中で利用可能なメモリ１３５を特定することができる。幾つかの例では、論理プロセッサ１３２は、リセット後にそのブートプロセスの一部として命令１２４を実行することができる。そのような例では、命令１２４は、論理プロセッサ１３２と関連付けられたメモリ１３４の量を求め、そして、メモリ１３４をテストして、メモリ１３４のどの部分が使用可能であるのか（すなわち、機能しているのか）を判断することができる。幾つかの例では、命令１２４は、ＯＳ１１５による使用に利用可能なメモリ１３５（すなわち、利用可能なメモリ１３５）として使用可能であると判断されたメモリ１３４の少なくとも一部分を特定することができる。例えば、論理プロセッサ１３２は、（例えば、ＳＦＷインスタンス１２１の命令を実行するときに）論理プロセッサ１３２によって用いられる使用可能なメモリ１３４の一部分を確保し、使用可能なメモリ１３４の残りをＯＳ１１５による使用に利用可能なメモリ１３５として特定することができる。
【００２４】
命令１２４を実行する論理プロセッサ１３２は、特定された利用可能なメモリ１３５の記述をブレードデバイス１３０のサービスメモリに記憶して、ブレードデバイス１３０のサービスプロセッサが、パーティション１０８のブートを調整してＯＳ１１５を走らせることを担当するモナーク論理プロセッサ（例えば、ブートストラップ論理プロセッサ）にこの記述を提供することができるようにすることもできる。特定された利用可能なメモリ１３５の記述は、任意の適したフォーマットや、データ構造体等（例えば、テーブル等）でありうる。幾つかの例では、論理プロセッサ１４２は、モナーク論理プロセッサでありうる。そのような例では、利用可能なメモリ１３５の記述をブレードデバイス１３０のサービスメモリに記憶することによって、ブレードデバイス１３０のサービスプロセッサは、この記述にアクセスし、論理プロセッサ１４２を備えるブレードデバイス１４０にこの記述を提供することができる。そのような例では、論理プロセッサ１３２は、この記述をブレードデバイス１３０のサービスメモリに記憶することによって、利用可能なメモリを論理プロセッサ１４２に対して特定することができる。ブレードデバイス１４０は、以下で説明するように、ブレードデバイス１３０の特定されたメモリ１３５を、ＯＳ１１５による使用に利用可能にすることができる。
【００２５】
図１の例では、ＳＦＷインスタンス１２１の命令１２２を実行する論理プロセッサ１３２は、ブレードデバイス１３０のパーティション構成情報１５４にアクセスすることができる。本明細書において説明する例では、ブレードデバイスのパーティション構成情報は、このブレードデバイスに関係したパーティションの構成の少なくとも幾つかの態様を記述することができる。例えば、パーティション構成情報１５４は、ブレードデバイス１３０がパーティション１０８の拡張ブレードデバイスとして指定されているのか又は計算ブレードデバイスとして指定されているのかを、（例えば、フラグ等を介して）示すことができる。論理プロセッサ１３２は、例えば、ブレードデバイス１３０のサービスメモリにおいてパーティション構成情報１５４にアクセスすることもできるし、このパーティション構成情報がサービスメモリからコピーされた後は、ＳＦＷドメイン１６０の第１のシステム管理メモリ領域においてこのパーティション構成情報にアクセスすることもできる。
【００２６】
ブレードデバイス１３０が拡張ブレードデバイスであることをパーティション構成情報１５４が示しているとの判断に応答して、論理プロセッサ１３２によって実行される命令１２６は、ブレードデバイス１３０の特定されたメモリ１３５を論理プロセッサ１３２から隠蔽し、論理プロセッサ１３２をＳＦＷ実行モードに配置することができる。例えば、命令１２６は、論理プロセッサ１３２によって実行されると、論理プロセッサ１３２が特定されたメモリ１３５のいずれにもアクセスするができないように論理プロセッサ１３２のソースアドレスデコーダを設定することによって、特定されたメモリ１３５を隠蔽することができる。そのような例では、命令１２６は、論理プロセッサ１３２のソースアドレスデコーダがメモリ１３４の特定されたメモリ１３５中のいずれのアドレスについてもアドレス変換を含まないように、これらのソースアドレスデコーダを設定することができる。このように、命令１２６は、ＯＳ１１５による使用に利用可能な特定されたメモリ１３５を論理プロセッサ１３２からファイアウォールすることができる。幾つかの例では、命令１２６は、ＯＳ１１５に利用可能にされる特定されたメモリ１３５の選択部分の表示を受信することができ、この選択部分を論理プロセッサ１３２から隠蔽し、残りの部分は隠蔽しないことが可能である。
【００２７】
また、ブレードデバイス１３０が拡張ブレードデバイスであることをパーティション構成情報１５４が示しているとの判断に応答して、論理プロセッサ１３２によって実行される命令１２６は、論理プロセッサ１３２をＳＦＷ実行モードに配置することができる。このＳＦＷ実行モードにおいて、論理プロセッサ１３２は、ＯＳ１１５が少なくともブレードデバイス１４０の論理プロセッサ１４２によって実行されている間、ＳＦＷインスタンス１２１の命令を実行する。幾つかの例では、ＳＦＷ実行モードは、ＳＭＭでありうる。例えば、命令１２６は、論理プロセッサ１３２によって実行されると、論理プロセッサ１３２を、ＳＭＭに入らせ、ＯＳ１１５が少なくとも論理プロセッサ１４２によって実行されている間、ＳＭＭに維持しておくことができる。本明細書において説明する例では、システム管理モード（ＳＭＭ）は、論理プロセッサが動作するように構成されたＳＦＷドメインのＳＦＷコードを論理プロセッサが実行するモードでありうる。ＳＭＭにおいて、論理プロセッサ１３２は、ＳＦＷインスタンス１２１と関連付けられたＳＦＷドメイン１６０の第１のシステム管理メモリ領域（例えば、ＳＭＲＡＭ）へのアクセスを有することがあり、第１のシステム管理メモリ領域に記憶されたＳＦＷコード（例えば、ＳＦＷインスタンス１２１の命令）を実行することができる。ＳＭＭにおいて、論理プロセッサ１３２は、例えば、ＯＳ１１５の任意の部分又はＯＳ１１５において走らされる任意のアプリケーションの任意の部分を走らせるためにＯＳ１１５が利用することには、利用可能ではない。
【００２８】
さらに、ＳＭＭにおいて、論理プロセッサ１３２は、例えば、ＳＭＩの検出に応答したＳＭＩハンドラの命令及びエラー表示に応答したエラーハンドラの命令等のＳＦＷインスタンス１２１の命令を実行するのに利用可能な状態に維持される。そのような例では、ＳＭＩハンドラ及びエラーハンドラの命令は、ＳＦＷインスタンス１２１の命令とすることができ、ブートプロセス中に第１のシステム管理メモリ領域内にコピーされている場合がある。そのような例では、ＳＭＭにおいて、論理プロセッサ１３２は、第１のシステム管理メモリ領域の外部でこれらの命令を実行することができる。
【００２９】
他の例では、ＳＦＷ実行モードは、パーティションの他の論理プロセッサがＯＳを実行している間にパーティションの或る論理プロセッサがＳＦＷインスタンスのコードを実行する任意の適した状態でありうる。例えば、命令１２６は、ＳＦＷインスタンス１２１の命令によって実施されるループを論理プロセッサ１３２に実行させることができ、それによって、パーティションの他の論理プロセッサがＯＳを実行している間、論理プロセッサ１３２がＳＦＷインスタンス１２１の命令を実行する状態を維持するとともに、論理プロセッサ１３２が、このループから外されて、上記で説明したようなＳＭＩ又はエラーハンドラ等の他のＳＦＷコードを実行するために利用可能にする。
【００３０】
上述したように、幾つかの例では、論理プロセッサ１３２によって実行される命令１２４は、利用可能なメモリ１３５の記述をブレードシステム１００の共有メモリ領域に記憶することによって、論理プロセッサ１４２に対して利用可能なメモリ１３５を特定することができる。そのような例では、論理プロセッサ１４２は、モナーク論理プロセッサとすることができ、ブレードデバイス１３０の特定されたメモリ１３５をＯＳ１１５による使用に利用可能にすることができる。例えば、論理プロセッサ１４２は、ブレードデバイス１３０のメモリ１３５を特定する情報を任意の適したフォーマット又はデータ構造体（例えば、テーブル等）によってＯＳ１１５に提供することができる。例えば、論理プロセッサ１４２は、ＯＳ１１５からアクセス可能なブレードシステム１００のメモリの領域に記憶された少なくとも１つのＡＣＰＩテーブルでこの情報をＯＳ１１５に提供することができる。幾つかの例では、論理プロセッサ１４２は、ブレードデバイス１４０の利用可能なメモリ及び論理プロセッサ１４２等のパーティション１０８の他のリソースも、ＯＳ１１５からアクセス可能なメモリ領域に記憶されたＡＣＰＩテーブルにおいて特定することによって、それらの他のリソースもＯＳ１１５に利用可能にすることができる。
【００３１】
図１の例では、モナーク論理プロセッサは、論理プロセッサ１３２を、ＯＳ１１５による使用に利用可能であるとして特定しないことがある。例えば、論理プロセッサ１３２及び１４２は、異なるＳＦＷドメイン１６０及び１６２においてそれぞれ動作するように構成されているので、論理プロセッサ１３２は、論理プロセッサ１４２に見えないようにすることがある。さらに、論理プロセッサ１３２は、自身を、ＯＳ１１５による使用に利用可能であるとして論理プロセッサ１４２に対して特定しないことがある。したがって、論理プロセッサ１４２がモナーク論理プロセッサである例では、論理プロセッサ１４２は、論理プロセッサ１３２を、ＯＳ１１５による使用に利用可能であるとして特定しないことがある。例えば、論理プロセッサ１４２によってＯＳ１１５に提供されるＡＣＰＩテーブルは、論理プロセッサ１４２、ブレードデバイス１３０の利用可能なメモリ１３５、及びブレードデバイス１４０の利用可能なメモリの特定情報を含むことができ、論理プロセッサ１３２の任意の特定情報を除外することができる。そのような例では、論理プロセッサ１３２は、ＯＳ１１５による使用に利用不能とすることができ、ＯＳ１１５による使用に利用可能にされる特定されたメモリ１３５は、上記で説明したように、論理プロセッサ１３２による使用に利用不能にすることができる。
【００３２】
論理プロセッサ１４２並びにブレードデバイス１３０及び１４０の特定されたメモリ（メモリ１３５を含む）がＯＳ１１５に利用可能にされた後、（例えば、ＡＣＰＩテーブルにおいて）ＯＳ１１５に対して特定されたリソースを利用してパーティション１０８上でＯＳ１１５を実行することができる。例えば、論理プロセッサ１３２がＯＳ１１５又はＯＳ１１５によって走らされる任意のアプリケーションによる使用に利用不能である間、ＯＳ１１５は、論理プロセッサ１４２及びブレードデバイス１３０及び１４０の特定された利用可能なメモリを用いてアプリケーションを実行し走らせることができる。幾つかの例では、図１に関して本明細書において説明した機能は、図２〜図５のうちの任意のものに関して本明細書において説明した機能と組み合わせて提供することができる。
【００３３】
図２は、ＯＳがパーティションの別の論理プロセッサによって実行されている間、パーティション２０８の複数の論理プロセッサをＳＦＷ実行モードに配置する一例示のブレードシステム２００のブロック図である。図２の例では、ブレードシステム２００は、ブレードエンクロージャ２０５と、ブレードエンクロージャ２０５内に実装されたブレードデバイス２３０及び２４０とを備える。ブレードデバイス２３０は、本明細書において拡張ブレードデバイス２３０と呼ばれる場合があり、ブレードデバイス２４０は、本明細書において計算ブレードデバイス２４０と呼ばれる場合がある。ブレードシステム２００は、図１に関して上記で説明したように、ブレードデバイス２３０及び２４０のそれぞれのリソースを用いてＯＳ１１５を走らせることができる。例えば、ＯＳ１１５は、ブレードシステム２００のパーティション２０８が走らせることができ、このパーティション２０８は、少なくともブレードデバイス２３０及び２４０を備える。
【００３４】
図２の例では、拡張ブレードデバイス２３０は、図１に関して上記で説明したように、論理プロセッサ１３２及び論理プロセッサ１３２と関連付けられたメモリ１３４を備えることができる。拡張ブレードデバイス２３０は、ブレードデバイス２３０のメモリ２３４と関連付けられた論理プロセッサ２３２も備えることができる。他の例では、ブレードデバイス２３０は、３つ以上の論理プロセッサを備えることができ、それらの論理プロセッサのうちの幾つか又は全ては、関連付けられたメモリを有する。論理プロセッサ１３２及び２３２のそれぞれは、本明細書において拡張論理プロセッサと呼ばれる場合がある。計算ブレードデバイス２４０は、図１に関して上記で説明したような論理プロセッサ１４２、及び計算論理プロセッサ１４２と関連付けられたメモリ１４４を備えることができる。計算ブレードデバイス２４０は、ブレードデバイス２４０のメモリ２４４と関連付けられた論理プロセッサ２４２も備えることができる。他の例では、ブレードデバイス２４０は、３つ以上の論理プロセッサを備えることができ、それらの論理プロセッサのうちの幾つか又は全ては、関連付けられたメモリを有する。論理プロセッサ１４２及び２４２のそれぞれは、本明細書において計算論理プロセッサと呼ばれる場合がある。
【００３５】
ブレードデバイス２３０は、図１に関して上記で説明したように、命令１２２、１２４、及び１２６を含むＳＦＷインスタンス１２１を用いてコード化された機械可読記憶媒体１２０を備える。ＳＦＷインスタンス１２１の命令は、ＳＦＷインスタンス１２１に関して以下で説明する機能を実行するように論理プロセッサ１３２及び２３２によって実行可能である。ブレードデバイス２４０は、ＳＦＷインスタンス２８１に関して以下で説明する機能を実行する、論理プロセッサ１４２及び２４２によって実行可能な命令を含むＳＦＷインスタンス２８１を用いてコード化された機械可読記憶媒体２８０を備える。
【００３６】
図２の例では、ブレードシステム２００の少なくとも一部分（例えば、パーティション２０８）のリセット後、命令１２２は、図１のブレードシステム１００に関して上記で説明したように、ＳＦＷインスタンス１２１と関連付けられたＳＦＷドメイン１６０の一部として動作するように論理プロセッサ１３２及び２３２のそれぞれを構成することができる。例えば、論理プロセッサ１３２及び２３２のそれぞれは、ＳＦＷインスタンス１２１を用いてブートすることができる。そのような例では、論理プロセッサ１３２及び２３２は、同じＳＦＷドメイン１６０の一部として動作するように構成されている。本明細書において説明する例では、単一のＳＦＷドメイン（すなわち、同じＳＦＷドメイン）の一部として動作するように構成された論理プロセッサは、ＳＦＷドメインのＳＦＷリソースにアクセスするようにそれぞれ構成された論理プロセッサでありうる。例えば、これらの論理プロセッサは、ＳＦＷドメインのＳＦＷリソースを記憶するシステム管理メモリ領域への（例えば、ＳＭＭにおける）アクセスをそれぞれ有することがある。
【００３７】
例えば、命令１２２は、論理プロセッサ１３２及び２３２によって実行されると、論理プロセッサ１３２及び２３２のそれぞれのハードウェアアドレスマップを同じになるように構成することができる。幾つかの例では、命令１２２は、論理プロセッサ１３２及び２３２がＳＦＷドメイン１６０の第１のシステム管理メモリ領域における同じＳＦＷリソース（すなわち、ＳＦＷドメイン１６０のＳＦＷリソース）へのアクセスをそれぞれ有するように、それぞれのハードウェアアドレスマップを構成することができる。命令１２２は、ハードウェアアドレスマップを、論理プロセッサ１３２及び２３２がＳＦＷドメイン１６０の同じＳＦＷコード及び同じ状態情報にアクセスするように構成することができる。また、リセット後、ＳＦＷインスタンス２８１の命令は、ＳＦＷドメイン１６０の論理プロセッサ１３２及び２３２に関して上記で説明したように、ＳＦＷインスタンス２８１と関連付けられたＳＦＷドメイン１６２の一部として（すなわち、同じＳＦＷドメインの一部として）動作するように論理プロセッサ１４２及び２４２のそれぞれを構成することができる。図２の例では、ＳＦＷドメイン１６０及び１６２は、異なるＳＦＷドメインである。
【００３８】
図２の例では、命令１２４は、ブレードデバイス２３０の複数の論理プロセッサによって実行されると、図１に関して上記で説明したように、それらの複数の論理プロセッサのうちの任意の１つと関連付けられたブレードデバイス２３０の利用可能なメモリを特定することができる。例えば、論理プロセッサ１３２は、命令１２４を実行すると、メモリ１３４の利用可能なメモリ１３５を特定することができ、論理プロセッサ２３２は、メモリ２３４の利用可能なメモリ２３５を特定することができる。加えて、複数の論理プロセッサのそれぞれは、命令１２４を実行すると、特定されたメモリの記述を、ブレードデバイス２３０のサービスプロセッサ２５０からアクセス可能なブレードデバイス２３０のサービスメモリ２５２に記憶することができる。例えば、論理プロセッサ１３２及び２３２は、命令１２４を実行すると、特定されたメモリ１３５及び２３５の記述２５６をサービスメモリ２５２に記憶することができる。記述２５６は、論理プロセッサのそれぞれによって特定されたメモリの単一の記述であってもよく、各論理プロセッサによって特定されたメモリの別々の記述であってもよい。
【００３９】
サービスプロセッサ２５０は、ブレードデバイス２４０がパーティション２０８のモナーク論理プロセッサを備える例では、記述２５６をブレードデバイス２４０に提供することができる。例えば、論理プロセッサ１４２がモナーク論理プロセッサである場合、サービスプロセッサ２５０は、記述２５６をサービスメモリ２５２から取り出して、記述２５６をブレードデバイス２４０のサービスプロセッサ２７０に提供することによって、記述２５６をブレードデバイス２４０に提供することができる。サービスプロセッサ２７０は、受信された記述２５６をブレードデバイス２４０のサービスメモリ２７２に記憶することができる。このサービスメモリにおいて、記述２５６は、論理プロセッサ１４２からアクセス可能である。本明細書において説明する例では、サービスプロセッサは、ＣＰＵ、半導体ベースのマイクロプロセッサ、機械可読記憶媒体上に記憶された命令の取り出し及び実行に適した他の電子回路部、又はそれらの組み合わせのうちの少なくとも１つでありうる。
【００４０】
加えて、図２の例では、ブレードデバイス２３０に関して上記で説明したように、ブレードデバイス２４０の複数の論理プロセッサが、ＳＦＷインスタンス２８１の命令を実行して、それぞれの論理プロセッサと関連付けられたブレードデバイス２４０の利用可能なメモリを特定することができる。例えば、論理プロセッサ１４２は、メモリ１４４の利用可能なメモリ１４５を特定することができ、論理プロセッサ２４２は、メモリ２４４の利用可能なメモリ２４５を特定することができる。
【００４１】
幾つかの例では、モナーク論理プロセッサは、ＯＳ１１５に提供される全体的なメモリマップを求めることができる。このメモリマップは、特定されたメモリ１３５、２３５、１４５、及び２４５のうちの少なくとも幾つかを含みうる。そのような例では、モナーク論理プロセッサがメモリマップを求めた後、サービスプロセッサ２５０は、ルーティング情報２５８を受信し、このルーティング情報をサービスメモリ２５２に記憶することができる。そのような例では、命令１２２を実行する論理プロセッサ１３２及び２３２は、ルーティング情報２５８を利用して、ＯＳ１１５からの、ブレードデバイス２３０の特定されたメモリ（例えば、メモリ１３５及び２３５）をターゲットとするメモリトランザクションを、ブレードデバイス２３０のノードコントローラ２３３を用いてその特定されたメモリにルーティングするようにブレードデバイス２３０を構成することができる。例えば、命令１２２は、ブレードデバイス２３０の特定されたメモリをターゲットとする、ＯＳ１１５からのメモリトランザクションをこの特定されたメモリにルーティングするルーティングテーブルを、ノードコントローラ２３３に設定することができる。
【００４２】
そのような例では、論理プロセッサ１４２及び２４２によって実行されるＳＦＷインスタンス２８１の命令は、ブレードデバイス２３０の特定されたメモリをターゲットとするメモリトランザクションをノードコントローラ２４３及び２３３を通じてルーティングするようにブレードデバイス２４０を構成することもできる。例えば、これらの命令は、ブレードデバイス２３０の特定されたメモリをターゲットとするメモリトランザクションを、ノードコントローラ２４３を通じてルーティングするルーティングテーブルを論理プロセッサ１４２及び２４２に設定することができるとともに、それらのトランザクションをブレードデバイス２３０のノードコントローラ２３３を通じてルーティングするルーティングテーブルをノードコントローラ２４３に設定することができる。ノードコントローラ２３３及び２４３のそれぞれの機能は、電子回路部の形態、機械可読記憶媒体上にコード化された実行可能命令の形態、又はそれらの組み合わせにより実施することができる。
【００４３】
図２の例では、ＳＦＷインスタンス１２１の命令１２２を実行する論理プロセッサ１３２は、ブレードデバイス２３０のパーティション構成情報２５４にアクセスして、情報２５４に基づいて（例えば、情報２５４内のフラグに基づいて）、ブレードデバイス２３０が拡張ブレードデバイスであるのか又は計算ブレードデバイスであるのかを判断することができる。図２の例では、パーティション構成情報２５４は、サービスプロセッサ２５０が（例えば、パーティション２０８のパーティションマネージャから）受信して、サービスメモリ２５２に記憶することができる。論理プロセッサ１３２は、サービスメモリ２５２においてパーティション構成情報２５４にアクセスすることもできるし、このパーティション構成情報がサービスメモリ２５２からＳＦＷドメイン１６０の第１のシステム管理メモリ領域にコピーされた後は、この第１のシステム管理メモリ領域においてパーティション構成情報２５４にアクセスすることもできる。図２の例では、ブレードデバイス２４０が拡張ブレードデバイスであるのか又は計算ブレードデバイスであるのかを示すパーティション構成情報２７４は、サービスメモリ２７２に記憶することができ、論理プロセッサ１４２及び２４２がアクセスして、ブレードデバイス２４０が拡張ブレードデバイスであるのか又は計算ブレードデバイスであるのかを判断することができる。
【００４４】
パーティション構成情報２５４が、ブレードデバイス２３０が拡張ブレードデバイスであることを示す例では、図１に関して上記で説明したように、ブレードデバイス２３０の論理プロセッサによって実行される命令１２６は、ブレードデバイス２３０の特定されたメモリの各領域を、ブレードデバイス２３０が関連付けられているそれぞれの論理プロセッサから隠蔽し、ブレードデバイス２３０の複数の論理プロセッサのそれぞれをＳＦＷ実行モードに配置することができる。例えば、命令１２６は、特定されたメモリ１３５を論理プロセッサ１３２から隠蔽し、論理プロセッサ１３２をＳＦＷ実行モード（例えば、ＳＭＭ）に配置することができ、命令１２６は、特定されたメモリ２３５を論理プロセッサ２３２から隠蔽し、論理プロセッサ２３２をＳＦＷ実行モード（例えば、ＳＭＭ）に配置することができる。
【００４５】
幾つかの例では、ＯＳがブレードデバイス２４０の少なくとも論理プロセッサ１４２によって実行されている間、複数の論理プロセッサのそれぞれがＳＦＷインスタンス１２１の命令を実行するように、それらの論理プロセッサのそれぞれをＳＦＷ実行モードに配置することができる。他の例では、ブレードデバイス２３０の１つの論理プロセッサをＳＦＷ実行モードに配置することができる一方、ブレードデバイス２３０の他の論理プロセッサを、ＳＦＷインスタンス１２１の命令を実行するのに利用可能な状態に維持しないことができる。例えば、論理プロセッサの残りを停止状態、初期化状態（例えば、スタートアッププロセッサ間割り込み（ＳＩＰＩ）を待機している状態）等に配置することができる。そのような例では、ＳＦＷインスタンス１２１の命令を実行するのに利用可能な状態に維持されている１つの論理プロセッサは、ブレードデバイスの管理に用いることができる。
【００４６】
ブレードデバイス２３０の論理プロセッサがＳＦＷ実行モードに配置された後、モナーク論理プロセッサは、ブレードデバイス２３０の特定されたメモリをＯＳ１１５による使用に利用可能にすることができる。論理プロセッサ１４２がモナーク論理プロセッサである例では、論理プロセッサ１４２は、ブレードデバイス２３０のメモリ１３５及び２３５を特定する情報をＯＳ１１５に任意の適したフォーマット又はデータ構造体（例えば、テーブル等）で提供することができる。例えば、論理プロセッサ１４２は、ＯＳ１１５からアクセス可能なブレードシステム１００のメモリの領域に記憶された少なくとも１つのＡＣＰＩテーブルでこの情報をＯＳ１１５に提供することができる。幾つかの例では、論理プロセッサ１４２は、ブレードデバイス２４０の利用可能なメモリ１４５及び２４５並びに論理プロセッサ１４２及び２４２等のパーティション２０８の他のリソースも、ＯＳ１１５からアクセス可能なメモリ領域に記憶されたＡＣＰＩテーブルにおいて特定することによって、それらの他のリソースもＯＳ１１５に利用可能にすることができる。そのような例では、図１に関して上記で説明したように、モナーク論理プロセッサは、論理プロセッサ１３２及び２３２をＯＳ１１５による使用に利用可能であるとして特定しない。
【００４７】
論理プロセッサ１４２及び２４２、並びにブレードデバイス２３０及び２４０の特定されたメモリがＯＳ１１５に利用可能にされた後、ＯＳ１１５は、（例えば、ＡＣＰＩテーブルにおいて）ＯＳ１１５に対して特定されたリソースを利用してパーティション２０８上で走ることができる。例えば、論理プロセッサ１３２及び２３２が、ＯＳ１１５又はＯＳ１１５によって走らされる任意のアプリケーションによる使用に利用不能である間、ＯＳ１１５は、論理プロセッサ１４２及び２４２並びにブレードデバイス２３０及び２４０の特定された利用可能なメモリを用いて、アプリケーションを実行し走らせることができる。幾つかの例では、図２に関して本明細書において説明した機能は、図１及び図３〜図５のうちの任意のものに関して本明細書において説明した機能と組み合わせて提供することができる。
【００４８】
図３は、システム３００のパーティションの論理プロセッサをＳＦＷ実行モードに配置し、この論理プロセッサと関連付けられたメモリをこのパーティションのＯＳに利用可能にする一例示のシステム３００のブロック図である。図３の例では、システム３００（例えば、ブレードシステム３００）は、ブレードエンクロージャ３０５と、ブレードエンクロージャ３０５内に実装されたブレードデバイス３３０、３４０、及び３９０とを備える。他の例では、システム３００は、ブレードエンクロージャ３０５内に実装されたこれよりも多い又は少ないブレードデバイスを備えることができる。ブレードデバイス３３０は、本明細書において拡張ブレードデバイス３３０と呼ばれる場合があり、ブレードデバイス３４０は、本明細書において計算ブレードデバイス３４０と呼ばれる場合がある。
【００４９】
図３の例では、拡張ブレードデバイス３３０は、論理プロセッサ３３２と、論理プロセッサ３３２と関連付けられたメモリ３３４と、メモリ３３４を管理するメモリコントローラ３３１とを備える。論理プロセッサ３３２は、本明細書において拡張論理プロセッサ３３２と呼ばれる場合がある。メモリコントローラ３３１及び拡張論理プロセッサ３３２は、単一のＣＰＵ  ＩＣ内に統合することができる。例えば、メモリコントローラ３３１は、論理プロセッサ３３２を備えるか又は構成するＣＰＵ  ＩＣに統合することができる。幾つかの例では、論理プロセッサ３３２及びメモリコントローラ３３１を備えるＣＰＵ  ＩＣは、ブレードデバイス３３０の他のメモリを管理する追加のメモリコントローラも備えることができる。幾つかの例では、ブレードデバイス３３０は、複数の論理プロセッサを備えることができ、それらの論理プロセッサのうちの幾つか又は全ては、関連付けられたメモリを有する。
【００５０】
計算ブレードデバイス３４０は、論理プロセッサ３４２と、論理プロセッサ３４２と関連付けられたメモリ３４４と、メモリ３４４を管理するメモリコントローラ３４１とを備える。論理プロセッサ３４２は、本明細書において計算論理プロセッサ３４２と呼ばれる場合がある。メモリコントローラ３４１及び論理プロセッサ３４２は、単一のＣＰＵ  ＩＣ内に統合することができる。例えば、メモリコントローラ３４１は、論理プロセッサ３４２を備えるか又は構成するＣＰＵ  ＩＣに統合することができる。幾つかの例では、論理プロセッサ３４２及びメモリコントローラ３４１を備えるＣＰＵ  ＩＣは、ブレードデバイス３４０の他のメモリを管理する追加のメモリコントローラも備えることができる。幾つかの例では、ブレードデバイス３４０は、複数の論理プロセッサを備えることができ、それらの論理プロセッサのうちの幾つか又は全ては、関連付けられたメモリを有する。メモリコントローラ３３１及び３４１のそれぞれの機能は、電子回路部の形態、機械可読記憶媒体上にコード化された実行可能命令の形態、又はそれらの組み合わせで実施することができる。
【００５１】
ブレードシステム３００は、図１に関して上記で説明したように、ブレードデバイス３３０及び３４０のそれぞれのリソースを用いてＯＳ１１５を走らせることができる。例えば、ＯＳ１１５は、少なくともブレードデバイス３３０及び３４０を備えるブレードシステム３００のパーティション３０８が走らせることができる。図３の例では、パーティション３０８は、例えばブレードデバイス３９０等のシステム３００の少なくとも１つのブレードデバイスを省略することができる。他の例では、パーティション３０８は、ブレードエンクロージャ３０５内に実装された追加のブレードデバイスを備えることができる。
【００５２】
図３の例では、ブレードデバイス３３０は、命令３２２、３２４、３２６、３２８、及び３２９を含むＳＦＷインスタンス３２１を用いてコード化されたファームウェアメモリ３２０を備える。幾つかの例では、ＳＦＷインスタンス３２１は、追加の命令を含みうる。ＳＦＷインスタンス３２１の命令は、ＳＦＷインスタンス３２１に関して以下で説明する機能を実行するように少なくとも論理プロセッサ３３２によって実行可能である。ブレードデバイス３４０は、命令３８２、３８４、３８６、及び３８８を含むＳＦＷインスタンス３８１を用いてコード化されたファームウェアメモリ３８０を備える。幾つかの例では、ＳＦＷインスタンス３８１は、追加の命令を含みうる。ＳＦＷインスタンス３８１の命令は、ＳＦＷインスタンス３８１に関して以下で説明する機能を実行するように少なくとも論理プロセッサ３４２によって実行可能である。図３の例では、ＳＦＷインスタンス３８１は、パーティション３０８をブートしてＯＳ１１５を実行するように実行可能である。図３の例では、図２に関して上記で説明したように、ブレードデバイス３３０は、サービスプロセッサ２５０及びサービスメモリ２５２を備え、ブレードデバイス３４０は、サービスプロセッサ２７０及びサービスメモリ２７２を備える。
【００５３】
図３の例では、図１に関して上記で説明したように、少なくともパーティション３０８のリセット後、命令３２２は、論理プロセッサ３３２によって実行されると、論理プロセッサ３３２を、ＳＦＷインスタンス３２１と関連付けられたＳＦＷドメイン３６０の一部として動作するように構成することができる。また、図１に関して上記で説明したように、リセット後、命令３８２は、論理プロセッサ３４２によって実行されると、論理プロセッサ３４２を、ＳＦＷインスタンス３８１と関連付けられた、ＳＦＷドメイン３６０と異なるＳＦＷドメイン３６２の一部として動作するように構成することができる。そのような例では、論理プロセッサ３３２及び３４２は、異なるハードウェア設計を有することがある。なぜならば、これらの論理プロセッサは、異なるＳＦＷインスタンスによってブートされ、異なるＳＦＷドメインにおいて動作するようにブートされるからである。例えば、ＯＳ１１５を実行し、ＯＳ１１５においてアプリケーションを走らせるのに用いられる計算論理プロセッサ３４２は、ＯＳ１１５に利用不能である拡張論理プロセッサ３３２よりも高性能の（及び場合によってはより高価な）論理プロセッサでありうる。
【００５４】
図３の例では、図１に関して上記で説明したように、論理プロセッサ３３２は、命令３２４を実行して、論理プロセッサ３３２と関連付けられたメモリ３３４の中で利用可能なメモリ３３５を特定することができる。ブレードデバイス３３０のサービスプロセッサ２５０が、特定された利用可能なメモリ３３５の記述３５６をパーティション３０８のモナーク論理プロセッサに提供することができるように、命令３２４を実行する論理プロセッサ３３２は、この記述をブレードデバイス３３０のサービスメモリ２５２に記憶することもできる。論理プロセッサ３４２がモナーク論理プロセッサである例では、サービスプロセッサ２５０は、記述３５６をサービスメモリ２５２からサービスプロセッサ２７０を介してブレードデバイス３４０のサービスメモリ２７２に転送することができる。例えば、サービスプロセッサ２５０は、記述３５６をサービスプロセッサ２７０に提供することができ、サービスプロセッサ２７０は、受信された記述３５６をサービスメモリ２７２に記憶することができる。このサービスメモリにおいて、この記述は、論理プロセッサ３４２からアクセス可能である。そのような例では、命令３２４は、記述３５６をサービスメモリ２５２に記憶することによって、利用可能なメモリ３３５を論理プロセッサ３４２に対して特定することができる。
【００５５】
図３の例では、命令３２６を実行する論理プロセッサ３３２は、（例えば、サービスメモリ２５２、又はＳＦＷドメイン３６０のシステム管理メモリ領域において）ブレードデバイス３３０のパーティション構成情報３５４にアクセスし、情報３５４に基づいて、ブレードデバイス３３０が拡張ブレードデバイスであると判断することができる。ブレードデバイス３３０が拡張ブレードデバイスであると判断したことに応答して、上記で説明したように、論理プロセッサ３３２は、命令３２８を実行して、特定された利用可能なメモリ３３５を論理プロセッサ３３２から隠蔽することができる。また、ブレードデバイス３３０が拡張ブレードデバイスであるとの判断に応答して、図１に関して上記で説明したように、論理プロセッサ３３２は、命令３２９を実行して、論理プロセッサ３３２をＳＦＷ実行モード（例えば、ＳＭＭ）に配置することができる。ＳＦＷ実行モードにおいて、論理プロセッサ３３２は、ＯＳ１１５が少なくとも論理プロセッサ３４２によって実行されている間、ＳＦＷインスタンス３２１の命令を実行することができる。
【００５６】
図３の例では、論理プロセッサ３４２によって実行される命令３８４は、論理プロセッサ３４２と関連付けられた利用可能なメモリ３４５を特定することができる。このメモリは、ブレードデバイス３４０のメモリ３４４の少なくとも一部分でありうる。加えて、命令３８６を実行する論理プロセッサ３４２は、（例えば、サービスメモリ２７２、又はＳＦＷドメイン３６２のシステム管理メモリ領域において）ブレードデバイス３４０のパーティション構成情報３７４にアクセスし、情報３７４に基づいて、ブレードデバイス３４０が計算ブレードデバイスであると判断することができる。
【００５７】
ブレードデバイス３４０が計算ブレードデバイスであるとの判断に応答して、論理プロセッサ３４２によって実行される命令３８６は、論理プロセッサ３４２を用いてＳＦＷ実行モードに入らないように決定することができる。幾つかの例では、論理プロセッサ３４２は、モナーク論理プロセッサでありうる。そのような例では、論理プロセッサ３４２は、命令３８８を実行して、論理プロセッサ３４２、ブレードデバイス３３０の特定されたメモリ（例えば、メモリ３３５）、及びブレードデバイス３４０の特定されたメモリ（例えば、メモリ３４５）をＯＳ１１５による使用に利用可能にすることができる。
【００５８】
幾つかの例では、命令３８８は、これらのリソースをＯＳ１１５に対して特定することによって、これらのリソースをＯＳ１１５による使用に利用可能にすることができる。例えば、論理プロセッサ３４２によって実行される命令３８８は、論理プロセッサ３４２並びに特定されたメモリ３３５及び３４５がＯＳ１１５による使用に利用可能であることを少なくとも１つのＡＣＰＩテーブル３６６において示すことができる。そのような例では、ＡＣＰＩテーブルはそれぞれ、論理プロセッサ３３２がＯＳ１１５による使用に利用可能でないように、論理プロセッサ３３２に関するいずれの情報も除外することができる。命令３８８は、ＡＣＰＩテーブル３６６を、ＯＳ１１５からアクセス可能なブレードシステム３００のメモリ領域３６５に記憶することができる。メモリ領域３６５は、ブレードデバイス３４０、又はパーティション３０８の別のブレードデバイスのメモリの少なくとも一部分でありうる。ＯＳ１１５及び任意のアプリケーションは、その場合、ＡＣＰＩテーブル３６６におけるＯＳ１１５に対して特定されたリソースを利用してパーティション３０８上で走ることができる。幾つかの例では、図３に関して本明細書において説明した機能は、図１及び図２並びに図４及び図５のうちの任意のものに関して本明細書において説明した機能と組み合わせて提供することができる。
【００５９】
図４は、第２の論理プロセッサを用いたＯＳの実行中に、第１の論理プロセッサをＳＭＭに維持する一例示の方法４００のフローチャートである。方法４００の実行は、図３のブレードシステム３００を参照して以下で説明されるが、方法４００の実行に適した他のシステム（例えば、ブレードシステム１００又は２００）を利用することができる。加えて、方法４００の実施は、そのような例に限定されるものではない。
【００６０】
方法４００の４０５において、少なくともパーティション３０８のリセット後、命令３２２は、論理プロセッサ３３２によって実行されると、論理プロセッサ３３２を、ＳＦＷインスタンス３２１と関連付けられたＳＦＷドメイン３６０の一部として動作するように構成することができる。また、４０５において、命令３８２は、論理プロセッサ３４２によって実行されると、論理プロセッサ３４２を、ＳＦＷインスタンス３８１と関連付けられたＳＦＷドメイン３６２の一部として動作するように構成することができる。幾つかの例では、ＳＦＷインスタンス３８１は、パーティション３０８をブートしてＯＳ１１５を実行する命令を含みうる。
【００６１】
４１０において、命令３２４は、論理プロセッサ３３２によって実行されると、論理プロセッサ３３２と関連付けられたブレードデバイス３３０の利用可能なメモリ３３５を特定することができる。また、４１０において、命令３８４は、論理プロセッサ３４２によって実行されると、論理プロセッサ３４２と関連付けられたブレードデバイス３４０の利用可能なメモリ３４５を特定することができる。４１５において、命令３８８は、上記で説明したように、論理プロセッサ３４２によって実行されると、論理プロセッサ３４２、ブレードデバイス３３０の特定されたメモリ３３５、及びブレードデバイス３４０の特定されたメモリ３４５をＯＳ１１５による使用に利用可能にすることができる。
【００６２】
４２０において、命令３２９は、論理プロセッサ３３２によって実行されると、ＯＳ１１５の実行が開始する前に、論理プロセッサ３３２をＳＭＭに配置することができる。命令３２９は、上記で説明したように、ブレードデバイス３３０が拡張ブレードデバイスとして指定されているとの判断に応答して、論理プロセッサ３３２をＳＭＭに入らせることができる。４２５において、パーティション３０８は、少なくとも論理プロセッサ３４２を用いたＯＳ１１５の実行を開始することができる。例えば、パーティション３０８は、上記で説明したように、ＳＦＷインスタンス３８１を用いてＯＳ１１５をブートすることができ、そして、（例えば、上記で説明したように、ＯＳ１１５に提供されたＡＣＰＩテーブルにおいて）論理プロセッサ３４２によってＯＳ１１５に利用可能にされたパーティション３０８のリソースを用いたＯＳ１１５の実行を開始することができる。そのような例では、論理プロセッサ３３２がＯＳ１１５に利用不能である間、パーティション３０８は、少なくとも論理プロセッサ３４２並びに特定されたメモリ３３５及び３４５を用いてＯＳ１１５を実行することができる。幾つかの例では、パーティション３０８は、パーティション３０８の追加のリソースを用いてＯＳ１１５を実行することができる。４３０において、論理プロセッサ３３２によって実行される命令３２９は、少なくとも論理プロセッサ３４２等のパーティション３０８の他の論理プロセッサを用いたＯＳ１１５の実行中、論理プロセッサ３３２をＳＭＭに維持することができる。そのような例では、論理プロセッサ３３２をＳＭＭに保つことによって、論理プロセッサ３３２は、ＯＳ１１５に利用不能である間、ＳＦＷインスタンス３２１の命令を実行するのに利用可能に維持することができる。
【００６３】
図４のフローチャートは、幾つかの機能の特定の遂行順序を示しているが、方法４００は、その順序に限定されるものではない。例えば、フローチャートにおいて連続して示された機能は、異なる順序で実行することもできるし、同時又は部分的に同時に実行することもできるし、それらの組み合わせで実行することもできる。幾つかの例では、図４に関して本明細書において説明した機能は、図１〜図３及び図５のうちの任意のものに関して本明細書において説明した機能と組み合わせて提供することができる。
【００６４】
図５は、異なるＳＦＷドメインにおいて動作するように構成されたパーティションの第１の論理プロセッサ及び第２の論理プロセッサのメモリを、そのパーティションのＯＳによる使用に利用可能にする一例示の方法５００のフローチャートである。方法５００の実行は、図３のブレードシステム３００を参照して以下で説明されるが、方法５００の実行に適した他のシステム（例えば、ブレードシステム１００又は２００）を利用することができる。加えて、方法５００の実施は、そのような例に限定されるものではない。
【００６５】
方法５００の５０５において、少なくともパーティション３０８のリセット後、命令３２２は、論理プロセッサ３３２によって実行されると、論理プロセッサ３３２を、ＳＦＷインスタンス３２１と関連付けられたＳＦＷドメイン３６０の一部として動作するように構成することができる。また、４０５において、命令３８２は、論理プロセッサ３４２によって実行されると、論理プロセッサ３４２を、ＳＦＷインスタンス３８１と関連付けられた、ＳＦＷドメイン３６０と異なるＳＦＷドメイン３６２の一部として動作するように構成することができる。幾つかの例では、ＳＦＷインスタンス３８１は、パーティション３０８をブートしてＯＳ１１５を実行する命令を含みうる。
【００６６】
５１０において、命令３２６は、論理プロセッサ３３２によって実行されると、パーティション構成情報３５４に基づいて、論理プロセッサ３３２が拡張論理プロセッサであると判断することができる。また、５１０において、命令３８６は、論理プロセッサ３４２によって実行されると、パーティション構成情報３７４に基づいて、論理プロセッサ３４２が計算論理プロセッサであると判断することができる。
【００６７】
５１５において、命令３２４は、論理プロセッサ３３２によって実行されると、論理プロセッサ３３２と関連付けられたブレードデバイス３３０の利用可能なメモリ３３５を特定することができる。また、５１５において、命令３８４は、論理プロセッサ３４２によって実行されると、論理プロセッサ３４２と関連付けられたブレードデバイス３４０の利用可能なメモリ３４５を特定することができる。５２０において、命令３２４は、ブレードデバイス３３０のサービスプロセッサ２５０からアクセス可能なブレードデバイス３３０のサービスメモリ２５２に、特定されたメモリ３３５の記述３５６を記憶することができる。５２５において、サービスプロセッサ２５０は、記述３５６をブレードデバイス３４０のサービスプロセッサ２７０に提供することができる。５３０において、サービスプロセッサ２７０は、記述３５６をブレードデバイス３４０のサービスメモリ２７２に記憶することができる。このサービスメモリにおいて、記述３５６は、論理プロセッサ３４２からアクセス可能である。
【００６８】
５３５において、命令３８８は、上記で説明したように、論理プロセッサ３４２によって実行されると、論理プロセッサ３４２、ブレードデバイス３３０の特定されたメモリ３３５、及びブレードデバイス３４０の特定されたメモリ３４５を、ＯＳ１１５による使用に利用可能にすることができる。５４０において、命令３２９は、論理プロセッサ３３２によって実行されると、ＯＳ１１５の実行が開始する前に、論理プロセッサ３３２をＳＭＭに配置することができる。命令３２９は、上記で説明したように、ブレードデバイス３３０が拡張ブレードデバイスとして指定されているとの判断に応答して、論理プロセッサ３３２をＳＭＭに入らせることができる。
【００６９】
５４５において、パーティション３０８は、少なくとも論理プロセッサ３４２を用いたＯＳ１１５の実行を開始することができる。例えば、パーティション３０８は、上記で説明したように、ＳＦＷインスタンス３８１を用いてＯＳ１１５をブートし、そして、（例えば、上記で説明したように、ＯＳ１１５に提供されたＡＣＰＩテーブルにおいて）論理プロセッサ３４２によってＯＳ１１５に利用可能にされたパーティション３０８のリソースを用いたＯＳ１１５の実行を開始することができる。そのような例では、論理プロセッサ３３２がＯＳ１１５に利用不能である間、パーティション３０８は、少なくとも論理プロセッサ３４２並びに特定されたメモリ３３５及び３４５を用いてＯＳ１１５を実行することができる。幾つかの例では、パーティション３０８は、パーティション３０８の追加のリソースを用いてＯＳ１１５を同様に実行することができる。５５０において、論理プロセッサ３３２によって実行される命令３２９は、少なくとも論理プロセッサ３４２等のパーティション３０８の他の論理プロセッサを用いたＯＳ１１５の実行中、論理プロセッサ３３２をＳＭＭに維持することができる。幾つかの例では、命令３２９は、論理プロセッサ３３２が拡張論理プロセッサであるとの判断に応答して、ＯＳ１１５の実行中に論理プロセッサ３３２をＳＭＭに維持することができる。
【００７０】
５５５において、少なくとも論理プロセッサ３４２上で実行されるＯＳ１１５は、ＯＳ１１５のアクティブ動作中に、（例えば、上記で説明したように、ノードコントローラ２４３及び２３３を介して）ブレードデバイス３３０の特定されたメモリ３３５にアクセスすることができる。そのような例では、ＯＳ１１５は、ＳＭＭに入ることもなく、それ以外に、ＯＳ１１５を実行する論理プロセッサのうちの任意のものにおけるＯＳ１１５の動作をサスペンドすることもなく、特定されたメモリ３３５にアクセスすることができる。
【００７１】
図５のフローチャートは、幾つかの機能の特定の遂行順序を示しているが、方法５００は、その順序に限定されるものではない。例えば、フローチャートにおいて連続して示された機能は、異なる順序で実行することもできるし、同時又は部分的に同時に実行することもできるし、それらの組み合わせで実行することもできる。幾つかの例では、図５に関して本明細書において説明した機能は、図１〜図４のうちの任意のものに関して本明細書において説明した機能と組み合わせて提供することができる。
【図１】
0006031212.tif 000002
【図２】
0006031212.tif 000003
【図３】
0006031212.tif 000004
【図４】
0006031212.tif 000005
【図５】
0006031212.tif 000006