(57)【特許請求の範囲】
【請求項１】
ハードウェアベースのデバイス間リソース共有が可能なデバイスであって、
デバイス構成を設定するための構成モジュールと、
少なくとも前記デバイス構成に基づいてデータを処理するための処理モジュールと、
少なくとも１つのハードウェアリソースと、
前記処理モジュールが、前記少なくとも１つのハードウェアリソースと対話することを可能にするためのインタフェース技術と、
リモートオーケストレータモジュールと、
デバイス間の対話を監視し、前記デバイス間の前記対話に関する情報を、前記少なくとも１つのハードウェアリソースを少なくとも１つの他のデバイスに利用可能にさせる少なくとも１つの命令を前記デバイスに対して提供するリモートオーケストレータに提供する対話モニタと、を備え、
前記リモートオーケストレータモジュールは、少なくとも
前記リモートオーケストレータから前記少なくとも１つの命令を受信し、
前記少なくとも１つの命令に基づいて、前記構成モジュールを構成し、
前記少なくとも１つの命令に基づいて、前記少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にするよう、前記インタフェース技術を構成する、デバイス。
【請求項２】
前記構成モジュールは、前記デバイスがオフ状態からオン状態に移行する場合に、前記デバイス構成を設定するための少なくともファームウェアを含む、請求項１に記載のデバイス。
【請求項３】
前記デバイス構成の設定において、前記構成モジュールは、前記デバイスがパーティション化された構成またはマージされた構成で動作するように設定する、請求項２に記載のデバイス。
【請求項４】
前記インタフェース技術の構成において、前記少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、前記リモートオーケストレータモジュールは、前記インタフェース技術の構成空間内で少なくとも１つのビットを設定する、請求項１に記載のデバイス。
【請求項５】
前記少なくとも１つのハードウェアリソースがリモートで動作する場合に、前記インタフェース技術は、前記少なくとも１つのハードウェアリソースを少なくとも前記処理モジュールから非表示にする、請求項１に記載のデバイス。
【請求項６】
前記少なくとも１つのハードウェアリソースがリモートで動作する場合に、前記少なくとも１つのハードウェアリソースは、前記少なくとも１つの他のデバイス内の少なくとも１つの他の処理モジュールにアクセス可能である、請求項１に記載のデバイス。
【請求項７】
前記少なくとも１つのハードウェアリソースがリモートで動作する場合に、前記リモートオーケストレータモジュールは、前記少なくとも１つのハードウェアリソースと、前記少なくとも１つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、前記インタフェース技術を構成する、請求項６に記載のデバイス。
【請求項８】
前記リモートオーケストレータモジュールは、前記デバイス構成に基づいて、前記少なくとも１つの他の処理モジュールと直接対話するよう、前記処理モジュールを構成する、請求項６に記載のデバイス。
【請求項９】
前記構成モジュールは、前記デバイス構成に基づいて、前記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも１つと、前記少なくとも１つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする、請求項８に記載のデバイス。
【請求項１０】
前記デバイスは、前記リモートオーケストレータをさらに含むラック内に存在する、請求項６に記載のデバイス。
【請求項１１】
前記ラックは、前記少なくとも１つの他のデバイスをさらに含む、請求項１０に記載のデバイス。
【請求項１２】
デバイスが備えるリモートオーケストレータモジュールが、少なくとも１つの命令をリモートオーケストレータから受信する段階と、
前記リモートオーケストレータモジュールが、前記少なくとも１つの命令に基づいて、前記デバイス内の構成モジュール内のデバイス構成を構成する段階と、
前記リモートオーケストレータモジュールが、前記少なくとも１つの命令に基づいて、前記デバイス内の少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にすべく、前記デバイス内のインタフェース技術を構成する段階と、
前記デバイスが備える対話モニタが、デバイス間の対話を監視し、前記デバイス間の前記対話に関する情報を、前記少なくとも１つのハードウェアリソースを少なくとも１つの他のデバイスに利用可能にさせる前記少なくとも１つの命令を前記デバイスに対して提供する前記リモートオーケストレータに提供する段階と、を備える、ハードウェアベースのデバイス間リソース共有のための方法。
【請求項１３】
前記デバイスに、オフ状態からオン状態に移行させる段階と、
前記デバイスが備える構成モジュールが、前記デバイス構成に基づいて、前記デバイスがパーティション化された構成またはマージされた構成で動作するよう設定する段階と、をさらに備える、請求項１２に記載の方法。
【請求項１４】
前記インタフェース技術を構成する前記段階は、前記少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、前記リモートオーケストレータモジュールが、前記インタフェース技術の構成空間内で少なくとも１つのビットを設定する段階を含む、請求項１２に記載の方法。
【請求項１５】
前記少なくとも１つのハードウェアリソースがリモートで動作する場合に、前記デバイスが備えるインタフェース技術が、前記少なくとも１つのハードウェアリソースを前記デバイス内の少なくとも処理モジュールから非表示にする段階をさらに備える、請求項１２に記載の方法。
【請求項１６】
前記少なくとも１つのハードウェアリソースがリモートで動作する場合に、前記リモートオーケストレータモジュールが、前記少なくとも１つのハードウェアリソースと、前記少なくとも１つの他のデバイス内の少なくとも１つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、前記インタフェース技術を構成する段階をさらに備える、請求項１５に記載の方法。
【請求項１７】
前記リモートオーケストレータモジュールが、前記デバイス構成に基づいて、前記少なくとも１つの他の処理モジュールと直接対話するよう、前記処理モジュールを構成する段階と、
前記デバイスが備える構成モジュールが、前記デバイス構成に基づいて、前記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも１つと、前記少なくとも１つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする段階と、をさらに備える、請求項１６に記載の方法。
【請求項１８】
請求項１２から１７のいずれか一項に記載の方法を実行する前記デバイスを少なくとも１つ含む、システム。
【請求項１９】
請求項１２から１７のいずれか一項に記載の方法を前記デバイスに実行させる、前記デバイスに備えられたチップセット。
【請求項２０】
コンピューティングデバイス上で実行されることに応答して、前記コンピューティングデバイスに対し、請求項１２から１７のいずれか一項に記載の方法を実行させる複数の命令を備える、少なくとも１つの機械可読記録媒体。
【請求項２１】
請求項１２から１７のいずれか一項に記載の方法を実行する、ハードウェアベースのデバイス間リソース共有のための少なくとも１つの前記デバイス。
【請求項２２】
請求項１２から１７のいずれか一項に記載の方法を実行する手段を有する前記デバイス。
【請求項２３】
コンピュータに、請求項１２から１７のいずれか一項に記載の方法を実行させるプログラム。
【請求項２４】
請求項２３に記載のプログラムを格納するコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、リソース割り当てに関し、より具体的には、ハードウェアベースのパーティション化を利用する他のデバイスとハードウェアリソースを共有可能なデバイスに関する。
【背景技術】
【０００２】
Ｓｏｆｔｗａｒｅ−ａｓ−ａ−Ｓｅｒｖｉｃｅ（ＳａａＳ）等の「クラウドベース」のデータ処理ソリューションの拡張により、オンライン対話のための大量のデータ処理が、離れたユーザデバイスから遠隔に設置されたデータセンタに転送される。例示的なデータセンタは、データを別個に、または連携的な態様（例えば、高性能コンピューティング（ＨＰＣ）アーキテクチャ内等）で処理すべく、複数のネットワーク化されたデータ処理デバイスまたは「ノード」（例えば、サーバ）からなるアレイを備え得る。データセンタは、データ処理、格納、ネットワーキングおよび他のハードウェアリソースの柔軟性を高めるべく、「ソフトウェア定義」のアプローチを利用し得る。例えば、ソフトウェア定義の動作は、ハードウェアリソースからの補助と組み合わせたソフトウェア仮想化技術を介して有効化され得る。仮想マシン（ＶＭ）は、物理的ハードウェアをエミュレートし得るが、実際はＶＭマネージャ（ＶＭＭ）またはハイパバイザの制御下で、ハードウェアプラットフォーム上で実行されるプログラム構成である。既存のソフトウェア定義の実装は、例えば、ハードウェアパーティション化、仮想化（例えば、インテルコーポレーションのＶＴ‐ｘまたはＶＴ‐ｄ技術）、ラックスケールアーキテクチャ（ＲＳＡ）等を使用し得る。
【０００３】
しかしながら、ＶＭがハードウェアリソースへの共有アクセスの外観を可能とする場合であっても、処理および入／出力（Ｉ／Ｏ）ハードウェアは依然として、リクエストされた機能を実装する特定のノード専用に割り当てられる。既存のパーティション化および仮想化ソリューションは、プラットフォームレベルのリソースにアクセスおよび／またはそれを制御すべく、非常に粗い精度を提供するのみであり得る。ソフトウェア仮想化は、サブソケットレベルのパーティション化を有効にし得る。サブソケットレベルのパーティション化は、別個のタスクを実行すべく、同一の物理的パッケージから処理リソース（例えば、コア）を割り当てることを含んでよい。例えば、ＶＭＭは、ＶＭまたはオペレーティングシステム（ＯＳ）のインスタンスがそこで実行され得る、各コアのための論理パーティションを作成し得る。そのような動作の利点は明らかであるが、ソフトウェア仮想化はまた、入手不可能な、貴重なハードウェア機能を抽出し、作成し得る。ＲＳＡは、いくつかのプラットフォームレベルのリソース共有（例えば、複数のノード間でメモリがプールされ、共有され得る）を有効にし得るが、ソケット内で利用可能な詳細レベルのパーティション化は存在しない。ノード間で処理リソースまたはＩ／Ｏハードウェアリソースを共有すること、あるいは複数のノードがアクセスを共有可能な利用可能なリソースのプールにＩ／Ｏハードウェアリソースを割り当てることを可能にする既存の技術は存在しない。ＳＷ仮想化は現在、コンピューティングおよびＩＯリソースのサブソケットレベルのパーティション化のための唯一のオプションである。例えば、Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）、Ｇｉｇａｂｙｔｅ  Ｅｔｈｅｒｎｅｔ（登録商標）（ＧｂＥ）、Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ  （ＳＡＳ）、ユニバーサルシリアルバス（ＵＳＢ）あるいは現存の若しくは将来開発される任意の他のインタフェース技術（ＩＴ）を含む、サブソケットレベルのハードウェアインタフェース技術を介し、ハードウェアリソースのプール、共有等を有効化できる既存アーキテクチャは存在しない。
【０００４】
特許請求された主題に係る様々な実施形態の特徴および利点は、以下の詳細な説明が進むにつれ、および添付図面を参照することによって、明らかになるであろう。図面中、同一の参照符号は、同一の部材を指定する。
【図面の簡単な説明】
【０００５】
【図１】本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有のための例示的なシステムを示す。
【図２】本開示の少なくとも一実施形態に従う、使用可能なデバイスのための例示的な構成を示す。
【図３】本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有の例示的な実装を示す。
【図４】本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有のための複数の例示的な動作を示す。以下の詳細な説明は、例示的な実施形態に対する言及と共に進むが、当業者にとっては、それらの多くの代替的な変形例および修正例が自明であろう。
【発明を実施するための形態】
【０００６】
本開示は、ハードウェアベースのデバイス間リソース共有を対象とする。少なくとも一実施形態において、リモートオーケストレータ（ＲＯ）は、デバイスに対し、少なくとも１つのハードウェアリソースを複数の他のデバイスに利用可能にさせる複数の命令を提供してよい。例えば、デバイス内のＲＯモジュールは、ＲＯと対話してよい。ＲＯモジュールは、ＲＯから受信された複数の命令に基づき、デバイス内の構成モジュールを構成してよい。構成モジュールは次に、デバイスが電源オフ状態から電源オン状態に移行する場合に、デバイス構成（例えば、「パーティション化」構成または「マージされた」構成）を設定してよい。デバイスはさらに、デバイス構成に基づいてデータを処理するための処理モジュール、インタフェース技術（ＩＴ）および少なくとも１つのハードウェアリソースを含んでよい。インタフェース技術は、処理モジュールおよび少なくとも１つのハードウェアリソースが対話することを可能にしてよい。ＲＯモジュールは次に、複数の命令に基づいて、少なくとも１つのハードウェアリソースがローカルまたはリモートで動作することを可能にするよう、ＩＴを構成してよい。
【０００７】
少なくとも一実施形態において、ハードウェアベースのデバイス間リソース共有が可能な例示的なデバイスは、例えば、構成モジュール、処理モジュール、少なくとも１つのハードウェアリソース、インタフェース技術およびＲＯモジュールを含んでよい。構成モジュールは、デバイス構成を設定してよい。少なくともデバイス構成に基づいて、処理モジュールは、データを処理してよい。インタフェース技術は、処理モジュールが少なくとも１つのハードウェアリソースと対話することを可能にしてよい。ＲＯモジュールは少なくとも、リモートオーケストレータから少なくとも１つの命令を受信し、当該少なくとも１つの命令に基づいて、構成モジュールを構成し、当該少なくとも１つの命令に基づいて、少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にするようインタフェース技術を構成してよい。
【０００８】
少なくとも一実施形態において、デバイスがオフ状態からオン状態に移行する場合、構成モジュールはデバイス構成を設定するための少なくともファームウェアを含んでよい。デバイス構成を設定するにおいて、構成モジュールは、当該デバイスがパーティション化された構成またはマージされた構成で動作するよう設定してよい。インタフェース技術を構成するにおいて、ＲＯモジュールは、少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、インタフェース技術の構成空間内に少なくとも１つのビットを設定してよい。例えば、インタフェース技術は、少なくとも１つのハードウェアリソースがリモートに動作する場合、少なくとも処理モジュールから少なくとも１つのハードウェアリソースを非表示にしてよい。
【０００９】
少なくとも一実施形態において、少なくとも１つのハードウェアリソースがリモートに動作する場合、少なくとも１つのハードウェアリソースは、少なくとも１つの他のデバイス内の少なくとも１つの他の処理モジュールにアクセス可能であってよい。ＲＯモジュールは、少なくとも１つのハードウェアリソースがリモートに動作する場合、少なくとも１つのハードウェアリソースと、少なくとも１つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、インタフェース技術を構成してよい。ＲＯモジュールはさらに、デバイス構成に基づいて、少なくとも１つの他の処理モジュールと直接対話するよう、処理モジュールを構成してよい。構成モジュールは、デバイス構成に基づいて、処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも１つと、少なくとも１つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にしてよい。
【００１０】
少なくとも一実施形態において、デバイスはさらに、デバイスと、少なくとも１つの他のデバイスとの間の対話に関し、リモートオーケストレータと通信するための対話モニタを含んでよい。インタフェース技術は、例えば、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）インタフェース技術であってよい。少なくとも一実装例において、デバイスはリモートオーケストレータをさらに含むラック内に存在してよい。また、ラックはさらに少なくとも１つの他のデバイスを含んでよい。本開示に整合し、ハードウェアベースのデバイス間リソース共有のための一例示的な方法は、デバイス内で少なくとも１つの命令をリモートオーケストレータから受信する段階と、少なくとも１つの命令に基づいて、デバイス内の構成モジュール内のデバイス構成を構成する段階と、少なくとも１つの命令に基づいて、デバイス内の少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にすべく、デバイス内のインタフェース技術を構成する段階と、を備えてよい。
【００１１】
図１は、本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有のための例示的なシステムを示す。システム１００は、例えば、ＲＯ１０２、デバイス１０４Ａ、デバイス１０４Ｂ...デバイス１０４ｎ（集合的に、「デバイス１０４Ａ...１０４ｎ」）を含んでよい。明確化のため、デバイス１０４Ａ...１０４ｎの３つのデバイスのみが図１内に示されているが、システム１００に係るシステム１００の実際の実装は、例えば、ＲＯ１０２およびデバイス１０４Ａ...１０４ｎを含むデータセンタのサイズ／タイプ、システム１００が設計された用途（例えば、ＨＰＣ、クラウドコンピューティングインストール、ＳａａＳ等）または他の複数の要因に基づいて、より多いまたはより少ないデバイス１０４Ａ...１０４ｎを備えてよい。
【００１２】
ＲＯ１０２は、デバイス１０４Ａ...１０４ｎの動作を「オーケストレート（調整）する」よう構成された少なくとも１つのコンピューティングデバイス（例えば、コンピュータ、サーバ、オペレータステーション等）を含んでよい。オーケストレーションは限定はされないが、デバイス１０４Ａ...１０４ｎ内の複数のハードウェアリソースを判断し、各デバイス１０４Ａ...１０４ｎ内の複数のハードウェアリソースがどのように共有されるかを判断し、各デバイス１０４Ａ...１０４ｎに構成（例えば、共有する複数のハードウェアリソース）に関する命令をし、デバイス１０４Ａ...１０４ｎ間で対話を管理することを含んでよい。本明細書において言及される複数のハードウェアリソースは、複数の個々のコンポーネント（例えば、プロセッサ、メモリ、インタフェース等）、チップセット、マルチチップモジュール（ＭＣＭ）、モジュールの形態でのアドオン機器、カード、プラグイン等を含んでよい。動作の一例において、ＲＯ１０２は、システム１００内のデータ処理効率を最大化し、システム１００内のデータ処理ボトルネックを除去し、システム１００内に全く新しいデータ処理タスクを収容する等といった少なくとも１つの目的でタスク化されてよく、この点において、ＲＯ１０２は複数のハードウェアリソースへのアクセスを再構成すべく、デバイス１０４Ａ...１０４ｎに対し、複数の命令を発行してよい。本開示に整合し、各デバイス１０４Ａ...１０４ｎ内の複数のハードウェアリソースは、物理的な再構成またはソフトウェアパーティション化への依存の必要性なく、サブソケットレベルに柔軟に再割り当てされてよい。
【００１３】
ここで、デバイス１０４Ａのための例示的な構成について説明するが、これはデバイス１０４Ｂ...１０４ｎにも該当し得る。デバイス１０４Ａは、少なくともＲＯモジュール１０６、構成モジュール１０８、処理モジュール１１０、各ハードウェアリソース（ＨＲ）１１６Ａ、ＨＲ  １１６Ｂ、ＨＲ  １１６Ｃ、ＨＲ  １１６Ｄ...ＨＲ  １１６ｎ（集合的に「ＨＲ  １１６Ａ...１１６ｎ」）に対応し得るＩＴ  １１２Ａ、ＩＴ  １１２Ｂ、ＩＴ  １１２Ｃ、ＩＴ  １１２Ｄ...１１２ｎ（集合的に「ＩＴ  １１２Ａ...１１２ｎ」）を含んでよい。デバイス１０４Ａ内のＨＲ  １１６Ａ...１１６ｎの実際の量は、デバイスタイプ、サイズ、構成等のような複数の要因に応じて変わってよい。例えば、スタンドアロンコンピューティングデバイス（例えば、フルタワーケースを有する）であるデバイス１０４Ａは、デバイス１０４Ａがよりコンパクトなラックまたはブレードサーバの場合よりも、より様々な、および／またはより多量のＨＲ  １１６Ａ...１１６ｎ（例えば、複数のプロセッサ、ドライブ、カード等）を処理するための、より優れた電力、容量、冷却等を含んでよい。少なくとも一実装例において、ＲＯ１０２および／またはデバイス１０４Ａ...１０４ｎはすべて、同一設置（例えば、同一の部屋、隣接するラック内、同一ラック等）におけるラック／複数のブレードサーバであってよい。
【００１４】
少なくとも実施形態において、ＲＯモジュール１０６は、ＲＯ１０２と対話するよう構成されてよい。例えば、ＲＯモジュール１０６は、デバイス１０４Ａを構成するための複数の命令を含む「帯域外」データを受信してよい。本明細書において言及される帯域外は、デバイス１０４Ａが通常デバイス１０４Ｂ...１０４ｎと通信する態様とは別個の通信態様を示してよい。例えば、専用の通信チャネルが、各デバイス１０４Ａ...１０４ｎ内のＲＯ１０２とＲＯモジュール１０６との間に存在してよい。デバイス１０４Ａがオフ状態（例えば、電源オフ、休止状態等）またはオン状態（例えば、アクティブ）の場合、ＲＯモジュール１０６は、複数の命令を受信してよい。複数の命令を受信後、ＲＯモジュール１０６は、当該複数の命令に基づいて、構成モジュール１０８を構成してよい。構成モジュール１０８は、例えば、デバイス１０４Ａがブート、リブートからアクティブになる、休止状態からウェイクアップした等の場合、デバイス１０４Ａでモードを設定するためのファームウェアがそこにエンコードされる書換可能不揮発性（ＮＶ）メモリを含んでよい。少なくとも一実施形態において、構成モジュール１０８は、デバイス１０４Ａを「パーティション化された」構成または「マージされた」構成のいずれかに構成してよい。パーティション化された構成は、「通常」の構成であってよく、その場合、デバイス１０４Ａは、すべてのＨＲ  １１６Ａ...１１６ｎのオーナシップを維持すべく構成され、その場合、仮想化、ＲＳＡ等の既存の共有技術が付与されると、共有が可能になってよい。本開示に整合し、マージされた構成は、後述のように、ハードウェアベースのデバイス間リソース共有を使用し、サブソケットレベルで複数のハードウェアリソースを共有するよう再構成されているデバイス１０４Ａを含んでよい。
【００１５】
処理モジュール１１０は、少なくとも１つのデータプロセッサをサポートするために要求される任意の回路とともに、少なくとも１つのデータプロセッサを含んでよい。処理モジュール１１０の例示的な内容が、図２により詳細に記載される。マージされた構成において、処理モジュール１１０は、デバイス１０４Ｂ...１０４ｎ内の他の複数の処理モジュール１１０と直接対話するよう構成されてよい。本明細書における説明のために、デバイス１０４Ａ内の「ＩＴ」は、ＨＲ  １１６Ａ...１１６ｎがデバイス１０４Ａ内の他の複数のリソースと対話することを可能にする機器（例えば、ソケット、バス、サポート回路等）およびソフトウェア（例えば、ドライバ、構成レジスタ等）の両方を含んでよい。例えば、ＰＣＩｅインタフェース技術が採用されている場合、ＩＴ  １１２Ａ...１１２ｎは、ＨＲ  １１６Ａ...１１６ｎがインストールされる、デバイス１０４Ａ内の複数の物理ソケットに対応する複数のＰＣＩｅルートポートであってよい。本明細書における例としてＰＣＩｅが利用されるが、本開示に整合する複数の実施形態は、ＰＣＩｅのみを利用する実装に限定はされない。本開示に整合し、同様の動作特性を有する他の複数のＩＴも採用されてよい。マージされた構成において、ＲＯモジュール１０６は、ＨＲ  １１６Ａ...１１６ｎがローカルに動作またはリモートに動作することを可能にするよう、ＩＴ  １１２Ａ...１１２ｎを構成してよい。デバイス１０４Ａは、ローカルに動作するよう構成された任意のＨＲ１１６Ａ...１１６ｎのアクセスおよびオーナシップを維持してよい一方、複数の他のデバイス（例えば、デバイス１０４Ｂ...１０４ｎ）内の処理モジュール１１０は、リモートに動作するよう構成された任意のＨＲ１１６Ａ...１１６ｎにアクセス可能および制御可能であってよい。少なくとも一実施形態において、ＲＯモジュール１０６は、ローカルまたはリモート動作を示すべく、ＩＴ  １１２Ａ...１１２ｎのための構成空間内に複数のビットを設定してよい。例えば、ＲＯモジュール１０６が、ＨＲ  １１６Ａ、ＨＲ  １１６ＣおよびＨＲ  １１６Ｄがローカルに動作することを可能にすべく構成空間内に複数のビットを設定したことを示すべく、ＩＴ  １１２Ａ、ＩＴ  １１２ＣおよびＩＴ  １１２Ｄは図１中、フラグ「Ｌ」１１４とともに示されている一方、ＨＲ  １１６ＢおよびＨＲ  １１６ｎがリモートに動作することを可能にすべく、構成空間内にビットが設定されたことを示すべく、ＩＴ  １１２ＢおよびＩＴ  １１２ｎはフラグ「Ｒ」１１４とともに示される。このようにして、ＨＲ  １１６Ａ...１１６ｎの各々に対する共有は、個々に判断および構成されてよい。
【００１６】
動作の一例において、ＲＯ１０２は、デバイス１０４をマージされた動作のために構成すべく、ＲＯモジュール１０６に複数の命令を少なくとも提供してよい。ＲＯモジュール１０６は、構成モジュール１０８内でマージされた構成を設定してよく、それは電源投入、休止状態からの回復等の際、デバイス１０４Ａをマージされた動作に構成するよう進んでよい。ＲＯモジュール１０６はまた、ＲＯ１０２から受信された複数の命令に基づいて、ＩＴ  １１２Ａ...１１２ｎをローカルまたはリモート動作のために構成してよい。例えば、フラグ１１４によって示される通り、ＨＲ  １１６Ａ、ＨＲ  １１６ＣおよびＨＲ  １１６Ｄがローカルに動作することを可能にするようＩＴ  １１２Ａ、ＩＴ  １１２ＣおよびＩＴ  １１２Ｄは構成されてよく、結果的にＨＲ  １１６Ａ、ＨＲ  １１６ＣおよびＨＲ  １１６Ｄは処理モジュール１１０にアクセス可能であってよい。これに対し、ＩＴ  １１２ＢおよびＩＴ  １１２ｎは、ＨＲ  １１６ＢおよびＨＲ  １１６ｎがリモートに動作することを可能にするよう構成されてよい。少なくとも一実施形態において、ＨＲ  １１６ＢおよびＨＲ  １１６ｎは、デバイス１０４Ａのブートアップ中、少なくとも処理モジュール１１０から非表示であってよく、故にローカルにアクセス不可としてレンダリングされる。図１に示される通り、少なくともデバイス１０４Ｂは、ＨＲ１１６Ｂにアクセス可能であってよく、少なくともデバイス１０４ｎは、ＨＲ１１６ｎにアクセス可能であってよい。同様に、デバイス１０４Ａは、デバイス１０４ｎ内でリモートに動作するよう構成されたＨＲにアクセス可能であってよく、デバイス１０４Ｂは、デバイス１０４Ｂ内でリモートに動作するよう構成されたＨＲにアクセス可能であってよい等である。少なくとも一実施形態において、複数の他のデバイス内のＨＲにアクセスすることは、各デバイス内で動作する複数の処理モジュール１１０間の直接リンクによって容易化されてよい。異なる複数の処理モジュール１１０間の対話の一例が、図３に示される実装に関し説明される。
【００１７】
図２は、本開示の少なくとも一実施形態に従う、使用可能なデバイスのための例示的な構成を示す。項目番号後に含められたアポストロフィ（例えば、１０４Ａ'）は、当該項目の一例示的な実施形態が示されていることを示す。例えば、デバイス１０４Ａ'は、図１に開示された複数のアクティビティのうちの任意のものを実行可能であってよい。しかしながら、デバイス１０４Ａ'は、本開示に整合する複数の実施形態内で使用可能な装置の一例としてのみ示されており、様々な実施形態のうちの任意のものを実装の任意の特定の態様に限定することを意図しない。また、図２に示されるデバイス１０４Ａ'に対する例示的な構成は、デバイス１０４Ｂ...１０４ｎのうちの１または複数にも適用可能であってよい。
【００１８】
デバイス１０４Ａ'は、例えば、デバイスの動作を管理するためのシステムモジュール２００を含んでよい。システムモジュール２００は、例えば、処理モジュール１１０'、メモリモジュール２０２、電力モジュール２０４、ユーザインタフェースモジュール２０６および通信インタフェースモジュール２０８を含んでよい。デバイス１０４Ａ'はさらに、通信モジュール２１０およびＲＯモジュール１０６を含んでよい。通信モジュール２１０およびＲＯモジュール１０６'は、システムモジュール２００から別個のものとして示されるが、図２中に示される例示的な構成は、例示のためだけに提供されている。通信モジュール２１０および／またはＲＯモジュール１０６'に関連付けられた機能のうちのいくつかまたはすべてはまた、システムモジュール２００に組み込まれてよい。
【００１９】
デバイス１０４Ａ'において、処理モジュール１１０'は、複数の別個のコンポーネントに置かれた１または複数のプロセッサ、あるいは、単一コンポーネント（例えば、システムオンチップ（ＳｏＣ）構成）内に具現化された１または複数のプロセッシングコア、および任意のプロセッサ関連のサポート回路（例えば、ブリッジインタフェース等）を含んでよい。複数のプロセッサの例は、限定はされないが、Ｐｅｎｔｉｕｍ（登録商標）、Ｘｅｏｎ、Ｉｔａｎｉｕｍ、Ｃｅｌｅｒｏｎ、Ａｔｏｍ、Ｑｕａｒｋ、Ｃｏｒｅ  ｉシリーズ、Ｃｏｒｅ  Ｍシリーズ製品ファミリ、Ａｄｖａｎｃｅｄ  ＲＩＳＣ（例えば、縮小命令セットコンピューティング）Ｍａｃｈｉｎｅまたは「ＡＲＭ」プロセッサ等を含む、インテルコーポレーションから入手可能な様々なｘ８６ベースのマイクロプロセッサを含んでよい。サポート回路の複数の例は、インタフェースを提供するよう構成された複数のチップセット（例えば、インテルコーポレーションから入手可能なノースブリッジ、サウスブリッジ等）を含んでよく、当該インタフェースを介して、処理モジュール１１０'は、デバイス１０４Ａ'内で異なる速度、異なるバス上等で動作してよい他の複数のシステムコンポーネントと対話してよい。サポート回路に共通して関連付けられる機能のうちのいくつかまたはすべてはまた、プロセッサ（例えば、インテルコーポレーションから入手可能なＳａｎｄｙ  Ｂｒｉｄｇｅファミリのプロセッサ）と同一の物理的パッケージ内に含まれてよい。
【００２０】
処理モジュール１１０'は、デバイス１０４Ａ'内で様々な命令を実行するよう構成されてよい。複数の命令は、データ読み取り、データ書き込み、データ処理、データ形成、データ転換、データ変換等に関連する複数のアクティビティを処理モジュール１１０'に実行させるよう構成されたプログラムコードを含んでよい。情報（例えば、複数の命令、データ等）は、メモリモジュール２０２内に格納されてよい。メモリモジュール２０２は、固定またはリムーバブル式のランダムアクセスメモリ（ＲＡＭ）および／またはリードオンリメモリ（ＲＯＭ）を備えてよい。ＲＡＭは、デバイス１０４Ａ'の動作中の情報を保持するよう構成された揮発性メモリを含んでよく、例えば、スタティックＲＡＭ（ＳＲＡＭ）またはダイナミックＲＡＭ（ＤＲＡＭ）が挙げられる。ＲＯＭは、デバイス１０４Ａ'がアクティブ化された場合に、複数の命令を提供するようＢＩＯＳ、ＵＥＦＩ等に基づいて構成された、複数の不揮発性（ＮＶ）メモリモジュールを含んでよく、例えば、ｅｌｅｃｔｒｏｎｉｃ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ（ＥＰＲＯＭ）、フラッシュ等のようなプログラマブルメモリが挙げられる。他の固定／リムーバブルメモリは限定はされないが、例えば、フロッピー（登録商標）ディスク、ハードドライブ等のような磁気メモリ、ソリッドステートフラッシュメモリ（例えば、ｅｍｂｅｄｄｅｄ  ｍｕｌｔｉｍｅｄｉａ  ｃａｒｄ（ｅＭＭＣ）等）、リムーバブルメモリカード若しくはスティック（例えば、マイクロストレージデバイス（μＳＤ）、ＵＳＢ等）のような電子メモリ、コンパクトディスクベースのＲＯＭ（ＣＤ‐ＲＯＭ）、デジタルビデオディスク（ＤＶＤ）、ブルーレイディスク等のような光メモリを含んでよい。
【００２１】
電力モジュール２０４は、内部電源（例えば、バッテリ、燃料電池等）および／または外部電源（例えば、電子機械的発電機若しくは太陽発電機、送電網、外部燃料電池等）、およびデバイス１０４Ａ'に対し、動作に必要な電力を供給するよう構成された関連の回路を含んでよい。ユーザインタフェースモジュール２０６は、ユーザがデバイス１０４Ａ'と対話することを可能にするハードウェアおよび／またはソフトウェアを含んでよく、例えば、様々な入力メカニズム（例えば、複数のマイク、スイッチ、ボタン、ノブ、キーボード、スピーカ、タッチセンサ式の表面、複数のイメージをキャプチャする、および／または近接度、距離、モーション、ジェスチャ、方向、生体データ等を感知するよう構成された１または複数のセンサ）および様々な出力メカニズム（例えば、複数のスピーカ、ディスプレイ、点灯／点滅インジケータ、バイブレーション、モーションのための電子機械コンポーネント等）が挙げられる。ユーザインタフェースモジュール２０６内のハードウェアは、デバイス１０４Ａ'内に組み込まれてよく、および／または有線または無線通信媒体を介して、デバイス１０４Ａ'に結合されてよい。ユーザインタフェースモジュール２０６'は、例えば、デバイス１０４Ａ'が、ユーザインタフェースモジュール２０６を有さず、代わりにユーザインタフェース機能のための別のデバイス（例えば、管理端末）に依存するサーバ（例えば、ラックサーバ、ブレードサーバ等）であるような状況のような、複数の特定の状況下におけるオプションであってよい。
【００２２】
通信インタフェースモジュール２０８は、通信モジュール２１０のためのパケットルーティングおよび他の制御機能を管理するよう構成されてよく、通信モジュール２１０は、有線および／または無線通信をサポートするよう構成された複数のリソースを含んでよい。いくつかの例において、デバイス１０４Ａ'は、中央通信インタフェースモジュール２０８によって管理される１つより多い通信モジュール２１０（例えば、有線プロトコルおよび／または無線機のための別個の物理インタフェースモジュールを含む）を含んでよい。有線通信は、例えば、イーサネット（登録商標）、ＵＳＢ、ファイヤーワイヤ、Ｔｈｕｎｄｅｒｂｏｌｔ、デジタルビデオインタフェース（ＤＶＩ）、Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ（ＨＤＭＩ（登録商標））等のようなシリアルおよびパラレルの複数の有線媒体を含んでよい。無線通信は、例えば、近接無線媒体（例えば、ＲＦ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ（ＲＦＩＤ）またはＮｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＮＦＣ）規格、赤外線（ＩＲ）等に基づく無線周波数（ＲＦ））、短距離無線媒体（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＷＬＡＮ、Ｗｉ−Ｆｉ等）、長距離無線媒体（例えば、セルラ広域無線通信技術、衛星通信等）、音波を介する電子通信等を含んでよい。一実施形態において、通信インタフェースモジュール２０８は、通信モジュール２１０内でアクティブな複数の無線通信が、互いに干渉することを防止するよう構成されてよい。この機能を実行する際、通信インタフェースモジュール２０８は、例えば、送信を待機している複数のメッセージの相対的な優先度に基づいて、通信モジュール２１０に対する複数のアクティビティをスケジュールしてよい。図２に開示される実施形態は、通信モジュール２１０から別個のものとして通信インタフェースモジュール２０８を示すが、通信インタフェースモジュール２０８および通信モジュール２１０の機能が、同一モジュール内に組み込まれることも可能であってよい。
【００２３】
本開示に整合し、ＲＯモジュール１０６'は、少なくともシステムモジュール２００、メモリモジュール２０２および通信モジュール２１０と対話してよい。動作の例において、ＲＯモジュール１０６'は、通信モジュール２１０を介して行われる有線および／または無線通信を介して、ＲＯ１０２と対話してよい。複数の命令をＲＯ１０２から通信モジュール２１０を介して受信後、ＲＯモジュール１０６'は、メモリモジュール２０２内の構成モジュール１０８'を構成してよい。さらに、ＲＯモジュール１０６'は、ＨＲ  １１６Ａ...１１６ｎがローカルまたはリモートに動作することを可能にするよう、および／またはデバイス１０４Ａ'が複数の他のデバイスから利用可能であってよいリモートＨＲにアクセスすることを可能にするよう、ＩＴ  １１２Ａ...１１２ｎを構成すべく、システムモジュール２００（図２において不図示）内のＩＴ  １１２Ａ...１１２ｎと一般に対話してよい。
【００２４】
図３は、本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有の例示的な実装を示す。図３中、例示的なデバイス１０４Ａ'および例示的なデバイス１０４Ｂ'が対話しているよう示されるが、それらの説明は、インテルコーポレーションによって開発された様々な製品、技術等に言及し得る。これらの言及は、図３中に示される対話を理解するための容易に理解可能な例として機能してよいが、これらの言及は本開示に整合する複数の実施形態を実装、実装技術等の任意の特定の態様に限定することは意図されていない。
【００２５】
複数の既存のコンピューティングデバイス（例えば、複数のサーバ）は、２つのノードを含むプラットフォームが、２つの別個のプラットフォームにハードパーティション化され得る、「パーティション化された」構成をサポートしてよい。当該２つの１ノードプラットフォーム間でＨＲ  １１６Ａ...１１６ｎの共有が一切ないので、このパーティションは「ハード」である。ソフトウェア仮想化（例えば、複数のＶＭを介する）は、いくつかの共有能力を提供してよいが、貴重なハードウェア機能にアクセスする能力をなくす可能性がある。複数のＰＣＩｅスイッチは、複数のハードウェアリソースをかなり精度の細かいレベルで共有可能であってよいが、このソリューションは、システムレベルで要求される個別のコンポーネントの合計数を増大させ得る。本開示に整合し、任意のノードまたはパーティションが、選択されたＩＴ  １１２Ａ...１１２ｎ （例えば、ＰＣＩｅルートポート階層または複数のＰＣＩｅデバイス）を任意の他のノードまたはパーティションに物理的に再割り当てすることを可能にすることによってサポートされるＨＲ  １１６Ａ...１１６ｎのプールと共有を用いて、従来のハードパーティション化が強化されてよい。少なくとも一実施形態において、パーティション化は複数のコヒーレントドメインのみに限定されてよく、１ノードまたは１パーティション内に物理的に実装された複数のＰＣＩｅルートポートおよび／または複数のＰＣＩｅデバイスのような複数のハードウェアリソースは、別のノードまたはパーティションと共有されてよい。
【００２６】
既存のパーティショニング方法論において、インテルコーポレーションによって開発されたクイックパスインターコネクト（ＱＰＩ）、Ｋｅｉｚｅｒ  Ｔｅｃｈｎｏｌｏｇｙ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＫＴＩ）、インテルコーポレーションによってこれも開発されたオープンコア接続技術のような、複数のポイントツーポイントプロセッサ接続技術は、無効にされてよい。より具体的には、複数のプロセッサが、パーティション化された複数のノード間で直接複数のメッセージを送受信することを可能にする複数のＱＰＩ／ＫＴＩリンクは利用されなくてよい。しかしながら、本開示に整合し、プールされたリソースアーキテクチャ内において、ＨＲ  １１６Ａ...１１６ｎの共有を可能にすべく、複数のＱＰＩ／ＫＴＩリンクが複数のノードまたはパーティション間で採用されてよい。少なくとも一実施形態において、ＱＰＩ／ＫＴＩは、複数のパーティションにわたり、コヒーレンシを維持するための複数の機能なしに採用されてよい。
【００２７】
デバイス１０４Ａ'および１０４Ｂ'に対する複数の例示的な実装が、図３に示される。デバイス１０４Ａ'は、例えば、ノースダイ３００Ａおよびサウスダイ３０２Ａを含んでよい。少なくとも一実施形態において、ノースダイ３００Ａは、例えば、インテルコーポレーションによって開発されたダイレクトメディアインタフェース（ＤＭＩ）を介して、サウスダイ３０２Ａと通信してよい。ノースダイ３００Ａ（例えば、ノースブリッジ）は、マイクロプロセッサコンポーネント、チップセット、ＭＣＭ等に通常存在する複数のコンポーネントを含んでよい。例えば、ノースダイ３００Ａは、１または複数のプロセッシングコア３０４Ａ、メモリコントローラ３０６ＡおよびＰＣＩｅ構成空間３０８Ａを含んでよい。メモリコントローラ３０６Ａは、デバイス１０４Ａ'内のメモリのための複数のデータアクセス動作を制御してよい。ＰＣＩｅ構成空間３０８Ａは、少なくともデータルーティングに関し、複数のＰＣＩｅルートポート（例えば、デバイス１０４Ａ'内の複数の物理的ＰＣＩｅスロットに対応する）並びに統合されたおよび／または個別のＰＣＩｅ  Ｉ／Ｏデバイスがどのように構成されるかを制御してよい。サウスダイ３０２Ａ（例えば、サウスブリッジ）は、デバイス１０４Ａ'の複数の一般的なＩ／Ｏ機能に通常関連付けられる複数のコンポーネントを含んでよい。サウスダイ３０２Ａはまた、プラットフォームコントローラハブ（ＰＣＨ）とも称され得る。例えば、サウスダイ３０２Ａは、管理エンジン（ＭＥ）３１０Ａ、電力管理コントローラ（ＰＭＣ）３１２Ａおよび対話モニタ３１４Ａを含んでよい。ＭＥ３１０Ａは、図１内のＲＯモジュール１０６に対応するスタンドアロンプロセッサを含んでよい。例えば、ＭＥ３１０Ａは、デバイス１０４Ａ'の残りが非アクティブの場合であっても、複数のＯＯＢネットワーク通信（例えば、リモートオーケストレータ１０２から）を受信可能であってよい。ＰＭＣ３１２Ａは、ＨＲ  １１６Ａ...１１６ｎを含むデバイス１０４Ａ'のための複数の電力動作を管理してよい。少なくとも一実施形態において、対話モニタ３１４Ａは、複数のノード間（例えば、デバイス１０４Ａ'と１０４Ｂ'との間）の対話を監視してよく、ＲＯ１０２に対し、これらの対話に関する情報を提供してよい。図３に不図示であるが、本開示に整合し、ＰＣＨとして動作するサウスダイ３０２Ａはさらに、ＳＡＴＡコントローラ、ＵＳＢコントローラ、イーサネット（登録商標）コントローラ、シリアルペリフェラルインタフェース（ＳＰＩ）、Ｅｎｈａｎｃｅｄ  ＳＰＩ  ｔｈｒｏｕｇｈ  ａ  ｌｏｗ  ｐｉｎ  ｃｏｕｎｔ  ｂｕｓ（ｅＳＰＩ／ＬＰＣ）、汎用非同期送受信機（ＵＡＲＴ）および複数の他の通信マスタ／スレーブインタフェースを含んでよい。３００Ｂから３１４Ｂまでの対応する複数の要素は、デバイス１０４Ａ'に関し上記したものと同一または類似する複数の動作をデバイス１０４Ｂ'のために実行してよい。
【００２８】
デバイス１０４Ａ'が少なくともデバイス１０４Ｂ'とのマージされた動作のために構成され得る場合の複数の動作の例について、ここで説明する。これらの動作は、デバイス１０４Ａ'に関し示されるものの、これらはデバイス１０４Ｂ'に等しく適用可能である。図３中、「１」と示されるように、「パーティション化」または「マージ」するための複数の命令を含むＯＯＢデータが、デバイス１０４Ａ'において受信されてよい。例えば、デバイス１０４Ａ'がレガシ／非レガシの対称型マルチプロセッシング（ＳＭＰ）構成で独立して動作（例えば、パーティション化）しているまたは共有ハードウェア構成（例えば、マージされた）内で動作する場合、ＲＯ１０２はＭＥ３１０Ａと通信してよい。デバイス１０４Ａ'がＳ５状態（例えば、電源オフ）の場合、この対話が発生してよい。デバイス１０４Ａ'がＳ０（例えば、電源オン状態）に移行する場合、ＭＥ３１０Ａは、ＢＩＯＳ（例えば、構成モジュール１０８）に対し、動作モードをステータスレジスタを介して示してよい。図３中、「２」と示されるように、ＲＯ１０２はまた、ＭＥ３１０Ａに対し、どの複数のＰＣＩｅルートポートおよび／またはローカルの統合された／個別のＰＣＩｅ  Ｉ／Ｏデバイスが、リモートノード（例えば、デバイス１０４Ｂ'）に割り当てられるかに関し命令してよい。ＲＯ１０２はまた、どのリモートノードに対し、複数のローカルのＰＣＩｅ  ＩＯデバイスが再割り当てされたかを列挙してよい（例えば、同様に、複数のリモートノードに対し、複数のリモートに動作するＰＣＩｅ  ＩＯデバイスがそれらに割り当てられたことを通知してよい）。少なくとも一実施形態において、ＭＥ３１０Ａは、すべてのＰＣＩｅルートポートおよびすべてのＰＣＩｅの統合された／個別のデバイスのために、複数のローカル／リモート（Ｌ／Ｒ）ビットをＰＣＩｅ構成空間３０８Ａ内に設定してよい。
【００２９】
デバイス１０４Ａ'がオフ状態（例えば、Ｓ４またはＳ５）からオン状態（例えば、Ｓ０）に移行後、ＭＥ３１０Ａは、すべてのＩ／Ｏ動作を、リモートノード（例えば、デバイス１０４Ｂ'）に再割り当てされた各ＰＣＩｅルートポートおよび／または統合された／個別のＰＣＩｅデバイスに対する特定のＫＴＩ／ＱＰＩリンク番号にリダイレクトまたは再マッピングすべく、複数の統合されたＩ／Ｏ（ＩＩＯ）ルーティングビットを設定してよい。例えば、各ノード内で、ＩＩＯ電源コントロールユニット（ＰＣＵ）は、リモートノードＩＤ（例えば、ＨＲ１１６Ａ...１１６ｎを共有する、デバイス１０４Ｂ'のような複数のデバイスを識別する）に基づいて、複数のリモートＰＣＩｅ  Ｉ／Ｏデバイスに対するパスを判断してよい。ＩＩＯは、パスに基づいて、複数のリモートノード間で、例えば、複数のＰＣＩｅ構成サイクル、ＰＣＩｅベンダ定義メッセージ、ダイレクトメモリアクセス（ＤＭＡ）およびメモリマップドＩ／Ｏ（ＭＭＩＯ）サイクルをルーティングするよう修正されてよい。少なくとも一実施形態において、複数のメッセージシグナリング割り込み（例えば、複数のＭＳＩ‐Ｘ拡張）が依然サポートされてよい場合を除き、割り込みルーティングを回避するためのレガシＩＮＴＲピンはサポートされなくてよい。ＩＩＯは、複数のリモートデバイスのトランザクションのために、トランスレーションルックアサイドバッファ（ＴＬＢ）ルックアップを迂回してよい。
【００３０】
図３中、「３」と示されるように、ＰＭＣ３１２Ａは、ＰＣＩｅ構成空間３０８Ａ内で、「Ｒ」構成を有する複数のデバイスを非表示にしてよい。非表示にすることは、ＨＲ  １１６Ａ...１１６ｎをデバイス１０４Ａ'に対し見えなくさせるべく、ＩＴ  １１２Ａ...１１２ｎの構成を変更することを含んでよい。結果的に、ＰＣＩｅルートポートまたはＰＣＩｅコンポーネント／デバイスがリモートノードに割り当てられている場合、ローカルＢＩＯＳは、当該ＰＣＩｅルートポートまたはＰＣＩｅコンポーネント／デバイスを検出または列挙しない。図３中、「４」と示されるように、各ノード内で、ＢＩＯＳは、複数のＱＰＩ／ＫＴＩ接続を構成してよいが、複数のノード間のＱＰＩ／ＫＴＩにわたり、複数のキャッシュ／メモリコヒーレンシプロトコルを無効にしてよい。ＩＩＯ内でプログラムされてよい、複数の正確なレジスタは、非アーキテクチャ的であってよいが、ＢＩＯＳに対し、複数のノード間にわたるすべてのスヌーピングを無効にさせ、故にその結果、各ノードは自身のコヒーレンシドメインであってよい。ノースダイ３００Ａは次に、図３中、「５」と示されるように複数のＱＰＩ／ＫＴＩリンク経由で、少なくともノースダイ３００Ｂと対話を開始してよい。図３中、「６」と示されるように、汎用ＯＯＢデータメッセージングエンジンとして、複数のノード間対話を対処すべく、対話モニタ３１４Ａが使用されてよい。少なくとも一実施形態において、ＩＩＯは、ＱＰＩ／ＫＴＩを介してデバイス１０４Ａ'に接続された複数のデバイスに係るリモートアクセスサービス（ＲＡＳ）／エラー処理、セキュリティおよび電力管理の複数のメッセージを再ルーティングすべく拡張してよい。リセットシーケンシングも、複数のプール／共有されたリソースをサポートすべく拡張されてよい。ＱＰＩ／ＫＴＩの使用は、既存の技術を活用してよいが、複数の将来の接続が、他の既存の接続技術、カスタム接続技術、一般的な業界標準の実装等を用いて実装されてよい。
【００３１】
図４は、本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有のための複数の例示的な動作を示す。動作４００において、複数の命令がＲＯから受信されてよい（例えば、デバイス内のＲＯモジュールへ）。動作４０２において、デバイスは、オフ状態（例えば、Ｓ４またはＳ５）からオン状態（例えば、Ｓ０）に移行してよい。動作４０４において、デバイス内の構成モジュール（例えば、ＢＩＯＳ）を構成すべく、ＲＯから受信された複数の命令が使用されてよい。次に動作４０６において、デバイスがマージされた構成で動作するよう命令されたかどうかに関する判断がなされてよい。動作４０６において、デバイスがマージされた構成で動作すべきではないと判断された場合、次に動作４０８において、パーティション化された動作のために、デバイスの起動が継続されてよい。
【００３２】
動作４０６において、デバイスがマージされた構成で動作すべきであるという判断の後、動作４１０において、デバイス内の少なくとも１つのＨＲが、少なくとも１つの他のデバイス（例えば、ＲＯから受信された複数の命令に基づいて）と共有されるかどうかに関するさらなる判断がなされてよい。動作４１０において、デバイス内の少なくとも１つのＨＲが共有されると判断されると、次に、動作４１２において、ＩＴ構成空間内で、ローカル（Ｌ）またはリモート（Ｒ）の複数のビットが構成されてよい。複数のＬ／Ｒビットを設定することは、各ＨＲに１ビットを設定（例えば、「１」はローカルを示し、「０」はリモートを示す）すること、または各ＨＲに異なる複数のビットを設定することを含んでよい。動作４１４において、リモート動作のためのフラグが付けられた各ＨＲのためにルーティング（例えば、ＰＣＩｅ、ＩＩＯ、ＭＭＩＯ、ＤＭＡ、エラー処理等）が構成されてよく、また、リモートに動作する各ＨＲは、デバイスのブートアップ中にデバイスによって、それらが利用可能なＨＲとして認識されるのを防止すべく、非表示にされてよい。
【００３３】
動作４１０における「いいえ」の判断後または動作４１４の後、動作４１６において、デバイスは別のデバイス内のリモートＨＲにアクセスするよう構成されるべきかどうかに関する、さらなる判断（例えば、ＲＯから受信された複数の命令に基づいて）が続いてよい。動作４１６において、少なくとも１つのリモートＨＲがアクセスされるという判断がなされると、次に動作４１８において、デバイス内の少なくとも処理モジュールが、リモートＨＲにアクセスすることを可能にすべく、ルーティングがデバイス内で設定されてよい。動作４１６における「いいえ」の判断後または動作４１８の後、動作４２０において、例えば、複数のＱＰＩ／ＫＴＩリンクの構成、複数のキャッシュ／メモリコヒーレンシプロトコルの無効化、割り込みルーティングの構成等を含む、処理モージュール間通信が構成されてよい。動作４２２において、複数のノード間の対話を管理およびそれに関する報告をすべく、対話モニタが有効化されてよい。動作４２４において、マージされた動作のために、デバイスの起動が継続されてよい。
【００３４】
図４は一実施形態に係る複数の動作を示しているものの、図４に示されるすべての動作が、複数の他の実施形態で必要というわけではない点を理解されたい。実際、本開示の複数の他の実施形態において、図４に示された複数の動作、および／または本明細書に説明された他の複数の動作は、本開示に依然完全に整合しつつ、いずれの図面にも具体的に示されない態様で組み合わされてよいことが本明細書において、十分理解される。故に、１つの図面内で正確に示されていない複数の特徴および／または動作を対象とする特許請求の範囲は、本開示の範囲および内容に属するとみなされる。
【００３５】
本願および特許請求の範囲において使用される、「および／または」という用語によって結合される項目の列挙は、列挙された項目の任意の組み合わせを意味し得る。例えば、「Ａ、Ｂおよび／またはＣ」という文言は、A、B、C、および「ＡおよびＢ」、「ＡおよびＣ」、「ＢおよびＣ」または「Ａ、Ｂ、およびＣ」を意味し得る。本願および特許請求の範囲において使用される、「のうちの少なくとも１つ」という用語によって結合される項目の列挙は、列挙された項目の任意の組み合わせを意味し得る。例えば、「Ａ、ＢまたはＣのうちの少なくとも１つ」という文言は、「Ａ、Ｂ、Ｃ」、「ＡおよびＢ」、「ＡおよびＣ」、「ＢおよびＣ」または「Ａ、Ｂ、およびＣ」を意味し得る。
【００３６】
本明細書の任意の実施形態で使用される、「モジュール」という用語は、前述の複数の動作のうちのいずれかを実行するよう構成されたソフトウェア、ファームウェア、および／または回路を指してよい。ソフトウェアは、非一時的コンピュータ可読ストレージ媒体上に記録されたソフトウェアパッケージ、コード、複数の命令、複数の命令セットおよび／またはデータとして具現化されてよい。ファームウェアは、複数のメモリデバイス内にハードコードされた（例えば、不揮発性の）コード、複数の命令または複数の命令セットおよび／またはデータとして具現されてよい。本明細書の任意の実施形態で使用される、「回路」は、例えば、ハードワイヤード回路、１または複数の個々の命令処理コアを含む複数のコンピュータプロセッサのようなプログラマブル回路、ステートマシン回路、および／またはプログラマブル回路によって実行される複数の命令を格納するファームウェアを、単一または任意の組み合わせにおいて備えてよい。複数のモジュールは、より大型のシステムの一部を形成する回路、例えば、集積回路（ＩＣ）、システムオンチップ（ＳｏＣ）、複数のデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォン等として、集合的または個々に具現化されてよい。
【００３７】
本明細書において説明される複数の動作のうちの任意のものは、１または複数のプロセッサによる実行時に当該複数の方法を実行する複数の命令を個々にまたは組み合わせにおいて、そこに格納された状態で有する１または複数のストレージ媒体（例えば、複数の非一時的ストレージ媒体）を含むシステム内に実装されてよい。ここで、プロセッサは例えば、サーバのＣＰＵ、モバイルデバイスのＣＰＵ，および／または他のプログラマブル回路を含んでよい。また、本明細書において説明された複数の動作は、１より多い異なる物理的位置にある複数の処理構造のような複数の物理的デバイスにわたり、分配されてよいことが意図されている。ストレージ媒体は、例えば、複数のハードディスク、フロッピー（登録商標）ディスク、光ディスク、コンパクトディスクリードオンリメモリ（ＣＤ−ＲＯＭ）、書き換え可能コンパクトディスク（ＣＤ−ＲＷ）、および光磁気ディスクを含む任意のタイプのディスク、複数のリードオンリメモリ（ＲＯＭ）、ダイナミックおよびスタティックＲＡＭのようなランダムアクセスメモリ（ＲＡＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、ソリッドステートディスク（ＳＳＤ）、ｅｍｂｅｄｄｅｄ  ｍｕｌｔｉｍｅｄｉａ  ｃａｒｄ（ｅＭＭＣ）、ｓｅｃｕｒｅ  ｄｉｇｉｔａｌ  ｉｎｐｕｔ／ｏｕｔｐｕｔ（ＳＤＩＯ）カードのような複数の半導体デバイス、複数の磁気または光カード、あるいは複数の電子命令を格納するのに好適な任意のタイプの媒体といった、任意のタイプの有形の媒体を含んでよい。複数の他の実施形態は、プログラム可能な制御デバイスによって実行される複数のソフトウェアモジュールとして実装されてよい。
【００３８】
故に、本開示は、ハードウェアベースのデバイス間リソース共有を対象とする。例えば、リモートオーケストレータ（ＲＯ）は、デバイスに対し、少なくとも１つのハードウェアリソースを複数の他のデバイスに対し利用可能にさせる複数の命令を提供してよい。デバイス内のＲＯモジュールがＲＯと対話してよく、ＲＯから受信された複数の命令に基づいて、デバイス内の構成モジュールを構成してよい。構成モジュールは、デバイスが電源オフ状態から電源オン状態に移行する場合、デバイス構成を設定してよい。デバイスはまた、デバイス構成に基づいてデータを処理するための処理モジュール、インタフェース技術（ＩＴ）および少なくとも１つのハードウェアリソースを含んでよい。インタフェース技術は、処理モジュールおよび少なくとも１つのハードウェアリソースが対話することを可能にしてよい。ＲＯモジュールは、複数の命令に基づいて、少なくとも１つのハードウェアリソースがローカルまたはリモートで動作することを可能にするよう、ＩＴを構成してよい。
【００３９】
以下の複数の例は、さらなる複数の実施形態に関する。本開示の複数の以下の例は、デバイス、方法、実行時に機械に対し、当該方法に基づき複数の動作を実行させる複数の命令を格納するための少なくとも１つの機械可読媒体、当該方法に基づき複数の動作を実行するための手段、および／またはデバイス非依存型電力監視およびプロファイリングのためのシステムといった主題を含んでよい。
【００４０】
例１によると、ハードウェアベースのデバイス間リソース共有が可能なデバイスがもたらされる。上記デバイスは、デバイス構成を設定するための構成モジュールと、少なくとも上記デバイス構成に基づいてデータを処理するための処理モジュールと、少なくとも１つのハードウェアリソースと、上記処理モジュールが、上記少なくとも１つのハードウェアリソースと対話することを可能にするためのインタフェース技術と、リモートオーケストレータモジュールと、を備えてよく、ハードウェアベースのデバイス間リソース共有が可能なデバイスであって、上記リモートオーケストレータモジュールは、少なくとも、リモートオーケストレータから少なくとも１つの命令を受信し、上記少なくとも１つの命令に基づいて、上記構成モジュールを構成し、上記少なくとも１つの命令に基づいて、上記少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にするよう、上記インタフェース技術を構成する、デバイスである。
【００４１】
例２は、例１に係る複数の要素を含んでよく、上記構成モジュールは、上記デバイスがオフ状態からオン状態に移行する場合に、上記デバイス構成を設定するための少なくともファームウェアを含む。
【００４２】
例３は、例２に係る複数の要素を含んでよく、上記デバイス構成の設定において、上記構成モジュールは、上記デバイスがパーティション化された構成またはマージされた構成で動作するように設定する。
【００４３】
例４は、例１から３のいずれかに係る複数の要素を含んでよく、上記インタフェース技術の構成において、上記少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、上記リモートオーケストレータモジュールは、上記インタフェース技術の構成空間内で少なくとも１つのビットを設定する。
【００４４】
例５は、例１から４のいずれかに係る複数の要素を含んでよく、上記少なくとも１つのハードウェアリソースがリモートで動作する場合に、上記インタフェース技術は、上記少なくとも１つのハードウェアリソースを少なくとも上記処理モジュールから非表示にする。
【００４５】
例６は、例１から５のいずれかに係る複数の要素を含んでよく、上記少なくとも１つのハードウェアリソースがリモートで動作する場合に、上記少なくとも１つのハードウェアリソースは、少なくとも１つの他のデバイス内の少なくとも１つの他の処理モジュールにアクセス可能である。
【００４６】
例７は、例６の複数の要素を含んでよく、上記少なくとも１つのハードウェアリソースがリモートで動作する場合に、上記リモートオーケストレータモジュールは、上記少なくとも１つのハードウェアリソースと、上記少なくとも１つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成する。
【００４７】
例８は、例６から７のいずれかに記載の複数の要素を含んでよく、上記リモートオーケストレータモジュールは、上記デバイス構成に基づいて、上記少なくとも１つの他の処理モジュールと直接対話するよう、上記処理モジュールを構成する。
【００４８】
例９は、例８の複数の要素を含んでよく、上記処理モジュールおよび上記少なくとも１つの他の処理モジュールは、クイックパスインターコネクト（ＱＰＩ）接続またはＫｅｉｚｅｒ  Ｔｅｃｈｎｏｌｏｇｙ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＫＴＩ）接続を利用して直接対話する。
【００４９】
例１０は、例８から９のいずれかに係る複数の要素を含んでよく、上記構成モジュールは、上記デバイス構成に基づいて、上記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも１つと、上記少なくとも１つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする。
【００５０】
例１１は、例６から１０のいずれかに係る複数の要素を含んでよく、上記リモートオーケストレータモジュールは、上記少なくとも１つのハードウェアリソースがリモートで動作する場合に、上記少なくとも１つのハードウェアリソースと、上記少なくとも１つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成し、上記デバイス構成に基づいて、上記少なくとも１つの他の処理モジュールと直接対話するよう上記処理モジュールを構成する。
【００５１】
例１２は、例６から１１のいずれかに係る複数の要素を含んでよく、上記デバイスと上記少なくとも１つの他のデバイスとの間の対話に関し、上記リモートオーケストレータと通信するための対話モニタをさらに含んでよい。
【００５２】
例１３は、例６から１２のいずれかに係る複数の要素を含んでよく、ラック内の上記デバイスは上記リモートオーケストレータをさらに含む。
【００５３】
例１４は、例１３の複数の要素を含んでよく、上記ラックは、上記少なくとも１つの他のデバイスをさらに含む。
【００５４】
例１５は、例１から１４のいずれかに係る複数の要素を含んでよく、上記インタフェース技術は、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）インタフェース技術である。
【００５５】
例１６は、例１から１５のいずれかに係る複数の要素を含んでよく、上記リモートオーケストレータモジュールは、帯域外通信を介して上記リモートオーケストレータと通信する。
【００５６】
例１７は、例１から１６のいずれかに係る複数の要素を含んでよく、上記リモートオーケストレータモジュールは、管理エンジン（ＭＥ）である。
【００５７】
例１８は、例１から１７のいずれかに係る複数の要素を含んでよく、上記デバイスがオフ状態からオン状態に移行する場合に、上記構成モジュールは、上記デバイス構成がパーティション化された構成またはマージされた構成で動作するよう設定するための少なくともファームウェアを含む。
【００５８】
例１９によると、ハードウェアベースのデバイス間リソース共有のための方法がもたらされる。上記方法は、デバイス内で少なくとも１つの命令をリモートオーケストレータから受信する段階と、上記少なくとも１つの命令に基づいて、上記デバイス内の構成モジュール内のデバイス構成を構成する段階と、上記少なくとも１つの命令に基づいて、上記デバイス内の少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にすべく、上記デバイス内のインタフェース技術を構成する段階と、を備えてよい。
【００５９】
例２０は、例１９の複数の要素を含んでよく、上記デバイスに、オフ状態からオン状態に移行させる段階と、上記デバイス構成に基づいて、上記デバイスがパーティション化された構成またはマージされた構成で動作するよう設定する段階と、をさらに備えてよい。
【００６０】
例２１は、例１９から２０のいずれかに係る複数の要素を含んでよく、上記インタフェース技術を構成する上記段階は、上記少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、上記インタフェース技術の構成空間内で少なくとも１つのビットを設定する段階を含む。
【００６１】
例２２は、例１９から２１のいずれかに係る複数の要素を含んでよく、上記少なくとも１つのハードウェアリソースがリモートで動作する場合に、上記少なくとも１つのハードウェアリソースを上記デバイス内の少なくとも処理モジュールから非表示にする段階をさらに備えてよい。
【００６２】
例２３は、例２２の複数の要素を含んでよく、上記少なくとも１つのハードウェアリソースがリモートで動作する場合に、上記少なくとも１つのハードウェアリソースと、少なくとも１つの他のデバイス内の少なくとも１つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成する段階をさらに備えてよい。
【００６３】
例２４は、例２３の複数の要素を含んでよく、上記デバイス構成に基づいて、上記少なくとも１つの他の処理モジュールと直接対話するよう、上記処理モジュールを構成する段階と、上記デバイス構成に基づいて、上記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも１つと、上記少なくとも１つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする段階と、をさらに備えてよい。
【００６４】
例２５は、例２３から２４のいずれかに係る複数の要素を含んでよく、上記デバイスと、上記少なくとも１つの他のデバイスとの間の対話に関し上記リモートオーケストレータと通信する段階をさらに備えてよい。
【００６５】
例２６は、例２２から２５のいずれかに係る複数の要素を含んでよく、上記少なくとも１つのハードウェアリソースがリモートで動作する場合に、上記少なくとも１つのハードウェアリソースと、少なくとも１つの他のデバイス内の少なくとも１つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成する段階と、上記デバイス構成に基づいて、上記少なくとも１つの他の処理モジュールと直接対話するよう上記処理モジュールを構成する段階と、上記デバイス構成に基づいて、上記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも１つと、上記少なくとも１つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする段階と、をさらに備えてよい。
【００６６】
例２７によると、上記の例１９から２６のいずれかに係る方法を実行するよう構成された、少なくとも１つのデバイスを含むシステムがもたらされる。
【００６７】
例２８によると、上記の例１９から２６のいずれかに係る方法を実行するよう構成された、チップセットがもたらされる。
【００６８】
例２９によると、コンピューティングデバイス上で実行されることに応答して、上記コンピューティングデバイスに対し、上記の例１９から２６のいずれかによる方法を実行させる、複数の命令を備える、少なくとも１つの機械可読媒体がもたらされる。
【００６９】
例３０によると、上記の例１９から２６のいずれかに係る方法を実行する、ハードウェアベースのデバイス間リソース共有のための少なくとも１つのデバイスがもたらされる。
【００７０】
例３１によると、ハードウェアベースのデバイス間リソース共有のためのシステムがもたらされる。上記システムは、デバイス内で少なくとも１つの命令をリモートオーケストレータから受信するための手段と、上記少なくとも１つの命令に基づいて、上記デバイス内の構成モジュール内のデバイス構成を構成するための手段と、上記少なくとも１つの命令に基づいて、上記デバイス内の少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にすべく、上記デバイス内のインタフェース技術を構成するための手段と、を備えてよい。
【００７１】
例３２は、例３１の複数の要素を含んでよく、上記デバイスに、オフ状態からオン状態に移行させるための手段と、上記デバイス構成に基づいて、上記デバイスがパーティション化された構成またはマージされた構成で動作するよう設定するための手段と、をさらに備えてよい。
【００７２】
例３３は、例３１から３２のいずれかに係る複数の要素を含んでよく、上記インタフェース技術を構成するための手段は、上記少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、上記インタフェース技術の構成空間内で少なくとも１つのビットを設定するための手段を備える。
【００７３】
例３４は、例３１から３３のいずれかに係る複数の要素を含んでよく、上記少なくとも１つのハードウェアリソースがリモートで動作する場合に、上記少なくとも１つのハードウェアリソースを上記デバイス内の少なくとも処理モジュールから非表示にするための手段をさらに備えてよい。
【００７４】
例３５は、例３４の複数の要素を含んでよく、上記少なくとも１つのハードウェアリソースがリモートで動作する場合に、上記少なくとも１つのハードウェアリソースと、少なくとも１つの他のデバイス内の少なくとも１つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成するための手段をさらに備えてよい。
【００７５】
例３６は、例３５の複数の要素を含んでよく、上記デバイス構成に基づいて、上記少なくとも１つの他の処理モジュールと直接対話するよう、上記処理モジュールを構成するための手段と、上記デバイス構成に基づいて、上記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも１つと、上記少なくとも１つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にするための手段と、をさらに備えてよい。
【００７６】
例３７は、例３５から３６のいずれかに係る複数の要素を含んでよく、上記デバイスと上記少なくとも１つの他のデバイスとの間の対話に関し、上記リモートオーケストレータと通信するための手段をさらに備えてよい。
【００７７】
例３８は、例３４から３７のいずれかに係る複数の要素を含んでよく、上記少なくとも１つのハードウェアリソースがリモートで動作する場合に、上記少なくとも１つのハードウェアリソースと、少なくとも１つの他のデバイス内の少なくとも１つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成するための手段と、上記デバイス構成に基づいて、上記少なくとも１つの他の処理モジュールと直接対話するよう上記処理モジュールを構成するための手段と、上記デバイス構成に基づいて、上記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも１つと、上記少なくとも１つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にするために手段と、をさらに備えてよい。
【００７８】
本明細書において採用される用語および表現は、限定ではなく、説明の用語として使用されており、そのような用語および表現の使用において、図示および説明された複数の特徴（またはそれらの部分）に係る任意の均等物を除外する意図はなく、特許請求の範囲内で様々な修正が可能であることが認識される。従って、以下の特許請求の範囲は、すべてのそのような均等技術を包含する意図である。
［項目１］
デバイス構成を設定するための構成モジュールと、
少なくとも前記デバイス構成に基づいてデータを処理するための処理モジュールと、
少なくとも１つのハードウェアリソースと、
前記処理モジュールが、前記少なくとも１つのハードウェアリソースと対話することを可能にするためのインタフェース技術と、
リモートオーケストレータモジュールと、
を備える、ハードウェアベースのデバイス間リソース共有が可能なデバイスであって、
前記リモートオーケストレータモジュールは、少なくとも
リモートオーケストレータから少なくとも１つの命令を受信し、
前記少なくとも１つの命令に基づいて、前記構成モジュールを構成し、
前記少なくとも１つの命令に基づいて、前記少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にするよう、前記インタフェース技術を構成する、デバイス。
［項目２］
前記構成モジュールは、前記デバイスがオフ状態からオン状態に移行する場合に、前記デバイス構成を設定するための少なくともファームウェアを含む、項目１に記載のデバイス。
［項目３］
前記デバイス構成の設定において、前記構成モジュールは、前記デバイスがパーティション化された構成またはマージされた構成で動作するように設定する、項目２に記載のデバイス。
［項目４］
前記インタフェース技術の構成において、前記少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、前記リモートオーケストレータモジュールは、前記インタフェース技術の構成空間内で少なくとも１つのビットを設定する、項目１に記載のデバイス。
［項目５］
前記少なくとも１つのハードウェアリソースがリモートで動作する場合に、前記インタフェース技術は、前記少なくとも１つのハードウェアリソースを少なくとも前記処理モジュールから非表示にする、項目１に記載のデバイス。
［項目６］
前記少なくとも１つのハードウェアリソースがリモートで動作する場合に、前記少なくとも１つのハードウェアリソースは、少なくとも１つの他のデバイス内の少なくとも１つの他の処理モジュールにアクセス可能である、項目１に記載のデバイス。
［項目７］
前記少なくとも１つのハードウェアリソースがリモートで動作する場合に、前記リモートオーケストレータモジュールは、前記少なくとも１つのハードウェアリソースと、前記少なくとも１つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、前記インタフェース技術を構成する、項目６に記載のデバイス。
［項目８］
前記リモートオーケストレータモジュールは、前記デバイス構成に基づいて、前記少なくとも１つの他の処理モジュールと直接対話するよう、前記処理モジュールを構成する、項目６に記載のデバイス。
［項目９］
前記構成モジュールは、前記デバイス構成に基づいて、前記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも１つと、前記少なくとも１つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする、項目８に記載のデバイス。
［項目１０］
前記デバイスと前記少なくとも１つの他のデバイスとの間の対話に関し、前記リモートオーケストレータと通信するための革新エンジンをさらに備える、項目６に記載のデバイス。
［項目１１］
ラック内の前記デバイスは、前記リモートオーケストレータをさらに含む、項目６に記載のデバイス。
［項目１２］
前記ラックは、前記少なくとも１つの他のデバイスをさらに含む、項目１１に記載のデバイス。
［項目１３］
デバイス内で少なくとも１つの命令をリモートオーケストレータから受信する段階と、
前記少なくとも１つの命令に基づいて、前記デバイス内の構成モジュール内のデバイス構成を構成する段階と、
前記少なくとも１つの命令に基づいて、前記デバイス内の少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にすべく、前記デバイス内のインタフェース技術を構成する段階と、
を備える、ハードウェアベースのデバイス間リソース共有のための方法。
［項目１４］
前記デバイスに、オフ状態からオン状態に移行させる段階と、
前記デバイス構成に基づいて、前記デバイスがパーティション化された構成またはマージされた構成で動作するよう設定する段階と、をさらに備える、項目１３に記載の方法。
［項目１５］
前記インタフェース技術を構成する前記段階は、前記少なくとも１つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、前記インタフェース技術の構成空間内で少なくとも１つのビットを設定する段階を含む、項目１３に記載の方法。
［項目１６］
前記少なくとも１つのハードウェアリソースがリモートで動作する場合に、前記少なくとも１つのハードウェアリソースを前記デバイス内の少なくとも処理モジュールから非表示にする段階をさらに備える、項目１３に記載の方法。
［項目１７］
前記少なくとも１つのハードウェアリソースがリモートで動作する場合に、前記少なくとも１つのハードウェアリソースと、少なくとも１つの他のデバイス内の少なくとも１つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、前記インタフェース技術を構成する段階をさらに備える、項目１６に記載の方法。
［項目１８］
前記デバイス構成に基づいて、前記少なくとも１つの他の処理モジュールと直接対話するよう、前記処理モジュールを構成する段階と、
前記デバイス構成に基づいて、前記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも１つと、前記少なくとも１つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする段階と、をさらに備える、項目１７に記載の方法。
［項目１９］
前記デバイスと、前記少なくとも１つの他のデバイスとの間の対話に関し前記リモートオーケストレータと通信する段階をさらに備える、項目１７に記載の方法。
［項目２０］
項目１３から１９のいずれか一項に記載の方法を実行する、少なくとも１つのデバイスを含む、システム。
［項目２１］
項目１３から１９のいずれか一項に記載の方法を実行するチップセット。
［項目２２］
コンピューティングデバイス上で実行されることに応答して、前記コンピューティングデバイスに対し、項目１３から１９のいずれか一項に記載の方法を実行させる、複数の命令を備える、少なくとも１つの機械可読記録媒体。
［項目２３］
項目１３から１９のいずれか一項に記載の方法を実行する、ハードウェアベースのデバイス間リソース共有のための少なくとも１つのデバイス。
［項目２４］
項目１３から１９のいずれか一項に記載の方法を実行する、手段を有するデバイス。
［項目２５］
コンピュータに、項目１３から１９のいずれか一項に記載の方法を実行させるプログラム。
［項目２６］
項目２５に記載のプログラムを格納するコンピュータ可読記録媒体。
【図１】
0006321053.tif 000002
【図２】
0006321053.tif 000003
【図３】
0006321053.tif 000004
【図４】
0006321053.tif 000005