JP5032606B2 - 仮想マシン環境におけるハイパーバイザドライバ管理 - Google Patents
仮想マシン環境におけるハイパーバイザドライバ管理 Download PDFInfo
- Publication number
- JP5032606B2 JP5032606B2 JP2010024988A JP2010024988A JP5032606B2 JP 5032606 B2 JP5032606 B2 JP 5032606B2 JP 2010024988 A JP2010024988 A JP 2010024988A JP 2010024988 A JP2010024988 A JP 2010024988A JP 5032606 B2 JP5032606 B2 JP 5032606B2
- Authority
- JP
- Japan
- Prior art keywords
- driver
- virtual machine
- hypervisor
- domain
- performance
- 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
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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
-
- 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
Description
[0001] 仮想マシンは複雑なコンピューティング環境で多くの利点を与える。仮想マシンを使用すれば、同じコンピュータ上で複数のオペレーティングシステムを実行できる。コンピュータの物理的リソースは、異なるオペレーティングシステム全体で物理的リソースを共有できるように、仮想化される。各仮想マシンは、たとえソフトウェアで実装されていたとしても、自身を実際のコンピュータとして認識する。
仮想マシンは、同じコンピュータ上に複数のオペレーティングシステムを共存できることに加えて、他にも利点を有する。仮想マシンは、例えば、基礎となるハードウェアと独立して実行できる上、たとえ同一マシン上で稼働していても互いに切り離され、提供及び管理が容易である。
[0012] 以下の詳細な説明では、本明細書の一部をなす添付の図面を参照する。図面において、特に明記しない限り、類似の符号は通常類似の構成要素を示す。詳細な説明、図面、及び請求項に記載した例示的な実施形態は、これに限定するものではない。本明細書に提示する主題の趣旨又は範囲から逸脱することなしに、その他の実施形態を利用できると共に、その他の変更を加えることができる。本明細書に概説すると共に図に示した本開示の様態を、様々な異なる構成で配置、置換、結合、分割、及び設計できることは、容易に理解されよう。それら全てが本明細書で明示的に検討される。
110 システムリソース
120 ハイパーバイザ
130 ドメイン
132 仮想マシン(VM)ドメイン
134 ドライバドメイン
136 ゲストオペレーティングシステム
138 ゲストオペレーティングシステム
140 アプリケーション
142 アプリケーション
144 アプリケーション
146 仮想マシン
200 ドライバモニタ
202 デバイスドライバ
202a ドライバ部分
202b ドライバ部分
204 デバイスドライバ
402 ブロック
404 ブロック
406 ブロック
408 ブロック
500 コンピューティングデバイス
502 基本構成
504 プロセッサ
506 システムメモリ
508 メモリバス
510 レベル1キャッシュ
512 レベル2キャッシュ
514 プロセッサコア
516 レジスタ
518 メモリコントローラ
520 オペレーティングシステム
522 アプリケーション
524 プログラムデータ
526 物理的リソース
528 仮想マシン
530 バス/インタフェースコントローラ
532 データ記憶デバイス
534 ストレージインタフェースバス
536 取外し可能な記憶デバイス
538 取外し不能の記憶デバイス
540 インタフェースバス
542 出力デバイス
544 周辺インタフェース
546 通信デバイス
548 グラフィック処理装置
550 音声処理装置
552 A/Vポート
554 シリアルインタフェースコントローラ
556 パラレルインタフェースコントローラ
558 I/O
560 ネットワークコントローラ
562 コンピューティングデバイス
564 通信ポート
Claims (18)
- 仮想マシン環境で物理的リソースにアクセスするための方法であって、
前記仮想マシン環境内のハイパーバイザが、信頼できるドメインとドライバドメインとを含む前記仮想マシン環境で稼働する仮想マシン内で動作する複数のデバイスドライバのそれぞれの性能を監視することと、
前記ハイパーバイザが、前記複数のデバイスドライバの中から、所定のしきい値を下回って稼働しているデバイスドライバをその性能特性に従って識別することと、
前記ハイパーバイザが、前記仮想マシン環境が稼働している間、前記識別されたデバイスドライバをそれぞれ独立に動作可能な第1の部分と第2の部分とに動的に分割することと、
前記ハイパーバイザが、前記第1の部分を当該ハイパーバイザに適応させることと、を含み、
前記第1の部分は、前記ハイパーバイザの制御の下、実行され、前記第2の部分は、前記仮想マシンの制御の下、前記ドライバドメイン内で実行される、
方法。 - 前記デバイスドライバの性能を監視することが、前記複数のデバイスドライバの少なくとも1つについてコンテキストスイッチを監視することを更に含む、請求項1に記載の方法。
- 前記デバイスドライバの性能を監視することが、前記複数のデバイスドライバの少なくとも1つに対してデータフロー分析を実行することを更に含む、請求項1に記載の方法。
- 前記デバイスドライバを識別することが、他のデバイスドライバと比較してより多くのコンテキストスイッチを発生しているときに前記デバイスドライバを識別することを更に含む、請求項1に記載の方法。
- 前記コンテキストスイッチが、前記デバイスドライバのそれぞれについてコンテキストスイッチの割合を追跡することにより計測される、請求項4に記載の方法。
- 前記第1の部分と前記第2の部分が前記特定のデバイスドライバのコードセグメントを含む、請求項1に記載の方法。
- 前記信頼できるドメインで前記第1の部分を実行する場合に、各メモリ参照に対してジャスト・イン・タイムバイナリコード変換を実行することによって、前記第1の部分の各メモリ参照を動的にパッチすることを更に含む、請求項6に記載の方法。
- 仮想マシン環境内の仮想マシンで稼働しているオペレーティングシステムのコンテキスト内で物理的リソースへのアクセスを提供する方法であって、
前記仮想マシン環境内のハイパーバイザが、ドライバドメイン内で動作している複数のデバイスドライバのそれぞれの性能を監視することと、
前記ハイパーバイザが、前記オペレーティングシステムが稼働している間、前記複数のデバイスドライバのうちの特定のデバイスドライバをそれぞれ独立に動作可能な第1の部分及び第2の部分に動的に分割することと、を含み、
前記第1の部分は、前記ハイパーバイザの制御の下、実行され、前記第2の部分は、前記仮想マシンの制御の下、前記ドライバドメイン内で実行される、
方法。 - 前記第1の部分が、前記ドライバドメインで使用されるデータを格納することと、前記データにアクセスすることを更に含み、前記データにアクセスすることがアドレス変換を使用して達成される、請求項8に記載の方法。
- 前記デバイスドライバの性能を監視することが前記デバイスドライバと関連するコンテキストスイッチの割合を特定することを更に含み、前記コンテキストスイッチの割合がしきい値を上回った場合に前記デバイスドライバが分割される、請求項8に記載の方法。
- 前記信頼できるドメインが前記ハイパーバイザを含み、前記第1の部分が、前記オペレーティングシステム上のアプリケーションによる要求に従って、前記ネットワークにアクセスする、請求項8に記載の方法。
- 前記仮想マシンがコンテキストスイッチなしで前記第1の部分を呼び出す請求項8に記載の方法。
- 仮想マシン環境で物理的リソースへのアクセスを制御するシステムであって、
前記仮想マシン環境内に設けられ、前記仮想マシン環境内に信頼できるドメイン及びドライバドメインを設定するハイパーバイザと、
前記ドライバドメイン内に設けられた複数のデバイスドライバと、
前記ハイパーバイザ内に設けられたドライバモニタと、
前記ドライバモニタは、前記ドライバドメイン内の複数のデバイスドライバのそれぞれの性能を監視し、前記デバイスドライバの性能に従って前記複数のデバイスドライバの中から特定のデバイスドライバを識別し、前記特定のデバイスドライバを使用する仮想マシンが前記仮想マシン環境内で動作している間、前記特定のデバイスドライバを少なくとも第1の部分と第2の部分に動的に分割するように構成され、
前記第1の部分は前記信頼できるドメインで動作し、前記第2の部分は前記ドライバドメインで動作する、
システム。 - 前記ドライバモニタは、前記特定のデバイスドライバを識別するために、前記複数のデバイスドライバのそれぞれの性能をしきい値と比較し、前記特定のデバイスドライバを前記ハイパーバイザに適合させ、
前記第1の部分と前記第2の部分がそれぞれ前記特定のデバイスドライバのコードセグメントを含む、請求項13に記載のシステム。 - コンテキストスイッチの割合が所定の割合を上回った場合に前記デバイスドライバの性能に問題が発生する、請求項13に記載のシステム。
- 前記ドライバモニタは、データフロー分析を実行して前記複数のデバイスドライバのそれぞれの性能を判定する、請求項13に記載のシステム。
- 前記ドライバモニタは、前記信頼できるドメインで動作している前記第1の部分に対するアドレス参照を変更する、請求項13に記載のシステム。
- 前記ドライバモニタがジャスト・イン・タイムバイナリコード変換を実行して前記第1の部分の各メモリ参照をパッチし、前記特定のデバイスドライバのデータが前記ドライバドメインに格納される、請求項13に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/635,319 US8327358B2 (en) | 2009-12-10 | 2009-12-10 | Hypervisor driver management in virtual machine environments |
US12/635,319 | 2009-12-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011123857A JP2011123857A (ja) | 2011-06-23 |
JP5032606B2 true JP5032606B2 (ja) | 2012-09-26 |
Family
ID=43778269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010024988A Expired - Fee Related JP5032606B2 (ja) | 2009-12-10 | 2010-02-08 | 仮想マシン環境におけるハイパーバイザドライバ管理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8327358B2 (ja) |
EP (1) | EP2333663B1 (ja) |
JP (1) | JP5032606B2 (ja) |
KR (1) | KR101094675B1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8434081B2 (en) | 2010-07-02 | 2013-04-30 | International Business Machines Corporation | Storage manager for virtual machines with virtual storage |
JP2013008188A (ja) * | 2011-06-24 | 2013-01-10 | Univ Of Tsukuba | 計算機、デバイス管理方法、プログラム、及び記録媒体 |
CN103620612B (zh) * | 2011-07-12 | 2016-04-13 | 惠普发展公司,有限责任合伙企业 | 包括端口和来宾域的计算设备 |
US8631423B1 (en) | 2011-10-04 | 2014-01-14 | Symantec Corporation | Translating input/output calls in a mixed virtualization environment |
US9395920B2 (en) | 2011-11-17 | 2016-07-19 | Mirosoft Technology Licensing, LLC | Throttle disk I/O using disk drive simulation model |
US8789047B2 (en) | 2012-01-26 | 2014-07-22 | Empire Technology Development Llc | Allowing world switches between virtual machines via hypervisor world switch security setting |
KR102063576B1 (ko) * | 2012-07-24 | 2020-01-10 | 한국전자통신연구원 | 가상화 기반 은닉형 소프트웨어 실행 환경 제공 방법 및 장치 |
US8418230B1 (en) * | 2012-08-28 | 2013-04-09 | Netcomm Wireless Limited | Apparatus and method for mobile communications and computing |
US9164809B2 (en) * | 2012-09-04 | 2015-10-20 | Red Hat Israel, Ltd. | Virtual processor provisioning in virtualized computer systems |
US9720712B2 (en) * | 2013-06-03 | 2017-08-01 | Red Hat Israel, Ltd. | Physical/virtual device failover with a shared backend |
US9747314B2 (en) * | 2013-07-25 | 2017-08-29 | Rackspace Us, Inc. | Normalized searchable cloud layer |
US9658873B2 (en) * | 2013-08-21 | 2017-05-23 | Red Hat Israel, Ltd. | Switching between devices having a common host backend in a virtualized environment |
US9292336B1 (en) * | 2014-01-22 | 2016-03-22 | Amazon Technologies, Inc. | Systems and methods providing optimization data |
WO2016003415A1 (en) * | 2014-06-30 | 2016-01-07 | Hewlett-Packard Development Company, L.P. | Securely sending a complete initialization package |
EP3161652B1 (en) * | 2014-06-30 | 2020-06-03 | Hewlett-Packard Development Company, L.P. | Full virtual machine functionality |
US9507626B1 (en) * | 2015-07-20 | 2016-11-29 | Red Had Israel, Ltd. | Virtual device backend recovery |
US10013270B2 (en) | 2015-12-03 | 2018-07-03 | International Business Machines Corporation | Application-level initiation of processor parameter adjustment |
US9846592B2 (en) * | 2015-12-23 | 2017-12-19 | Intel Corporation | Versatile protected input/output device access and isolated servicing for virtual machines |
US11453131B2 (en) | 2019-12-30 | 2022-09-27 | UiPath, Inc. | Method and apparatus for remote native automation decoupling |
US20230418652A1 (en) * | 2021-12-30 | 2023-12-28 | Perseus Co., Ltd | Operating System Performance Interference Preventing Apparatus of Hypervisor System |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59222631A (ja) | 1983-06-01 | 1984-12-14 | Nifco Inc | 回転ダンパ−装置 |
US6496847B1 (en) | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US20040019895A1 (en) | 2002-07-29 | 2004-01-29 | Intel Corporation | Dynamic communication tuning apparatus, systems, and methods |
US20050246453A1 (en) | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Providing direct access to hardware from a virtual environment |
US7779424B2 (en) * | 2005-03-02 | 2010-08-17 | Hewlett-Packard Development Company, L.P. | System and method for attributing to a corresponding virtual machine CPU usage of an isolated driver domain in which a shared resource's device driver resides |
US7673174B2 (en) | 2005-04-06 | 2010-03-02 | University Of Washington | Recovering device drivers |
US20070006178A1 (en) | 2005-05-12 | 2007-01-04 | Microsoft Corporation | Function-level just-in-time translation engine with multiple pass optimization |
US20080028399A1 (en) | 2006-07-26 | 2008-01-31 | Diwaker Gupta | System and method for attributing to a corresponding virtual machine CPU utilization of a network driver domain based on observed communication through a virtualized interface |
US8141051B2 (en) * | 2006-12-29 | 2012-03-20 | Intel Corporation | Methods and apparatus to collect runtime trace data associated with application performance |
US8645974B2 (en) | 2007-08-02 | 2014-02-04 | International Business Machines Corporation | Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device |
US7984449B2 (en) | 2007-08-15 | 2011-07-19 | International Business Machines Corporation | In-band communication with virtual machines via a hypervisor message bus |
US8185783B2 (en) * | 2007-11-22 | 2012-05-22 | Microsoft Corporation | Split user-mode/kernel-mode device driver architecture |
US9389921B2 (en) * | 2008-01-14 | 2016-07-12 | Hewlett Packard Enterprise Development Lp | System and method for flexible device driver resource allocation |
US8458730B2 (en) * | 2008-02-05 | 2013-06-04 | International Business Machines Corporation | Multi-level driver configuration |
JP4609521B2 (ja) | 2008-04-21 | 2011-01-12 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
-
2009
- 2009-12-10 US US12/635,319 patent/US8327358B2/en not_active Expired - Fee Related
-
2010
- 2010-02-08 JP JP2010024988A patent/JP5032606B2/ja not_active Expired - Fee Related
- 2010-02-08 EP EP10152865.1A patent/EP2333663B1/en not_active Not-in-force
- 2010-02-25 KR KR1020100017262A patent/KR101094675B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR101094675B1 (ko) | 2011-12-20 |
US20110145814A1 (en) | 2011-06-16 |
EP2333663B1 (en) | 2014-10-15 |
EP2333663A2 (en) | 2011-06-15 |
US8327358B2 (en) | 2012-12-04 |
JP2011123857A (ja) | 2011-06-23 |
EP2333663A3 (en) | 2012-03-07 |
KR20110066063A (ko) | 2011-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5032606B2 (ja) | 仮想マシン環境におけるハイパーバイザドライバ管理 | |
US7434003B2 (en) | Efficient operating system operation on a hypervisor | |
US10078454B2 (en) | Access to storage resources using a virtual storage appliance | |
JP6050262B2 (ja) | 仮想ディスクストレージ技術 | |
US8209459B2 (en) | System and method for increased system availability in virtualized environments | |
US9575786B2 (en) | System and method for raw device mapping in traditional NAS subsystems | |
US9201677B2 (en) | Managing data input/output operations | |
US8612633B2 (en) | Virtual machine fast emulation assist | |
US7886115B2 (en) | Techniques for implementing virtual storage devices | |
JP5404783B2 (ja) | 仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートするためのシステムおよび方法 | |
US8132167B2 (en) | Context based virtualization | |
US20070112999A1 (en) | Efficient power management of a system with virtual machines | |
US20110088032A1 (en) | Method and apparatus for configuring a hypervisor during a downtime state | |
US9563456B2 (en) | Feature driven backend switching | |
WO2009150122A1 (en) | Systems and methods for virtualizing storage for wpar clients using node port id virtuali zation | |
US11693722B2 (en) | Fast memory mapped IO support by register switch | |
KR20110048515A (ko) | Raid와 함께 애플리케이션의 실행을 위한 방법 및 시스템 | |
US20080244212A1 (en) | System and method to enable hierarchical data spilling | |
US11023139B2 (en) | System for speculative block IO aggregation to reduce uneven wearing of SCMs in virtualized compute node by offloading intensive block IOs | |
US20230350710A1 (en) | Fast memory mapped io support by register switch | |
JP2015215782A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120514 |
|
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: 20120606 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120628 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5032606 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150706 Year of fee payment: 3 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |