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 PDF

Info

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
Application number
JP2017189770A
Other languages
Japanese (ja)
Other versions
JP2019067013A (en
Inventor
赤川 陽一
陽一 赤川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2017189770A priority Critical patent/JP6696947B2/en
Publication of JP2019067013A publication Critical patent/JP2019067013A/en
Application granted granted Critical
Publication of JP6696947B2 publication Critical patent/JP6696947B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Patent Document 1, each core of the first processor of the call processing server belonging to the active system is assigned to each VM (Virtual Machine) of the call processing server, and the second processor of the call processing server belonging to the standby system is provided. Describes a technique for allocating a part of a plurality of cores of the above to a plurality of VMs that are standby systems.

特許文献2には、ユーザによってリソースの容量の上限値が設定されるリソースプールにより、リソースプール内であれば任意の容量の仮想マシンを任意の台数設定する技術が記載されている。   Patent Document 2 describes a technique of setting an arbitrary number of virtual machines of an arbitrary capacity in a resource pool by a resource pool in which a user sets an upper limit value of the resource capacity.

特開2017−27166号公報JP, 2017-27166, A 特開2015−046078号公報JP, 2005-046078, A

クラウドコンピューティングのように、仮想マシンを短期的に扱う場合、未使用のコアを含む物理マシンを検索して仮想マシンを構築する。しかしながら、仮想マシンは一台の物理マシン上でしか存在できなかった。すなわち、物理マシン内での未使用のコア構成でしか仮想マシンを構築することができなかった。   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 Patent Document 1 and Patent Document 2.

本発明は、上記課題を解決するためになされたものであり、仮想マシンの性能および可用性を向上させることが可能な仮想マシンエミュレートシステム、仮想マシンエミュレート方法、コンピュータプログラム、および仮想マシンを提供することを目的とする。   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の実施形態に係る仮想マシンエミュレートシステムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the virtual machine emulation system which concerns on the 1st Embodiment of this invention. 図1に示す仮想マシンエミュレートシステムの動作例を説明するためのフローチャートである。3 is a flowchart for explaining an operation example of the virtual machine emulation system shown in FIG. 1. 本発明の第2の実施形態に係る仮想マシンエミュレートシステムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the virtual machine emulation system which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施形態に係る仮想マシンエミュレートシステムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the virtual machine emulation system which concerns on the 3rd Embodiment of this invention. 仮想マシンのイメージ図である。It is an image figure of a virtual machine. 第3の実施形態で構築される第1仮想マシンの例を示す図である。It is a figure which shows the example of the 1st virtual machine constructed | assembled by 3rd Embodiment. 第3の実施形態で構築される第2仮想マシンの例を示す図である。It is a figure which shows the example of the 2nd virtual machine constructed | assembled by 3rd Embodiment. 図4に示すコア管理部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the core management part shown in FIG. 図4に示すコア制御部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the core control part shown in FIG. 第3の実施形態の仮想マシンエミュレートシステムにおける、仮想マシンの割当動作の一例を説明するためのフローチャートである。9 is a flowchart for explaining an example of a virtual machine allocation operation in the virtual machine emulation system according to the third exemplary embodiment. 本実施形態の仮想マシンエミュレートシステムにおける、割り当てられた仮想マシンが稼働した後に仮想CPUがOS/アプリケーションからの処理命令を受信した際の動作の一例を示すフローチャートである。8 is a flowchart showing an example of an operation when a virtual CPU receives a processing command from an OS / application after the assigned virtual machine has been operated in the virtual machine emulation system of the present exemplary embodiment. 本実施形態の仮想マシンエミュレートシステムにおける稼働情報の更新動作の一例を示すフローチャートである。It is a flow chart which shows an example of operation data update operation in a virtual machine emulation system of this embodiment. 本実施形態の仮想マシンエミュレートシステムにおける、割り当てられた仮想マシンが稼働した後の障害監視動作の一例を示すフローチャートである。6 is a flowchart showing an example of a failure monitoring operation after the assigned virtual machine has been activated in the virtual machine emulation system of the exemplary embodiment.

[第1の実施形態]
(構成の説明)
図1は、本発明の第1の実施形態に係る仮想マシンエミュレートシステム1の構成例を示すブロック図である。
[First Embodiment]
(Description of configuration)
FIG. 1 is a block diagram showing a configuration example of a virtual machine emulation system 1 according to the first exemplary embodiment of the present invention.

仮想マシンエミュレートシステム1は、物理マシン上で仮想マシンをエミュレートする。仮想マシンエミュレートシステム1は、複数の物理マシン(図1では、物理マシン2および物理マシン3を例示)のうちの少なくとも1つの物理マシンに設けられるコア管理部(図1では、コア管理部4およびコア管理部5を例示)を備える。コア管理部は、コア管理手段の一例である。   The virtual machine emulation system 1 emulates a virtual machine on a physical machine. The virtual machine emulation system 1 includes a core management unit (a core management unit 4 in FIG. 1) provided in at least one physical machine of a plurality of physical machines (the physical machine 2 and the physical machine 3 are illustrated in FIG. 1). And a core management unit 5). The core management unit is an example of core management means.

コア管理部4およびコア管理部5は、物理マシン2、3がそれぞれに有している物理CPUの複数のコアの全てを一括して管理する。そして、仮想マシンを構築する際、コア管理部4およびコア管理部5の少なくとも一方は、少なくとも2つの物理マシン(たとえば、物理マシン2、3)のそれぞれから少なくとも1つのコアを指定し、指定された複数のコアを仮想マシンの仮想CPUとして割り当てる。   The core management unit 4 and the core management unit 5 collectively manage all of the plurality of cores of the physical CPUs of the physical machines 2 and 3, respectively. Then, when constructing the virtual machine, at least one of the core management unit 4 and the core management unit 5 designates at least one core from each of at least two physical machines (for example, the physical machines 2 and 3) and is designated. The plurality of cores are assigned as virtual CPUs of the virtual machine.

なお、コア管理部は、少なくとも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 machine emulation system 1 shown in FIG.

物理マシン2、3のうちの少なくとも1つの物理マシン、たとえば、物理マシン2において、コア管理部4は、物理マシン2、3がそれぞれに有している複数のコアを一括して管理する(ステップS1)。コア管理部4は、仮想マシンを構築する際、少なくとも2つの物理マシン(たとえば、物理マシン2、3)のそれぞれから少なくとも1つのコアを指定し、指定された複数のコアを仮想マシンの仮想CPUとして割り当てる。   In at least one physical machine of the physical machines 2 and 3, for example, the physical machine 2, the core management unit 4 collectively manages a plurality of cores included in the physical machines 2 and 3 (steps). S1). When constructing a virtual machine, the core management unit 4 designates at least one core from each of at least two physical machines (for example, the physical machines 2 and 3), and designates the designated cores as virtual CPUs of the virtual machine. Assign as.

第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 machine emulation system 1 shown in FIG. 1 or the virtual machine emulation system 10 shown in FIG. 4 described later is realized by a computer, and a virtual machine according to a second embodiment of the present invention. 3 is a block diagram showing a configuration example of an emulation system 100. FIG. The virtual machine emulation system 100 includes a storage unit 102 and a calculation unit 104 including a processor and the like. The storage unit 102 is a computer-readable recording medium and stores a computer program 150. The computer program 150 is, for example, a program for causing the calculation unit 104 to execute the processing shown in FIG. 2 and the processing shown in FIG. 10. The computer program 150 is executed by, for example, the computing unit 104 (computer) of at least one physical machine of the plurality of physical machines.

以上説明した第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 arithmetic unit 104 includes, for example, a CPU and a memory that stores an instruction executed by the CPU. The computer-readable recording medium is, for example, a non-transitory storage device. Examples of the non-transitory storage device include, for example, a portable medium such as an optical disk, a magnetic disk, a ROM (Read Only Memory), and a nonvolatile semiconductor memory, and a hard disk built in a computer system. Further, the computer-readable recording medium may be a temporary storage device. Examples of the temporary storage device include a signal line for transmitting a program via a network such as the Internet or a communication line such as a telephone line, or a volatile memory inside a computer system.

[Third Embodiment]
(Description of configuration)
FIG. 4 is a block diagram showing a configuration example of a virtual machine emulation system 10 according to the third exemplary embodiment of the present invention. The virtual machine emulation system 10 emulates a virtual machine on a physical machine.

仮想マシンエミュレートシステム10は、複数の物理マシン(図4では、物理マシン12および物理マシン14を例示)のうちの少なくとも1つの物理マシンに設けられるコア管理部(図4では、コア管理部22およびコア管理部32を例示)を備える。コア管理部は、コア管理手段の一例である。さらに、仮想マシンエミュレートシステム10は、物理マシン12、14毎に設けられるコア制御部(図4では、コア制御部24およびコア制御部34を例示)を備える。コア制御部は、コア制御手段の一例である。   The virtual machine emulation system 10 includes a core management unit (a core management unit 22 in FIG. 4) provided in at least one physical machine among a plurality of physical machines (the physical machine 12 and the physical machine 14 are illustrated in FIG. 4). And a core management unit 32). The core management unit is an example of core management means. Further, the virtual machine emulation system 10 includes a core control unit (the core control unit 24 and the core control unit 34 are illustrated in FIG. 4) provided for each of the physical machines 12 and 14. The core control unit is an example of core control means.

所望の仮想マシンを構築する際、少なくとも1つの物理マシンに設けられるコア管理部(たとえば、図4において物理マシン12のコア管理部22)がユーザにより指定される。本実施形態では、このコア管理部を「指定コア管理部」(指定コア管理手段の一例)と呼ぶ。指定コア管理部、たとえば、コア管理部22は、所望の仮想マシンを構築しようとするユーザに対しての最初のユーザインタフェースマシンとして機能する。なお、指定コア管理部によって管理されるコアを多重化する場合のコアを管理するコア管理部を、本実施形態では、「多重化コア管理部」(多重化コア管理手段の一例)と呼ぶ。指定コア管理部と多重化コア管理部は、たとえば、Active/Active構成(相互スタンバイ構成)の関係にある。正常時にはそれぞれのコア管理部が異なる処理を実行し、指定コア管理部が故障した場合(あるいは異常が発見された場合)、指定コア管理部によって管理されるコアが実行していた処理は、多重化コア管理部によって管理されるコアに引き継がれる。換言すれば、指定コア管理部に異常が生じた場合、多重化コア管理部が指定コア管理部となる。   When constructing a desired virtual machine, a user specifies a core management unit (for example, the core management unit 22 of the physical machine 12 in FIG. 4) provided in at least one physical machine. In the present embodiment, this core management unit is called a "designated core management unit" (an example of designated core management means). The designated core management unit, for example, the core management unit 22 functions as a first user interface machine for a user who wants to construct a desired virtual machine. The core management unit that manages cores when the cores managed by the designated core management unit are multiplexed is referred to as a “multiplex core management unit” (an example of a multiplex core management unit) in the present embodiment. The designated core management unit and the multiplexed core management unit have, for example, an Active / Active configuration (mutual standby configuration). During normal operation, each core management unit executes different processing, and if the designated core management unit fails (or if an abnormality is found), the processing executed by the core managed by the designated core management unit is The core is managed by the core management unit. In other words, when an abnormality occurs in the designated core management unit, the multiplexed core management unit becomes the designated core management unit.

仮想マシンエミュレートシステム10上で動作させる仮想マシンの性能(たとえば、処理速度)向上を目的とする場合、コア管理部(コア管理部22)は、典型的には、1つの物理マシン(たとえば、物理マシン12)に設けられる。もちろん、性能向上を目的とする場合であっても、コア管理部を複数設けることも可能である。   For the purpose of improving the performance (for example, processing speed) of a virtual machine operated on the virtual machine emulation system 10, the core management unit (core management unit 22) typically uses one physical machine (for example, It is provided in the physical machine 12). Of course, it is also possible to provide a plurality of core management units even for the purpose of improving performance.

