JP6696947B2 - Virtual machine emulation system, virtual machine emulation method and computer program - Google Patents
Virtual machine emulation system, virtual machine emulation method and computer program Download PDFInfo
- Publication number
- JP6696947B2 JP6696947B2 JP2017189770A JP2017189770A JP6696947B2 JP 6696947 B2 JP6696947 B2 JP 6696947B2 JP 2017189770 A JP2017189770 A JP 2017189770A JP 2017189770 A JP2017189770 A JP 2017189770A JP 6696947 B2 JP6696947 B2 JP 6696947B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- virtual machine
- designated
- core management
- management unit
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Description
本発明は、たとえば、クラウドサーバ事業等に利用される仮想マシンエミュレートシステム、仮想マシンエミュレート方法、コンピュータプログラム、および仮想マシンに関する。 The present invention relates to a virtual machine emulation system, a virtual machine emulation method, a computer program, and a virtual machine used in, for example, a cloud server business.
物理マシンのOS(Operating System)上のソフトウェアによってエミュレートされる仮想マシンが知られている。この場合、OSレベルまたはクラウドベースを対象とした処理能力向上や可用性の確保にはクラスタが用いられている。クラスタの方式には、たとえば、アクティブスタンバイ方式やレプリケーション方式がある。 A virtual machine that is emulated by software on an OS (Operating System) of a physical machine is known. In this case, a cluster is used to improve the processing capacity or secure the availability for the OS level or cloud base. Cluster methods include, for example, an active standby method and a replication method.
特許文献1には、運用系に属する呼処理サーバが有する第1のプロセッサの各コアを、呼処理サーバのVM(Virtual Machine)ごとに割り当て、待機系に属する呼処理サーバが有する第2のプロセッサの複数のコアの一部を待機系である複数のVMに割り当てる技術が記載されている。
In
特許文献2には、ユーザによってリソースの容量の上限値が設定されるリソースプールにより、リソースプール内であれば任意の容量の仮想マシンを任意の台数設定する技術が記載されている。
クラウドコンピューティングのように、仮想マシンを短期的に扱う場合、未使用のコアを含む物理マシンを検索して仮想マシンを構築する。しかしながら、仮想マシンは一台の物理マシン上でしか存在できなかった。すなわち、物理マシン内での未使用のコア構成でしか仮想マシンを構築することができなかった。 When a virtual machine is handled in the short term like cloud computing, a physical machine including an unused core is searched and a virtual machine is constructed. However, a virtual machine could only exist on one physical machine. That is, the virtual machine could be constructed only with an unused core configuration in the physical machine.
従って、たとえば、仮想マシンが所望するコア数(たとえば、3コア)未満のコア(たとえば、2コア)を有する物理マシンは使用されないため、非効率である。また、仮想マシンの処理能力を物理マシン以上にすることはできないし、負荷が特定の物理マシンに偏る場合もある。 Thus, for example, a physical machine having less than the desired number of cores (eg, 3 cores) in a virtual machine (eg, 2 cores) is unused and thus inefficient. Further, the processing capacity of the virtual machine cannot be higher than that of the physical machine, and the load may be concentrated on a specific physical machine.
また、仮想マシンの可用性を高めるため、複数の仮想マシンを多重化することがある。しかしながら、上述したように、複数の仮想マシンは同一の物理マシン(物理CPU(Central Processing Unit))内にパッケージングされているため、物理CPU自体が壊れた場合には全ての仮想マシンがダウンする虞がある。 Also, in order to increase the availability of virtual machines, multiple virtual machines may be multiplexed. However, as described above, since a plurality of virtual machines are packaged in the same physical machine (physical CPU (Central Processing Unit)), when the physical CPU itself is broken, all virtual machines go down. There is a risk.
そこで、仮想マシンを異なる物理マシン間にて多重化することが想定される。たとえば、アプリケーションレベル上でのクラスタ構成を用いることが想定される。しかしながらこの場合、データを同期させるため、データをプライマリ仮想マシンからセカンダリ仮想マシンに転送する必要がある。このデータ転送は、処理負荷が大きいため、頻繁に実行するとアプリケーションの処理性能が低下する虞がある。 Therefore, it is assumed that virtual machines are multiplexed among different physical machines. For example, it is assumed to use a cluster configuration on the application level. However, in this case, it is necessary to transfer the data from the primary virtual machine to the secondary virtual machine in order to synchronize the data. Since this data transfer has a large processing load, if it is executed frequently, the processing performance of the application may deteriorate.
特許文献1や特許文献2の技術では上記課題を解決することはできない。
The above problems cannot be solved by the techniques of
本発明は、上記課題を解決するためになされたものであり、仮想マシンの性能および可用性を向上させることが可能な仮想マシンエミュレートシステム、仮想マシンエミュレート方法、コンピュータプログラム、および仮想マシンを提供することを目的とする。 The present invention has been made to solve the above problems, and provides a virtual machine emulation system, a virtual machine emulation method, a computer program, and a virtual machine capable of improving the performance and availability of a virtual machine. The purpose is to do.
本発明の仮想マシンエミュレートシステムは、複数の物理マシンのうちの少なくとも1つの前記物理マシンに設けられ、複数の前記物理マシンがそれぞれに有している複数のコアの全てを一括して管理し、仮想マシンを構築する際、少なくとも2つの前記物理マシンのそれぞれから少なくとも1つの前記コアを指定し、指定された複数の前記コアを前記仮想マシンの仮想CPUとして割り当てるコア管理手段を備える。 The virtual machine emulation system of the present invention is provided in at least one physical machine among a plurality of physical machines, and collectively manages all of the plurality of cores included in each of the plurality of physical machines. When constructing a virtual machine, at least one of the cores is designated from each of the at least two physical machines, and a core management unit that assigns the designated plurality of cores as virtual CPUs of the virtual machine is provided.
本発明の仮想マシンエミュレート方法は、複数の物理マシンのうちの少なくとも1つの前記物理マシンにおいて、複数の物理マシンがそれぞれに有している複数のコアを一括して管理し、仮想マシンを構築する際、少なくとも2つの前記物理マシンのそれぞれから少なくとも1つの前記コアを指定し、指定された複数の前記コアを前記仮想マシンの仮想CPUとして割り当てることを特徴とする。 A virtual machine emulation method of the present invention constructs a virtual machine by collectively managing a plurality of cores included in each of a plurality of physical machines in at least one of the plurality of physical machines. At this time, at least one of the cores is designated from each of the at least two physical machines, and the designated plurality of cores are assigned as virtual CPUs of the virtual machine.
本発明のコンピュータプログラムは、複数の物理マシンのうちの少なくとも1つの前記物理マシンのコンピュータに、複数の物理マシンがそれぞれに有している複数のコアを一括して管理し、仮想マシンを構築する際、少なくとも2つの複数の前記物理マシンのそれぞれから少なくとも1つの前記コアを指定し、指定された複数の前記コアを前記仮想マシンの仮想CPUとして割り当てる処理を実行させる。 A computer program of the present invention collectively manages a plurality of cores included in each of a plurality of physical machines in a computer of at least one of the plurality of physical machines to construct a virtual machine. At this time, at least one core is designated from each of the at least two plurality of physical machines, and a process of assigning the designated plurality of cores as a virtual CPU of the virtual machine is executed.
本発明の仮想マシンは、複数のコアをそれぞれに有する複数の物理マシンのうちの少なくとも2つの前記物理マシンのそれぞれから少なくとも一つずつ選択された複数の前記コアが割り当てられた仮処理命令の数想CPUを備える。 In the virtual machine of the present invention, the number of provisional processing instructions to which the plurality of cores selected from at least one of the at least two physical machines among the plurality of physical machines each having a plurality of cores are allocated It has an idea CPU.
本発明によれば、仮想マシンの処理能力および可用性を向上させることが可能となる。 According to the present invention, it is possible to improve the processing capacity and availability of virtual machines.
[第1の実施形態]
(構成の説明)
図1は、本発明の第1の実施形態に係る仮想マシンエミュレートシステム1の構成例を示すブロック図である。
[First Embodiment]
(Description of configuration)
FIG. 1 is a block diagram showing a configuration example of a virtual
仮想マシンエミュレートシステム1は、物理マシン上で仮想マシンをエミュレートする。仮想マシンエミュレートシステム1は、複数の物理マシン(図1では、物理マシン2および物理マシン3を例示)のうちの少なくとも1つの物理マシンに設けられるコア管理部(図1では、コア管理部4およびコア管理部5を例示)を備える。コア管理部は、コア管理手段の一例である。
The virtual
コア管理部4およびコア管理部5は、物理マシン2、3がそれぞれに有している物理CPUの複数のコアの全てを一括して管理する。そして、仮想マシンを構築する際、コア管理部4およびコア管理部5の少なくとも一方は、少なくとも2つの物理マシン(たとえば、物理マシン2、3)のそれぞれから少なくとも1つのコアを指定し、指定された複数のコアを仮想マシンの仮想CPUとして割り当てる。
The core management unit 4 and the
なお、コア管理部は、少なくとも2つの物理マシンのそれぞれから指定されたコアを含む仮想マシンを構築する上記機能に加えて、1つの物理マシン内のコアのみで構成される仮想マシンを構築する機能を備えることができる。
(動作の説明)
図2は、図1に示す仮想マシンエミュレートシステム1の動作例(仮想マシンエミュレート方法)を説明するためのフローチャートである。
The core management unit has a function of constructing a virtual machine including only cores in one physical machine, in addition to the above-described function of constructing a virtual machine including a core designated from each of at least two physical machines. Can be provided.
(Explanation of operation)
FIG. 2 is a flow chart for explaining an operation example (virtual machine emulation method) of the virtual
物理マシン2、3のうちの少なくとも1つの物理マシン、たとえば、物理マシン2において、コア管理部4は、物理マシン2、3がそれぞれに有している複数のコアを一括して管理する(ステップS1)。コア管理部4は、仮想マシンを構築する際、少なくとも2つの物理マシン(たとえば、物理マシン2、3)のそれぞれから少なくとも1つのコアを指定し、指定された複数のコアを仮想マシンの仮想CPUとして割り当てる。
In at least one physical machine of the
第1の実施形態の仮想マシンエミュレートシステム(特に、コア管理部)の構成および動作については以下で示す第3の実施形態にて詳細に説明する。
(効果の説明)
以上説明した第1の実施形態において、少なくとも1つのコア管理部は、少なくとも2つの物理マシンのそれぞれから少なくとも1つのコアを指定し、指定された複数のコアを仮想マシンの仮想CPUとして割り当てる。すなわち、本実施形態では、1つの仮想マシンを複数の物理マシンに跨いで構築することができる。これにより、仮想マシンの処理能力を1つの物理マシン以上にすることできる。また、負荷(使用コアの数)が特定の物理マシンにだけ偏ることを回避できる。
The configuration and operation of the virtual machine emulation system (particularly, the core management unit) of the first embodiment will be described in detail in the third embodiment shown below.
(Explanation of effects)
In the first embodiment described above, at least one core management unit designates at least one core from each of at least two physical machines, and assigns the designated multiple cores as virtual CPUs of virtual machines. That is, in this embodiment, one virtual machine can be constructed across a plurality of physical machines. As a result, the processing capacity of the virtual machine can be increased to one physical machine or more. Further, it is possible to prevent the load (the number of used cores) from being biased only to a specific physical machine.
さらに、本実施形態では、仮想マシンの仮想CPUを、異なる物理マシンのコアで構成している。1つの物理CPUが故障した場合であっても、他方の物理CPUまで故障する可能性は低い。従って、本実施形態によれば、仮想マシン全体がダウンする事態を回避することができる。 Further, in this embodiment, the virtual CPU of the virtual machine is configured by the cores of different physical machines. Even if one physical CPU fails, the other physical CPU is unlikely to fail. Therefore, according to the present embodiment, it is possible to avoid a situation where the entire virtual machine goes down.
以上を纏めると、本実施形態によれば、仮想マシンの処理能力および可用性を向上させることが可能となる。
[第2の実施形態]
図3は、図1に示す仮想マシンエミュレートシステム1、または後述される図4に示す仮想マシンエミュレートシステム10をコンピュータによって実現した例であり、本発明の第2の実施形態に係る仮想マシンエミュレートシステム100の構成例を示すブロック図である。仮想マシンエミュレートシステム100は、記憶部102と、プロセッサ等を含む演算部104と、を備える。記憶部102は、コンピュータ読み取り可能な記録媒体であり、コンピュータプログラム150を記憶する。コンピュータプログラム150は、例えば、図2に示される処理や図10に示される処理を演算部104に実行させるためのプログラムである。コンピュータプログラム150は、たとえば、複数の物理マシンのうちの少なくとも1つの物理マシンの演算部104(コンピュータ)により実行される。
In summary, according to this embodiment, it is possible to improve the processing capacity and availability of the virtual machine.
[Second Embodiment]
FIG. 3 is an example in which the virtual
以上説明した第2の実施形態によれば、第1および後述される第3の実施形態と同様に、仮想マシンの処理能力および可用性を向上させることが可能となる。 According to the second embodiment described above, it is possible to improve the processing capacity and availability of the virtual machine, as in the first and third embodiments described later.
なお、演算部104は、例えば、CPUと、CPUが実行する命令を記憶するメモリとで構成される。また、コンピュータ読み取り可能な記録媒体は、例えば、非一時的な記憶装置である。非一時的な記憶装置の例としては、例えば、光ディスク、磁気ディスク、ROM(Read Only Memory)、不揮発性半導体メモリ等の可搬媒体、コンピュータシステムに内蔵されるハードディスクを挙げることができる。また、コンピュータ読み取り可能な記録媒体は、一時的な記憶装置であってもよい。一時的な記憶装置の例としては、例えば、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の信号線、あるいは、コンピュータシステム内部の揮発性メモリを挙げることができる。
[第3の実施形態]
(構成の説明)
図4は、本発明の第3の実施形態に係る仮想マシンエミュレートシステム10の構成例を示すブロック図である。仮想マシンエミュレートシステム10は、物理マシン上で仮想マシンをエミュレートする。
The
[Third Embodiment]
(Description of configuration)
FIG. 4 is a block diagram showing a configuration example of a virtual
仮想マシンエミュレートシステム10は、複数の物理マシン(図4では、物理マシン12および物理マシン14を例示)のうちの少なくとも1つの物理マシンに設けられるコア管理部(図4では、コア管理部22およびコア管理部32を例示)を備える。コア管理部は、コア管理手段の一例である。さらに、仮想マシンエミュレートシステム10は、物理マシン12、14毎に設けられるコア制御部(図4では、コア制御部24およびコア制御部34を例示)を備える。コア制御部は、コア制御手段の一例である。
The virtual
所望の仮想マシンを構築する際、少なくとも1つの物理マシンに設けられるコア管理部(たとえば、図4において物理マシン12のコア管理部22)がユーザにより指定される。本実施形態では、このコア管理部を「指定コア管理部」(指定コア管理手段の一例)と呼ぶ。指定コア管理部、たとえば、コア管理部22は、所望の仮想マシンを構築しようとするユーザに対しての最初のユーザインタフェースマシンとして機能する。なお、指定コア管理部によって管理されるコアを多重化する場合のコアを管理するコア管理部を、本実施形態では、「多重化コア管理部」(多重化コア管理手段の一例)と呼ぶ。指定コア管理部と多重化コア管理部は、たとえば、Active/Active構成(相互スタンバイ構成)の関係にある。正常時にはそれぞれのコア管理部が異なる処理を実行し、指定コア管理部が故障した場合(あるいは異常が発見された場合)、指定コア管理部によって管理されるコアが実行していた処理は、多重化コア管理部によって管理されるコアに引き継がれる。換言すれば、指定コア管理部に異常が生じた場合、多重化コア管理部が指定コア管理部となる。
When constructing a desired virtual machine, a user specifies a core management unit (for example, the
仮想マシンエミュレートシステム10上で動作させる仮想マシンの性能(たとえば、処理速度)向上を目的とする場合、コア管理部(コア管理部22)は、典型的には、1つの物理マシン(たとえば、物理マシン12)に設けられる。もちろん、性能向上を目的とする場合であっても、コア管理部を複数設けることも可能である。
For the purpose of improving the performance (for example, processing speed) of a virtual machine operated on the virtual
一方、仮想マシンの可用性を向上させるために一つの仮想マシンのコア構成を多重化させることを目的とする場合、コア管理部(コア管理部22、コア管理部32)は、少なくとも2つの物理マシン12、14のそれぞれに設けられる。
On the other hand, when the purpose is to multiplex the core configuration of one virtual machine in order to improve the availability of the virtual machines, the core management unit (
物理CPU20および物理CPU30は、それぞれ複数のコアを備える。本実施形態では、それぞれが6つのコアを持つ場合(ヘキサコアの場合)を例に挙げる。たとえば、物理CPU20はコアA乃至Fを備え、物理CPU30はコアG乃至Lを備える。もちろん、1つの物理CPUにおけるコアの数は6個に限定されない。
The
コア管理部22、32は、仮想マシンエミュレートシステム10内の全ての物理マシン12、14の全てのコアA乃至Lを一括して管理する。詳細には、コア管理部22、32は、コア制御部24、34を介してシステム内の全てのコアA乃至Lについての稼働情報を取得する。
The
そして、仮想マシンを構築する際、コア管理部22、32のうちの少なくとも一方は、稼働情報に基づいて、少なくとも2つの物理マシン(たとえば、物理マシン12、14)のそれぞれから少なくとも1つのコアを指定し、指定された複数のコアを仮想マシンの仮想CPUとして割り当てる。稼働情報は、各コアの指定状況(使用状況)についての情報や、各コアの使用頻度(単位時間あたりに受信した処理命令の数)についての情報を含む。
Then, when constructing the virtual machine, at least one of the
なお、コア管理部は、少なくとも2つの物理マシンのそれぞれから指定されたコアを含む仮想マシンを構築する上記機能に加えて、1つの物理マシン内のコアのみで構成される仮想マシンを構築する機能を備えることができる。 The core management unit has a function of constructing a virtual machine including only cores in one physical machine, in addition to the above-described function of constructing a virtual machine including a core designated from each of at least two physical machines. Can be provided.
なお、この場合、コア管理部22、32のうちの少なくとも1つのコア管理部は、稼働情報をユーザに提示し、当該提示に基づくユーザの指定により、仮想マシンに割り当てるコア(以下、「指定コア」と呼ぶ場合もある)を決定することもできる。
In this case, at least one of the
また、上記指示は、具体的には、たとえば、どの物理マシン12、14のコア管理部を仮想マシンとして利用するかの指定(多重化する場合は複数のコア管理部)と、どの物理マシン12、14のコアをいくつ使うかの指定等を含む。
In addition, the above-mentioned instruction specifically specifies, for example, which
なお、指定コア管理部と多重化コア管理部は、互いに通信を行い、自らが有していない情報(他の物理マシンのコアの稼働情報)を他のコア管理部から得ることによりそれぞれのシステムコア管理テーブル60の内容を同期させることができる。すなわち、多重化の場合、各コア管理部の、後述するシステムコア管理テーブル60は同一内容であり、その内容は、仮想マシンエミュレートシステム10内の全てのコアについての稼働情報である。
The designated core management unit and the multiplex core management unit communicate with each other, and obtain information (the operating information of cores of other physical machines) that they do not have from other core management units. The contents of the core management table 60 can be synchronized. That is, in the case of multiplexing, the system core management table 60, which will be described later, of each core management unit has the same content, and the content is operation information for all cores in the virtual
また、コア管理部22、32は、稼働情報を解析することにより、自らが指定コアを決定してもよい。
The
仮想マシンを構築する際、コア管理部22、32は、それぞれのコア制御部24、34に対して、指定コアの確保を指示する。
When constructing the virtual machine, the
また、仮想マシン構築後に、OSやアプリケーションから処理命令を受信した場合、コア管理部22、32は、仮想マシン(仮想CPU)として割り当てられている全てのコアの中から所定のコア(たとえば、最適なコア)を指定して、指定されたコアを制御するコア制御部24、34へ処理命令を送信する。
Further, when a processing command is received from the OS or application after the virtual machine is constructed, the
コア制御部24、34は、それぞれが属する各物理マシン12、14の全ての各コアについての稼働情報を取得し、取得した稼働情報を、コア管理部22、32のそれぞれに報告する。
The
仮想マシンを構築する際、コア制御部24、34は、コア管理部22、32からの指定コアの確保指示に基づいて、仮想マシンのための指定コアを確保する。
When constructing the virtual machine, the
仮想マシンが起動されて、コア管理部22、32から処理命令を受信した際、コア制御部24、34は、指定されたコアに処理命令を転送する。コア制御部24、34は、コアから受信した、処理命令についての処理結果をコア管理部へ送信する。
When the virtual machine is started and receives the processing instruction from the
図5は、仮想マシンのイメージ図を示す。図5(A)は、比較のために一般的な仮想マシン、すなわち、1つの物理マシン内で構築される仮想マシンのイメージ図である。図5(B)は、第3の実施形態で構築される仮想マシン、すなわち、複数の物理マシンを横断して構築される仮想マシンのイメージ図である。なお、図5(B)では、1つの物理マシン内で構築された仮想マシンが示されているが、この仮想マシンは必ずしも必要ではない。 FIG. 5 shows an image diagram of a virtual machine. FIG. 5A is an image diagram of a general virtual machine for comparison, that is, a virtual machine constructed in one physical machine. FIG. 5B is an image diagram of a virtual machine constructed in the third embodiment, that is, a virtual machine constructed across a plurality of physical machines. Although FIG. 5B shows a virtual machine constructed in one physical machine, this virtual machine is not always necessary.
図6は、本実施形態で構築される第1仮想マシン41Aの例を示す図である。第1仮想マシン41Aは、特に、性能の向上を目的として構築される仮想マシンである。第1仮想マシン41Aは、OSと、アプリケーションと、仮想CPU40Aと、を含む。仮想CPU40Aは、指定コア管理部であるコア管理部22と、コア制御部24と、物理マシン12の全てのコアA乃至Fと、物理マシン14のコア制御部34と、物理マシン14の3つのコアG乃至Iと、で構成される。この場合、物理マシン14のコア管理部32は不要である。物理マシン14のコア制御部34は、物理マシン12のコア管理部22によって制御される。第1仮想マシン41Aは、コア9個で構成される仮想CPU40Aを備えるため、1台の物理マシンに較べてコアの数が多く性能が高い。たとえば、同一の処理を実行する場合には処理時間を短縮することができる。なお、図6に示す第1仮想マシン41Aのコア構成はあくまで一例である。第1仮想マシン41Aで使用されるコアの合計が物理マシンのコア数を上回っていれば十分である。たとえば、第1仮想マシン41Aは、物理マシン12の4個のコアと物理マシン14の4個のコアとで構成された仮想CPU40Aを備えることができる。この場合、上記と同様に、第1仮想マシン41Aのコアの数は8個となり、1台の物理マシンのコアの数6個を上回る。また、指定コア管理部は必ずしもコア管理部22である必要はなく、他の物理マシンのコア管理部であってもよい。
FIG. 6 is a diagram showing an example of the first
図7は、本実施形態で構築される第2仮想マシン41Bの例を示す図である。第2仮想マシン41Bは、特に、可用性の向上を目的として構築される仮想マシンである。第2仮想マシン41Bは、OSと、アプリケーションと、仮想CPU40Bと、を含む。仮想CPU40Bは、指定コア管理部であるコア管理部22と、コア制御部24と、コアA乃至F(指定コア)と、多重化コア管理部であるコア管理部32と、コア制御部34と、コアG乃至L(指定コア)と、で構成される。この場合、コア管理部22とコア管理部32との間で情報が共有されている。第2仮想マシン41Bでは、コア制御部24によって制御されるコアA乃至Fと、コア制御部34によって制御されるコアG乃至Lと、が多重化(二重化または冗長化とも呼ばれる)されている。
FIG. 7 is a diagram showing an example of the second
図8は、図4、図6、図7に示されるコア管理部22の構成例を示すブロック図である。なお、コア管理部32の構成は、コア管理部22の構成と同一である。また、指定コア管理部と多重化コア管理部とでは動作は同一ではないが、これは使用される構成が異なるのであって、潜在的に有する構成自体は同一である。
FIG. 8 is a block diagram showing a configuration example of the
コア管理部22は、ユーザインタフェース部50と、仮想CPU処理部52と、多重化処理部54と、コア制御通信部56と、システムコア稼働管理部58と、システムコア管理テーブル60と、システム監視部62と、を備える。
The
ユーザインタフェース部50は、ユーザと仮想マシンエミュレートシステム10とが情報をやり取りするための仕組みである。ユーザインタフェース部50は、たとえば、キーボード、マウス、ディスプレイなどのハードウェアと、画面上のメニュー、アイコン、ウィンドウなどのソフトウェアと、を含む。
The
仮想CPU処理部52は、OS/アプリケーションから処理命令を受信する。
The virtual
なお、図6に示すように、仮想CPU内において、1つのコア管理部(すなわち、指定コア管理部)のみが設定されている場合、OS/アプリケーションからの処理命令は、この指定コア管理部の仮想CPU処理部52によって受信される。
As shown in FIG. 6, when only one core management unit (that is, the designated core management unit) is set in the virtual CPU, the processing instruction from the OS / application is executed by the designated core management unit. It is received by the virtual
一方、図7に示すように、仮想CPU内において、複数のコア管理部(すなわち、指定コア管理部と多重化コア管理部)が設定されている場合、OS/アプリケーションからの処理命令は、たとえば、常に、一旦指定コア管理部の仮想CPU処理部52によって受信されてもよい。あるいは、複数のコア管理部の仮想CPU処理部52が処理命令をそれぞれ受信し、当該処理命令の実行先であるコアが自己の管理外のコアであるか否か等を判断することにより受信した処理命令を取捨選択することも可能である。たとえば、コア管理部は、メモリやI/O(Input/Output)アクセスする際の排他制御を実施し、コアの動作を制御することができる。上記排他制御を最小限に抑える仕組みは、OSの機能で対応することができる。
On the other hand, as shown in FIG. 7, when a plurality of core management units (that is, a designated core management unit and a multiplexed core management unit) are set in the virtual CPU, the processing instruction from the OS / application is, for example, , May always be once received by the virtual
多重化処理部54は、多重化を行う場合の多重化コア管理部(たとえば、図4においてコア管理部32)と通信を行う。
The
コア制御通信部56は、コア制御部24と通信する。たとえば、コア制御通信部56は、仮想マシンにおいて指定されたコアに対する処理命令を、コア制御部24に転送する。なお、たとえば、図6に示すように、コア管理部が多重化されておらず、たとえば、図6に示すように、コア管理部22のみが使用されている場合、コア管理部22が属していない物理マシン14にはコア管理部は存在していない(使用されていない)。しかしながら、このような場合であっても、物理マシン14にも制御対象のコア(コアG、H、I)は存在している。従って、この場合、指定コア管理部である、図6のコア管理部22のコア制御通信部56は、コア管理部22が存在していない物理マシン14のコア制御部34に対しても受信した処理命令を転送する。
The core
システムコア稼働管理部58は、コア制御部24から、コア制御部24によって制御される全てのコアについての稼働情報を受信し、システムコア管理テーブル60に保存する。なお、仮想マシンが多重化されていない場合、指定コア管理部が属していない物理マシンのコア制御部からもそのコア制御部によって制御される全てのコアについての稼働情報を受信する。
The system core
システム監視部62は、障害監視を行う。
The
図9は、図4に示されるコア制御部24の構成例を示すブロック図である。なお、コア制御部34の構成は、コア制御部24の構成と同一である。
FIG. 9 is a block diagram showing a configuration example of the
コア制御部24は、コア管理通信部80と、コア通信部82と、コア稼働管理部84と、コア管理テーブル86と、を備える。
The
コア管理通信部80は、コア管理部22と通信する。たとえば、コア管理通信部80は、コア管理部22から処理命令を受信する。
The core
コア通信部82は、コア管理通信部80によって受信された処理命令をコアに転送する。
The
コア稼働管理部84は、所定の周期で定期的に起動する。起動したコア稼働管理部84は、コア管理テーブル86を参照してコアの稼動情報を収集し、収集した稼働情報を、コア管理通信部80を介してコア管理部へ送信する。稼働情報の内容は上述したとおりである。
The core
コア管理テーブル86は、自己が属する物理マシン内のコアについての稼動情報を保存する。
(動作の説明)
図10は、仮想マシンエミュレートシステム10における仮想マシンの割当動作の一例を説明するためのフローチャートである。なお、以下の説明では、物理マシン12のコア管理部22が指定コア管理部に指定されていることを前提とした説明を行う。もちろん、指定コア管理部は、コア管理部22に限定されない。
The core management table 86 stores operation information about cores in a physical machine to which the core management table 86 belongs.
(Explanation of operation)
FIG. 10 is a flowchart for explaining an example of a virtual machine allocation operation in the virtual
仮想マシンの割当時、指定コア管理部であるコア管理部22のユーザインタフェース部50は、ユーザから稼働情報要求を受け付ける(ステップS10)。ユーザインタフェース部50は、システムコア管理テーブル60から稼働情報(仮想マシンエミュレートシステム10内のすべてのコアA乃至Lの稼働に関する情報)を読み出す(ステップS11)。ユーザインタフェース部50は、稼働情報要求の応答として稼働情報をユーザに提示する(ステップS12)。具体的には、ユーザインタフェース部50は、読み出した稼働情報をディスプレイ等に表示する。
When allocating a virtual machine, the
ユーザインタフェース部50は、稼働情報を認識したユーザから、物理マシンの指定、使用するコア数、さらには多重化指定等の情報である仮想マシン割当情報を含む仮想マシン割当要求を受け付ける(ステップS13)。コア制御通信部56は、ユーザインタフェース部50によって受け付けられた仮想マシン割当要求に基づいた情報であり、コアを確保するための要求であるコア確保要求を、指定された物理マシン(たとえば、物理マシン12)のコア制御部(たとえば、コア制御部24)に対して送信する(ステップS14)。
The
コア制御部24のコア管理通信部80は、コア確保要求を受信する(ステップS15)。コア管理通信部80は、コア管理テーブル86上の稼働情報を更新する(ステップS16)。具体的には、コア管理通信部80は、コア確保要求によって指定されたコアの状態を「使用中」に変更する。コア管理通信部80は、コア確保要求に対する応答であり、コアの確保が終了したことを示すコア確保応答を、コア管理部22へ送信する(ステップS17)。
The core
コア確保応答を受信したコア制御通信部56は、ユーザの指示(仮想マシン割当情報の内容)が多重化指定を含むか否かを判定する(ステップS18)。多重化指定が含まれる場合(ステップS18/Yes)、多重化処理部54は、多重化コア管理部(たとえば、物理マシン14のコア管理部32)へ、上記の仮想マシン割当情報を含む多重化要求を送信する(ステップS19)。
The core
多重化コア管理部であるコア管理部32の多重化処理部54は、多重化要求を受信する(ステップS20)。多重化処理部54は、受信した多重化要求に含まれる仮想マシン割当情報を保存する(ステップS21)。多重化処理部54は、多重化要求の応答としての多重化応答を、指定コア管理部であるコア管理部22へ送信する(ステップS22)。
The
ユーザの指示に多重化指定が含まれない場合(ステップS18/No)、および多重化コア管理部であるコア管理部32から多重化応答を受信した場合、指定コア管理部は、仮想マシン割当情報を保存する(ステップS23)。ユーザインタフェース部50は、ユーザに対して、仮想マシン割当要求の応答としての仮想マシン割当応答を出力する(ステップS24)。これらの一連の処理により、仮想マシンが割り当てられる。
When the user's instruction does not include the multiplexing designation (step S18 / No) and when the multiplexing response is received from the
図11は、割り当てられた仮想マシンが稼働した後において仮想CPUがOS/アプリケーションからの処理命令を受信した際の動作の一例を示すフローチャートである。 FIG. 11 is a flowchart showing an example of the operation when the virtual CPU receives a processing command from the OS / application after the assigned virtual machine has started operating.
仮想マシン稼働後、仮想CPUは、OSやアプリケーションから処理命令を受信する(ステップS30)。具体的には、処理命令は、仮想CPUを構成するコア管理部の仮想CPU処理部52によって受信される。仮想CPU処理部52は、システムコア管理テーブル60から稼働情報を読み出す(ステップS31)。仮想CPU処理部52は、少なくとも稼動情報に基づいて、仮想マシンで割り当てられている複数のコアの中で最適なコアを選定する(ステップS32)。この最適なコアの選定処理は、スケジューリングと呼ばれる場合がある。また、最適なコアを選定するために使用される稼働情報は、具体的には、たとえば、各コアの使用頻度(単位時間あたりに受信した処理命令の数)についての情報である。仮想CPU処理部52は、選定されたコアを制御するコア制御部に対して処理命令を送信する(ステップS33)。コア制御部のコア管理通信部80は、処理命令を受信する(ステップS34)。コア管理通信部80は、当該処理命令を実行するコア(たとえば、最適なコア)に関して、コア管理テーブル86の稼働情報における当該コアの処理命令の数をインクリメントする(ステップS35)。コア通信部82は、処理命令を当該コアへ送信する(ステップS36)。
After running the virtual machine, the virtual CPU receives a processing command from the OS or application (step S30). Specifically, the processing instruction is received by the virtual
図12は、稼働情報の更新動作の一例を示すフローチャートである。 FIG. 12 is a flowchart showing an example of the operation information update operation.
まず、図11を用いて説明したように、コア制御部では処理命令を受信する度に、コア管理テーブル86における処理命令の数をインクリメントしている。 First, as described with reference to FIG. 11, the core control unit increments the number of processing instructions in the core management table 86 each time a processing instruction is received.
そして、コア制御部のコア稼働管理部84は、所定の周期で定期的に起動する。具体的には、たとえば、コア稼働管理部84は、計時手段(図9において不図示)の計測結果を観測することにより、あるいは当該計時手段からのタイムアップ信号の受信の有無を確認することにより、起動タイミングが到来したか否かを判定する(ステップS39)。起動タイミングが到来しない場合(ステップS39/No)、ステップS39の処理が再度実行される。一方、起動タイミングが到来すると(ステップS39/Yes)、コア稼働管理部84は、起動し、コア管理テーブル86から各コアの処理命令の数を読み出す(ステップS40)。コア稼働管理部84は、読み出した各コアの処理命令の数を、コア管理部へ送信する(ステップS41)。送信後、コア稼働管理部84は、コア管理テーブルにおける各コアの処理命令の数をクリアしてゼロにする(ステップS42)。
Then, the core
コア管理部のシステムコア稼働管理部58は、各コアの処理命令の数を受信する(ステップS43)。システムコア稼働管理部58は、受信した処理命令の数を、システムコア管理テーブル60に反映する(ステップS44)。
The system core
以上の処理により、全てのコア管理部は、全てのコアについての、単位時間あたりの処理命令の数(すなわち、使用頻度)を把握することができる。 Through the above processing, all core management units can grasp the number of processing instructions per unit time (that is, the frequency of use) for all cores.
なお、仮想マシン内が多重化されておらず、システム内に指定コア管理部のみが存在する場合(たとえば、図6の場合)、指定コア管理部が存在しない方の物理マシンに存在するコア制御部は、読み出した各コアの処理命令の数を、指定コア管理部へ送信する。 When the virtual machine is not multiplexed and only the designated core management unit exists in the system (for example, in the case of FIG. 6), the core control existing in the physical machine in which the designated core management unit does not exist. The unit transmits the number of read processing instructions of each core to the designated core management unit.
一方、仮想マシン内が多重化されている場合(たとえば、図7の場合)、コア制御部は、自己が属する物理マシン内のコア管理部のみに処理命令の数を送信する。この場合、指定コア管理部と多重化コア管理部のデータ同期(システムコア管理テーブル60の同期)は別途実施される。 On the other hand, when the virtual machine is multiplexed (for example, in the case of FIG. 7), the core control unit transmits the number of processing instructions only to the core management unit in the physical machine to which the core control unit belongs. In this case, data synchronization between the designated core management unit and the multiplexing core management unit (synchronization of the system core management table 60) is performed separately.
図13は、割り当てられた仮想マシンが稼働した後の障害監視動作の一例を示すフローチャートである。 FIG. 13 is a flowchart showing an example of the fault monitoring operation after the assigned virtual machine is activated.
本障害監視は、コア管理部のシステム監視部62が所定の周期で定期的に起動した際に実行される。具体的には、たとえば、システム監視部62は、計時手段(図8において不図示)の計測結果を観測することにより、あるいは当該計時手段からのタイムアップ信号の受信の有無を確認することにより、起動タイミングが到来したか否かを判定する(ステップS49)。起動タイミングが到来しない場合(ステップS49/No)、ステップS49の処理が再度実行される。一方、起動タイミングが到来すると(ステップS49/Yes)、システム監視部62は、起動し、自己が属するコア管理部が「多重化コア管理部」として動作しているか否かを判定する(ステップS50)。自己が属するコア管理部が「多重化コア管理部」として動作している場合(ステップS50/Yes)、システム監視部62は、指定コア管理部へ「ヘルスチェック信号」を送信する(ステップS51)。システム監視部62は、ヘルスチェック信号に対する指定コア管理部からの応答が所定時間内に受信できたか否かを判定する(ステップS52)。応答が所定時間内に受信できない場合(ステップS52/No)、システム監視部62は、自己が属するコア管理部を「指定コア管理部」とする(ステップS53)。
This fault monitoring is executed when the
自己が属するコア管理部が「指定コア管理部」として動作している場合(ステップS50/No)、所定時間内にヘルスチェック信号に対する応答を受信した場合(ステップS52/Yes)、およびステップS53の処理が終了した場合、以下のステップS54の処理が実行される。 When the core management unit to which the self belongs operates as the “designated core management unit” (step S50 / No), when a response to the health check signal is received within a predetermined time (step S52 / Yes), and in step S53. When the process ends, the process of the following step S54 is executed.
システム監視部62は、コア制御部の状態を監視する。具体的には、システム監視部62は、自己が属するコア管理部の管理下にあるコア制御部に対してヘルスチェック信号を送信する(ステップS54)。この場合、管理下にあるコア制御部は、必ずしも同一の物理マシンに属するコア制御部とは限らず、他の物理マシンに属するコア制御部を含む場合もある。システム監視部62は、ヘルスチェック信号に対するコア制御部からの応答が所定時間内に受信できたか否かを判定する(ステップS55)。コア制御部からの応答を受信できなかった場合(ステップS55/No)、システム監視部62は、システムコア管理テーブル60の、当該コア制御部が管理しているコアの状態を「使用不可」に変更する(ステップS56)。ステップS56の処理が完了した場合、および、コア制御部からの応答が受信できた場合(ステップS55/Yes)、ステップS49の処理が再度実行される。
(効果の説明)
以上説明した第3の実施形態において、少なくとも1つのコア管理部は、少なくとも2つの物理マシンのそれぞれから少なくとも1つのコアを指定し、指定された複数のコアを仮想マシンの仮想CPUとして割り当てている。すなわち、本実施形態では、1つの仮想マシンを複数の物理マシンに跨いで構築することができる。これにより、仮想マシンの処理能力を1つの物理マシン以上にすることできる。また、負荷(使用コアの数)が特定の物理マシンにだけ偏ることを回避できる。
The
(Explanation of effects)
In the third embodiment described above, at least one core management unit designates at least one core from each of at least two physical machines, and assigns the designated multiple cores as virtual CPUs of virtual machines. . That is, in this embodiment, one virtual machine can be built across a plurality of physical machines. As a result, the processing capacity of the virtual machine can be increased to one physical machine or more. Further, it is possible to prevent the load (the number of used cores) from being biased only to a specific physical machine.
さらに、仮想マシンの仮想CPUは、異なる物理マシンのコアで構成される。1つの物理CPUが故障した場合であっても他方の物理CPUまで故障する可能性は低い。従って、仮想マシン全体がダウンする事態を回避することができる。 Further, the virtual CPU of the virtual machine is composed of cores of different physical machines. Even if one physical CPU fails, the other physical CPU is unlikely to fail. Therefore, it is possible to prevent the entire virtual machine from going down.
以上を纏めると、本実施形態によれば、仮想マシンの処理能力および可用性を向上させることが可能となる。 In summary, according to this embodiment, it is possible to improve the processing capacity and availability of the virtual machine.
さらに、本実施形態の場合、仮想マシンは、複数の物理マシンのコアで構成されているが、システムとしては1システムで構成される。従って、仮想OS上での考慮が不要であり、多重化および高速化、あるいは回路や装置の規模を簡素化することが可能である。 Further, in the case of the present embodiment, the virtual machine is configured by the cores of a plurality of physical machines, but is configured by one system. Therefore, it is not necessary to consider on the virtual OS, and it is possible to multiplex and speed up, or to simplify the scale of circuits and devices.
さらに、本実施形態の場合、物理マシンは跨いでいるが、仮想OSはひとつなので、クラスタ構成とは違い、通常のOS保守で済む。すなわち、本実施形態によれば、保守性を向上させることができる。 Further, in the case of the present embodiment, although the physical machines are straddled, since there is only one virtual OS, normal OS maintenance is sufficient unlike the cluster configuration. That is, according to this embodiment, maintainability can be improved.
さらに、本実施形態によれば、物理マシンに囚われることなくコア単位で仮想マシンを構築することができるため、1つのコアのみが空いている物理マシンや旧式の物理マシンを利用することができる。すなわち、本実施形態によれば、資源を有効活用することができる。 Furthermore, according to the present embodiment, a virtual machine can be constructed in core units without being restricted by a physical machine, and thus it is possible to use a physical machine in which only one core is vacant or an old physical machine. That is, according to this embodiment, resources can be effectively used.
しかも、本実施形態では、仮想マシンに割り当てるコアを、物理マシン単位ではなくシステム全体で管理している。従って、物理マシン上に複数の仮想マシンを構築する場合、シームレスに構築することができる。 Moreover, in the present embodiment, cores assigned to virtual machines are managed by the entire system, not by physical machine. Therefore, when a plurality of virtual machines are constructed on a physical machine, they can be constructed seamlessly.
以上、各実施形態を用いて本発明を説明したが、本発明の技術的範囲は、上記各実施形態の記載に限定されない。上記各実施形態に多様な変更又は改良を加えることが可能であることは当業者にとって自明である。従って、そのような変更又は改良を加えた形態もまた本発明の技術的範囲に含まれることは説明するまでもない。また、以上説明した各実施形態において使用される、数値や各構成の名称等は例示的なものであり適宜変更可能である。 Although the present invention has been described above using each embodiment, the technical scope of the present invention is not limited to the description of each embodiment. It is obvious to those skilled in the art that various changes or improvements can be added to each of the above embodiments. Therefore, it is needless to say that a form added with such changes or improvements is also included in the technical scope of the present invention. Further, the numerical values, the names of the components, and the like used in each of the embodiments described above are merely examples, and can be changed as appropriate.
1 仮想マシンエミュレートシステム
2、3 物理マシン
4、5 コア管理部
10 仮想マシンエミュレートシステム
12、14 物理マシン
20、30 物理CPU
22、32 コア管理部
24、34 コア制御部
40A、40B 仮想CPU
41A 第1仮想マシン
41B 第2仮想マシン
50 ユーザインタフェース部
52 仮想CPU処理部
54 多重化処理部
56 コア制御通信部
58 システムコア稼働管理部
60 システムコア管理テーブル
62 システム監視部
80 コア管理通信部
82 コア通信部
84 コア稼働管理部
86 コア管理テーブル
100 仮想マシンエミュレートシステム
102 記憶部
104 演算部
150 コンピュータプログラム
1 Virtual
22, 32
41A First
Claims (7)
複数の前記コア管理手段は、それぞれ、互いに異なる前記仮想マシンを構築し、当該仮想マシンを構築する際、少なくとも2つの前記物理マシンのそれぞれから少なくとも1つの前記コアを指定し、指定された複数の前記コアを前記仮想マシンの仮想CPUとして割り当てる機能を有し、
複数の前記コア管理手段の少なくとも1つは、正常時に処理を実行する指定コア管理手段として指定され、別の前記コア管理手段の少なくとも1つは、前記指定コア管理手段が故障した場合に、前記指定コア管理手段の処理を引き継いで実行する多重化コア管理手段と成し、
前記コア管理手段は、自己が前記指定コア管理手段であるか前記多重化コア管理手段であるかを判定し、自己が前記多重化コア管理手段である場合に、前記指定コア管理手段に対してヘルスチェック信号を送信し、前記ヘルスチェック信号に対する応答が所定時間内に受信できない場合、前記多重化コア管理手段は、自己を前記指定コア管理手段とする機能をさらに備えている仮想マシンエミュレートシステム。 A plurality of physical machines that collectively manages all of the plurality of cores having respectively, provided with plurality of Turkey A management means to build a virtual machine,
The plurality of core management units respectively construct the different virtual machines, and when constructing the virtual machines, designate at least one core from each of the at least two physical machines, and designate a plurality of designated cores. Has a function of allocating the core as a virtual CPU of the virtual machine,
At least one of the plurality of core managing means is designated as a designated core managing means for executing a process at a normal time, and at least one of the other core managing means is configured to: It is a multiplexed core management means that takes over the processing of the designated core management means and executes it.
The core management means determines whether it is the designated core management means or the multiplexed core management means, and when the self is the multiplexed core management means, When a health check signal is transmitted and a response to the health check signal cannot be received within a predetermined time, the multiplex core management means further has a function of making itself the designated core management means. ..
前記コア管理手段は、前記仮想マシンが構築された後に、OSまたはアプリケーションから処理命令を受信した際に、前記稼働情報に基づいて、前記仮想CPUに割り当てられている複数の前記コアの中から最適な前記コアを選定し、選定された前記コアを制御する前記コア制御手段に対して前記処理命令を送信することを特徴とする請求項2乃至4のいずれか1項に記載の仮想マシンエミュレートシステム。 Further comprising core control means provided in each of the plurality of physical machines, for controlling the plurality of cores of the respective physical machines,
The core management unit is optimal among the plurality of cores assigned to the virtual CPU based on the operation information when a processing command is received from the OS or application after the virtual machine is constructed. The virtual machine emulation according to any one of claims 2 to 4, characterized in that the core is selected, and the processing command is transmitted to the core control means that controls the selected core. system.
それぞれ、互いに異なる前記仮想マシンを構築し、当該仮想マシンを構築する際、少なくとも2つの前記物理マシンのそれぞれから少なくとも1つの前記コアを指定し、指定された複数の前記コアを前記仮想マシンの仮想CPUとして割り当て、
また、複数の前記コア管理手段の少なくとも1つが、正常時に処理を実行する指定コア管理手段として機能し、
前記指定コア管理手段が故障した場合に、別の前記コア管理手段の少なくとも1つが、前記指定コア管理手段の処理を引き継いで実行する多重化コア管理手段として機能し、
さらに、前記コア管理手段自身が、前記指定コア管理手段であるか前記多重化コア管理手段であるかを判定し、前記多重化コア管理手段である場合に、別の前記コア管理手段による前記指定コア管理手段に対してヘルスチェック信号を送信し、前記ヘルスチェック信号に対する応答が所定時間内に受信できない場合、自己を前記指定コア管理手段とする
仮想マシンエミュレート方法。 Multiple physical machines to manage collectively a plurality of cores having respectively, a plurality of cores managing means for constructing a virtual machine,
Each of the different virtual machines is constructed, and when the virtual machine is constructed , at least one core is designated from each of the at least two physical machines, and a plurality of designated cores are virtualized by the virtual machine. Assigned as CPU ,
Further, at least one of the plurality of core managing means functions as a designated core managing means for executing a process at a normal time,
When the designated core management unit fails, at least one of the other core management units functions as a multiplexing core management unit that takes over and executes the processing of the designated core management unit,
Further, the core management means itself determines whether it is the designated core management means or the multiplexed core management means, and when it is the multiplexed core management means, the designation by another core management means is performed. A virtual machine emulation method in which a health check signal is transmitted to a core management unit, and when a response to the health check signal cannot be received within a predetermined time, the self is designated as the designated core management unit .
複数の前記物理マシンがそれぞれに有している複数のコアを一括して管理し、仮想マシンを構築する際、少なくとも2つの前記物理マシンのそれぞれから少なくとも1つの前記コアを指定し、指定された複数の前記コアを前記仮想マシンの仮想CPUとして割り当てる処理を実行させ、
また、前記物理マシンのコンピュータの少なくとも1つに、正常時に処理を実行する指定コア管理手段として機能させ、別の前記物理マシンのコンピュータの少なくとも1つに、前記指定コア管理手段が故障した場合に、前記指定コア管理手段の処理を引き継いで実行する多重化コア管理手段として機能させ、
さらに、前記物理マシンのコンピュータのそれぞれに、自己が前記指定コア管理手段であるか前記多重化コア管理手段であるかを判定させ、自己が前記多重化コア管理手段である場合に、前記指定コア管理手段に対してヘルスチェック信号を送信し、前記ヘルスチェック信号に対する応答が所定時間内に受信できない場合、自己を前記指定コア管理手段として機能させるコンピュータプログラム。 A computer of at least two of the plurality of physical machines,
When managing a plurality of cores respectively possessed by the plurality of physical machines and constructing a virtual machine, at least one core is designated from each of the at least two physical machines, and designated. Executing a process of allocating a plurality of the cores as virtual CPUs of the virtual machine ,
In addition, at least one of the computers of the physical machine is caused to function as a designated core management unit that executes processing at normal time, and at least one of the computers of the other physical machines fails the designated core management unit. , Functioning as a multiplexing core management unit that takes over and executes the processing of the designated core management unit,
Further, each of the computers of the physical machines is made to judge whether it is the designated core managing means or the multiplexed core managing means, and when the self is the multiplexed core managing means, the designated core A computer program that transmits a health check signal to the management means and causes itself to function as the designated core management means when a response to the health check signal cannot be received within a predetermined time .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017189770A JP6696947B2 (en) | 2017-09-29 | 2017-09-29 | Virtual machine emulation system, virtual machine emulation method and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017189770A JP6696947B2 (en) | 2017-09-29 | 2017-09-29 | Virtual machine emulation system, virtual machine emulation method and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019067013A JP2019067013A (en) | 2019-04-25 |
JP6696947B2 true JP6696947B2 (en) | 2020-05-20 |
Family
ID=66339750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017189770A Active JP6696947B2 (en) | 2017-09-29 | 2017-09-29 | Virtual machine emulation system, virtual machine emulation method and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6696947B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06250986A (en) * | 1993-02-22 | 1994-09-09 | Nec Corp | Multimicroprocessor system and information distribution circuit used for the same |
JP2008152594A (en) * | 2006-12-19 | 2008-07-03 | Hitachi Ltd | Method for enhancing reliability of multi-core processor computer |
US9805479B2 (en) * | 2013-11-11 | 2017-10-31 | Amazon Technologies, Inc. | Session idle optimization for streaming server |
-
2017
- 2017-09-29 JP JP2017189770A patent/JP6696947B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019067013A (en) | 2019-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4519098B2 (en) | Computer management method, computer system, and management program | |
EP3252608B1 (en) | Node system, server device, scaling control method, and program | |
US9075661B2 (en) | Placing objects on hosts using hard and soft constraints | |
US11740921B2 (en) | Coordinated container scheduling for improved resource allocation in virtual computing environment | |
JP6840099B2 (en) | Service provision system, resource allocation method, and resource allocation program | |
WO2012056596A1 (en) | Computer system and processing control method | |
CN112948063B (en) | Cloud platform creation method and device, cloud platform and cloud platform implementation system | |
JP2010282420A (en) | Management computer, resource management method, resource management program, recording medium, and information processing system | |
JP2016103179A (en) | Allocation method for computer resource and computer system | |
JPWO2012066640A1 (en) | Computer system, migration method and management server | |
CN113382077B (en) | Micro-service scheduling method, micro-service scheduling device, computer equipment and storage medium | |
JP6010975B2 (en) | Job management apparatus, job management method, and program | |
JP6543219B2 (en) | Virtual machine allocation apparatus and resource management method | |
JP5151509B2 (en) | Virtual machine system and virtual machine distribution method used therefor | |
US20170206027A1 (en) | Management system and management method of computer system | |
JPWO2006057040A1 (en) | Computer system and information processing method | |
JP5879117B2 (en) | Information processing system and operation management method | |
JP6696947B2 (en) | Virtual machine emulation system, virtual machine emulation method and computer program | |
WO2019159875A1 (en) | Arrangement constitution device and arrangement constitution method | |
WO2020261412A1 (en) | Virtualization-based control device, virtualization-based control method, and virtualization-based control program | |
JP2016057851A (en) | Virtual machine rearranging apparatus | |
JP4595892B2 (en) | Database management system construction method, apparatus, program, and recording medium | |
JP6277069B2 (en) | Virtual device management apparatus, virtual device management method, and virtual device management program | |
TWI733744B (en) | Computing equipment and computing equipment storage component management method and system | |
JP6374059B2 (en) | Computer resource allocation determination method, computer resource allocation determination method program, and control computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200109 |
|
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: 20200331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200423 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6696947 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |