JPWO2021211241A5 - - Google Patents

Download PDF

Info

Publication number
JPWO2021211241A5
JPWO2021211241A5 JP2022554566A JP2022554566A JPWO2021211241A5 JP WO2021211241 A5 JPWO2021211241 A5 JP WO2021211241A5 JP 2022554566 A JP2022554566 A JP 2022554566A JP 2022554566 A JP2022554566 A JP 2022554566A JP WO2021211241 A5 JPWO2021211241 A5 JP WO2021211241A5
Authority
JP
Japan
Prior art keywords
hypervisor
partition
computing system
guest
hypercall
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.)
Pending
Application number
JP2022554566A
Other languages
Japanese (ja)
Other versions
JP2023521557A (en
Publication date
Priority claimed from US16/849,695 external-priority patent/US11436031B2/en
Application filed filed Critical
Publication of JP2023521557A publication Critical patent/JP2023521557A/en
Publication of JPWO2021211241A5 publication Critical patent/JPWO2021211241A5/ja
Pending legal-status Critical Current

Links

Claims (20)

計算システムであって、
1つ又は複数のプロセッサと、
前記1つ又は複数のプロセッサによって実行されるとき、
1つ又は複数のゲストパーティションを作成する第1のハイパーバイザを実行すること、
サービスパーティションを作成すること、
前記第1のハイパーバイザの静的システム状態を用いて前記サービスパーティション内の第2のハイパーバイザを初期設定すること
前記第1のハイパーバイザのランタイム状態の少なくとも一部を前記第2のハイパーバイザと同期することであって、前記第1のハイパーバイザのランタイム状態の少なくとも一部を前記第2のハイパーバイザと同期することは、
前記第1のハイパーバイザからのシステム不変条件に対する要求を共用メモリ上でインターセプトすること、及び
前記共用メモリを介して前記第2のハイパーバイザに前記システム不変条件を伝送するために前記第2のハイパーバイザに逆ハイパーコールを発行すること
を含む、同期すること、及び
前記第1のハイパーバイザを置換するために前記第2のハイパーバイザを前記サービスパーティションから仮想化解除すること
を前記計算システムに行わせるように構成されるコンピュータ実行可能命令をその上に記憶している1つ又は複数のコンピュータ可読媒体と、
を含む、計算システム。
A calculation system,
one or more processors;
when executed by the one or more processors;
executing a first hypervisor that creates one or more guest partitions;
creating a service partition,
initializing a second hypervisor in the service partition using a static system state of the first hypervisor ;
synchronizing at least a portion of the runtime state of the first hypervisor with the second hypervisor, wherein at least a portion of the runtime state of the first hypervisor is synchronized with the second hypervisor; What to do is
intercepting requests for system invariants from the first hypervisor on shared memory;
issuing a reverse hypercall to the second hypervisor to transmit the system invariants to the second hypervisor via the shared memory;
and devirtualizing the second hypervisor from the service partition to replace the first hypervisor. one or more computer readable media having instructions stored thereon;
computing systems, including;
前記サービスパーティション内の前記第2のハイパーバイザを初期設定することが、前記計算システムの前記1つ又は複数のコンピュータ可読媒体の特定の部分に対する読み出し専用の固有アクセスを付与することを更に含む、請求項1に記載の計算システム。 12. Initializing the second hypervisor in the service partition further comprises granting read-only unique access to a particular portion of the one or more computer-readable media of the computing system. The calculation system according to item 1. 前記ランタイム状態が(1)前記ゲストパーティションのゲスト物理メモリを前記計算システムのホスト物理メモリにマップする1つ又は複数の第2レベルメモリページテーブル、(2)1つ又は複数のページフレーム番号データベース、又は(3)ゲストパーティションに付加される物理装置のリスト及び前記物理装置のリストの割り当てのうちの少なくとも1つを含む、請求項1に記載の計算システム。 The runtime state includes: (1) one or more second level memory page tables that map guest physical memory of the guest partition to host physical memory of the computing system; (2) one or more page frame number databases; or (3) the computing system according to claim 1, comprising at least one of a list of physical devices to be added to a guest partition and an assignment of the list of physical devices. 前記1つ又は複数のゲストパーティションの少なくとも1つが特権親パーティションを含み、
前記特権親パーティションがホストオペレーティングシステム又は仮想化サービスモジュールを動作させ、
前記ホストオペレーティングシステム又は前記仮想化サービスモジュールが、前記第2のハイパーバイザの前記初期設定及び同期を調整するように構成されるオーケストレータを含み、
前記第1のハイパーバイザは前記第2のハイパーバイザから前記第1のハイパーバイザへの特定の要求を前記オーケストレータがインターセプトすることを可能にする、
請求項1に記載の計算システム。
at least one of the one or more guest partitions includes a privileged parent partition;
the privileged parent partition runs a host operating system or virtualization service module;
the host operating system or the virtualization service module includes an orchestrator configured to coordinate the initialization and synchronization of the second hypervisor;
the first hypervisor enables the orchestrator to intercept certain requests from the second hypervisor to the first hypervisor;
The computing system according to claim 1.
前記第2のハイパーバイザから前記第1のハイパーバイザへの要求を前記オーケストレータがインターセプトするとき、前記オーケストレータは前記第2のハイパーバイザに逆ハイパーコールを発行し、メモリページの一部を通信目的で前記第2のハイパーバイザと共用する、請求項4に記載の計算システム。 When the orchestrator intercepts a request from the second hypervisor to the first hypervisor, the orchestrator issues a reverse hypercall to the second hypervisor to communicate a portion of the memory page. 5. The computing system of claim 4, shared with the second hypervisor for purposes. 前記第2のハイパーバイザを前記初期設定することが、
前記第2のハイパーバイザ用のローダブロックを前記第1のハイパーバイザによって生成することであって、前記ローダブロックは初期設定のための前記静的システム状態の少なくとも一部を記述する論理的構成体を含む、生成すること、
前記オーケストレータによって前記計算システムの1つ又は複数のシステム不変条件を得ること、
前記1つ又は複数のシステム不変条件を前記第2のハイパーバイザと共用すること、及び
前記1つ又は複数のシステム不変条件に基づいて前記第2のハイパーバイザを初期設定すること
を含む、請求項5に記載の計算システム。
the initial setting of the second hypervisor;
generating a loader block for the second hypervisor by the first hypervisor, the loader block being a logical construct describing at least a portion of the static system state for initialization; including, generating,
obtaining one or more system invariants of the computing system by the orchestrator;
4. Sharing the one or more system invariants with the second hypervisor; and initializing the second hypervisor based on the one or more system invariants. 5. The calculation system described in 5.
前記1つ又は複数のシステム不変条件が、前記計算システムの1つ又は複数のハードウェア資源によってサポートされる1つ又は複数の特徴を含む、請求項6に記載の計算システム。 7. The computing system of claim 6, wherein the one or more system invariants include one or more features supported by one or more hardware resources of the computing system. 前記オーケストレータが、前記1つ又は複数の特徴を(1)前記第1のハイパーバイザからハイパーコールによって又は(2)ハードウェア資源から直接、のうちの少なくとも1つから得る、請求項7に記載の計算システム。 8. The orchestrator obtains the one or more features from at least one of (1) by a hypercall from the first hypervisor or (2) directly from a hardware resource. calculation system. 前記オーケストレータが、ハードウェア機能を発見し又はクエリするバイナリインタフェースによって前記特徴の少なくとも1つを得る、請求項8に記載の計算システム。 9. The computing system of claim 8, wherein the orchestrator obtains at least one of the features through a binary interface that discovers or queries hardware capabilities. 前記第1のハイパーバイザのランタイム状態を同期することは、Synchronizing the runtime state of the first hypervisor comprises:
前記オーケストレータによって前記第1のハイパーバイザのランタイム状態を集めること、 collecting runtime state of the first hypervisor by the orchestrator;
前記オーケストレータによって、逆ハイパーコール上で前記第2のハイパーバイザと前記ランタイム状態を共用すること、及び sharing the runtime state with the second hypervisor on a reverse hypercall by the orchestrator; and
前記第2のハイパーバイザに、前記ランタイム状態を複製させること、 causing the second hypervisor to replicate the runtime state;
を含む、請求項6に記載の計算システム。 The computing system according to claim 6, comprising:
前記ランタイム状態を集めることは、 Collecting the runtime state includes:
前記第1のハイパーバイザにより、ゲストパーティションによって呼び出されるハイパーコールを受信すること、 receiving, by the first hypervisor, a hypercall invoked by a guest partition;
前記第1のハイパーバイザにより、前記ハイパーコールにサービス提供すること、及び servicing the hypercall by the first hypervisor; and
前記オーケストレータによって、前記ハイパーコールと、前記第1のハイパーバイザによる前記ハイパーコールのサービス中に生じたアクションのログとを記録すること、 recording by the orchestrator the hypercall and a log of actions that occurred during the servicing of the hypercall by the first hypervisor;
を含み、前記ランタイム状態を共有することは、 and sharing the runtime state includes:
前記オーケストレータにより、前記ハイパーコールを前記第2のハイパーバイザにフィードすること、及び feeding, by the orchestrator, the hypercall to the second hypervisor; and
前記オーケストレータにより、前記第2のハイパーバイザに前記アクションのログをフィードすること、 feeding, by the orchestrator, a log of the actions to the second hypervisor;
を含む、請求項10に記載の計算システム。 The computing system according to claim 10, comprising:
前記ランタイム状態を複製することは、 Replicating the runtime state includes:
前記第2のハイパーバイザ内で前記オーケストレータから逆ハイパーコールを受信すること、 receiving a reverse hypercall from the orchestrator in the second hypervisor;
前記逆ハイパーコールを呼び出した前記ゲストパーティションのコンテキストを切り替えること、 switching the context of the guest partition that invoked the reverse hypercall;
前記第2のハイパーバイザにおいて、必要なソフトウェア状態又は休止ハードウェア状態を再構築するために逆ハイパーコールを処理すること、及び processing, at the second hypervisor, a reverse hypercall to reconstruct necessary software state or dormant hardware state; and
前記逆ハイパーコールの完了を前記オーケストレータに知らせること informing the orchestrator of completion of the reverse hypercall;
を含む、請求項10に記載の計算システム。 The computing system according to claim 10, comprising:
親パーティションがホストオペレーティングシステム及び仮想化サービスモジュールを含み、 the parent partition contains the host operating system and virtualization service module;
前記仮想化サービスモジュールは、少なくとも1つの他のゲストパーティションに仮想化サービスを提供するように構成され、 the virtualization service module is configured to provide virtualization services to at least one other guest partition;
前記計算システムは、更に、前記ホストオペレーティングシステムをリスタートすることなしに、前記仮想化サービスモジュールをホットリスタートするように構成される、 The computing system is further configured to hot restart the virtualization service module without restarting the host operating system.
請求項3に記載の計算システム。 The calculation system according to claim 3.
前記第2のハイパーバイザを仮想化解除することは、 Devirtualizing the second hypervisor comprises:
前記第1のハイパーバイザから前記第2のハイパーバイザに前記計算システムの物理的ハードウェアの制御を移すこと、 transferring control of physical hardware of the computing system from the first hypervisor to the second hypervisor;
前記1つ又は複数のゲストパーティションのそれぞれをフリーズすること、 freezing each of the one or more guest partitions;
前記第1のハイパーバイザの最終状態を前記第2のハイパーバイザに伝達すること、 communicating a final state of the first hypervisor to the second hypervisor;
それぞれのゲストパーティションを前記第2のハイパーバイザに切り替えること、及び switching each guest partition to the second hypervisor; and
ゲストパーティションのそれぞれを解凍すること、 Unzip each of the guest partitions,
を含む、請求項1に記載の計算システム。 The computing system according to claim 1, comprising:
前記計算システムは、更に、前記1つ又は複数のゲストパーティションの少なくとも1つをホットリスタートするように構成される、請求項1に記載の計算システム。The computing system of claim 1, wherein the computing system is further configured to hot restart at least one of the one or more guest partitions. 計算システムによって実装される、ホストのハイパーバイザのホットリスタートのための方法であって、A method for hot restart of a hypervisor of a host implemented by a computing system, the method comprising:
1つ又は複数のゲストパーティションを作成する第1のハイパーバイザを実行すること、 executing a first hypervisor that creates one or more guest partitions;
サービスパーティションを作成すること、 creating a service partition,
前記第1のハイパーバイザの静的システム状態を用いて前記サービスパーティション内の第2のハイパーバイザを初期設定すること、 initializing a second hypervisor in the service partition using a static system state of the first hypervisor;
前記第1のハイパーバイザのランタイム状態の少なくとも一部を前記第2のハイパーバイザと同期することであって、前記第1のハイパーバイザのランタイム状態の少なくとも一部を前記第2のハイパーバイザと同期することは、 synchronizing at least a portion of the runtime state of the first hypervisor with the second hypervisor, wherein at least a portion of the runtime state of the first hypervisor is synchronized with the second hypervisor; What to do is
前記第1のハイパーバイザからのシステム不変条件に対する要求を共用メモリ上でインターセプトすること、及び intercepting requests for system invariants from the first hypervisor on shared memory;
前記共用メモリを介して前記第2のハイパーバイザに前記システム不変条件を伝送するために前記第2のハイパーバイザに逆ハイパーコールを発行すること issuing a reverse hypercall to the second hypervisor to transmit the system invariants to the second hypervisor via the shared memory;
を含む、同期すること、及び including, synchronizing, and
前記第1のハイパーバイザを置換するために前記第2のハイパーバイザを前記サービスパーティションから仮想化解除すること devirtualizing the second hypervisor from the service partition to replace the first hypervisor;
を含む、方法。 including methods.
前記ランタイム状態が(1)前記ゲストパーティションのゲスト物理メモリを前記計算システムのホスト物理メモリにマップする1つ又は複数の第2レベルメモリページテーブル、(2)1つ又は複数のページフレーム番号データベース、又は(3)ゲストパーティションに付加される物理装置のリスト及び前記物理装置のリストの割り当てのうちの少なくとも1つを含む、請求項16に記載の方法。The runtime state includes: (1) one or more second level memory page tables that map guest physical memory of the guest partition to host physical memory of the computing system; (2) one or more page frame number databases; 17. The method of claim 16, comprising at least one of: or (3) a list of physical devices to be added to a guest partition and an assignment of the list of physical devices. 前記1つ又は複数のゲストパーティションの少なくとも1つが特権親パーティションを含み、at least one of the one or more guest partitions includes a privileged parent partition;
前記特権親パーティションがホストオペレーティングシステム又は仮想化サービスモジュールを動作させ、 the privileged parent partition runs a host operating system or virtualization service module;
前記ホストオペレーティングシステム又は前記仮想化サービスモジュールが、前記第2のハイパーバイザの前記初期設定及び同期を調整するように構成されるオーケストレータを含む、 the host operating system or the virtualization service module includes an orchestrator configured to coordinate the initialization and synchronization of the second hypervisor;
請求項16に記載の方法。 17. The method according to claim 16.
コンピュータ実行可能命令を含むコンピュータプログラムであって、前記コンピュータ実行可能命令は、計算システムの1つ又は複数のプロセッサによって実行されるとき、A computer program comprising computer-executable instructions, the computer-executable instructions, when executed by one or more processors of a computing system, comprising:
1つ又は複数のゲストパーティションを作成する第1のハイパーバイザを実行すること、 executing a first hypervisor that creates one or more guest partitions;
サービスパーティションを作成すること、 creating a service partition,
前記第1のハイパーバイザの静的システム状態を用いて前記サービスパーティション内の第2のハイパーバイザを初期設定すること、 initializing a second hypervisor in the service partition using a static system state of the first hypervisor;
前記第1のハイパーバイザのランタイム状態の少なくとも一部を前記第2のハイパーバイザと同期することであって、前記第1のハイパーバイザのランタイム状態の少なくとも一部を前記第2のハイパーバイザと同期することは、 synchronizing at least a portion of the runtime state of the first hypervisor with the second hypervisor, wherein at least a portion of the runtime state of the first hypervisor is synchronized with the second hypervisor; What to do is
前記第1のハイパーバイザからのシステム不変条件に対する要求を共用メモリ上でインターセプトすること、及び intercepting requests for system invariants from the first hypervisor on shared memory;
前記共用メモリを介して前記第2のハイパーバイザに前記システム不変条件を伝送するために前記第2のハイパーバイザに逆ハイパーコールを発行すること issuing a reverse hypercall to the second hypervisor to transmit the system invariants to the second hypervisor via the shared memory;
を含む、同期すること、及び including, synchronizing, and
前記第1のハイパーバイザを置換するために前記第2のハイパーバイザを前記サービスパーティションから仮想化解除すること devirtualizing the second hypervisor from the service partition to replace the first hypervisor;
を前記計算システムに行わせるように構成される、コンピュータプログラム。 A computer program configured to cause the computing system to perform.
前記第2のハイパーバイザを仮想化解除することは、Devirtualizing the second hypervisor comprises:
前記第1のハイパーバイザから前記第2のハイパーバイザに前記計算システムの物理的ハードウェアの制御を移すこと、 transferring control of physical hardware of the computing system from the first hypervisor to the second hypervisor;
前記1つ又は複数のゲストパーティションのそれぞれをフリーズすること、 freezing each of the one or more guest partitions;
前記第1のハイパーバイザの最終状態を前記第2のハイパーバイザに伝達すること、 communicating a final state of the first hypervisor to the second hypervisor;
それぞれのゲストパーティションを前記第2のハイパーバイザに切り替えること、及び switching each guest partition to the second hypervisor; and
ゲストパーティションのそれぞれを解凍すること、 Unzip each of the guest partitions,
を含む、請求項16に記載の方法。 17. The method of claim 16, comprising:
JP2022554566A 2020-04-15 2021-03-15 Hypervisor hot restart Pending JP2023521557A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/849,695 2020-04-15
US16/849,695 US11436031B2 (en) 2020-04-15 2020-04-15 Hypervisor hot restart
PCT/US2021/022266 WO2021211241A1 (en) 2020-04-15 2021-03-15 Hypervisor hot restart

Publications (2)

Publication Number Publication Date
JP2023521557A JP2023521557A (en) 2023-05-25
JPWO2021211241A5 true JPWO2021211241A5 (en) 2024-02-14

Family

ID=75340297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022554566A Pending JP2023521557A (en) 2020-04-15 2021-03-15 Hypervisor hot restart

Country Status (6)

Country Link
US (2) US11436031B2 (en)
EP (1) EP4136528A1 (en)
JP (1) JP2023521557A (en)
KR (1) KR20220162729A (en)
CN (1) CN115413336A (en)
WO (1) WO2021211241A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116450184B (en) * 2023-06-09 2023-10-13 联宝(合肥)电子科技有限公司 System upgrading method and device, electronic equipment and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5655677B2 (en) * 2011-04-04 2015-01-21 富士通株式会社 Hypervisor replacement method and information processing apparatus
JP5821723B2 (en) * 2012-03-15 2015-11-24 富士通株式会社 Information processing apparatus and control program
US20210318900A1 (en) * 2020-04-14 2021-10-14 Research Foundation For The State University Of New York Systems and methods for live update of operating systems and hypervisors within virtualization systems

Similar Documents

Publication Publication Date Title
US11507477B2 (en) Virtual machine fault tolerance
US10185514B2 (en) Virtual machine trigger
US20150277993A1 (en) Task Processing Method and Virtual Machine
Barbalace et al. Popcorn: a replicated-kernel OS based on Linux
US11055186B2 (en) Managing related devices for virtual machines using robust passthrough device enumeration
EP2807555B1 (en) Para-virtualized asymmetric gpu processors
JP2015503784A (en) Migration between virtual machines in the graphics processor
Ameen et al. Survey of server virtualization
US11573815B2 (en) Dynamic power management states for virtual machine migration
WO2016106756A1 (en) Disaster recovery method, system and apparatus
CN103793260A (en) Platform virtualization system
US10318460B2 (en) UMA-aware root bus selection
US11880702B2 (en) Hypervisor hot restart
EP1815333A1 (en) Migration of tasks in a computing system
JPWO2021211241A5 (en)
Radiskhlebova et al. Study of the possibilities of using virtualization tools to optimize the cluster resources management
US11086616B2 (en) Near zero downtime application upgrade
CN113626148B (en) Terminal virtual machine generation system and method based on hybrid virtualization
Rong Design and Implementation of Operating System in Distributed Computer System Based on Virtual Machine
US11870846B2 (en) Post-copy migration cross cluster synchronization for post-copy migration of virtual machines
US10776148B1 (en) System and method for utilizing computational power of a server farm
US20230043180A1 (en) Fail-safe post copy migration of containerized applications
Liang et al. Application virtualization: An agent encapsulation of software in virtual machines to archive the execution performance in hosts
Talasila et al. ABIQUO: A PROFICIENT ENTERPRISE CLOUD MANAGEMENT PLATFORM INTENDED FOR HYPERVISOR INDEPENDENCY, INTEGRITY AND SCALABILITY
Gordon et al. Lifting and Dropping VMs to Dynamically Transition Between Time-and Space-sharing for Large-Scale HPC Systems