一方、仮想マシンの可用性を向上させるために一つの仮想マシンのコア構成を多重化させることを目的とする場合、コア管理部(コア管理部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 (core management unit 22, core management unit 32) includes at least two physical machines. 12 and 14 are provided respectively.

物理CPU20および物理CPU30は、それぞれ複数のコアを備える。本実施形態では、それぞれが6つのコアを持つ場合(ヘキサコアの場合)を例に挙げる。たとえば、物理CPU20はコアA乃至Fを備え、物理CPU30はコアG乃至Lを備える。もちろん、1つの物理CPUにおけるコアの数は6個に限定されない。   The physical CPU 20 and the physical CPU 30 each include a plurality of cores. In the present embodiment, the case where each has six cores (the case of hexa cores) is taken as an example. For example, the physical CPU 20 includes cores A to F, and the physical CPU 30 includes cores G to L. Of course, the number of cores in one physical CPU is not limited to six.

コア管理部22、32は、仮想マシンエミュレートシステム10内の全ての物理マシン12、14の全てのコアA乃至Lを一括して管理する。詳細には、コア管理部22、32は、コア制御部24、34を介してシステム内の全てのコアA乃至Lについての稼働情報を取得する。   The core management units 22 and 32 collectively manage all the cores A to L of all the physical machines 12 and 14 in the virtual machine emulation system 10. Specifically, the core management units 22 and 32 acquire operation information on all the cores A to L in the system via the core control units 24 and 34.

そして、仮想マシンを構築する際、コア管理部22、32のうちの少なくとも一方は、稼働情報に基づいて、少なくとも2つの物理マシン(たとえば、物理マシン12、14)のそれぞれから少なくとも1つのコアを指定し、指定された複数のコアを仮想マシンの仮想CPUとして割り当てる。稼働情報は、各コアの指定状況(使用状況)についての情報や、各コアの使用頻度(単位時間あたりに受信した処理命令の数)についての情報を含む。   Then, when constructing the virtual machine, at least one of the core management units 22 and 32 creates at least one core from each of the at least two physical machines (for example, the physical machines 12 and 14) based on the operation information. The designated cores are assigned and assigned as virtual CPUs of the virtual machine. The operation information includes information about the designated status (usage status) of each core and the usage frequency of each core (the number of processing instructions received per unit time).

なお、コア管理部は、少なくとも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 core management units 22 and 32 presents the operating information to the user, and the core assigned to the virtual machine by the user's designation based on the presentation (hereinafter, “designated core”). Sometimes referred to as “.”).

また、上記指示は、具体的には、たとえば、どの物理マシン12、14のコア管理部を仮想マシンとして利用するかの指定(多重化する場合は複数のコア管理部)と、どの物理マシン12、14のコアをいくつ使うかの指定等を含む。   In addition, the above-mentioned instruction specifically specifies, for example, which physical machine 12 or 14 to use the core management unit as a virtual machine (a plurality of core management units in the case of multiplexing) and which physical machine 12. , And specify how many 14 cores to use.

なお、指定コア管理部と多重化コア管理部は、互いに通信を行い、自らが有していない情報(他の物理マシンのコアの稼働情報)を他のコア管理部から得ることによりそれぞれのシステムコア管理テーブル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 machine emulation system 10.

また、コア管理部22、32は、稼働情報を解析することにより、自らが指定コアを決定してもよい。   The core management units 22 and 32 may themselves determine the designated core by analyzing the operation information.

仮想マシンを構築する際、コア管理部22、32は、それぞれのコア制御部24、34に対して、指定コアの確保を指示する。   When constructing the virtual machine, the core management units 22 and 32 instruct the respective core control units 24 and 34 to secure the designated core.

また、仮想マシン構築後に、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 core management units 22 and 32 select a predetermined core (for example, the optimum core) from all the cores allocated as the virtual machine (virtual CPU). A core), and sends a processing command to the core control units 24 and 34 that control the specified core.

コア制御部24、34は、それぞれが属する各物理マシン12、14の全ての各コアについての稼働情報を取得し、取得した稼働情報を、コア管理部22、32のそれぞれに報告する。   The core control units 24 and 34 acquire operation information about all the cores of the physical machines 12 and 14 to which they belong, and report the acquired operation information to the core management units 22 and 32, respectively.

仮想マシンを構築する際、コア制御部24、34は、コア管理部22、32からの指定コアの確保指示に基づいて、仮想マシンのための指定コアを確保する。   When constructing the virtual machine, the core control units 24 and 34 secure the designated core for the virtual machine based on the designation core securing instruction from the core management units 22 and 32.

仮想マシンが起動されて、コア管理部22、32から処理命令を受信した際、コア制御部24、34は、指定されたコアに処理命令を転送する。コア制御部24、34は、コアから受信した、処理命令についての処理結果をコア管理部へ送信する。   When the virtual machine is started and receives the processing instruction from the core management units 22 and 32, the core control units 24 and 34 transfer the processing instruction to the designated core. The core control units 24 and 34 transmit the processing result regarding the processing instruction received from the core to the core management unit.

図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 virtual machine 41A constructed in this embodiment. The first virtual machine 41A is a virtual machine constructed especially for the purpose of improving performance. The first virtual machine 41A includes an OS, an application, and a virtual CPU 40A. The virtual CPU 40A has three core management units, which are designated core management units 22, a core control unit 24, all cores A to F of the physical machine 12, a core control unit 34 of the physical machine 14, and a physical machine 14. And cores G to I. In this case, the core management unit 32 of the physical machine 14 is unnecessary. The core control unit 34 of the physical machine 14 is controlled by the core management unit 22 of the physical machine 12. Since the first virtual machine 41A includes the virtual CPU 40A including nine cores, the first virtual machine 41A has more cores and higher performance than one physical machine. For example, the processing time can be shortened when the same processing is executed. The core configuration of the first virtual machine 41A shown in FIG. 6 is merely an example. It is sufficient if the total number of cores used in the first virtual machine 41A exceeds the number of cores in the physical machine. For example, the first virtual machine 41A can include a virtual CPU 40A including four cores of the physical machine 12 and four cores of the physical machine 14. In this case, similarly to the above, the number of cores of the first virtual machine 41A is eight, which exceeds six cores of one physical machine. Further, the designated core management unit does not necessarily have to be the core management unit 22, and may be the core management unit of another physical machine.

