JP6029550B2 - 計算機の制御方法及び計算機 - Google Patents
計算機の制御方法及び計算機 Download PDFInfo
- Publication number
- JP6029550B2 JP6029550B2 JP2013150629A JP2013150629A JP6029550B2 JP 6029550 B2 JP6029550 B2 JP 6029550B2 JP 2013150629 A JP2013150629 A JP 2013150629A JP 2013150629 A JP2013150629 A JP 2013150629A JP 6029550 B2 JP6029550 B2 JP 6029550B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- physical
- processor
- virtual
- virtualization
- 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
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
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Description
前記第2の物理プロセッサが、前記仮想化部を経由せず、前記第1の物理プロセッサから前記物理割込みを受信すると、前記割込みパス情報に基づいて、前記第2のOSへ論理割込みを発行する第8のステップと、を含む。
本発明を実施する統合ストレージ装置のハードウェア構成例について、図1を参照しながら説明する。物理計算機110はハードウェアリソースとしてCPUリソース111と、メモリリソース112と、通信とデータの送受信を行うI/Oリソース117とを有する。
次に、物理計算機110上で実行されるソフトウェアの構成の主要部について、図1を参照しながら詳述する。
次に、VMM140が行う割込みパス記述テーブル142の初期化および更新処理の一例について、以下フローチャートを参照しながら説明する。
図7は、ファイルOS160の起動、もしくはファイルOS160により実施される仮想PCIデバイス153に対するMSI−X155のデータ更新191に基づいて、VMM140が割込みパス記述テーブル142を更新する処理の一例を示すフローチャートである。本フローチャートは、ファイルOS160によるMSI−X領域155へのアクセスをVMM140がトラップしたことを契機に、VMM140によって実施される。
図8は、コマンド処理部131による割込み要求後に、ブロックOS130で行われる割込み発生処理の一例を示すフローチャートである。
以上の構成及び処理により本実施例では、ネイティヴパーティション101に所属するブロックOS130を実行する仮想化OFFモードの物理CPUコアAからプロセッサ間割込み195を発行し、割込み支援機能に対応した物理CPUコアグループB114の一部が割り当てられたゲストパーティション102上のファイルOS160に対して、VMM140のソフトウェア処理無しに高速な割込み伝達を実現出来る。
102 ゲストパーティション
110 物理計算機
111 CPUリソース
112 メモリリソース
113 物理CPUコアグループA
114 物理CPUコアグループB
115a メモリグループA
115b メモリグループB
116 共有メモリ領域
130 ブロックOS
131 コマンド処理部
132 IPI制御部
133 割込み要求
140 VMM(仮想化ソフトウェア)
141 仮想−物理CPU関係テーブル
142 割込みパス記述テーブル
143 情報読み出し領域
144 情報書き出し領域
145 VMCS
150 仮想計算機
151 仮想CPU
152 ゲストメモリ
153 仮想PCIデバイス
154 PCIコンフィグ空間
155 MSI−X領域
156 Guest Vector番号
157 仮想CPU LAPIC ID
160 ファイルOS
161 仮想PCIデバイスドライバ
191 MSI−Xデータ更新
192 ストレージ制御コマンド発行
193 割込みパス記述テーブル取得
194 割込みパス記述テーブル設定
195 物理IPI
196 Posted−Interrupt Descriptor(PID)取得
197 仮想割込み
210 ゲストパーティション番号
220 仮想CPU LAPIC ID
230 物理CPUコア LAPIC ID
310 ゲストパーティション番号
320 仮想PCIデバイス番号
330 物理CPUコア LAPIC ID
331 Notification Vector番号
332 Guest Vector番号
340 グループB物理CPUコア LAPIC ID
350 Posted−Interrupt Descriptor(PID)
360 PIDアドレス
370 Posted−Interrupt Requestsビットマップ
371 Outstanding Notificationビット
410 ゲストパーティション番号
420 仮想デバイス番号
Claims (13)
- 仮想化支援機能を有する複数の物理プロセッサと、メモリとを含む計算機の制御方法であって、
前記計算機は、
前記物理プロセッサのうち仮想化支援機能を無効にした第1のプロセッサグループと、前記物理プロセッサのうち仮想化支援機能を有効にした第2のプロセッサグループと、を含み、
第1のOSに前記第1のプロセッサグループを割り当てて、前記第1のOSを起動させる第1のステップと、
仮想マシンを稼働させる仮想化部に前記第2のプロセッサグループを割り当て、前記仮想化部を起動させる第2のステップと、
前記仮想化部が、前記メモリのうちの所定の領域と、前記第2のプロセッサグループの第2の物理プロセッサを仮想化した仮想プロセッサと、を前記仮想マシンとしての第2のOSに割り当てて、当該第2のOSを起動させる第3のステップと、
前記仮想化部が、前記メモリに前記第1のOSと仮想化部が相互に読み書き可能な共有領域を設定する第4のステップと、
前記仮想化部が、割込み受信対象の前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子と、前記第1のプロセッサグループの第1の物理プロセッサで生成する物理割込みに付加する通知ベクタと、を設定した割込みパス情報を前記共有領域に設定する第5のステップと、
前記第1のOSが、前記共有領域から前記割込みパス情報を取得する第6のステップと、
前記第1のOSが、前記取得した前記通知ベクタを設定した前記物理割込みを前記第1の物理プロセッサに生成させ、第1の物理プロセッサが、前記割込み受信対象の前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子に対応する前記第2のプロセッサグループの第2の物理プロセッサへ前記生成した物理割込みを発行する第7のステップと、
前記第2の物理プロセッサが、前記仮想化部を経由せず、前記第1の物理プロセッサから前記物理割込みを受信すると、前記割込みパス情報に基づいて、前記第2のOSへ論理割込みを発行する第8のステップと、
を含むことを特徴とする計算機の制御方法。 - 請求項1に記載の計算機の制御方法であって、
前記第3のステップは、
前記仮想化部が、前記第2のOSが利用する仮想プロセッサ情報を前記仮想化部の仮想マシン管理情報の一部として設定し、
前記第5のステップは、
前記仮想化部が、割込み受信対象の前記第2のOSの割り込みハンドラを特定するゲストベクタと、を前記割込みパス情報に設定し、
前記第6のステップは、
前記第1のOSが、前記割込みパス情報のうち、前記割込み受信対象の前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子と、割込み受信対象の前記第2のOSの割り込みハンドラを特定するゲストベクタと、を取得することを特徴とする計算機の制御方法。 - 請求項2に記載の計算機の制御方法であって、
前記第5のステップは、 前記仮想化部が、前記ゲストベクタに対応する割り込み要求ビットマップと、を前記割込みパス情報に設定し、
前記第7のステップは、
前記第1のOSが、前記割込みパス情報に、物理割込みを発行したことを示す発行済み通知ビットを有効化することを特徴とする計算機の制御方法。 - 請求項3に記載の計算機の制御方法であって、
前記第5のステップは、
前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアに前記第8のステップを実施させるため、前記通知ベクタと、前記割り込み要求ビットマップおよび前記発行済み通知ビットとを保持するメモリ領域のメモリアドレスと、を前記仮想化部の仮想マシン管理情報へ設定することを特徴とする計算機の制御方法。 - 請求項3または請求項4に記載の計算機の制御方法であって、
前記物理プロセッサは、割り込み支援機能として、論理割込み発生に仮想化ソフトウェアの処理を省く機能を有することを特徴とする計算機の制御方法。 - 請求項1に記載の計算機の制御方法であって、
前記仮想化部が、前記第2のプロセッサグループの物理プロセッサと前記第2のOSの関係を変更する第9のステップと、
前記仮想化部が、前記変更された前記第2のプロセッサグループの物理プロセッサと前記第2のOSの関係に基づいて、前記第2のOSへの論理割込みと物理割込みの対応関係を含む割込みパス情報を更新する第10のステップと、
をさらに含むことを特徴とする計算機の制御方法。 - 請求項1に記載の計算機の制御方法であって、
前記割込みパス情報に含まれる、前記第2のOSへの論理割込みと物理割込みの対応関係は、
前記第2のOSが、MSI−X領域に設定する仮想プロセッサの割込み制御部の識別子と、
前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子と、
から構成され、
かつ、前記MSI−X領域を前記第2のOSに割り当てられたメモリ領域に配置し、
前記仮想化部が、前記MSI−X領域へのアクセスをトラップして前記対応関係の変更を検知することを特徴とする計算機の制御方法。 - 仮想化支援機能を有する複数の物理プロセッサと、メモリとを含む計算機であって、
前記物理プロセッサのうち仮想化支援機能を無効にした第1のプロセッサグループと、
前記物理プロセッサのうち仮想化支援機能を有効にした第2のプロセッサグループと、
前記第1のプロセッサグループを割り当てる第1のOSと、
前記第2のプロセッサグループを割り当てて、仮想マシンとしての第2のOSを稼働させる仮想化部と、を有し、
前記仮想化部は、
前記第2のOSが利用する仮想プロセッサ情報を前記仮想化部の仮想マシン管理情報の一部として設定し、
前記メモリのうちの所定の領域と、前記第2のプロセッサグループの第2の物理プロセッサを仮想化した仮想プロセッサとを第2のOSに仮想プロセッサとして割り当てて、当該第2のOSを起動して仮想マシンとして提供し、
前記メモリに前記第1のOSと仮想化部が相互に読み書き可能な共有領域を設定し、当該共有領域には割込み受信対象の前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子と、前記第1のプロセッサグループの第1の物理プロセッサで生成する物理割込みに付加する通知ベクタとを含む割込みパス情報を設定し、
前記第1のOSが、
前記共有領域から前記割込みパス情報を取得して、前記取得した前記通知ベクタを設定した前記物理割込みを前記第1の物理プロセッサに生成させ、第1の物理プロセッサが、前記割込み受信対象の前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子に対応する前記第2のプロセッサグループの第2の物理プロセッサへ前記生成した物理割込みを発行し、
前記第2の物理プロセッサが、前記仮想化部を経由せず、前記第1の物理プロセッサから前記物理割込みを受信すると、前記割込みパス情報に基づいて、前記第2のOSへ論理割込みを発行することを特徴とする計算機。 - 請求項8に記載の計算機であって、
前記仮想化部は、
割込み受信対象の前記第2のOSの割り込みハンドラを特定するゲストベクタと、を前記割込みパス情報に設定し、
前記第1のOSは、
前記割込みパス情報のうち、割込み受信対象の前記第2のOSの割り込みハンドラを特定するゲストベクタと、を取得することを特徴とする計算機。 - 請求項9に記載の計算機であって、
前記仮想化部は、
前記ゲストベクタに対応する割り込み要求ビットマップと、を前記割込みパス情報に設定し、
前記第1のOSは、
前記割込みパス情報に、物理割込みを発行したことを示す発行済み通知ビットを有効化することを特徴とする計算機。 - 請求項10に記載の計算機であって、
前記仮想化部は、
前記通知ベクタと、前記割り込み要求ビットマップおよび前記発行済み通知ビットとを保持するメモリ領域のメモリアドレスと、を前記仮想化部の仮想マシン管理情報へ設定することを特徴とする計算機。 - 請求項10または請求項11に記載の計算機であって、
前記物理プロセッサは、割り込み支援機能として、論理割込み発生に仮想化ソフトウェアの処理を省く機能を有することを特徴とする計算機。 - 請求項8に記載の計算機であって、
前記仮想化部が、
前記第2のプロセッサグループの物理プロセッサと前記第2のOSの関係を変更し、前記変更された前記第2のプロセッサグループの物理プロセッサと前記第2のOSの関係に基づいて、前記第2のOSへの論理割込みと物理割込みの対応関係を含む割込みパス情報を更新することを特徴とする計算機。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013150629A JP6029550B2 (ja) | 2013-07-19 | 2013-07-19 | 計算機の制御方法及び計算機 |
US14/275,183 US9697024B2 (en) | 2013-07-19 | 2014-05-12 | Interrupt management method, and computer implementing the interrupt management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013150629A JP6029550B2 (ja) | 2013-07-19 | 2013-07-19 | 計算機の制御方法及び計算機 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015022553A JP2015022553A (ja) | 2015-02-02 |
JP2015022553A5 JP2015022553A5 (ja) | 2016-01-14 |
JP6029550B2 true JP6029550B2 (ja) | 2016-11-24 |
Family
ID=52344690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013150629A Expired - Fee Related JP6029550B2 (ja) | 2013-07-19 | 2013-07-19 | 計算機の制御方法及び計算機 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9697024B2 (ja) |
JP (1) | JP6029550B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6157719B2 (ja) * | 2014-03-07 | 2017-07-05 | 株式会社日立製作所 | 計算機 |
US9697151B2 (en) | 2014-11-19 | 2017-07-04 | Nxp Usa, Inc. | Message filtering in a data processing system |
US9727500B2 (en) * | 2014-11-19 | 2017-08-08 | Nxp Usa, Inc. | Message filtering in a data processing system |
US10713195B2 (en) * | 2016-01-15 | 2020-07-14 | Intel Corporation | Interrupts between virtual machines |
WO2017126097A1 (ja) * | 2016-01-22 | 2017-07-27 | 株式会社日立製作所 | 計算機システム、計算機 |
US10209889B2 (en) | 2016-07-14 | 2019-02-19 | International Business Machines Corporation | Invalidation of shared memory in a virtual environment |
US10176115B2 (en) | 2016-07-14 | 2019-01-08 | International Business Machines Corporation | Shared memory in a virtual environment |
JP6852509B2 (ja) * | 2017-03-30 | 2021-03-31 | ブラザー工業株式会社 | プログラム及び情報処理装置 |
US10248595B2 (en) * | 2017-08-10 | 2019-04-02 | Infineon Technologies Ag | Virtual machine monitor interrupt support for computer processing unit (CPU) |
CN110162377A (zh) * | 2018-02-14 | 2019-08-23 | 华为技术有限公司 | 一种通信方法和逻辑处理器 |
TWI764082B (zh) | 2019-02-14 | 2022-05-11 | 美商萬國商業機器公司 | 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品 |
WO2020164818A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt for multilevel virtualization |
TWI759677B (zh) * | 2019-02-14 | 2022-04-01 | 美商萬國商業機器公司 | 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
US11003484B2 (en) * | 2019-06-28 | 2021-05-11 | Intel Corporation | Inter-processor interrupt virtualization with pass-through of local interrupt controller |
CN113094111B (zh) * | 2021-04-16 | 2024-01-09 | 三星(中国)半导体有限公司 | 设备以及设备的启动方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290665A (ja) * | 2000-04-11 | 2001-10-19 | Nec Software Hokuriku Ltd | プロセッサシステム |
US7685635B2 (en) * | 2005-03-11 | 2010-03-23 | Microsoft Corporation | Systems and methods for multi-level intercept processing in a virtual machine environment |
US7900204B2 (en) * | 2005-12-30 | 2011-03-01 | Bennett Steven M | Interrupt processing in a layered virtualization architecture |
US8453197B2 (en) * | 2006-09-07 | 2013-05-28 | Intel Corporation | Method, apparatus and system for isolating a temporary partition on a host |
US7533207B2 (en) * | 2006-12-06 | 2009-05-12 | Microsoft Corporation | Optimized interrupt delivery in a virtualized environment |
US20080155092A1 (en) * | 2006-12-22 | 2008-06-26 | Arvind Kumar | Method, apparatus and system for securely metering resource usage on a computing platform |
US8453143B2 (en) | 2007-09-19 | 2013-05-28 | Vmware, Inc. | Reducing the latency of virtual interrupt delivery in virtual machines |
US8566492B2 (en) | 2009-12-31 | 2013-10-22 | Intel Corporation | Posting interrupts to virtual processors |
US8489789B2 (en) * | 2010-02-05 | 2013-07-16 | Advanced Micro Devices, Inc. | Interrupt virtualization |
US10684973B2 (en) * | 2013-08-30 | 2020-06-16 | Intel Corporation | NUMA node peripheral switch |
-
2013
- 2013-07-19 JP JP2013150629A patent/JP6029550B2/ja not_active Expired - Fee Related
-
2014
- 2014-05-12 US US14/275,183 patent/US9697024B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9697024B2 (en) | 2017-07-04 |
US20150026678A1 (en) | 2015-01-22 |
JP2015022553A (ja) | 2015-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6029550B2 (ja) | 計算機の制御方法及び計算機 | |
TWI621023B (zh) | 用於支持對經由nvme控制器、通過網路存取的遠端存儲設備的熱插拔的系統和方法 | |
US10691363B2 (en) | Virtual machine trigger | |
WO2017024783A1 (zh) | 一种虚拟化方法、装置和系统 | |
US10133504B2 (en) | Dynamic partitioning of processing hardware | |
US9081612B2 (en) | Virtual machine control method and virtual machine | |
US9798565B2 (en) | Data processing system and method having an operating system that communicates with an accelerator independently of a hypervisor | |
JP2015503784A (ja) | グラフィックス処理部における仮想マシン間の移行 | |
EP3329368A1 (en) | Multiprocessing within a storage array system executing controller firmware designed for a uniprocessor environment | |
EP3074866A1 (en) | Apparatus and method for scheduling graphics processing unit workloads from virtual machines | |
US11194735B2 (en) | Technologies for flexible virtual function queue assignment | |
JP7504092B2 (ja) | 仮想化コンピューティング環境での安全なメモリアクセス | |
US10853259B2 (en) | Exitless extended page table switching for nested hypervisors | |
US11188365B2 (en) | Memory overcommit by speculative fault | |
US10102022B2 (en) | System and method for configuring a virtual device | |
KR20110094764A (ko) | 트랜잭션 기반 입출력 인터페이스를 제공하는 가상화 장치 및 방법 | |
US11467776B1 (en) | System supporting virtualization of SR-IOV capable devices | |
JP2015088014A (ja) | 計算機の制御方法及び計算機 | |
US20230051825A1 (en) | System supporting virtualization of sr-iov capable devices | |
KR20110095051A (ko) | 가상화 환경에서의 데이터 처리 방법 및 드라이버 | |
WO2020177567A1 (zh) | 一种迁移数据的方法、装置及系统 | |
KR101587600B1 (ko) | Numa 시스템상에서 가상머신간의 통신방법 | |
US20230033583A1 (en) | Primary input-output queue serving host and guest operating systems concurrently |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151120 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160905 |
|
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: 20161004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161018 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6029550 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |