JP6240745B2 - 複数のハイパーバイザを実行するシステムおよび方法 - Google Patents
複数のハイパーバイザを実行するシステムおよび方法 Download PDFInfo
- Publication number
- JP6240745B2 JP6240745B2 JP2016501236A JP2016501236A JP6240745B2 JP 6240745 B2 JP6240745 B2 JP 6240745B2 JP 2016501236 A JP2016501236 A JP 2016501236A JP 2016501236 A JP2016501236 A JP 2016501236A JP 6240745 B2 JP6240745 B2 JP 6240745B2
- Authority
- JP
- Japan
- Prior art keywords
- hypervisor
- hardware processors
- memory address
- address translation
- primary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 20
- 238000013519 translation Methods 0.000 claims description 93
- 230000014616 translation Effects 0.000 claims description 93
- 230000015654 memory Effects 0.000 claims description 87
- 238000013507 mapping Methods 0.000 claims description 60
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 26
- 230000009466 transformation Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101100043229 Oryza sativa subsp. japonica SPL14 gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
- G06F9/5016—Allocation 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 the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/651—Multi-level translation tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/656—Address space sharing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Description
本出願は、2013年3月14日に出願した本願の所有者が所有する米国非仮特許出願第13/829,023号の優先権を主張するものであり、2013年3月14日に出願した同時係属中の米国非仮特許出願第13/828,183号および2013年2月26日に出願した同時係属中の米国非仮特許出願第13/777,314号に関する。これらの出願の各々の内容は、参照によりそれらの全体が組み込まれている。
110 プロセッサ
110 プロセッサの第1のセット
111 プライマリハイパーバイザ
112 第1のスケジューラ
112 スケジューラ
113 第1のゲストオペレーティングシステム
113 ゲストOS1
114 仮想プロセッサ
115 物理アドレス変換マッピングモジュール
115 物理アドレス変換マッピング
116 第2段階の変換
116 IPA→PA
117 構成データ
118 開始/停止モジュール
118 ゲスト開始/停止
120 プロセッサ
120 プロセッサの第2のセット
121 セカンダリハイパーバイザ
122 第2のスケジューラ
122 スケジューラ
123 第2のゲストオペレーティングシステム
123 ゲストOS2
124 仮想プロセッサ
133 第3のゲストオペレーティングシステム
133 ゲストOS3
134 仮想プロセッサ
141 第1段階の変換
141 VA→IPA
142 第1段階の変換
142 VA→IPA
143 第1段階の変換
143 VA→IPA
151 タスク
152 タスク
153 タスク
201 仮想プロセッサ
201 ゲスト1VP1
202 仮想プロセッサ
202 ゲスト1VP2
203 仮想プロセッサ
203 ゲスト2VP1
204 仮想プロセッサ
204 ゲスト2VP2
205 第1の中間物理アドレス空間
206 第2の中間物理アドレス空間
207 物理アドレス空間
211 中間物理アドレス
212 中間物理アドレス
213 中間物理アドレス
221 中間物理アドレス
222 中間物理アドレス
223 物理アドレス
231 物理アドレス
232 物理アドレス
233 物理アドレス
234 物理アドレス
235 物理アドレス
400 電子デバイス
410 プロセッサ
410 プロセッサの第1のセット
422 システムオンチップデバイス
426 ディスプレイコントローラ
428 ディスプレイ
430 入力デバイス
432 メモリ
434 符号器/復号器(CODEC)
436 スピーカ
438 マイクロフォン
440 ワイヤレス制御装置
442 アンテナ
444 電源
456 命令
457 プライマリハイパーバイザ
457 プライマリHV
458 セカンダリハイパーバイザ
458 セカンダリHV
459 ゲストオペレーティングシステム
459 ゲストOS
474 プロセッサ
474 プロセッサの第2のセット
Claims (31)
- プライマリハイパーバイザを実行させる第1の命令セットアーキテクチャのハードウェアプロセッサの第1のセットであって、前記プライマリハイパーバイザは、ハードウェアプロセッサの前記第1のセットで実行するために第1の仮想プロセッサタスクをスケジューリングする、ハードウェアプロセッサの第1のセットと、
セカンダリハイパーバイザを実行させる第2の命令セットアーキテクチャのハードウェアプロセッサの第2のセットであって、前記セカンダリハイパーバイザは、ハードウェアプロセッサの前記第2のセットで実行するために第2の仮想プロセッサタスクをスケジューリングし、前記第2の命令セットアーキテクチャは、前記第1の命令セットアーキテクチャとは異なる、ハードウェアプロセッサの第2のセットと、
前記プライマリハイパーバイザおよび前記セカンダリハイパーバイザによってアクセス可能であるメモリアドレス変換マッピングデータを格納するストレージデバイスであって、前記プライマリハイパーバイザは、前記メモリアドレス変換マッピングデータをプログラムするように構成され、前記セカンダリハイパーバイザは、前記メモリアドレス変換マッピングデータを使用するように構成される、ストレージデバイスと
を含む、装置。 - ハードウェアプロセッサの前記第1のセットは、単一のハードウェアプロセッサを含み、
ハードウェアプロセッサの前記第2のセットは、単一のハードウェアプロセッサ、またはそれらの任意の組合せを含む、請求項1に記載の装置。 - ハードウェアプロセッサの前記第1のセットは、複数のプロセッサを含み、
ハードウェアプロセッサの前記第2のセットは、複数のプロセッサ、またはそれらの任意の組合せを含む、請求項1に記載の装置。 - 前記プライマリハイパーバイザは、前記メモリアドレス変換マッピングデータへの読み取り書き込みアクセスを有し、
前記セカンダリハイパーバイザは、前記メモリアドレス変換マッピングデータへの読み取り専用アクセスを有する、請求項1に記載の装置。 - 前記セカンダリハイパーバイザは、プロセッサ仮想化を実行するために、前記メモリアドレス変換マッピングデータにアクセスするように構成されている、請求項1に記載の装置。
- 前記プライマリハイパーバイザは、第1のスケジューリングアルゴリズムにより前記第1の仮想プロセッサタスクをスケジューリングし、
前記セカンダリハイパーバイザは、前記第1のスケジューリングアルゴリズムとは異なる第2のスケジューリングアルゴリズムにより前記第2の仮想プロセッサタスクをスケジューリングする、請求項1に記載の装置。 - 前記第1のスケジューリングアルゴリズムおよび前記第2のスケジューリングアルゴリズムの少なくとも1つは、タイムスライススケジューリングを含む、請求項6に記載の装置。
- 前記第1のスケジューリングアルゴリズムおよび前記第2のスケジューリングアルゴリズムの少なくとも1つは、優先度ベースのスケジューリングを含む、請求項6に記載の装置。
- ハードウェアプロセッサの前記第1のセットに関して実行可能である第1のゲストオペレーティングシステムと、
ハードウェアプロセッサの前記第2のセットに関して実行可能である第2のゲストオペレーティングシステムと
をさらに含む、請求項1に記載の装置。 - ハードウェアプロセッサの前記第1のセットの少なくとも1つのプロセッサおよびハードウェアプロセッサの前記第2のセットの少なくとも1つのプロセッサで同時に実行するように構成されたゲストオペレーティングシステムをさらに含む、請求項1に記載の装置。
- 前記プライマリハイパーバイザ、前記セカンダリハイパーバイザ、またはそれらの組合せに関連付けられた仮想化されたデバイスをさらに含む、請求項1に記載の装置。
- 前記仮想化されたデバイスは、タイマを含み、
ハードウェアプロセッサの前記第1のセットは、ハードウェアプロセッサの前記第2のセットと区別される、請求項11に記載の装置。 - ハードウェアプロセッサの前記第1のセットの少なくとも1つのプロセッサによって実行可能な第1のゲストオペレーティングシステムであって、前記ストレージデバイスへの第2のメモリアドレス変換マッピングデータをプログラムするように構成される、第1のゲストオペレーティングシステムと、
ハードウェアプロセッサの前記第2のセットの少なくとも1つのプロセッサによって実行可能な第2のゲストオペレーティングシステムであって、前記ストレージデバイスへの第3のメモリアドレス変換マッピングデータをプログラムするように構成される、第2のゲストオペレーティングシステムと
をさらに含む、請求項1に記載の装置。 - プライマリハイパーバイザを実行させる第1の命令セットアーキテクチャのハードウェアプロセッサの第1のセットであって、前記プライマリハイパーバイザは、ハードウェアプロセッサの前記第1のセットで実行するために第1の仮想プロセッサタスクをスケジューリングし、第1のスケジューリングアルゴリズムに関連付けられた第1のタスクスケジューラを含む、ハードウェアプロセッサの第1のセットと、
セカンダリハイパーバイザを実行させる第2の命令セットアーキテクチャのハードウェアプロセッサの第2のセットであって、前記セカンダリハイパーバイザは、ハードウェアプロセッサの前記第2のセットで実行するために第2の仮想プロセッサタスクをスケジューリングし、前記第1のスケジューリングアルゴリズムと区別される第2のスケジューリングアルゴリズムに関連付けられた第2のタスクスケジューラを含み、前記第2の命令セットアーキテクチャは、前記第1の命令セットアーキテクチャとは異なる、ハードウェアプロセッサの第2のセットと、
前記プライマリハイパーバイザおよび前記セカンダリハイパーバイザによってアクセス可能であるメモリアドレス変換マッピングデータを格納するストレージデバイスであって、前記プライマリハイパーバイザは、前記メモリアドレス変換マッピングデータをプログラムするように構成され、前記セカンダリハイパーバイザは、前記メモリアドレス変換マッピングデータを使用するように構成される、ストレージデバイスと
を含む、装置。 - 前記プライマリハイパーバイザは、ストレージデバイスへのメモリアドレス変換マッピングデータをプログラムするように構成され、
前記セカンダリハイパーバイザは、前記プライマリハイパーバイザによってプログラムされた前記メモリアドレス変換マッピングデータを使用するように構成されている、請求項14に記載の装置。 - 前記メモリアドレス変換マッピングデータは、中間物理アドレスから物理アドレスへの変換を示す、請求項15に記載の装置。
- プライマリハイパーバイザを実行させる第1の命令セットアーキテクチャのハードウェアプロセッサの第1のセットであって、前記プライマリハイパーバイザは、ハードウェアプロセッサの前記第1のセットで実行するために第1の仮想プロセッサタスクをスケジューリングする、ハードウェアプロセッサの第1のセットと、
セカンダリハイパーバイザを実行させる第2の命令セットアーキテクチャのハードウェアプロセッサの第2のセットであって、前記セカンダリハイパーバイザは、ハードウェアプロセッサの前記第2のセットで実行するために第2の仮想プロセッサタスクをスケジューリングし、前記第2の命令セットアーキテクチャは、前記第1の命令セットアーキテクチャとは異なる、ハードウェアプロセッサの第2のセットと、
前記プライマリハイパーバイザおよび前記セカンダリハイパーバイザによってアクセス可能であるリソースのメモリアドレス変換設定データを格納するストレージデバイスであって、前記プライマリハイパーバイザは、前記ストレージデバイスに格納された前記メモリアドレス変換設定データをプログラムするように構成され、前記セカンダリハイパーバイザは、前記メモリアドレス変換設定データに基づいて前記リソースを使用するように構成される、ストレージデバイスと
を含む、装置。 - 前記リソースは、少なくともメモリの一部、メモリがマップされたデバイス、またはそれらの任意の組合せを含む、請求項17に記載の装置。
- 前記メモリアドレス変換設定データは、メモリアドレス変換マッピングデータを含む、請求項18に記載の装置。
- 前記プライマリハイパーバイザは、第1のスケジューリングアルゴリズムに関連付けられた第1のタスクスケジューラを含み、
前記セカンダリハイパーバイザは、前記第1のスケジューリングアルゴリズムと区別される第2のスケジューリングアルゴリズムに関連付けられた第2のスケジューラを含む、請求項17に記載の装置。 - 第2の命令セットアーキテクチャのハードウェアプロセッサの第2のセットで実行中のセカンダリハイパーバイザによって、第1の命令セットアーキテクチャのハードウェアプロセッサの第1のセットで実行中のプライマリハイパーバイザによってプログラムされたメモリアドレス変換マッピングデータから、1つまたは複数のアドレス変換を決定するステップであって、前記プライマリハイパーバイザは、ハードウェアプロセッサの前記第1のセットで実行するために第1の仮想プロセッサタスクをスケジューリングし、前記セカンダリハイパーバイザは、ハードウェアプロセッサの前記第2のセットで実行するために第2の仮想プロセッサタスクをスケジューリングし、前記第2の命令セットアーキテクチャは、前記第1の命令セットアーキテクチャとは異なる、ステップと、
データアクセス動作の間に、メモリにアクセスするために前記1つまたは複数のメモリアドレス変換を使用するステップであって、前記1つまたは複数のメモリアドレス変換は、前記プライマリハイパーバイザおよび前記セカンダリハイパーバイザによってアクセス可能であるストレージデバイスに格納されている、ステップと
を含む方法。 - 前記1つまたは複数のメモリアドレス変換は、中間物理アドレスから物理アドレスへの変換を含む、請求項21に記載の方法。
- 前記データアクセス動作は、読み取り動作または書き込み動作を含む、請求項21に記載の方法。
- 前記プライマリハイパーバイザは、前記メモリアドレス変換マッピングデータへの読み取り書き込みアクセスを有し、
前記セカンダリハイパーバイザは、前記メモリアドレス変換マッピングデータへの読み取り専用アクセスを有する、請求項21に記載の方法。 - 前記セカンダリハイパーバイザのスケジューラによって、ハードウェアプロセッサの前記第2のセットで実行するために仮想プロセッサをスケジューリングするステップをさらに含み、
前記仮想プロセッサは、前記セカンダリハイパーバイザによって実行されているゲストオペレーティングシステムのタスクに対応し、
前記スケジューラによる前記仮想プロセッサの前記スケジューリングは、前記プライマリハイパーバイザによって実行されるスケジューリングと無関係に実行される、請求項21に記載の方法。 - 第1の命令セットアーキテクチャのハードウェアプロセッサの第1のセットを使用して、ハードウェアプロセッサの前記第1のセットで実行するために第1の仮想プロセッサタスクをスケジューリングし、かつ、メモリアドレス変換マッピングデータをプログラムするためのプライマリハイパーバイザを実行するための手段と、
第2の命令セットアーキテクチャのハードウェアプロセッサの第2のセットを使用して、ハードウェアプロセッサの前記第2のセットで実行するために第2の仮想プロセッサタスクをスケジューリングし、かつ、前記メモリアドレス変換マッピングデータを使用するためのセカンダリハイパーバイザを実行するための手段であって、前記第2の命令セットアーキテクチャは、前記第1の命令セットアーキテクチャとは異なり、前記プライマリハイパーバイザを実行するための手段および前記セカンダリハイパーバイザを実行するための手段は、ハードウェアプロセッサの前記第1のセットおよびハードウェアプロセッサの前記第2のセットでそれぞれ実行され、前記メモリアドレス変換マッピングデータは、前記プライマリハイパーバイザおよび前記セカンダリハイパーバイザによってアクセス可能であり、かつ、メモリに格納される、手段と
を含む装置。 - コンピュータによって実行されたとき、前記コンピュータに、
第2の命令セットアーキテクチャのハードウェアプロセッサの第2のセットで実行中のセカンダリハイパーバイザによって、第1の命令セットアーキテクチャのハードウェアプロセッサの第1のセットで実行中のプライマリハイパーバイザによってストレージデバイスに対してプログラムされたメモリアドレス変換マッピングデータから、1つまたは複数のアドレス変換を決定するステップであって、前記プライマリハイパーバイザは、ハードウェアプロセッサの前記第1のセットで実行するために第1の仮想プロセッサタスクをスケジューリングし、前記セカンダリハイパーバイザは、ハードウェアプロセッサの前記第2のセットで実行するために第2の仮想プロセッサタスクをスケジューリングし、前記第2の命令セットアーキテクチャは、前記第1の命令セットアーキテクチャとは異なる、ステップと、
メモリに対するデータアクセス動作の間に、メモリの一部にアクセスするために前記1つまたは複数のメモリアドレス変換を使用するステップであって、前記1つまたは複数のメモリアドレス変換は、前記プライマリハイパーバイザおよび前記セカンダリハイパーバイザによってアクセス可能であるストレージデバイスに格納されている、ステップと
を実行させる命令を含む非一時的コンピュータ可読記録媒体。 - 前記1つまたは複数のアドレス変換は、中間物理アドレスから物理アドレスへの変換を含む、請求項27に記載の非一時的コンピュータ可読記録媒体。
- 前記プライマリハイパーバイザは、前記メモリアドレス変換マッピングデータへの読み取り書き込みアクセスを有し、
前記セカンダリハイパーバイザは、前記メモリアドレス変換マッピングデータへの読み取り専用アクセスを有する、請求項27に記載の非一時的コンピュータ可読記録媒体。 - 前記第2のメモリアドレス変換マッピングデータは、第1の仮想アドレスから第1の中間物理アドレスへの第1の変換を示し、
前記プライマリハイパーバイザによってプログラムされた前記メモリアドレス変換マッピングデータは、前記第1の中間物理アドレスから第1の物理アドレスへの第2の変換を示す、請求項13に記載の装置。 - 前記第3のメモリアドレス変換マッピングデータは、第2の仮想アドレスから第2の中間物理アドレスへの第3の変換を示し、
前記プライマリハイパーバイザによってプログラムされた前記メモリアドレス変換マッピングデータは、前記第2の中間物理アドレスから第2の物理アドレスへの第4の変換を示す、請求項30に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/829,023 | 2013-03-14 | ||
US13/829,023 US9606818B2 (en) | 2013-03-14 | 2013-03-14 | Systems and methods of executing multiple hypervisors using multiple sets of processors |
PCT/US2014/023445 WO2014159405A1 (en) | 2013-03-14 | 2014-03-11 | Systems and methods of executing multiple hypervisors |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016529568A JP2016529568A (ja) | 2016-09-23 |
JP2016529568A5 JP2016529568A5 (ja) | 2017-06-15 |
JP6240745B2 true JP6240745B2 (ja) | 2017-11-29 |
Family
ID=50628908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016501236A Expired - Fee Related JP6240745B2 (ja) | 2013-03-14 | 2014-03-11 | 複数のハイパーバイザを実行するシステムおよび方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9606818B2 (ja) |
EP (1) | EP2972834B1 (ja) |
JP (1) | JP6240745B2 (ja) |
KR (1) | KR101812727B1 (ja) |
CN (1) | CN105190552B (ja) |
BR (1) | BR112015023360A2 (ja) |
WO (1) | WO2014159405A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437591B2 (en) | 2013-02-26 | 2019-10-08 | Qualcomm Incorporated | Executing an operating system on processors having different instruction set architectures |
US9396012B2 (en) | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
US10114756B2 (en) * | 2013-03-14 | 2018-10-30 | Qualcomm Incorporated | Externally programmable memory management unit |
GB2515536A (en) * | 2013-06-27 | 2014-12-31 | Ibm | Processing a guest event in a hypervisor-controlled system |
WO2015122007A1 (ja) * | 2014-02-17 | 2015-08-20 | 株式会社日立製作所 | 計算機、及び、ハイパバイザによる資源スケジューリング方法 |
TWI540511B (zh) * | 2015-04-30 | 2016-07-01 | 捷鼎國際股份有限公司 | 用以存取虛擬機器之電腦系統及方法 |
GB2546742B (en) * | 2016-01-26 | 2019-12-11 | Advanced Risc Mach Ltd | Memory address translation management |
CN106878389B (zh) * | 2017-01-04 | 2020-02-07 | 北京百度网讯科技有限公司 | 用于在云系统中进行资源调度的方法和装置 |
US10613708B2 (en) * | 2017-02-24 | 2020-04-07 | Red Hat Israel, Ltd. | Cloning a hypervisor |
US11182187B2 (en) * | 2018-04-17 | 2021-11-23 | Red Hat Israel, Ltd. | Dynamic network connectivity verification in distributed virtual environments |
US11016798B2 (en) | 2018-06-01 | 2021-05-25 | The Research Foundation for the State University | Multi-hypervisor virtual machines that run on multiple co-located hypervisors |
US10915351B2 (en) | 2018-08-30 | 2021-02-09 | International Business Machines Corporation | Cellular hypervisor |
KR102147912B1 (ko) * | 2019-08-13 | 2020-08-25 | 삼성전자주식회사 | 프로세서 칩 및 그 제어 방법들 |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6286092B1 (en) | 1999-05-12 | 2001-09-04 | Ati International Srl | Paged based memory address translation table update method and apparatus |
US6516373B1 (en) | 1999-06-18 | 2003-02-04 | Samsung Electronics Co., Ltd. | Common motherboard interface for processor modules of multiple architectures |
US6526462B1 (en) | 1999-11-19 | 2003-02-25 | Hammam Elabd | Programmable multi-tasking memory management system |
US6904483B2 (en) | 2001-03-20 | 2005-06-07 | Wind River Systems, Inc. | System and method for priority inheritance |
GB2378277B (en) | 2001-07-31 | 2003-06-25 | Sun Microsystems Inc | Multiple address translations |
JP2003099272A (ja) | 2001-09-20 | 2003-04-04 | Ricoh Co Ltd | タスク切替システムと方法およびdspとモデム |
US7620678B1 (en) | 2002-06-12 | 2009-11-17 | Nvidia Corporation | Method and system for reducing the time-to-market concerns for embedded system design |
US6981072B2 (en) | 2003-06-05 | 2005-12-27 | International Business Machines Corporation | Memory management in multiprocessor system |
US7134007B2 (en) | 2003-06-30 | 2006-11-07 | Intel Corporation | Method for sharing firmware across heterogeneous processor architectures |
US7424709B2 (en) | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events |
US20050251806A1 (en) | 2004-05-10 | 2005-11-10 | Auslander Marc A | Enhancement of real-time operating system functionality using a hypervisor |
US8127098B1 (en) | 2004-05-11 | 2012-02-28 | Globalfoundries Inc. | Virtualization of real mode execution |
US8271976B2 (en) * | 2004-06-30 | 2012-09-18 | Microsoft Corporation | Systems and methods for initializing multiple virtual processors within a single virtual machine |
US7299337B2 (en) | 2005-05-12 | 2007-11-20 | Traut Eric P | Enhanced shadow page table algorithms |
US9785485B2 (en) * | 2005-07-27 | 2017-10-10 | Intel Corporation | Virtualization event processing in a layered virtualization architecture |
US7739476B2 (en) | 2005-11-04 | 2010-06-15 | Apple Inc. | R and C bit update handling |
US7945913B2 (en) | 2006-01-19 | 2011-05-17 | International Business Machines Corporation | Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system |
US20070283336A1 (en) | 2006-06-01 | 2007-12-06 | Michael Karl Gschwind | System and method for just-in-time compilation in a heterogeneous processing environment |
US7490191B2 (en) * | 2006-09-22 | 2009-02-10 | Intel Corporation | Sharing information between guests in a virtual machine environment |
US8082551B2 (en) | 2006-10-30 | 2011-12-20 | Hewlett-Packard Development Company, L.P. | System and method for sharing a trusted platform module |
US7685409B2 (en) | 2007-02-21 | 2010-03-23 | Qualcomm Incorporated | On-demand multi-thread multimedia processor |
US8789063B2 (en) | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
JP4864817B2 (ja) * | 2007-06-22 | 2012-02-01 | 株式会社日立製作所 | 仮想化プログラム及び仮想計算機システム |
US8250254B2 (en) | 2007-07-31 | 2012-08-21 | Intel Corporation | Offloading input/output (I/O) virtualization operations to a processor |
US8522236B2 (en) * | 2007-12-28 | 2013-08-27 | Intel Corporation | Method and system for establishing a robust virtualized environment |
US8245236B2 (en) | 2008-02-27 | 2012-08-14 | International Business Machines Corporation | Lock based moving of threads in a shared processor partitioning environment |
US20090282198A1 (en) | 2008-05-08 | 2009-11-12 | Texas Instruments Incorporated | Systems and methods for optimizing buffer sharing between cache-incoherent cores |
US8127086B2 (en) | 2008-06-06 | 2012-02-28 | International Business Machines Corporation | Transparent hypervisor pinning of critical memory areas in a shared memory partition data processing system |
US8504839B2 (en) | 2008-10-27 | 2013-08-06 | Advanced Micro Devices, Inc. | Method, apparatus, and device for protecting against programming attacks and/or data corruption |
US8301863B2 (en) | 2008-11-17 | 2012-10-30 | International Business Machines Corporation | Recursive logical partition real memory map |
US8291414B2 (en) | 2008-12-11 | 2012-10-16 | International Business Machines Corporation | Shared resource service provisioning using a virtual machine manager |
US20100242014A1 (en) | 2009-03-17 | 2010-09-23 | Xiaohan Zhu | Symmetric multi-processor operating system for asymmetric multi-processor architecture |
US9152200B2 (en) * | 2009-06-23 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Resource and power management using nested heterogeneous hypervisors |
US8479196B2 (en) | 2009-09-22 | 2013-07-02 | International Business Machines Corporation | Nested virtualization performance in a computer system |
US8135898B2 (en) * | 2009-10-30 | 2012-03-13 | International Business Machines Corporation | Memory management in a nested virtualization environment |
US8443376B2 (en) | 2010-06-01 | 2013-05-14 | Microsoft Corporation | Hypervisor scheduler |
US20110320766A1 (en) | 2010-06-29 | 2011-12-29 | Youfeng Wu | Apparatus, method, and system for improving power, performance efficiency by coupling a first core type with a second core type |
US20120072638A1 (en) | 2010-09-16 | 2012-03-22 | Unisys Corp. | Single step processing of memory mapped accesses in a hypervisor |
US8490090B2 (en) * | 2011-02-17 | 2013-07-16 | International Business Machines Corporation | Multilevel support in a nested virtualization environment |
US8307169B2 (en) | 2011-03-10 | 2012-11-06 | Safenet, Inc. | Protecting guest virtual machine memory |
JP5648544B2 (ja) | 2011-03-15 | 2015-01-07 | 富士通株式会社 | スケジューリングプログラム、および情報処理装置 |
US8984330B2 (en) | 2011-03-28 | 2015-03-17 | Siemens Corporation | Fault-tolerant replication architecture |
JP5655677B2 (ja) * | 2011-04-04 | 2015-01-21 | 富士通株式会社 | ハイパーバイザ置き換え方法および情報処理装置 |
US9043562B2 (en) | 2011-04-20 | 2015-05-26 | Microsoft Technology Licensing, Llc | Virtual machine trigger |
US8677360B2 (en) | 2011-05-12 | 2014-03-18 | Microsoft Corporation | Thread-related actions based on historical thread behaviors |
US20130013889A1 (en) | 2011-07-06 | 2013-01-10 | Jaikumar Devaraj | Memory management unit using stream identifiers |
US9250969B2 (en) | 2011-08-30 | 2016-02-02 | At&T Intellectual Property I, L.P. | Tagging a copy of memory of a virtual machine with information for fetching of relevant portions of the memory |
US20140053272A1 (en) * | 2012-08-20 | 2014-02-20 | Sandor Lukacs | Multilevel Introspection of Nested Virtual Machines |
US10437591B2 (en) | 2013-02-26 | 2019-10-08 | Qualcomm Incorporated | Executing an operating system on processors having different instruction set architectures |
US10114756B2 (en) | 2013-03-14 | 2018-10-30 | Qualcomm Incorporated | Externally programmable memory management unit |
US9396012B2 (en) | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
-
2013
- 2013-03-14 US US13/829,023 patent/US9606818B2/en active Active
-
2014
- 2014-03-11 JP JP2016501236A patent/JP6240745B2/ja not_active Expired - Fee Related
- 2014-03-11 EP EP14720744.3A patent/EP2972834B1/en not_active Not-in-force
- 2014-03-11 WO PCT/US2014/023445 patent/WO2014159405A1/en active Application Filing
- 2014-03-11 CN CN201480011734.8A patent/CN105190552B/zh not_active Expired - Fee Related
- 2014-03-11 KR KR1020157028702A patent/KR101812727B1/ko active IP Right Grant
- 2014-03-11 BR BR112015023360A patent/BR112015023360A2/pt not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US9606818B2 (en) | 2017-03-28 |
EP2972834B1 (en) | 2017-05-17 |
WO2014159405A1 (en) | 2014-10-02 |
EP2972834A1 (en) | 2016-01-20 |
KR101812727B1 (ko) | 2017-12-27 |
KR20150129816A (ko) | 2015-11-20 |
CN105190552B (zh) | 2018-10-23 |
JP2016529568A (ja) | 2016-09-23 |
BR112015023360A2 (pt) | 2017-07-18 |
US20140282508A1 (en) | 2014-09-18 |
CN105190552A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6240745B2 (ja) | 複数のハイパーバイザを実行するシステムおよび方法 | |
JP6199477B2 (ja) | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 | |
JP6430970B2 (ja) | 異なる命令セットアーキテクチャを有するプロセッサ上におけるオペレーティングシステムの実行 | |
CN107015845B (zh) | Gpu虚拟化 | |
JP6345231B2 (ja) | 外部からプログラム可能なメモリ管理ユニット | |
JP5934094B2 (ja) | データ並列スレッドを有する処理論理の複数のプロセッサにわたるマッピング | |
US8151275B2 (en) | Accessing copy information of MMIO register by guest OS in both active and inactive state of a designated logical processor corresponding to the guest OS | |
JP2018509687A (ja) | ユーザレベルの分岐及び結合を行うプロセッサ、方法、システム、及び命令 | |
TW201411488A (zh) | 在作業系統中藉由多個程序對現場可程式設計閘陣列的使用的管理 | |
US8751724B2 (en) | Dynamic memory reconfiguration to delay performance overhead | |
US8868800B2 (en) | Accelerator buffer access | |
US9934100B2 (en) | Method of controlling memory swap operation and data processing system using same | |
US20150186180A1 (en) | Systems and methods for affinity dispatching based on network input/output requests | |
US20130262814A1 (en) | Mapping Memory Instructions into a Shared Memory Address Place | |
TWI760756B (zh) | 共用代碼之系統與代碼共用方法 | |
JP2007257560A (ja) | 複数の処理装置を備えたシステム上で実行されるプログラムのトレース方法、および、複数の処理装置を備えたシステム | |
US20150363227A1 (en) | Data processing unit and method for operating a data processing unit | |
US11620120B1 (en) | Configuration of secondary processors | |
Moreira et al. | Demonstrator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170224 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170425 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170425 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170605 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170901 |
|
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: 20171006 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6240745 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 |
|
LAPS | Cancellation because of no payment of annual fees |