図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 virtual machine 41B constructed in this embodiment. The second virtual machine 41B is a virtual machine constructed especially for the purpose of improving availability. The second virtual machine 41B includes an OS, an application, and a virtual CPU 40B. The virtual CPU 40B includes a core management unit 22 that is a designated core management unit, a core control unit 24, cores A to F (designated cores), a core management unit 32 that is a multiplexed core management unit, and a core control unit 34. , Cores G to L (designated cores). In this case, information is shared between the core management unit 22 and the core management unit 32. In the second virtual machine 41B, cores A to F controlled by the core control unit 24 and cores G to L controlled by the core control unit 34 are multiplexed (also referred to as duplication or redundancy).

図8は、図4、図6、図7に示されるコア管理部22の構成例を示すブロック図である。なお、コア管理部32の構成は、コア管理部22の構成と同一である。また、指定コア管理部と多重化コア管理部とでは動作は同一ではないが、これは使用される構成が異なるのであって、潜在的に有する構成自体は同一である。   FIG. 8 is a block diagram showing a configuration example of the core management unit 22 shown in FIGS. 4, 6, and 7. The core management unit 32 has the same configuration as the core management unit 22. Further, although the designated core management unit and the multiplexing core management unit do not operate in the same manner, they have different configurations to be used, and thus have potentially the same configurations themselves.

コア管理部22は、ユーザインタフェース部50と、仮想CPU処理部52と、多重化処理部54と、コア制御通信部56と、システムコア稼働管理部58と、システムコア管理テーブル60と、システム監視部62と、を備える。   The core management unit 22 includes a user interface unit 50, a virtual CPU processing unit 52, a multiplexing processing unit 54, a core control communication unit 56, a system core operation management unit 58, a system core management table 60, and a system monitor. And a section 62.

ユーザインタフェース部50は、ユーザと仮想マシンエミュレートシステム10とが情報をやり取りするための仕組みである。ユーザインタフェース部50は、たとえば、キーボード、マウス、ディスプレイなどのハードウェアと、画面上のメニュー、アイコン、ウィンドウなどのソフトウェアと、を含む。   The user interface unit 50 is a mechanism for exchanging information between the user and the virtual machine emulation system 10. The user interface unit 50 includes, for example, hardware such as a keyboard, a mouse, and a display, and software such as menus, icons, and windows on the screen.

仮想CPU処理部52は、OS/アプリケーションから処理命令を受信する。   The virtual CPU processing unit 52 receives a processing command from the OS / application.

なお、図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 CPU processing unit 52.

一方、図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 CPU processing unit 52 of the designated core management unit. Alternatively, the virtual CPU processing units 52 of the plurality of core management units each receive a processing instruction, and the virtual CPU processing unit 52 receives the processing instruction by determining whether the core to which the processing instruction is executed is a core that is not under its control. It is also possible to select processing instructions. For example, the core management unit can perform exclusive control when accessing a memory or I / O (Input / Output) to control the operation of the core. The mechanism of minimizing the exclusive control can be handled by the function of the OS.

多重化処理部54は、多重化を行う場合の多重化コア管理部(たとえば、図4においてコア管理部32)と通信を行う。   The multiplexing processing unit 54 communicates with a multiplexing core management unit (for example, the core management unit 32 in FIG. 4) when performing multiplexing.

コア制御通信部56は、コア制御部24と通信する。たとえば、コア制御通信部56は、仮想マシンにおいて指定されたコアに対する処理命令を、コア制御部24に転送する。なお、たとえば、図6に示すように、コア管理部が多重化されておらず、たとえば、図6に示すように、コア管理部22のみが使用されている場合、コア管理部22が属していない物理マシン14にはコア管理部は存在していない(使用されていない)。しかしながら、このような場合であっても、物理マシン14にも制御対象のコア(コアG、H、I)は存在している。従って、この場合、指定コア管理部である、図6のコア管理部22のコア制御通信部56は、コア管理部22が存在していない物理マシン14のコア制御部34に対しても受信した処理命令を転送する。   The core control communication unit 56 communicates with the core control unit 24. For example, the core control communication unit 56 transfers the processing instruction for the core designated in the virtual machine to the core control unit 24. Note that, for example, when the core management units are not multiplexed as shown in FIG. 6 and only the core management unit 22 is used as shown in FIG. 6, the core management unit 22 belongs. No physical machine 14 has a core management unit (not used). However, even in such a case, the cores to be controlled (cores G, H, and I) also exist in the physical machine 14. Therefore, in this case, the core control communication unit 56 of the core management unit 22 of FIG. 6, which is the designated core management unit, also receives the core control unit 34 of the physical machine 14 in which the core management unit 22 does not exist. Transfer processing instructions.

