JP6321053B2 - ハードウェアベースのデバイス間リソース共有が可能なデバイス - Google Patents

ハードウェアベースのデバイス間リソース共有が可能なデバイス Download PDF

Info

Publication number
JP6321053B2
JP6321053B2 JP2016000297A JP2016000297A JP6321053B2 JP 6321053 B2 JP6321053 B2 JP 6321053B2 JP 2016000297 A JP2016000297 A JP 2016000297A JP 2016000297 A JP2016000297 A JP 2016000297A JP 6321053 B2 JP6321053 B2 JP 6321053B2
Authority
JP
Japan
Prior art keywords
configuration
module
hardware resource
processing module
remote
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.)
Active
Application number
JP2016000297A
Other languages
English (en)
Other versions
JP2016173811A (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2016173811A publication Critical patent/JP2016173811A/ja
Application granted granted Critical
Publication of JP6321053B2 publication Critical patent/JP6321053B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Description

本開示は、リソース割り当てに関し、より具体的には、ハードウェアベースのパーティション化を利用する他のデバイスとハードウェアリソースを共有可能なデバイスに関する。
Software−as−a−Service(SaaS)等の「クラウドベース」のデータ処理ソリューションの拡張により、オンライン対話のための大量のデータ処理が、離れたユーザデバイスから遠隔に設置されたデータセンタに転送される。例示的なデータセンタは、データを別個に、または連携的な態様(例えば、高性能コンピューティング(HPC)アーキテクチャ内等)で処理すべく、複数のネットワーク化されたデータ処理デバイスまたは「ノード」(例えば、サーバ)からなるアレイを備え得る。データセンタは、データ処理、格納、ネットワーキングおよび他のハードウェアリソースの柔軟性を高めるべく、「ソフトウェア定義」のアプローチを利用し得る。例えば、ソフトウェア定義の動作は、ハードウェアリソースからの補助と組み合わせたソフトウェア仮想化技術を介して有効化され得る。仮想マシン(VM)は、物理的ハードウェアをエミュレートし得るが、実際はVMマネージャ(VMM)またはハイパバイザの制御下で、ハードウェアプラットフォーム上で実行されるプログラム構成である。既存のソフトウェア定義の実装は、例えば、ハードウェアパーティション化、仮想化(例えば、インテルコーポレーションのVT‐xまたはVT‐d技術)、ラックスケールアーキテクチャ(RSA)等を使用し得る。
しかしながら、VMがハードウェアリソースへの共有アクセスの外観を可能とする場合であっても、処理および入/出力(I/O)ハードウェアは依然として、リクエストされた機能を実装する特定のノード専用に割り当てられる。既存のパーティション化および仮想化ソリューションは、プラットフォームレベルのリソースにアクセスおよび/またはそれを制御すべく、非常に粗い精度を提供するのみであり得る。ソフトウェア仮想化は、サブソケットレベルのパーティション化を有効にし得る。サブソケットレベルのパーティション化は、別個のタスクを実行すべく、同一の物理的パッケージから処理リソース(例えば、コア)を割り当てることを含んでよい。例えば、VMMは、VMまたはオペレーティングシステム(OS)のインスタンスがそこで実行され得る、各コアのための論理パーティションを作成し得る。そのような動作の利点は明らかであるが、ソフトウェア仮想化はまた、入手不可能な、貴重なハードウェア機能を抽出し、作成し得る。RSAは、いくつかのプラットフォームレベルのリソース共有(例えば、複数のノード間でメモリがプールされ、共有され得る)を有効にし得るが、ソケット内で利用可能な詳細レベルのパーティション化は存在しない。ノード間で処理リソースまたはI/Oハードウェアリソースを共有すること、あるいは複数のノードがアクセスを共有可能な利用可能なリソースのプールにI/Oハードウェアリソースを割り当てることを可能にする既存の技術は存在しない。SW仮想化は現在、コンピューティングおよびIOリソースのサブソケットレベルのパーティション化のための唯一のオプションである。例えば、Serial Advanced Technology Attachment(SATA)、Gigabyte Ethernet(登録商標)(GbE)、Serial Attached Small Computer System Interface (SAS)、ユニバーサルシリアルバス(USB)あるいは現存の若しくは将来開発される任意の他のインタフェース技術(IT)を含む、サブソケットレベルのハードウェアインタフェース技術を介し、ハードウェアリソースのプール、共有等を有効化できる既存アーキテクチャは存在しない。
特許請求された主題に係る様々な実施形態の特徴および利点は、以下の詳細な説明が進むにつれ、および添付図面を参照することによって、明らかになるであろう。図面中、同一の参照符号は、同一の部材を指定する。
本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有のための例示的なシステムを示す。 本開示の少なくとも一実施形態に従う、使用可能なデバイスのための例示的な構成を示す。 本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有の例示的な実装を示す。 本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有のための複数の例示的な動作を示す。以下の詳細な説明は、例示的な実施形態に対する言及と共に進むが、当業者にとっては、それらの多くの代替的な変形例および修正例が自明であろう。
本開示は、ハードウェアベースのデバイス間リソース共有を対象とする。少なくとも一実施形態において、リモートオーケストレータ(RO)は、デバイスに対し、少なくとも1つのハードウェアリソースを複数の他のデバイスに利用可能にさせる複数の命令を提供してよい。例えば、デバイス内のROモジュールは、ROと対話してよい。ROモジュールは、ROから受信された複数の命令に基づき、デバイス内の構成モジュールを構成してよい。構成モジュールは次に、デバイスが電源オフ状態から電源オン状態に移行する場合に、デバイス構成(例えば、「パーティション化」構成または「マージされた」構成)を設定してよい。デバイスはさらに、デバイス構成に基づいてデータを処理するための処理モジュール、インタフェース技術(IT)および少なくとも1つのハードウェアリソースを含んでよい。インタフェース技術は、処理モジュールおよび少なくとも1つのハードウェアリソースが対話することを可能にしてよい。ROモジュールは次に、複数の命令に基づいて、少なくとも1つのハードウェアリソースがローカルまたはリモートで動作することを可能にするよう、ITを構成してよい。
少なくとも一実施形態において、ハードウェアベースのデバイス間リソース共有が可能な例示的なデバイスは、例えば、構成モジュール、処理モジュール、少なくとも1つのハードウェアリソース、インタフェース技術およびROモジュールを含んでよい。構成モジュールは、デバイス構成を設定してよい。少なくともデバイス構成に基づいて、処理モジュールは、データを処理してよい。インタフェース技術は、処理モジュールが少なくとも1つのハードウェアリソースと対話することを可能にしてよい。ROモジュールは少なくとも、リモートオーケストレータから少なくとも1つの命令を受信し、当該少なくとも1つの命令に基づいて、構成モジュールを構成し、当該少なくとも1つの命令に基づいて、少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にするようインタフェース技術を構成してよい。
少なくとも一実施形態において、デバイスがオフ状態からオン状態に移行する場合、構成モジュールはデバイス構成を設定するための少なくともファームウェアを含んでよい。デバイス構成を設定するにおいて、構成モジュールは、当該デバイスがパーティション化された構成またはマージされた構成で動作するよう設定してよい。インタフェース技術を構成するにおいて、ROモジュールは、少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、インタフェース技術の構成空間内に少なくとも1つのビットを設定してよい。例えば、インタフェース技術は、少なくとも1つのハードウェアリソースがリモートに動作する場合、少なくとも処理モジュールから少なくとも1つのハードウェアリソースを非表示にしてよい。
少なくとも一実施形態において、少なくとも1つのハードウェアリソースがリモートに動作する場合、少なくとも1つのハードウェアリソースは、少なくとも1つの他のデバイス内の少なくとも1つの他の処理モジュールにアクセス可能であってよい。ROモジュールは、少なくとも1つのハードウェアリソースがリモートに動作する場合、少なくとも1つのハードウェアリソースと、少なくとも1つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、インタフェース技術を構成してよい。ROモジュールはさらに、デバイス構成に基づいて、少なくとも1つの他の処理モジュールと直接対話するよう、処理モジュールを構成してよい。構成モジュールは、デバイス構成に基づいて、処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも1つと、少なくとも1つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にしてよい。
少なくとも一実施形態において、デバイスはさらに、デバイスと、少なくとも1つの他のデバイスとの間の対話に関し、リモートオーケストレータと通信するための対話モニタを含んでよい。インタフェース技術は、例えば、Peripheral Component Interconnect Express(PCIe)インタフェース技術であってよい。少なくとも一実装例において、デバイスはリモートオーケストレータをさらに含むラック内に存在してよい。また、ラックはさらに少なくとも1つの他のデバイスを含んでよい。本開示に整合し、ハードウェアベースのデバイス間リソース共有のための一例示的な方法は、デバイス内で少なくとも1つの命令をリモートオーケストレータから受信する段階と、少なくとも1つの命令に基づいて、デバイス内の構成モジュール内のデバイス構成を構成する段階と、少なくとも1つの命令に基づいて、デバイス内の少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にすべく、デバイス内のインタフェース技術を構成する段階と、を備えてよい。
図1は、本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有のための例示的なシステムを示す。システム100は、例えば、RO102、デバイス104A、デバイス104B...デバイス104n(集合的に、「デバイス104A...104n」)を含んでよい。明確化のため、デバイス104A...104nの3つのデバイスのみが図1内に示されているが、システム100に係るシステム100の実際の実装は、例えば、RO102およびデバイス104A...104nを含むデータセンタのサイズ/タイプ、システム100が設計された用途(例えば、HPC、クラウドコンピューティングインストール、SaaS等)または他の複数の要因に基づいて、より多いまたはより少ないデバイス104A...104nを備えてよい。
RO102は、デバイス104A...104nの動作を「オーケストレート(調整)する」よう構成された少なくとも1つのコンピューティングデバイス(例えば、コンピュータ、サーバ、オペレータステーション等)を含んでよい。オーケストレーションは限定はされないが、デバイス104A...104n内の複数のハードウェアリソースを判断し、各デバイス104A...104n内の複数のハードウェアリソースがどのように共有されるかを判断し、各デバイス104A...104nに構成(例えば、共有する複数のハードウェアリソース)に関する命令をし、デバイス104A...104n間で対話を管理することを含んでよい。本明細書において言及される複数のハードウェアリソースは、複数の個々のコンポーネント(例えば、プロセッサ、メモリ、インタフェース等)、チップセット、マルチチップモジュール(MCM)、モジュールの形態でのアドオン機器、カード、プラグイン等を含んでよい。動作の一例において、RO102は、システム100内のデータ処理効率を最大化し、システム100内のデータ処理ボトルネックを除去し、システム100内に全く新しいデータ処理タスクを収容する等といった少なくとも1つの目的でタスク化されてよく、この点において、RO102は複数のハードウェアリソースへのアクセスを再構成すべく、デバイス104A...104nに対し、複数の命令を発行してよい。本開示に整合し、各デバイス104A...104n内の複数のハードウェアリソースは、物理的な再構成またはソフトウェアパーティション化への依存の必要性なく、サブソケットレベルに柔軟に再割り当てされてよい。
ここで、デバイス104Aのための例示的な構成について説明するが、これはデバイス104B...104nにも該当し得る。デバイス104Aは、少なくともROモジュール106、構成モジュール108、処理モジュール110、各ハードウェアリソース(HR)116A、HR 116B、HR 116C、HR 116D...HR 116n(集合的に「HR 116A...116n」)に対応し得るIT 112A、IT 112B、IT 112C、IT 112D...112n(集合的に「IT 112A...112n」)を含んでよい。デバイス104A内のHR 116A...116nの実際の量は、デバイスタイプ、サイズ、構成等のような複数の要因に応じて変わってよい。例えば、スタンドアロンコンピューティングデバイス(例えば、フルタワーケースを有する)であるデバイス104Aは、デバイス104Aがよりコンパクトなラックまたはブレードサーバの場合よりも、より様々な、および/またはより多量のHR 116A...116n(例えば、複数のプロセッサ、ドライブ、カード等)を処理するための、より優れた電力、容量、冷却等を含んでよい。少なくとも一実装例において、RO102および/またはデバイス104A...104nはすべて、同一設置(例えば、同一の部屋、隣接するラック内、同一ラック等)におけるラック/複数のブレードサーバであってよい。
少なくとも実施形態において、ROモジュール106は、RO102と対話するよう構成されてよい。例えば、ROモジュール106は、デバイス104Aを構成するための複数の命令を含む「帯域外」データを受信してよい。本明細書において言及される帯域外は、デバイス104Aが通常デバイス104B...104nと通信する態様とは別個の通信態様を示してよい。例えば、専用の通信チャネルが、各デバイス104A...104n内のRO102とROモジュール106との間に存在してよい。デバイス104Aがオフ状態(例えば、電源オフ、休止状態等)またはオン状態(例えば、アクティブ)の場合、ROモジュール106は、複数の命令を受信してよい。複数の命令を受信後、ROモジュール106は、当該複数の命令に基づいて、構成モジュール108を構成してよい。構成モジュール108は、例えば、デバイス104Aがブート、リブートからアクティブになる、休止状態からウェイクアップした等の場合、デバイス104Aでモードを設定するためのファームウェアがそこにエンコードされる書換可能不揮発性(NV)メモリを含んでよい。少なくとも一実施形態において、構成モジュール108は、デバイス104Aを「パーティション化された」構成または「マージされた」構成のいずれかに構成してよい。パーティション化された構成は、「通常」の構成であってよく、その場合、デバイス104Aは、すべてのHR 116A...116nのオーナシップを維持すべく構成され、その場合、仮想化、RSA等の既存の共有技術が付与されると、共有が可能になってよい。本開示に整合し、マージされた構成は、後述のように、ハードウェアベースのデバイス間リソース共有を使用し、サブソケットレベルで複数のハードウェアリソースを共有するよう再構成されているデバイス104Aを含んでよい。
処理モジュール110は、少なくとも1つのデータプロセッサをサポートするために要求される任意の回路とともに、少なくとも1つのデータプロセッサを含んでよい。処理モジュール110の例示的な内容が、図2により詳細に記載される。マージされた構成において、処理モジュール110は、デバイス104B...104n内の他の複数の処理モジュール110と直接対話するよう構成されてよい。本明細書における説明のために、デバイス104A内の「IT」は、HR 116A...116nがデバイス104A内の他の複数のリソースと対話することを可能にする機器(例えば、ソケット、バス、サポート回路等)およびソフトウェア(例えば、ドライバ、構成レジスタ等)の両方を含んでよい。例えば、PCIeインタフェース技術が採用されている場合、IT 112A...112nは、HR 116A...116nがインストールされる、デバイス104A内の複数の物理ソケットに対応する複数のPCIeルートポートであってよい。本明細書における例としてPCIeが利用されるが、本開示に整合する複数の実施形態は、PCIeのみを利用する実装に限定はされない。本開示に整合し、同様の動作特性を有する他の複数のITも採用されてよい。マージされた構成において、ROモジュール106は、HR 116A...116nがローカルに動作またはリモートに動作することを可能にするよう、IT 112A...112nを構成してよい。デバイス104Aは、ローカルに動作するよう構成された任意のHR116A...116nのアクセスおよびオーナシップを維持してよい一方、複数の他のデバイス(例えば、デバイス104B...104n)内の処理モジュール110は、リモートに動作するよう構成された任意のHR116A...116nにアクセス可能および制御可能であってよい。少なくとも一実施形態において、ROモジュール106は、ローカルまたはリモート動作を示すべく、IT 112A...112nのための構成空間内に複数のビットを設定してよい。例えば、ROモジュール106が、HR 116A、HR 116CおよびHR 116Dがローカルに動作することを可能にすべく構成空間内に複数のビットを設定したことを示すべく、IT 112A、IT 112CおよびIT 112Dは図1中、フラグ「L」114とともに示されている一方、HR 116BおよびHR 116nがリモートに動作することを可能にすべく、構成空間内にビットが設定されたことを示すべく、IT 112BおよびIT 112nはフラグ「R」114とともに示される。このようにして、HR 116A...116nの各々に対する共有は、個々に判断および構成されてよい。
動作の一例において、RO102は、デバイス104をマージされた動作のために構成すべく、ROモジュール106に複数の命令を少なくとも提供してよい。ROモジュール106は、構成モジュール108内でマージされた構成を設定してよく、それは電源投入、休止状態からの回復等の際、デバイス104Aをマージされた動作に構成するよう進んでよい。ROモジュール106はまた、RO102から受信された複数の命令に基づいて、IT 112A...112nをローカルまたはリモート動作のために構成してよい。例えば、フラグ114によって示される通り、HR 116A、HR 116CおよびHR 116Dがローカルに動作することを可能にするようIT 112A、IT 112CおよびIT 112Dは構成されてよく、結果的にHR 116A、HR 116CおよびHR 116Dは処理モジュール110にアクセス可能であってよい。これに対し、IT 112BおよびIT 112nは、HR 116BおよびHR 116nがリモートに動作することを可能にするよう構成されてよい。少なくとも一実施形態において、HR 116BおよびHR 116nは、デバイス104Aのブートアップ中、少なくとも処理モジュール110から非表示であってよく、故にローカルにアクセス不可としてレンダリングされる。図1に示される通り、少なくともデバイス104Bは、HR116Bにアクセス可能であってよく、少なくともデバイス104nは、HR116nにアクセス可能であってよい。同様に、デバイス104Aは、デバイス104n内でリモートに動作するよう構成されたHRにアクセス可能であってよく、デバイス104Bは、デバイス104B内でリモートに動作するよう構成されたHRにアクセス可能であってよい等である。少なくとも一実施形態において、複数の他のデバイス内のHRにアクセスすることは、各デバイス内で動作する複数の処理モジュール110間の直接リンクによって容易化されてよい。異なる複数の処理モジュール110間の対話の一例が、図3に示される実装に関し説明される。
図2は、本開示の少なくとも一実施形態に従う、使用可能なデバイスのための例示的な構成を示す。項目番号後に含められたアポストロフィ(例えば、104A')は、当該項目の一例示的な実施形態が示されていることを示す。例えば、デバイス104A'は、図1に開示された複数のアクティビティのうちの任意のものを実行可能であってよい。しかしながら、デバイス104A'は、本開示に整合する複数の実施形態内で使用可能な装置の一例としてのみ示されており、様々な実施形態のうちの任意のものを実装の任意の特定の態様に限定することを意図しない。また、図2に示されるデバイス104A'に対する例示的な構成は、デバイス104B...104nのうちの1または複数にも適用可能であってよい。
デバイス104A'は、例えば、デバイスの動作を管理するためのシステムモジュール200を含んでよい。システムモジュール200は、例えば、処理モジュール110'、メモリモジュール202、電力モジュール204、ユーザインタフェースモジュール206および通信インタフェースモジュール208を含んでよい。デバイス104A'はさらに、通信モジュール210およびROモジュール106を含んでよい。通信モジュール210およびROモジュール106'は、システムモジュール200から別個のものとして示されるが、図2中に示される例示的な構成は、例示のためだけに提供されている。通信モジュール210および/またはROモジュール106'に関連付けられた機能のうちのいくつかまたはすべてはまた、システムモジュール200に組み込まれてよい。
デバイス104A'において、処理モジュール110'は、複数の別個のコンポーネントに置かれた1または複数のプロセッサ、あるいは、単一コンポーネント(例えば、システムオンチップ(SoC)構成)内に具現化された1または複数のプロセッシングコア、および任意のプロセッサ関連のサポート回路(例えば、ブリッジインタフェース等)を含んでよい。複数のプロセッサの例は、限定はされないが、Pentium(登録商標)、Xeon、Itanium、Celeron、Atom、Quark、Core iシリーズ、Core Mシリーズ製品ファミリ、Advanced RISC(例えば、縮小命令セットコンピューティング)Machineまたは「ARM」プロセッサ等を含む、インテルコーポレーションから入手可能な様々なx86ベースのマイクロプロセッサを含んでよい。サポート回路の複数の例は、インタフェースを提供するよう構成された複数のチップセット(例えば、インテルコーポレーションから入手可能なノースブリッジ、サウスブリッジ等)を含んでよく、当該インタフェースを介して、処理モジュール110'は、デバイス104A'内で異なる速度、異なるバス上等で動作してよい他の複数のシステムコンポーネントと対話してよい。サポート回路に共通して関連付けられる機能のうちのいくつかまたはすべてはまた、プロセッサ(例えば、インテルコーポレーションから入手可能なSandy Bridgeファミリのプロセッサ)と同一の物理的パッケージ内に含まれてよい。
処理モジュール110'は、デバイス104A'内で様々な命令を実行するよう構成されてよい。複数の命令は、データ読み取り、データ書き込み、データ処理、データ形成、データ転換、データ変換等に関連する複数のアクティビティを処理モジュール110'に実行させるよう構成されたプログラムコードを含んでよい。情報(例えば、複数の命令、データ等)は、メモリモジュール202内に格納されてよい。メモリモジュール202は、固定またはリムーバブル式のランダムアクセスメモリ(RAM)および/またはリードオンリメモリ(ROM)を備えてよい。RAMは、デバイス104A'の動作中の情報を保持するよう構成された揮発性メモリを含んでよく、例えば、スタティックRAM(SRAM)またはダイナミックRAM(DRAM)が挙げられる。ROMは、デバイス104A'がアクティブ化された場合に、複数の命令を提供するようBIOS、UEFI等に基づいて構成された、複数の不揮発性(NV)メモリモジュールを含んでよく、例えば、electronic programmable ROM(EPROM)、フラッシュ等のようなプログラマブルメモリが挙げられる。他の固定/リムーバブルメモリは限定はされないが、例えば、フロッピー(登録商標)ディスク、ハードドライブ等のような磁気メモリ、ソリッドステートフラッシュメモリ(例えば、embedded multimedia card(eMMC)等)、リムーバブルメモリカード若しくはスティック(例えば、マイクロストレージデバイス(μSD)、USB等)のような電子メモリ、コンパクトディスクベースのROM(CD‐ROM)、デジタルビデオディスク(DVD)、ブルーレイディスク等のような光メモリを含んでよい。
電力モジュール204は、内部電源(例えば、バッテリ、燃料電池等)および/または外部電源(例えば、電子機械的発電機若しくは太陽発電機、送電網、外部燃料電池等)、およびデバイス104A'に対し、動作に必要な電力を供給するよう構成された関連の回路を含んでよい。ユーザインタフェースモジュール206は、ユーザがデバイス104A'と対話することを可能にするハードウェアおよび/またはソフトウェアを含んでよく、例えば、様々な入力メカニズム(例えば、複数のマイク、スイッチ、ボタン、ノブ、キーボード、スピーカ、タッチセンサ式の表面、複数のイメージをキャプチャする、および/または近接度、距離、モーション、ジェスチャ、方向、生体データ等を感知するよう構成された1または複数のセンサ)および様々な出力メカニズム(例えば、複数のスピーカ、ディスプレイ、点灯/点滅インジケータ、バイブレーション、モーションのための電子機械コンポーネント等)が挙げられる。ユーザインタフェースモジュール206内のハードウェアは、デバイス104A'内に組み込まれてよく、および/または有線または無線通信媒体を介して、デバイス104A'に結合されてよい。ユーザインタフェースモジュール206'は、例えば、デバイス104A'が、ユーザインタフェースモジュール206を有さず、代わりにユーザインタフェース機能のための別のデバイス(例えば、管理端末)に依存するサーバ(例えば、ラックサーバ、ブレードサーバ等)であるような状況のような、複数の特定の状況下におけるオプションであってよい。
通信インタフェースモジュール208は、通信モジュール210のためのパケットルーティングおよび他の制御機能を管理するよう構成されてよく、通信モジュール210は、有線および/または無線通信をサポートするよう構成された複数のリソースを含んでよい。いくつかの例において、デバイス104A'は、中央通信インタフェースモジュール208によって管理される1つより多い通信モジュール210(例えば、有線プロトコルおよび/または無線機のための別個の物理インタフェースモジュールを含む)を含んでよい。有線通信は、例えば、イーサネット(登録商標)、USB、ファイヤーワイヤ、Thunderbolt、デジタルビデオインタフェース(DVI)、High−Definition Multimedia Interface(HDMI(登録商標))等のようなシリアルおよびパラレルの複数の有線媒体を含んでよい。無線通信は、例えば、近接無線媒体(例えば、RF Identification(RFID)またはNear Field Communications(NFC)規格、赤外線(IR)等に基づく無線周波数(RF))、短距離無線媒体(例えば、Bluetooth(登録商標)、WLAN、Wi−Fi等)、長距離無線媒体(例えば、セルラ広域無線通信技術、衛星通信等)、音波を介する電子通信等を含んでよい。一実施形態において、通信インタフェースモジュール208は、通信モジュール210内でアクティブな複数の無線通信が、互いに干渉することを防止するよう構成されてよい。この機能を実行する際、通信インタフェースモジュール208は、例えば、送信を待機している複数のメッセージの相対的な優先度に基づいて、通信モジュール210に対する複数のアクティビティをスケジュールしてよい。図2に開示される実施形態は、通信モジュール210から別個のものとして通信インタフェースモジュール208を示すが、通信インタフェースモジュール208および通信モジュール210の機能が、同一モジュール内に組み込まれることも可能であってよい。
本開示に整合し、ROモジュール106'は、少なくともシステムモジュール200、メモリモジュール202および通信モジュール210と対話してよい。動作の例において、ROモジュール106'は、通信モジュール210を介して行われる有線および/または無線通信を介して、RO102と対話してよい。複数の命令をRO102から通信モジュール210を介して受信後、ROモジュール106'は、メモリモジュール202内の構成モジュール108'を構成してよい。さらに、ROモジュール106'は、HR 116A...116nがローカルまたはリモートに動作することを可能にするよう、および/またはデバイス104A'が複数の他のデバイスから利用可能であってよいリモートHRにアクセスすることを可能にするよう、IT 112A...112nを構成すべく、システムモジュール200(図2において不図示)内のIT 112A...112nと一般に対話してよい。
図3は、本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有の例示的な実装を示す。図3中、例示的なデバイス104A'および例示的なデバイス104B'が対話しているよう示されるが、それらの説明は、インテルコーポレーションによって開発された様々な製品、技術等に言及し得る。これらの言及は、図3中に示される対話を理解するための容易に理解可能な例として機能してよいが、これらの言及は本開示に整合する複数の実施形態を実装、実装技術等の任意の特定の態様に限定することは意図されていない。
複数の既存のコンピューティングデバイス(例えば、複数のサーバ)は、2つのノードを含むプラットフォームが、2つの別個のプラットフォームにハードパーティション化され得る、「パーティション化された」構成をサポートしてよい。当該2つの1ノードプラットフォーム間でHR 116A...116nの共有が一切ないので、このパーティションは「ハード」である。ソフトウェア仮想化(例えば、複数のVMを介する)は、いくつかの共有能力を提供してよいが、貴重なハードウェア機能にアクセスする能力をなくす可能性がある。複数のPCIeスイッチは、複数のハードウェアリソースをかなり精度の細かいレベルで共有可能であってよいが、このソリューションは、システムレベルで要求される個別のコンポーネントの合計数を増大させ得る。本開示に整合し、任意のノードまたはパーティションが、選択されたIT 112A...112n (例えば、PCIeルートポート階層または複数のPCIeデバイス)を任意の他のノードまたはパーティションに物理的に再割り当てすることを可能にすることによってサポートされるHR 116A...116nのプールと共有を用いて、従来のハードパーティション化が強化されてよい。少なくとも一実施形態において、パーティション化は複数のコヒーレントドメインのみに限定されてよく、1ノードまたは1パーティション内に物理的に実装された複数のPCIeルートポートおよび/または複数のPCIeデバイスのような複数のハードウェアリソースは、別のノードまたはパーティションと共有されてよい。
既存のパーティショニング方法論において、インテルコーポレーションによって開発されたクイックパスインターコネクト(QPI)、Keizer Technology Interconnect(KTI)、インテルコーポレーションによってこれも開発されたオープンコア接続技術のような、複数のポイントツーポイントプロセッサ接続技術は、無効にされてよい。より具体的には、複数のプロセッサが、パーティション化された複数のノード間で直接複数のメッセージを送受信することを可能にする複数のQPI/KTIリンクは利用されなくてよい。しかしながら、本開示に整合し、プールされたリソースアーキテクチャ内において、HR 116A...116nの共有を可能にすべく、複数のQPI/KTIリンクが複数のノードまたはパーティション間で採用されてよい。少なくとも一実施形態において、QPI/KTIは、複数のパーティションにわたり、コヒーレンシを維持するための複数の機能なしに採用されてよい。
デバイス104A'および104B'に対する複数の例示的な実装が、図3に示される。デバイス104A'は、例えば、ノースダイ300Aおよびサウスダイ302Aを含んでよい。少なくとも一実施形態において、ノースダイ300Aは、例えば、インテルコーポレーションによって開発されたダイレクトメディアインタフェース(DMI)を介して、サウスダイ302Aと通信してよい。ノースダイ300A(例えば、ノースブリッジ)は、マイクロプロセッサコンポーネント、チップセット、MCM等に通常存在する複数のコンポーネントを含んでよい。例えば、ノースダイ300Aは、1または複数のプロセッシングコア304A、メモリコントローラ306AおよびPCIe構成空間308Aを含んでよい。メモリコントローラ306Aは、デバイス104A'内のメモリのための複数のデータアクセス動作を制御してよい。PCIe構成空間308Aは、少なくともデータルーティングに関し、複数のPCIeルートポート(例えば、デバイス104A'内の複数の物理的PCIeスロットに対応する)並びに統合されたおよび/または個別のPCIe I/Oデバイスがどのように構成されるかを制御してよい。サウスダイ302A(例えば、サウスブリッジ)は、デバイス104A'の複数の一般的なI/O機能に通常関連付けられる複数のコンポーネントを含んでよい。サウスダイ302Aはまた、プラットフォームコントローラハブ(PCH)とも称され得る。例えば、サウスダイ302Aは、管理エンジン(ME)310A、電力管理コントローラ(PMC)312Aおよび対話モニタ314Aを含んでよい。ME310Aは、図1内のROモジュール106に対応するスタンドアロンプロセッサを含んでよい。例えば、ME310Aは、デバイス104A'の残りが非アクティブの場合であっても、複数のOOBネットワーク通信(例えば、リモートオーケストレータ102から)を受信可能であってよい。PMC312Aは、HR 116A...116nを含むデバイス104A'のための複数の電力動作を管理してよい。少なくとも一実施形態において、対話モニタ314Aは、複数のノード間(例えば、デバイス104A'と104B'との間)の対話を監視してよく、RO102に対し、これらの対話に関する情報を提供してよい。図3に不図示であるが、本開示に整合し、PCHとして動作するサウスダイ302Aはさらに、SATAコントローラ、USBコントローラ、イーサネット(登録商標)コントローラ、シリアルペリフェラルインタフェース(SPI)、Enhanced SPI through a low pin count bus(eSPI/LPC)、汎用非同期送受信機(UART)および複数の他の通信マスタ/スレーブインタフェースを含んでよい。300Bから314Bまでの対応する複数の要素は、デバイス104A'に関し上記したものと同一または類似する複数の動作をデバイス104B'のために実行してよい。
デバイス104A'が少なくともデバイス104B'とのマージされた動作のために構成され得る場合の複数の動作の例について、ここで説明する。これらの動作は、デバイス104A'に関し示されるものの、これらはデバイス104B'に等しく適用可能である。図3中、「1」と示されるように、「パーティション化」または「マージ」するための複数の命令を含むOOBデータが、デバイス104A'において受信されてよい。例えば、デバイス104A'がレガシ/非レガシの対称型マルチプロセッシング(SMP)構成で独立して動作(例えば、パーティション化)しているまたは共有ハードウェア構成(例えば、マージされた)内で動作する場合、RO102はME310Aと通信してよい。デバイス104A'がS5状態(例えば、電源オフ)の場合、この対話が発生してよい。デバイス104A'がS0(例えば、電源オン状態)に移行する場合、ME310Aは、BIOS(例えば、構成モジュール108)に対し、動作モードをステータスレジスタを介して示してよい。図3中、「2」と示されるように、RO102はまた、ME310Aに対し、どの複数のPCIeルートポートおよび/またはローカルの統合された/個別のPCIe I/Oデバイスが、リモートノード(例えば、デバイス104B')に割り当てられるかに関し命令してよい。RO102はまた、どのリモートノードに対し、複数のローカルのPCIe IOデバイスが再割り当てされたかを列挙してよい(例えば、同様に、複数のリモートノードに対し、複数のリモートに動作するPCIe IOデバイスがそれらに割り当てられたことを通知してよい)。少なくとも一実施形態において、ME310Aは、すべてのPCIeルートポートおよびすべてのPCIeの統合された/個別のデバイスのために、複数のローカル/リモート(L/R)ビットをPCIe構成空間308A内に設定してよい。
デバイス104A'がオフ状態(例えば、S4またはS5)からオン状態(例えば、S0)に移行後、ME310Aは、すべてのI/O動作を、リモートノード(例えば、デバイス104B')に再割り当てされた各PCIeルートポートおよび/または統合された/個別のPCIeデバイスに対する特定のKTI/QPIリンク番号にリダイレクトまたは再マッピングすべく、複数の統合されたI/O(IIO)ルーティングビットを設定してよい。例えば、各ノード内で、IIO電源コントロールユニット(PCU)は、リモートノードID(例えば、HR116A...116nを共有する、デバイス104B'のような複数のデバイスを識別する)に基づいて、複数のリモートPCIe I/Oデバイスに対するパスを判断してよい。IIOは、パスに基づいて、複数のリモートノード間で、例えば、複数のPCIe構成サイクル、PCIeベンダ定義メッセージ、ダイレクトメモリアクセス(DMA)およびメモリマップドI/O(MMIO)サイクルをルーティングするよう修正されてよい。少なくとも一実施形態において、複数のメッセージシグナリング割り込み(例えば、複数のMSI‐X拡張)が依然サポートされてよい場合を除き、割り込みルーティングを回避するためのレガシINTRピンはサポートされなくてよい。IIOは、複数のリモートデバイスのトランザクションのために、トランスレーションルックアサイドバッファ(TLB)ルックアップを迂回してよい。
図3中、「3」と示されるように、PMC312Aは、PCIe構成空間308A内で、「R」構成を有する複数のデバイスを非表示にしてよい。非表示にすることは、HR 116A...116nをデバイス104A'に対し見えなくさせるべく、IT 112A...112nの構成を変更することを含んでよい。結果的に、PCIeルートポートまたはPCIeコンポーネント/デバイスがリモートノードに割り当てられている場合、ローカルBIOSは、当該PCIeルートポートまたはPCIeコンポーネント/デバイスを検出または列挙しない。図3中、「4」と示されるように、各ノード内で、BIOSは、複数のQPI/KTI接続を構成してよいが、複数のノード間のQPI/KTIにわたり、複数のキャッシュ/メモリコヒーレンシプロトコルを無効にしてよい。IIO内でプログラムされてよい、複数の正確なレジスタは、非アーキテクチャ的であってよいが、BIOSに対し、複数のノード間にわたるすべてのスヌーピングを無効にさせ、故にその結果、各ノードは自身のコヒーレンシドメインであってよい。ノースダイ300Aは次に、図3中、「5」と示されるように複数のQPI/KTIリンク経由で、少なくともノースダイ300Bと対話を開始してよい。図3中、「6」と示されるように、汎用OOBデータメッセージングエンジンとして、複数のノード間対話を対処すべく、対話モニタ314Aが使用されてよい。少なくとも一実施形態において、IIOは、QPI/KTIを介してデバイス104A'に接続された複数のデバイスに係るリモートアクセスサービス(RAS)/エラー処理、セキュリティおよび電力管理の複数のメッセージを再ルーティングすべく拡張してよい。リセットシーケンシングも、複数のプール/共有されたリソースをサポートすべく拡張されてよい。QPI/KTIの使用は、既存の技術を活用してよいが、複数の将来の接続が、他の既存の接続技術、カスタム接続技術、一般的な業界標準の実装等を用いて実装されてよい。
図4は、本開示の少なくとも一実施形態に従うハードウェアベースのデバイス間リソース共有のための複数の例示的な動作を示す。動作400において、複数の命令がROから受信されてよい(例えば、デバイス内のROモジュールへ)。動作402において、デバイスは、オフ状態(例えば、S4またはS5)からオン状態(例えば、S0)に移行してよい。動作404において、デバイス内の構成モジュール(例えば、BIOS)を構成すべく、ROから受信された複数の命令が使用されてよい。次に動作406において、デバイスがマージされた構成で動作するよう命令されたかどうかに関する判断がなされてよい。動作406において、デバイスがマージされた構成で動作すべきではないと判断された場合、次に動作408において、パーティション化された動作のために、デバイスの起動が継続されてよい。
動作406において、デバイスがマージされた構成で動作すべきであるという判断の後、動作410において、デバイス内の少なくとも1つのHRが、少なくとも1つの他のデバイス(例えば、ROから受信された複数の命令に基づいて)と共有されるかどうかに関するさらなる判断がなされてよい。動作410において、デバイス内の少なくとも1つのHRが共有されると判断されると、次に、動作412において、IT構成空間内で、ローカル(L)またはリモート(R)の複数のビットが構成されてよい。複数のL/Rビットを設定することは、各HRに1ビットを設定(例えば、「1」はローカルを示し、「0」はリモートを示す)すること、または各HRに異なる複数のビットを設定することを含んでよい。動作414において、リモート動作のためのフラグが付けられた各HRのためにルーティング(例えば、PCIe、IIO、MMIO、DMA、エラー処理等)が構成されてよく、また、リモートに動作する各HRは、デバイスのブートアップ中にデバイスによって、それらが利用可能なHRとして認識されるのを防止すべく、非表示にされてよい。
動作410における「いいえ」の判断後または動作414の後、動作416において、デバイスは別のデバイス内のリモートHRにアクセスするよう構成されるべきかどうかに関する、さらなる判断(例えば、ROから受信された複数の命令に基づいて)が続いてよい。動作416において、少なくとも1つのリモートHRがアクセスされるという判断がなされると、次に動作418において、デバイス内の少なくとも処理モジュールが、リモートHRにアクセスすることを可能にすべく、ルーティングがデバイス内で設定されてよい。動作416における「いいえ」の判断後または動作418の後、動作420において、例えば、複数のQPI/KTIリンクの構成、複数のキャッシュ/メモリコヒーレンシプロトコルの無効化、割り込みルーティングの構成等を含む、処理モージュール間通信が構成されてよい。動作422において、複数のノード間の対話を管理およびそれに関する報告をすべく、対話モニタが有効化されてよい。動作424において、マージされた動作のために、デバイスの起動が継続されてよい。
図4は一実施形態に係る複数の動作を示しているものの、図4に示されるすべての動作が、複数の他の実施形態で必要というわけではない点を理解されたい。実際、本開示の複数の他の実施形態において、図4に示された複数の動作、および/または本明細書に説明された他の複数の動作は、本開示に依然完全に整合しつつ、いずれの図面にも具体的に示されない態様で組み合わされてよいことが本明細書において、十分理解される。故に、1つの図面内で正確に示されていない複数の特徴および/または動作を対象とする特許請求の範囲は、本開示の範囲および内容に属するとみなされる。
本願および特許請求の範囲において使用される、「および/または」という用語によって結合される項目の列挙は、列挙された項目の任意の組み合わせを意味し得る。例えば、「A、Bおよび/またはC」という文言は、A、B、C、および「AおよびB」、「AおよびC」、「BおよびC」または「A、B、およびC」を意味し得る。本願および特許請求の範囲において使用される、「のうちの少なくとも1つ」という用語によって結合される項目の列挙は、列挙された項目の任意の組み合わせを意味し得る。例えば、「A、BまたはCのうちの少なくとも1つ」という文言は、「A、B、C」、「AおよびB」、「AおよびC」、「BおよびC」または「A、B、およびC」を意味し得る。
本明細書の任意の実施形態で使用される、「モジュール」という用語は、前述の複数の動作のうちのいずれかを実行するよう構成されたソフトウェア、ファームウェア、および/または回路を指してよい。ソフトウェアは、非一時的コンピュータ可読ストレージ媒体上に記録されたソフトウェアパッケージ、コード、複数の命令、複数の命令セットおよび/またはデータとして具現化されてよい。ファームウェアは、複数のメモリデバイス内にハードコードされた(例えば、不揮発性の)コード、複数の命令または複数の命令セットおよび/またはデータとして具現されてよい。本明細書の任意の実施形態で使用される、「回路」は、例えば、ハードワイヤード回路、1または複数の個々の命令処理コアを含む複数のコンピュータプロセッサのようなプログラマブル回路、ステートマシン回路、および/またはプログラマブル回路によって実行される複数の命令を格納するファームウェアを、単一または任意の組み合わせにおいて備えてよい。複数のモジュールは、より大型のシステムの一部を形成する回路、例えば、集積回路(IC)、システムオンチップ(SoC)、複数のデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォン等として、集合的または個々に具現化されてよい。
本明細書において説明される複数の動作のうちの任意のものは、1または複数のプロセッサによる実行時に当該複数の方法を実行する複数の命令を個々にまたは組み合わせにおいて、そこに格納された状態で有する1または複数のストレージ媒体(例えば、複数の非一時的ストレージ媒体)を含むシステム内に実装されてよい。ここで、プロセッサは例えば、サーバのCPU、モバイルデバイスのCPU,および/または他のプログラマブル回路を含んでよい。また、本明細書において説明された複数の動作は、1より多い異なる物理的位置にある複数の処理構造のような複数の物理的デバイスにわたり、分配されてよいことが意図されている。ストレージ媒体は、例えば、複数のハードディスク、フロッピー(登録商標)ディスク、光ディスク、コンパクトディスクリードオンリメモリ(CD−ROM)、書き換え可能コンパクトディスク(CD−RW)、および光磁気ディスクを含む任意のタイプのディスク、複数のリードオンリメモリ(ROM)、ダイナミックおよびスタティックRAMのようなランダムアクセスメモリ(RAM)、消去可能プログラマブルリードオンリメモリ(EPROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリ、ソリッドステートディスク(SSD)、embedded multimedia card(eMMC)、secure digital input/output(SDIO)カードのような複数の半導体デバイス、複数の磁気または光カード、あるいは複数の電子命令を格納するのに好適な任意のタイプの媒体といった、任意のタイプの有形の媒体を含んでよい。複数の他の実施形態は、プログラム可能な制御デバイスによって実行される複数のソフトウェアモジュールとして実装されてよい。
故に、本開示は、ハードウェアベースのデバイス間リソース共有を対象とする。例えば、リモートオーケストレータ(RO)は、デバイスに対し、少なくとも1つのハードウェアリソースを複数の他のデバイスに対し利用可能にさせる複数の命令を提供してよい。デバイス内のROモジュールがROと対話してよく、ROから受信された複数の命令に基づいて、デバイス内の構成モジュールを構成してよい。構成モジュールは、デバイスが電源オフ状態から電源オン状態に移行する場合、デバイス構成を設定してよい。デバイスはまた、デバイス構成に基づいてデータを処理するための処理モジュール、インタフェース技術(IT)および少なくとも1つのハードウェアリソースを含んでよい。インタフェース技術は、処理モジュールおよび少なくとも1つのハードウェアリソースが対話することを可能にしてよい。ROモジュールは、複数の命令に基づいて、少なくとも1つのハードウェアリソースがローカルまたはリモートで動作することを可能にするよう、ITを構成してよい。
以下の複数の例は、さらなる複数の実施形態に関する。本開示の複数の以下の例は、デバイス、方法、実行時に機械に対し、当該方法に基づき複数の動作を実行させる複数の命令を格納するための少なくとも1つの機械可読媒体、当該方法に基づき複数の動作を実行するための手段、および/またはデバイス非依存型電力監視およびプロファイリングのためのシステムといった主題を含んでよい。
例1によると、ハードウェアベースのデバイス間リソース共有が可能なデバイスがもたらされる。上記デバイスは、デバイス構成を設定するための構成モジュールと、少なくとも上記デバイス構成に基づいてデータを処理するための処理モジュールと、少なくとも1つのハードウェアリソースと、上記処理モジュールが、上記少なくとも1つのハードウェアリソースと対話することを可能にするためのインタフェース技術と、リモートオーケストレータモジュールと、を備えてよく、ハードウェアベースのデバイス間リソース共有が可能なデバイスであって、上記リモートオーケストレータモジュールは、少なくとも、リモートオーケストレータから少なくとも1つの命令を受信し、上記少なくとも1つの命令に基づいて、上記構成モジュールを構成し、上記少なくとも1つの命令に基づいて、上記少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にするよう、上記インタフェース技術を構成する、デバイスである。
例2は、例1に係る複数の要素を含んでよく、上記構成モジュールは、上記デバイスがオフ状態からオン状態に移行する場合に、上記デバイス構成を設定するための少なくともファームウェアを含む。
例3は、例2に係る複数の要素を含んでよく、上記デバイス構成の設定において、上記構成モジュールは、上記デバイスがパーティション化された構成またはマージされた構成で動作するように設定する。
例4は、例1から3のいずれかに係る複数の要素を含んでよく、上記インタフェース技術の構成において、上記少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、上記リモートオーケストレータモジュールは、上記インタフェース技術の構成空間内で少なくとも1つのビットを設定する。
例5は、例1から4のいずれかに係る複数の要素を含んでよく、上記少なくとも1つのハードウェアリソースがリモートで動作する場合に、上記インタフェース技術は、上記少なくとも1つのハードウェアリソースを少なくとも上記処理モジュールから非表示にする。
例6は、例1から5のいずれかに係る複数の要素を含んでよく、上記少なくとも1つのハードウェアリソースがリモートで動作する場合に、上記少なくとも1つのハードウェアリソースは、少なくとも1つの他のデバイス内の少なくとも1つの他の処理モジュールにアクセス可能である。
例7は、例6の複数の要素を含んでよく、上記少なくとも1つのハードウェアリソースがリモートで動作する場合に、上記リモートオーケストレータモジュールは、上記少なくとも1つのハードウェアリソースと、上記少なくとも1つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成する。
例8は、例6から7のいずれかに記載の複数の要素を含んでよく、上記リモートオーケストレータモジュールは、上記デバイス構成に基づいて、上記少なくとも1つの他の処理モジュールと直接対話するよう、上記処理モジュールを構成する。
例9は、例8の複数の要素を含んでよく、上記処理モジュールおよび上記少なくとも1つの他の処理モジュールは、クイックパスインターコネクト(QPI)接続またはKeizer Technology Interconnect(KTI)接続を利用して直接対話する。
例10は、例8から9のいずれかに係る複数の要素を含んでよく、上記構成モジュールは、上記デバイス構成に基づいて、上記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも1つと、上記少なくとも1つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする。
例11は、例6から10のいずれかに係る複数の要素を含んでよく、上記リモートオーケストレータモジュールは、上記少なくとも1つのハードウェアリソースがリモートで動作する場合に、上記少なくとも1つのハードウェアリソースと、上記少なくとも1つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成し、上記デバイス構成に基づいて、上記少なくとも1つの他の処理モジュールと直接対話するよう上記処理モジュールを構成する。
例12は、例6から11のいずれかに係る複数の要素を含んでよく、上記デバイスと上記少なくとも1つの他のデバイスとの間の対話に関し、上記リモートオーケストレータと通信するための対話モニタをさらに含んでよい。
例13は、例6から12のいずれかに係る複数の要素を含んでよく、ラック内の上記デバイスは上記リモートオーケストレータをさらに含む。
例14は、例13の複数の要素を含んでよく、上記ラックは、上記少なくとも1つの他のデバイスをさらに含む。
例15は、例1から14のいずれかに係る複数の要素を含んでよく、上記インタフェース技術は、Peripheral Component Interconnect Express(PCIe)インタフェース技術である。
例16は、例1から15のいずれかに係る複数の要素を含んでよく、上記リモートオーケストレータモジュールは、帯域外通信を介して上記リモートオーケストレータと通信する。
例17は、例1から16のいずれかに係る複数の要素を含んでよく、上記リモートオーケストレータモジュールは、管理エンジン(ME)である。
例18は、例1から17のいずれかに係る複数の要素を含んでよく、上記デバイスがオフ状態からオン状態に移行する場合に、上記構成モジュールは、上記デバイス構成がパーティション化された構成またはマージされた構成で動作するよう設定するための少なくともファームウェアを含む。
例19によると、ハードウェアベースのデバイス間リソース共有のための方法がもたらされる。上記方法は、デバイス内で少なくとも1つの命令をリモートオーケストレータから受信する段階と、上記少なくとも1つの命令に基づいて、上記デバイス内の構成モジュール内のデバイス構成を構成する段階と、上記少なくとも1つの命令に基づいて、上記デバイス内の少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にすべく、上記デバイス内のインタフェース技術を構成する段階と、を備えてよい。
例20は、例19の複数の要素を含んでよく、上記デバイスに、オフ状態からオン状態に移行させる段階と、上記デバイス構成に基づいて、上記デバイスがパーティション化された構成またはマージされた構成で動作するよう設定する段階と、をさらに備えてよい。
例21は、例19から20のいずれかに係る複数の要素を含んでよく、上記インタフェース技術を構成する上記段階は、上記少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、上記インタフェース技術の構成空間内で少なくとも1つのビットを設定する段階を含む。
例22は、例19から21のいずれかに係る複数の要素を含んでよく、上記少なくとも1つのハードウェアリソースがリモートで動作する場合に、上記少なくとも1つのハードウェアリソースを上記デバイス内の少なくとも処理モジュールから非表示にする段階をさらに備えてよい。
例23は、例22の複数の要素を含んでよく、上記少なくとも1つのハードウェアリソースがリモートで動作する場合に、上記少なくとも1つのハードウェアリソースと、少なくとも1つの他のデバイス内の少なくとも1つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成する段階をさらに備えてよい。
例24は、例23の複数の要素を含んでよく、上記デバイス構成に基づいて、上記少なくとも1つの他の処理モジュールと直接対話するよう、上記処理モジュールを構成する段階と、上記デバイス構成に基づいて、上記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも1つと、上記少なくとも1つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする段階と、をさらに備えてよい。
例25は、例23から24のいずれかに係る複数の要素を含んでよく、上記デバイスと、上記少なくとも1つの他のデバイスとの間の対話に関し上記リモートオーケストレータと通信する段階をさらに備えてよい。
例26は、例22から25のいずれかに係る複数の要素を含んでよく、上記少なくとも1つのハードウェアリソースがリモートで動作する場合に、上記少なくとも1つのハードウェアリソースと、少なくとも1つの他のデバイス内の少なくとも1つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成する段階と、上記デバイス構成に基づいて、上記少なくとも1つの他の処理モジュールと直接対話するよう上記処理モジュールを構成する段階と、上記デバイス構成に基づいて、上記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも1つと、上記少なくとも1つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする段階と、をさらに備えてよい。
例27によると、上記の例19から26のいずれかに係る方法を実行するよう構成された、少なくとも1つのデバイスを含むシステムがもたらされる。
例28によると、上記の例19から26のいずれかに係る方法を実行するよう構成された、チップセットがもたらされる。
例29によると、コンピューティングデバイス上で実行されることに応答して、上記コンピューティングデバイスに対し、上記の例19から26のいずれかによる方法を実行させる、複数の命令を備える、少なくとも1つの機械可読媒体がもたらされる。
例30によると、上記の例19から26のいずれかに係る方法を実行する、ハードウェアベースのデバイス間リソース共有のための少なくとも1つのデバイスがもたらされる。
例31によると、ハードウェアベースのデバイス間リソース共有のためのシステムがもたらされる。上記システムは、デバイス内で少なくとも1つの命令をリモートオーケストレータから受信するための手段と、上記少なくとも1つの命令に基づいて、上記デバイス内の構成モジュール内のデバイス構成を構成するための手段と、上記少なくとも1つの命令に基づいて、上記デバイス内の少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にすべく、上記デバイス内のインタフェース技術を構成するための手段と、を備えてよい。
例32は、例31の複数の要素を含んでよく、上記デバイスに、オフ状態からオン状態に移行させるための手段と、上記デバイス構成に基づいて、上記デバイスがパーティション化された構成またはマージされた構成で動作するよう設定するための手段と、をさらに備えてよい。
例33は、例31から32のいずれかに係る複数の要素を含んでよく、上記インタフェース技術を構成するための手段は、上記少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、上記インタフェース技術の構成空間内で少なくとも1つのビットを設定するための手段を備える。
例34は、例31から33のいずれかに係る複数の要素を含んでよく、上記少なくとも1つのハードウェアリソースがリモートで動作する場合に、上記少なくとも1つのハードウェアリソースを上記デバイス内の少なくとも処理モジュールから非表示にするための手段をさらに備えてよい。
例35は、例34の複数の要素を含んでよく、上記少なくとも1つのハードウェアリソースがリモートで動作する場合に、上記少なくとも1つのハードウェアリソースと、少なくとも1つの他のデバイス内の少なくとも1つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成するための手段をさらに備えてよい。
例36は、例35の複数の要素を含んでよく、上記デバイス構成に基づいて、上記少なくとも1つの他の処理モジュールと直接対話するよう、上記処理モジュールを構成するための手段と、上記デバイス構成に基づいて、上記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも1つと、上記少なくとも1つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にするための手段と、をさらに備えてよい。
例37は、例35から36のいずれかに係る複数の要素を含んでよく、上記デバイスと上記少なくとも1つの他のデバイスとの間の対話に関し、上記リモートオーケストレータと通信するための手段をさらに備えてよい。
例38は、例34から37のいずれかに係る複数の要素を含んでよく、上記少なくとも1つのハードウェアリソースがリモートで動作する場合に、上記少なくとも1つのハードウェアリソースと、少なくとも1つの他のデバイス内の少なくとも1つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、上記インタフェース技術を構成するための手段と、上記デバイス構成に基づいて、上記少なくとも1つの他の処理モジュールと直接対話するよう上記処理モジュールを構成するための手段と、上記デバイス構成に基づいて、上記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも1つと、上記少なくとも1つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にするために手段と、をさらに備えてよい。
本明細書において採用される用語および表現は、限定ではなく、説明の用語として使用されており、そのような用語および表現の使用において、図示および説明された複数の特徴(またはそれらの部分)に係る任意の均等物を除外する意図はなく、特許請求の範囲内で様々な修正が可能であることが認識される。従って、以下の特許請求の範囲は、すべてのそのような均等技術を包含する意図である。
[項目1]
デバイス構成を設定するための構成モジュールと、
少なくとも前記デバイス構成に基づいてデータを処理するための処理モジュールと、
少なくとも1つのハードウェアリソースと、
前記処理モジュールが、前記少なくとも1つのハードウェアリソースと対話することを可能にするためのインタフェース技術と、
リモートオーケストレータモジュールと、
を備える、ハードウェアベースのデバイス間リソース共有が可能なデバイスであって、
前記リモートオーケストレータモジュールは、少なくとも
リモートオーケストレータから少なくとも1つの命令を受信し、
前記少なくとも1つの命令に基づいて、前記構成モジュールを構成し、
前記少なくとも1つの命令に基づいて、前記少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にするよう、前記インタフェース技術を構成する、デバイス。
[項目2]
前記構成モジュールは、前記デバイスがオフ状態からオン状態に移行する場合に、前記デバイス構成を設定するための少なくともファームウェアを含む、項目1に記載のデバイス。
[項目3]
前記デバイス構成の設定において、前記構成モジュールは、前記デバイスがパーティション化された構成またはマージされた構成で動作するように設定する、項目2に記載のデバイス。
[項目4]
前記インタフェース技術の構成において、前記少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、前記リモートオーケストレータモジュールは、前記インタフェース技術の構成空間内で少なくとも1つのビットを設定する、項目1に記載のデバイス。
[項目5]
前記少なくとも1つのハードウェアリソースがリモートで動作する場合に、前記インタフェース技術は、前記少なくとも1つのハードウェアリソースを少なくとも前記処理モジュールから非表示にする、項目1に記載のデバイス。
[項目6]
前記少なくとも1つのハードウェアリソースがリモートで動作する場合に、前記少なくとも1つのハードウェアリソースは、少なくとも1つの他のデバイス内の少なくとも1つの他の処理モジュールにアクセス可能である、項目1に記載のデバイス。
[項目7]
前記少なくとも1つのハードウェアリソースがリモートで動作する場合に、前記リモートオーケストレータモジュールは、前記少なくとも1つのハードウェアリソースと、前記少なくとも1つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、前記インタフェース技術を構成する、項目6に記載のデバイス。
[項目8]
前記リモートオーケストレータモジュールは、前記デバイス構成に基づいて、前記少なくとも1つの他の処理モジュールと直接対話するよう、前記処理モジュールを構成する、項目6に記載のデバイス。
[項目9]
前記構成モジュールは、前記デバイス構成に基づいて、前記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも1つと、前記少なくとも1つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする、項目8に記載のデバイス。
[項目10]
前記デバイスと前記少なくとも1つの他のデバイスとの間の対話に関し、前記リモートオーケストレータと通信するための革新エンジンをさらに備える、項目6に記載のデバイス。
[項目11]
ラック内の前記デバイスは、前記リモートオーケストレータをさらに含む、項目6に記載のデバイス。
[項目12]
前記ラックは、前記少なくとも1つの他のデバイスをさらに含む、項目11に記載のデバイス。
[項目13]
デバイス内で少なくとも1つの命令をリモートオーケストレータから受信する段階と、
前記少なくとも1つの命令に基づいて、前記デバイス内の構成モジュール内のデバイス構成を構成する段階と、
前記少なくとも1つの命令に基づいて、前記デバイス内の少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にすべく、前記デバイス内のインタフェース技術を構成する段階と、
を備える、ハードウェアベースのデバイス間リソース共有のための方法。
[項目14]
前記デバイスに、オフ状態からオン状態に移行させる段階と、
前記デバイス構成に基づいて、前記デバイスがパーティション化された構成またはマージされた構成で動作するよう設定する段階と、をさらに備える、項目13に記載の方法。
[項目15]
前記インタフェース技術を構成する前記段階は、前記少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、前記インタフェース技術の構成空間内で少なくとも1つのビットを設定する段階を含む、項目13に記載の方法。
[項目16]
前記少なくとも1つのハードウェアリソースがリモートで動作する場合に、前記少なくとも1つのハードウェアリソースを前記デバイス内の少なくとも処理モジュールから非表示にする段階をさらに備える、項目13に記載の方法。
[項目17]
前記少なくとも1つのハードウェアリソースがリモートで動作する場合に、前記少なくとも1つのハードウェアリソースと、少なくとも1つの他のデバイス内の少なくとも1つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、前記インタフェース技術を構成する段階をさらに備える、項目16に記載の方法。
[項目18]
前記デバイス構成に基づいて、前記少なくとも1つの他の処理モジュールと直接対話するよう、前記処理モジュールを構成する段階と、
前記デバイス構成に基づいて、前記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも1つと、前記少なくとも1つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする段階と、をさらに備える、項目17に記載の方法。
[項目19]
前記デバイスと、前記少なくとも1つの他のデバイスとの間の対話に関し前記リモートオーケストレータと通信する段階をさらに備える、項目17に記載の方法。
[項目20]
項目13から19のいずれか一項に記載の方法を実行する、少なくとも1つのデバイスを含む、システム。
[項目21]
項目13から19のいずれか一項に記載の方法を実行するチップセット。
[項目22]
コンピューティングデバイス上で実行されることに応答して、前記コンピューティングデバイスに対し、項目13から19のいずれか一項に記載の方法を実行させる、複数の命令を備える、少なくとも1つの機械可読記録媒体。
[項目23]
項目13から19のいずれか一項に記載の方法を実行する、ハードウェアベースのデバイス間リソース共有のための少なくとも1つのデバイス。
[項目24]
項目13から19のいずれか一項に記載の方法を実行する、手段を有するデバイス。
[項目25]
コンピュータに、項目13から19のいずれか一項に記載の方法を実行させるプログラム。
[項目26]
項目25に記載のプログラムを格納するコンピュータ可読記録媒体。

Claims (24)

  1. ハードウェアベースのデバイス間リソース共有が可能なデバイスであって、
    デバイス構成を設定するための構成モジュールと、
    少なくとも前記デバイス構成に基づいてデータを処理するための処理モジュールと、
    少なくとも1つのハードウェアリソースと、
    前記処理モジュールが、前記少なくとも1つのハードウェアリソースと対話することを可能にするためのインタフェース技術と、
    リモートオーケストレータモジュールと、
    デバイス間の対話を監視し、前記デバイス間の前記対話に関する情報を、前記少なくとも1つのハードウェアリソースを少なくとも1つの他のデバイスに利用可能にさせる少なくとも1つの命令を前記デバイスに対して提供するリモートオーケストレータに提供する対話モニタと、を備え、
    前記リモートオーケストレータモジュールは、少なくとも
    前記リモートオーケストレータから前記少なくとも1つの命令を受信し、
    前記少なくとも1つの命令に基づいて、前記構成モジュールを構成し、
    前記少なくとも1つの命令に基づいて、前記少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にするよう、前記インタフェース技術を構成する、デバイス。
  2. 前記構成モジュールは、前記デバイスがオフ状態からオン状態に移行する場合に、前記デバイス構成を設定するための少なくともファームウェアを含む、請求項1に記載のデバイス。
  3. 前記デバイス構成の設定において、前記構成モジュールは、前記デバイスがパーティション化された構成またはマージされた構成で動作するように設定する、請求項2に記載のデバイス。
  4. 前記インタフェース技術の構成において、前記少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、前記リモートオーケストレータモジュールは、前記インタフェース技術の構成空間内で少なくとも1つのビットを設定する、請求項1に記載のデバイス。
  5. 前記少なくとも1つのハードウェアリソースがリモートで動作する場合に、前記インタフェース技術は、前記少なくとも1つのハードウェアリソースを少なくとも前記処理モジュールから非表示にする、請求項1に記載のデバイス。
  6. 前記少なくとも1つのハードウェアリソースがリモートで動作する場合に、前記少なくとも1つのハードウェアリソースは、前記少なくとも1つの他のデバイス内の少なくとも1つの他の処理モジュールにアクセス可能である、請求項1に記載のデバイス。
  7. 前記少なくとも1つのハードウェアリソースがリモートで動作する場合に、前記リモートオーケストレータモジュールは、前記少なくとも1つのハードウェアリソースと、前記少なくとも1つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、前記インタフェース技術を構成する、請求項6に記載のデバイス。
  8. 前記リモートオーケストレータモジュールは、前記デバイス構成に基づいて、前記少なくとも1つの他の処理モジュールと直接対話するよう、前記処理モジュールを構成する、請求項6に記載のデバイス。
  9. 前記構成モジュールは、前記デバイス構成に基づいて、前記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも1つと、前記少なくとも1つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする、請求項8に記載のデバイス。
  10. 前記デバイスは、前記リモートオーケストレータをさらに含むラック内に存在する、請求項6に記載のデバイス。
  11. 前記ラックは、前記少なくとも1つの他のデバイスをさらに含む、請求項10に記載のデバイス。
  12. デバイスが備えるリモートオーケストレータモジュールが、少なくとも1つの命令をリモートオーケストレータから受信する段階と、
    前記リモートオーケストレータモジュールが、前記少なくとも1つの命令に基づいて、前記デバイス内の構成モジュール内のデバイス構成を構成する段階と、
    前記リモートオーケストレータモジュールが、前記少なくとも1つの命令に基づいて、前記デバイス内の少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを可能にすべく、前記デバイス内のインタフェース技術を構成する段階と、
    前記デバイスが備える対話モニタが、デバイス間の対話を監視し、前記デバイス間の前記対話に関する情報を、前記少なくとも1つのハードウェアリソースを少なくとも1つの他のデバイスに利用可能にさせる前記少なくとも1つの命令を前記デバイスに対して提供する前記リモートオーケストレータに提供する段階と、を備える、ハードウェアベースのデバイス間リソース共有のための方法。
  13. 前記デバイスに、オフ状態からオン状態に移行させる段階と、
    前記デバイスが備える構成モジュールが、前記デバイス構成に基づいて、前記デバイスがパーティション化された構成またはマージされた構成で動作するよう設定する段階と、をさらに備える、請求項12に記載の方法。
  14. 前記インタフェース技術を構成する前記段階は、前記少なくとも1つのハードウェアリソースがローカルに動作またはリモートに動作することを示すべく、前記リモートオーケストレータモジュールが、前記インタフェース技術の構成空間内で少なくとも1つのビットを設定する段階を含む、請求項12に記載の方法。
  15. 前記少なくとも1つのハードウェアリソースがリモートで動作する場合に、前記デバイスが備えるインタフェース技術が、前記少なくとも1つのハードウェアリソースを前記デバイス内の少なくとも処理モジュールから非表示にする段階をさらに備える、請求項12に記載の方法。
  16. 前記少なくとも1つのハードウェアリソースがリモートで動作する場合に、前記リモートオーケストレータモジュールが、前記少なくとも1つのハードウェアリソースと、前記少なくとも1つの他のデバイス内の少なくとも1つの他の処理モジュールとの間で複数のメッセージをルーティングするよう、前記インタフェース技術を構成する段階をさらに備える、請求項15に記載の方法。
  17. 前記リモートオーケストレータモジュールが、前記デバイス構成に基づいて、前記少なくとも1つの他の処理モジュールと直接対話するよう、前記処理モジュールを構成する段階と、
    前記デバイスが備える構成モジュールが、前記デバイス構成に基づいて、前記処理モジュールのためのプロセッサキャッシュまたはメモリのうちの少なくとも1つと、前記少なくとも1つの他の処理モジュールとの間の複数のコヒーレンシプロトコルを無効にする段階と、をさらに備える、請求項16に記載の方法。
  18. 請求項12から17のいずれか一項に記載の方法を実行する前記デバイスを少なくとも1つ含む、システム。
  19. 請求項12から17のいずれか一項に記載の方法を前記デバイスに実行させる、前記デバイスに備えられたチップセット。
  20. コンピューティングデバイス上で実行されることに応答して、前記コンピューティングデバイスに対し、請求項12から17のいずれか一項に記載の方法を実行させる複数の命令を備える、少なくとも1つの機械可読記録媒体。
  21. 請求項12から17のいずれか一項に記載の方法を実行する、ハードウェアベースのデバイス間リソース共有のための少なくとも1つの前記デバイス。
  22. 請求項12から17のいずれか一項に記載の方法を実行する手段を有する前記デバイス。
  23. コンピュータに、請求項12から17のいずれか一項に記載の方法を実行させるプログラム。
  24. 請求項23に記載のプログラムを格納するコンピュータ可読記録媒体。
JP2016000297A 2015-03-16 2016-01-04 ハードウェアベースのデバイス間リソース共有が可能なデバイス Active JP6321053B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/659,523 US9569267B2 (en) 2015-03-16 2015-03-16 Hardware-based inter-device resource sharing
US14/659,523 2015-03-16

Publications (2)

Publication Number Publication Date
JP2016173811A JP2016173811A (ja) 2016-09-29
JP6321053B2 true JP6321053B2 (ja) 2018-05-09

Family

ID=55273167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016000297A Active JP6321053B2 (ja) 2015-03-16 2016-01-04 ハードウェアベースのデバイス間リソース共有が可能なデバイス

Country Status (5)

Country Link
US (2) US9569267B2 (ja)
EP (1) EP3073377B1 (ja)
JP (1) JP6321053B2 (ja)
KR (1) KR101813480B1 (ja)
CN (1) CN105988877B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224045B (zh) * 2015-11-18 2019-01-04 英业达科技有限公司 刀片式服务器
US10346321B2 (en) * 2017-05-04 2019-07-09 Dell Products L.P. Method to trigger NVDIMM save from remote management interface
US10582636B2 (en) * 2017-08-07 2020-03-03 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Server having a dual-mode serial bus port enabling selective access to a baseboard management controller
US20190044809A1 (en) * 2017-08-30 2019-02-07 Intel Corporation Technologies for managing a flexible host interface of a network interface controller
CN108762463A (zh) * 2018-04-28 2018-11-06 上海爱优威软件开发有限公司 一种基于电量的应用管理方法及终端
US10970213B2 (en) * 2019-04-30 2021-04-06 Hewlett Packard Enterprise Development Lp Selective disabling of hardware-based cache coherency and enforcement of software-based cache coherency
US11106595B2 (en) * 2019-08-22 2021-08-31 Micron Technology, Inc. Hierarchical memory systems
CN112579286B (zh) * 2020-12-16 2021-08-06 全芯智造技术有限公司 用于光源掩模优化的方法、设备和存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5931938A (en) * 1996-12-12 1999-08-03 Sun Microsystems, Inc. Multiprocessor computer having configurable hardware system domains
JP2001209627A (ja) * 2000-01-27 2001-08-03 Hitachi Ltd 情報処理システム
US7698430B2 (en) * 2005-03-16 2010-04-13 Adaptive Computing Enterprises, Inc. On-demand compute environment
JP4337747B2 (ja) 2005-03-14 2009-09-30 日本電気株式会社 ハードウェア資源提供システム
US20070239965A1 (en) * 2006-03-31 2007-10-11 Saul Lewites Inter-partition communication
JP5070879B2 (ja) * 2007-02-22 2012-11-14 日本電気株式会社 仮想サーバシステム、サーバ装置
US7934033B2 (en) * 2008-03-25 2011-04-26 Aprius, Inc. PCI-express function proxy
US7743375B2 (en) * 2008-06-27 2010-06-22 International Business Machines Corporation Information handling system including dynamically merged physical partitions
US8949565B2 (en) * 2009-12-27 2015-02-03 Intel Corporation Virtual and hidden service partition and dynamic enhanced third party data store
US20110161592A1 (en) * 2009-12-31 2011-06-30 Nachimuthu Murugasamy K Dynamic system reconfiguration
US8346935B2 (en) * 2010-01-15 2013-01-01 Joyent, Inc. Managing hardware resources by sending messages amongst servers in a data center
WO2012023151A2 (en) * 2010-08-19 2012-02-23 Ineda Systems Pvt. Ltd I/o virtualization and switching system
US9274834B2 (en) * 2012-08-25 2016-03-01 Vmware, Inc. Remote service for executing resource allocation analyses for computer network facilities
US9582287B2 (en) * 2012-09-27 2017-02-28 Intel Corporation Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions
US9734096B2 (en) * 2013-05-06 2017-08-15 Industrial Technology Research Institute Method and system for single root input/output virtualization virtual functions sharing on multi-hosts
US9331911B2 (en) * 2013-11-01 2016-05-03 International Business Machines Corporation Resizing resource allocation in a computing environment

Also Published As

Publication number Publication date
EP3073377B1 (en) 2023-03-22
US9569267B2 (en) 2017-02-14
US20160274941A1 (en) 2016-09-22
EP3073377A1 (en) 2016-09-28
JP2016173811A (ja) 2016-09-29
US10223161B2 (en) 2019-03-05
KR20160111325A (ko) 2016-09-26
US20170161111A1 (en) 2017-06-08
CN105988877A (zh) 2016-10-05
CN105988877B (zh) 2019-05-14
KR101813480B1 (ko) 2017-12-29

Similar Documents

Publication Publication Date Title
JP6321053B2 (ja) ハードウェアベースのデバイス間リソース共有が可能なデバイス
US9798682B2 (en) Completion notification for a storage device
US9262363B2 (en) PCI and PCI express virtual hot plug systems and methods
US9542201B2 (en) Network bios management
US11507421B2 (en) Information handling system and method to allocate peripheral component interconnect express (PCIe) bus resources
US10372639B2 (en) System and method to avoid SMBus address conflicts via a baseboard management controller
US20160328344A1 (en) Method for dynamic configuration of a pcie slot device for single or multi root ability
US20180285121A1 (en) System and Method for Baseboard Management Controller Assisted Dynamic Early Host Video on Systems with a Security Co-processor
US10592285B2 (en) System and method for information handling system input/output resource management
US9792437B2 (en) System and method for securing embedded controller communications by providing a security handshake
US11144326B2 (en) System and method of initiating multiple adaptors in parallel
US10540308B2 (en) System and method for providing a remote keyboard/video/mouse in a headless server
US10157160B2 (en) Handling a partition reset in a multi-root system
US9330024B1 (en) Processing device and method thereof
CN107533443B (zh) 在半导体器件中提供多个根
US11200185B2 (en) System and method of rerouting an inter-processor communication link based on a link utilization value
US10996942B1 (en) System and method for graphics processing unit firmware updates
US9977730B2 (en) System and method for optimizing system memory and input/output operations memory

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170321

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180223

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: 20180306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180404

R150 Certificate of patent or registration of utility model

Ref document number: 6321053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250