システムコア稼働管理部58は、コア制御部24から、コア制御部24によって制御される全てのコアについての稼働情報を受信し、システムコア管理テーブル60に保存する。なお、仮想マシンが多重化されていない場合、指定コア管理部が属していない物理マシンのコア制御部からもそのコア制御部によって制御される全てのコアについての稼働情報を受信する。   The system core operation management unit 58 receives operation information about all cores controlled by the core control unit 24 from the core control unit 24, and stores the operation information in the system core management table 60. When the virtual machines are not multiplexed, the operation information on all the cores controlled by the core control unit is also received from the core control unit of the physical machine to which the designated core management unit does not belong.

システム監視部62は、障害監視を行う。   The system monitoring unit 62 performs fault monitoring.

図9は、図4に示されるコア制御部24の構成例を示すブロック図である。なお、コア制御部34の構成は、コア制御部24の構成と同一である。   FIG. 9 is a block diagram showing a configuration example of the core control unit 24 shown in FIG. The configuration of the core control unit 34 is the same as the configuration of the core control unit 24.

コア制御部24は、コア管理通信部80と、コア通信部82と、コア稼働管理部84と、コア管理テーブル86と、を備える。   The core control unit 24 includes a core management communication unit 80, a core communication unit 82, a core operation management unit 84, and a core management table 86.

コア管理通信部80は、コア管理部22と通信する。たとえば、コア管理通信部80は、コア管理部22から処理命令を受信する。   The core management communication unit 80 communicates with the core management unit 22. For example, the core management communication unit 80 receives a processing instruction from the core management unit 22.

コア通信部82は、コア管理通信部80によって受信された処理命令をコアに転送する。   The core communication unit 82 transfers the processing instruction received by the core management communication unit 80 to the core.

コア稼働管理部84は、所定の周期で定期的に起動する。起動したコア稼働管理部84は、コア管理テーブル86を参照してコアの稼動情報を収集し、収集した稼働情報を、コア管理通信部80を介してコア管理部へ送信する。稼働情報の内容は上述したとおりである。   The core operation management unit 84 is activated at regular intervals. The activated core operation management unit 84 collects core operation information by referring to the core management table 86, and transmits the collected operation information to the core management unit via the core management communication unit 80. The content of the operation information is as described above.

コア管理テーブル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 machine emulation system 10. In the following description, it is assumed that the core management unit 22 of the physical machine 12 is designated as the designated core management unit. Of course, the designated core management unit is not limited to the core management unit 22.

仮想マシンの割当時、指定コア管理部であるコア管理部22のユーザインタフェース部50は、ユーザから稼働情報要求を受け付ける(ステップS10)。ユーザインタフェース部50は、システムコア管理テーブル60から稼働情報(仮想マシンエミュレートシステム10内のすべてのコアA乃至Lの稼働に関する情報)を読み出す(ステップS11)。ユーザインタフェース部50は、稼働情報要求の応答として稼働情報をユーザに提示する(ステップS12)。具体的には、ユーザインタフェース部50は、読み出した稼働情報をディスプレイ等に表示する。   When allocating a virtual machine, the user interface unit 50 of the core management unit 22, which is the designated core management unit, receives an operation information request from the user (step S10). The user interface unit 50 reads the operation information (information on the operation of all the cores A to L in the virtual machine emulation system 10) from the system core management table 60 (step S11). The user interface unit 50 presents the operation information to the user as a response to the operation information request (step S12). Specifically, the user interface unit 50 displays the read operation information on a display or the like.

ユーザインタフェース部50は、稼働情報を認識したユーザから、物理マシンの指定、使用するコア数、さらには多重化指定等の情報である仮想マシン割当情報を含む仮想マシン割当要求を受け付ける(ステップS13)。コア制御通信部56は、ユーザインタフェース部50によって受け付けられた仮想マシン割当要求に基づいた情報であり、コアを確保するための要求であるコア確保要求を、指定された物理マシン(たとえば、物理マシン12)のコア制御部(たとえば、コア制御部24)に対して送信する(ステップS14)。   The user interface unit 50 accepts a virtual machine allocation request including virtual machine allocation information, which is information such as physical machine specification, the number of cores to be used, and multiplexing specification, from the user who has recognized the operation information (step S13). .. The core control communication unit 56 is information based on the virtual machine allocation request accepted by the user interface unit 50, and requests a core reservation request, which is a request for securing a core, to a designated physical machine (for example, a physical machine). 12) to the core control unit (for example, the core control unit 24) (step S14).

コア制御部24のコア管理通信部80は、コア確保要求を受信する(ステップS15)。コア管理通信部80は、コア管理テーブル86上の稼働情報を更新する(ステップS16)。具体的には、コア管理通信部80は、コア確保要求によって指定されたコアの状態を「使用中」に変更する。コア管理通信部80は、コア確保要求に対する応答であり、コアの確保が終了したことを示すコア確保応答を、コア管理部22へ送信する(ステップS17)。   The core management communication unit 80 of the core control unit 24 receives the core reservation request (step S15). The core management communication unit 80 updates the operation information on the core management table 86 (step S16). Specifically, the core management communication unit 80 changes the state of the core designated by the core reservation request to "in use". The core management communication unit 80 transmits to the core management unit 22 a core reservation response indicating that the core reservation has been completed, which is a response to the core reservation request (step S17).

コア確保応答を受信したコア制御通信部56は、ユーザの指示(仮想マシン割当情報の内容)が多重化指定を含むか否かを判定する(ステップS18)。多重化指定が含まれる場合(ステップS18/Yes)、多重化処理部54は、多重化コア管理部(たとえば、物理マシン14のコア管理部32)へ、上記の仮想マシン割当情報を含む多重化要求を送信する(ステップS19)。   The core control communication unit 56 that has received the core allocation response determines whether or not the user's instruction (contents of the virtual machine allocation information) includes multiplexing designation (step S18). When the multiplexing designation is included (step S18 / Yes), the multiplexing processing unit 54 causes the multiplexing core management unit (for example, the core management unit 32 of the physical machine 14) to perform multiplexing including the above virtual machine allocation information. The request is transmitted (step S19).

多重化コア管理部であるコア管理部32の多重化処理部54は、多重化要求を受信する(ステップS20)。多重化処理部54は、受信した多重化要求に含まれる仮想マシン割当情報を保存する(ステップS21)。多重化処理部54は、多重化要求の応答としての多重化応答を、指定コア管理部であるコア管理部22へ送信する(ステップS22)。   The multiplexing processing unit 54 of the core management unit 32, which is the multiplexing core management unit, receives the multiplexing request (step S20). The multiplexing processing unit 54 stores the virtual machine allocation information included in the received multiplexing request (step S21). The multiplexing processing unit 54 transmits a multiplexing response as a response to the multiplexing request to the core management unit 22 which is the designated core management unit (step S22).

ユーザの指示に多重化指定が含まれない場合(ステップ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 core management unit 32 which is the multiplexing core management unit, the designated core management unit determines the virtual machine allocation information. Is stored (step S23). The user interface unit 50 outputs a virtual machine allocation response as a response to the virtual machine allocation request to the user (step S24). A virtual machine is assigned by a series of these processes.

図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 CPU processing unit 52 of the core management unit that constitutes the virtual CPU. The virtual CPU processing unit 52 reads operating information from the system core management table 60 (step S31). The virtual CPU processing unit 52 selects an optimum core from among the plurality of cores allocated in the virtual machine based on at least the operation information (step S32). This optimal core selection process may be called scheduling. Further, the operation information used to select the optimum core is, for example, information on the usage frequency of each core (the number of processing instructions received per unit time). The virtual CPU processing unit 52 sends a processing command to the core control unit that controls the selected core (step S33). The core management communication unit 80 of the core control unit receives the processing instruction (step S34). The core management communication unit 80 increments the number of processing instructions of the core in the operation information of the core management table 86 for the core that executes the processing instruction (for example, the optimum core) (step S35). The core communication unit 82 transmits the processing instruction to the core (step S36).

図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 operation management unit 84 of the core control unit is activated at regular intervals. Specifically, for example, the core operation management unit 84 observes the measurement result of the timing means (not shown in FIG. 9) or confirms whether the time-up signal is received from the timing means. , It is determined whether or not the activation timing has arrived (step S39). When the activation timing has not come (step S39 / No), the process of step S39 is executed again. On the other hand, when the activation timing arrives (step S39 / Yes), the core operation management unit 84 activates and reads the number of processing instructions of each core from the core management table 86 (step S40). The core operation management unit 84 transmits the number of read processing instructions of each core to the core management unit (step S41). After the transmission, the core operation management unit 84 clears the number of processing instructions of each core in the core management table to zero (step S42).

コア管理部のシステムコア稼働管理部58は、各コアの処理命令の数を受信する(ステップS43)。システムコア稼働管理部58は、受信した処理命令の数を、システムコア管理テーブル60に反映する(ステップS44)。   The system core operation management unit 58 of the core management unit receives the number of processing instructions of each core (step S43). The system core operation management unit 58 reflects the number of received processing instructions in the system core management table 60 (step S44).

以上の処理により、全てのコア管理部は、全てのコアについての、単位時間あたりの処理命令の数(すなわち、使用頻度)を把握することができる。   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 system monitoring unit 62 of the core management unit is activated at regular intervals. Specifically, for example, the system monitoring unit 62 observes a measurement result of a clocking means (not shown in FIG. 8) or confirms whether or not a time-up signal is received from the clocking means. It is determined whether or not the activation timing has arrived (step S49). When the activation timing has not come (step S49 / No), the process of step S49 is executed again. On the other hand, when the activation timing comes (step S49 / Yes), the system monitoring unit 62 activates and determines whether or not the core management unit to which the system monitoring unit 62 belongs operates as a "multiplexing core management unit" (step S50). ). When the core management unit to which it belongs operates as the "multiplexing core management unit" (step S50 / Yes), the system monitoring unit 62 transmits a "health check signal" to the designated core management unit (step S51). .. The system monitoring unit 62 determines whether the response from the designated core management unit to the health check signal has been received within the predetermined time (step S52). When the response cannot be received within the predetermined time (step S52 / No), the system monitoring unit 62 sets the core management unit to which the system monitoring unit 62 belongs to the “designated core management unit” (step S53).

自己が属するコア管理部が「指定コア管理部」として動作している場合(ステップ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 system monitoring unit 62 monitors the state of the core control unit. Specifically, the system monitoring unit 62 transmits a health check signal to the core control unit under the control of the core management unit to which the system monitoring unit 62 belongs (step S54). In this case, the core control unit under management is not necessarily a core control unit belonging to the same physical machine, but may include a core control unit belonging to another physical machine. The system monitoring unit 62 determines whether the response from the core control unit to the health check signal has been received within the predetermined time (step S55). When the response from the core control unit has not been received (step S55 / No), the system monitoring unit 62 sets the state of the core managed by the core control unit in the system core management table 60 to "unusable". Change (step S56). When the process of step S56 is completed and when the response from the core control unit can be received (step S55 / Yes), the process of step S49 is executed again.
(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 Machine Emulation System 2, 3 Physical Machine 4, 5 Core Management Unit 10 Virtual Machine Emulation System 12, 14 Physical Machine 20, 30 Physical CPU
22, 32 Core management unit 24, 34 Core control unit 40A, 40B Virtual CPU
41A First virtual machine 41B Second virtual machine 50 User interface section 52 Virtual CPU processing section 54 Multiplexing processing section 56 Core control communication section 58 System core operation management section 60 System core management table 62 System monitoring section 80 Core management communication section 82 Core communication unit 84 Core operation management unit 86 Core management table 100 Virtual machine emulation system 102 Storage unit 104 Computing unit 150 Computer program

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. ..
前記コア管理手段は、前記仮想マシンエミュレートシステム内の全ての前記コアについての稼働情報を記憶するシステムコア管理テーブルを用いて全ての前記コアを一括して管理することを特徴とする請求項1記載の仮想マシンエミュレートシステム。   The core management unit collectively manages all the cores by using a system core management table that stores operation information about all the cores in the virtual machine emulation system. Virtual machine emulation system as described. 前記稼働情報は、複数の前記コアの使用状況についての情報を含むことを特徴とする請求項2記載の仮想マシンエミュレートシステム。   The virtual machine emulation system according to claim 2, wherein the operation information includes information on a usage status of the plurality of cores. 前記稼働情報は、複数の前記コアの使用頻度についての情報を含むことを特徴とする請求項3記載の仮想マシンエミュレートシステム。   The virtual machine emulation system according to claim 3, wherein the operation information includes information about a usage frequency of the plurality of cores. 複数の前記物理マシンのそれぞれに設けられ、それぞれの前記物理マシンの複数の前記コアを制御するコア制御手段をさらに備え、
前記コア管理手段は、前記仮想マシンが構築された後に、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つの前記物理マシンのコンピュータに、
複数の前記物理マシンがそれぞれに有している複数のコアを一括して管理し、仮想マシンを構築する際、少なくとも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 .
JP2017189770A 2017-09-29 2017-09-29 Virtual machine emulation system, virtual machine emulation method and computer program Active JP6696947B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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