JP6351387B2 - INFORMATION PROCESSING APPARATUS, PROGRAM, AND RECORDING MEDIUM - Google Patents

INFORMATION PROCESSING APPARATUS, PROGRAM, AND RECORDING MEDIUM Download PDF

Info

Publication number
JP6351387B2
JP6351387B2 JP2014116459A JP2014116459A JP6351387B2 JP 6351387 B2 JP6351387 B2 JP 6351387B2 JP 2014116459 A JP2014116459 A JP 2014116459A JP 2014116459 A JP2014116459 A JP 2014116459A JP 6351387 B2 JP6351387 B2 JP 6351387B2
Authority
JP
Japan
Prior art keywords
hypervisor
address
control information
information processing
memory
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
JP2014116459A
Other languages
Japanese (ja)
Other versions
JP2015230586A (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.)
MUFG Bank Ltd
Original Assignee
MUFG Bank 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 MUFG Bank Ltd filed Critical MUFG Bank Ltd
Priority to JP2014116459A priority Critical patent/JP6351387B2/en
Publication of JP2015230586A publication Critical patent/JP2015230586A/en
Application granted granted Critical
Publication of JP6351387B2 publication Critical patent/JP6351387B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Description

本発明は、相異なる複数個のハイパーバイザに跨って仮想マシンを動作させる機能を備えた情報処理装置、プログラムおよび記録媒体に関する。   The present invention relates to an information processing apparatus having a function of operating a virtual machine across a plurality of different hypervisors, a program, and a recording medium.

近年、コンピュータ・アーキテクチャの仮想化技術が様々な分野で注目されている。仮想化技術とは、コンピュータのリソースを抽象化することであり、コンピュータ・ハードウェアを仮想的なものとして取り扱う技術である。コンピュータ・アーキテクチャの仮想化技術の一つとして、仮想マシン(バーチャル・マシン:VM)が知られている。   In recent years, virtualization technology of computer architecture has attracted attention in various fields. Virtualization technology is the abstraction of computer resources and is a technology that treats computer hardware as virtual. A virtual machine (VM) is known as one of the computer architecture virtualization technologies.

仮想マシンとは、コンピュータの動作をエミュレートするソフトウェアやエミュレートされた仮想のコンピュータそのものを指す。仮想マシンの概念を導入することにより、1つのコンピュータ上で複数のOS(オペレーティング・システム)を動作させたりすることが可能である。そして、1つのコンピュータ上で複数のOSを動作させる際、それらのOSの制御を行う制御プログラムが存在する。これが、ハイパーバイザである。   A virtual machine is software that emulates the operation of a computer or an emulated virtual computer itself. By introducing the concept of virtual machine, it is possible to operate a plurality of operating systems (operating systems) on one computer. And when operating several OS on one computer, the control program which controls those OS exists. This is the hypervisor.

サーバ上でハイパーバイザを実行することにより、複数個の仮想マシン(すなわち、複数個のカーネル)を動作させることが可能である。これにより、単一のサーバ上で、それぞれ異なるOS(ゲストOSと呼ばれる)を動作させることが可能となる。そして、各OSに依存した様々なインターフェースを利用者に提供することが可能である。   By running the hypervisor on the server, it is possible to run multiple virtual machines (i.e. multiple kernels). This makes it possible to operate different OSs (referred to as guest OSs) on a single server. And, it is possible to provide the user with various interfaces depending on each OS.

ところで、従来、ハイパーバイザは、サーバごとに動作し、他のサーバで動作する他のハイパーバイザとは連携することができない。例えば、図14に示すように、あるサーバで動作するハイパーバイザ11の制御下において、複数のOS12〜14が動作しているとする。このとき、各OS12〜14は、ハイパーバイザ11内のCPU(中央演算処理装置)(図示せず)により実際の処理がなされ、ハイパーバイザ11内のメモリ(図示せず)にしかアクセスできない。つまり、ハイパーバイザ11は、自身が動作するサーバ内に存在するリソースしか用いることができない。   By the way, conventionally, the hypervisor operates on each server and can not cooperate with other hypervisors operating on other servers. For example, as shown in FIG. 14, it is assumed that a plurality of OSs 12 to 14 are operating under the control of the hypervisor 11 operating on a certain server. At this time, each of the OSs 12 to 14 is actually processed by the CPU (central processing unit) (not shown) in the hypervisor 11 and can access only the memory (not shown) in the hypervisor 11. That is, the hypervisor 11 can use only the resources existing in the server on which the hypervisor 11 operates.

同様に、他のサーバで動作する他のハイパーバイザ22の制御下においては、別のOS15が動作しているとする。前述のように、ハイパーバイザ間ではリソースを共有することができないため、相異なるハイパーバイザ11、22は、それぞれがOS12〜15を独立に制御することしかできず、ハイパーバイザに跨って1つのOS(仮想マシン)を動作させることはできなかった。   Similarly, another OS 15 is assumed to be operating under the control of another hypervisor 22 operating on another server. As described above, since resources can not be shared between hypervisors, different hypervisors 11 and 22 can only control OSs 12 to 15 independently, respectively, and one OS is straddled across hypervisors. It was not possible to operate (virtual machine).

その結果、サーバ性能を向上させる必要がある場合やサーバトラブルに対応すべく冗長性を確保する必要がある場合に、サーバの並列度を上げて対処する(スケールアウトする)ことしか実効的な対処ができず、ソフトウェアの開発コストや運用コストが高くなるという問題があった。   As a result, if it is necessary to improve server performance, or if it is necessary to ensure redundancy in order to cope with server problems, it is only effective to increase the degree of parallelism of the server (scale out). There is a problem that the software development cost and the operation cost become high.

このような問題に対処するために、近年ではコンピュータの並列処理技術として、物理的に離隔したCPU間でメモリを共有化する技術が開発されている。例えば、特許文献1には、ハイパーバイザが、ローカルメモリとリモートメモリとCPUとの間の配置関係を検知し、仮想マシンに割り当てられたCPUから見てリモートメモリとなるメモリから、該CPUから見てローカルメモリとなるメモリに対して必要データを移動させる技術が記載されている。   In order to cope with such a problem, in recent years, as a parallel processing technology of computers, a technology of sharing memory between physically separated CPUs has been developed. For example, in Patent Document 1, the hypervisor detects the arrangement relationship between the local memory, the remote memory, and the CPU, and the memory viewed from the CPU allocated to the virtual machine becomes the remote memory as viewed from the CPU. There is described a technique for moving necessary data to a memory which becomes a local memory.

また、特許文献2には、ブレードサーバ内にあるメモリテーブルを用いてアドレス変換を行い、他のブレード上のメモリにアクセスする処理が記載されている。すなわち、ブレードサーバを、SMP(Symmetric Multiple Processor)サーバとして機能させる技術が記載されている。   Further, Patent Document 2 describes a process of performing address conversion using a memory table in a blade server and accessing a memory on another blade. That is, a technology for causing a blade server to function as an SMP (Symmetric Multiple Processor) server is described.

特開2011−238278号公報JP, 2011-238278, A 特開2012−113604号公報JP, 2012-113604, A

しかし、特許文献1、2に記載された技術は、いずれも相異なるハイパーバイザの制御下にある仮想マシンを統合して制御するものではなく、異なるハイパーバイザの制御下にあるCPUに、単なる分散処理を行わせるものである。したがって、各CPUの処理負担を軽減できるものの、互いに処理結果の同期を取るための通信を行う必要があり、その通信処理に起因するオーバーヘッドが、結果として、システム全体としての処理効率を阻害する要因ともなっていた。   However, the techniques described in Patent Literatures 1 and 2 do not integrate and control virtual machines under control of different hypervisors, but merely distribute to CPUs under control of different hypervisors. It is what makes processing. Therefore, although it is possible to reduce the processing load of each CPU, it is necessary to perform communication to synchronize processing results with each other, and the overhead resulting from the communication processing results in a factor that hinders the processing efficiency as a whole system. It was also with me.

また、CPUに分散処理を行わせる場合、例えば、ある仮想マシンを動作させるために追加のCPUが新たに1個必要となった場合であっても、増設単位として16個のCPUを搭載したサーバを別途用意する必要があるなど、必要なリソースを超過して、余分なハードウェア資源を調達しなければならなくなる場合もある。   In addition, when distributed processing is performed by a CPU, for example, even if one additional CPU is required to operate a virtual machine, a server mounted with 16 CPUs as an extension unit In some cases, extra hardware resources may need to be procured, for example, if the necessary resources are exceeded.

本発明は、かかる阻害要因を克服するために創作されたものであり、相異なるハイパーバイザの制御下にある複数の仮想マシンを統合して制御することを可能とする情報処理装置、プログラム及び記憶媒体を提供するものである。   The present invention is created to overcome such impediment factors, and is an information processing apparatus, program and storage capable of integrating and controlling a plurality of virtual machines under the control of different hypervisors. It provides a medium.

本発明の一実施形態による情報処理装置は、第1のハイバーパイザの管理するメモリのアドレスと、前記第1のハイバーパイザと接続される第2のハイパーバイザの管理するメモリのアドレス及び該第2のハイパーバイザを識別する識別子とを記録するアドレス管理テーブルと、前記アドレス管理テーブルを参照し、前記第1のハイバーパイザより前記第2のハイパーバイザに対して命令及び制御情報を発行する発行部とを備える。前記制御情報は、前記第2のハイパーバイザで動作する論理プロセッサの状態を示す情報である。   An information processing apparatus according to an embodiment of the present invention includes an address of a memory managed by a first hypervisor, an address of a memory managed by a second hypervisor connected to the first hypervisor, and the second hypervisor. An address management table for recording an identifier for identifying a visor, and an issuing unit for referring to the address management table and issuing an instruction and control information to the second hypervisor from the first hypervisor. The control information is information indicating a state of a logical processor operating in the second hypervisor.

本発明の一実施形態による情報処理装置は、第1のハイパーバイザの管理する仮想メモリ空間のアドレスと、前記第1のハイパーバイザとは異なる第2のハイパーバイザを識別する識別子及び該第2のハイパーバイザの管理するメモリのアドレスとを互いに関連付けて記憶するアドレス管理テーブルと、前記第1のハイパーバイザ又は前記第2のハイパーバイザで動作する論理プロセッサの状態を示す制御情報を記憶する制御情報記憶部と、を有し、前記第1のハイパーバイザは、前記第2のハイパーバイザとの間で前記制御情報を送受信可能であると共に、前記アドレス管理テーブルを参照して、前記仮想メモリ空間のアドレスに関連付けられた、前記第2のハイパーバイザの管理するメモリのアドレスにアクセス可能である。   An information processing apparatus according to an embodiment of the present invention includes an address of a virtual memory space managed by a first hypervisor, an identifier for identifying a second hypervisor different from the first hypervisor, and the second identifier. An address management table that stores the addresses of memories managed by the hypervisor in association with one another, and control information storage that stores control information indicating the state of the logical processor operating in the first hypervisor or the second hypervisor. And the first hypervisor is capable of transmitting and receiving the control information to and from the second hypervisor, and referring to the address management table, the address of the virtual memory space. An address of a memory managed by the second hypervisor is associated with the second memory.

前記制御情報は、論理プロセッサの状態を示すレジスタ値、プログラムカウンタ値及びメモリへのポインタの少なくともいずれか一つであればよい。   The control information may be at least one of a register value indicating a state of the logical processor, a program counter value, and a pointer to a memory.

前記第1のハイパーバイザと前記第2のハイパーバイザとは、識別子による宛先指定の可能な汎用ネットワークで接続されていてもよい。   The first hypervisor and the second hypervisor may be connected by a general-purpose network that can be addressed by an identifier.

前記第1のハイパーバイザは、自身の管理するメモリに処理対象データが存在せず、かつ、前記第2のハイパーバイザの管理するメモリに前記処理対象データが存在する場合に、前記第2のハイパーバイザに対して前記制御情報を送信してもよい。   If the processing target data does not exist in the memory managed by the first hypervisor and the processing target data exists in the memory managed by the second hypervisor, the second hypervisor The control information may be sent to the visor.

前記制御情報は、前記第1のハイパーバイザの管理するリソースの使用状況又は前記第2のハイパーバイザの管理するリソースの使用状況に応じて、前記第1のハイパーバイザと前記第2のハイパーバイザとの間で送受信されてもよい。特に、前記制御情報は、前記使用状況に余剰がある方のリソースを管理するハイパーバイザに対して送信されることが好ましい。   The control information may be the first hypervisor and the second hypervisor according to the usage status of the resource managed by the first hypervisor or the usage status of the resource managed by the second hypervisor. May be sent and received between In particular, it is preferable that the control information be sent to a hypervisor that manages a resource with a surplus in the use status.

前記制御情報の送受信とともに、前記制御情報に関連するデータ(例えば論理プロセッサがキャッシュしているデータ等の参照頻度の高いデータ)を送受信することが好ましい。   It is preferable to transmit and receive data related to the control information (for example, data having a high reference frequency such as data cached by a logical processor) as well as transmitting and receiving the control information.

本発明によれば、異なるハイパーバイザの制御下にある複数のCPUを統合して制御することができ、より高い処理性能を実現することが可能となる。   According to the present invention, a plurality of CPUs under control of different hypervisors can be integrated and controlled, and higher processing performance can be realized.

また、所望の処理のために要求されるリソースを余分に調達して分散処理をしなければならないという経済性の悪さを改善し、ハードウェア資源のより高い使用効率を実現することができる。   In addition, it is possible to improve the uneconomicalness of having to procure extra resources required for desired processing to carry out distributed processing, and to realize higher utilization efficiency of hardware resources.

本発明の第1実施形態に係る情報処理システムを示す構成図である。It is a block diagram showing the information processing system concerning a 1st embodiment of the present invention. 本発明の第1実施形態に係る情報処理装置を示すブロック図である。It is a block diagram showing an information processor concerning a 1st embodiment of the present invention. 本発明の第1実施形態の情報処理システムにおける原理を示す概念図である。It is a conceptual diagram which shows the principle in the information processing system of 1st Embodiment of this invention. 本発明の第1実施形態に係る情報処理システムに実装される制御情報の役割を説明する図である。It is a figure explaining the role of the control information mounted in the information processing system which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る情報処理システムにおける接続の確立手順を説明する図である。It is a figure explaining the connection establishment procedure in the information processing system concerning a 1st embodiment of the present invention. 本発明の第1実施形態に係る情報処理システムに実装されるアドレス管理テーブルの役割を説明する図である。It is a figure explaining the role of the address management table mounted in the information processing system which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る情報処理システムと従来の情報処理システムとの比較を示す図である。It is a figure which shows the comparison with the information processing system which concerns on 1st Embodiment of this invention, and the conventional information processing system. 本発明の第1実施形態に係る情報処理システムと従来の情報処理システムとの比較を示す図である。It is a figure which shows the comparison with the information processing system which concerns on 1st Embodiment of this invention, and the conventional information processing system. 本発明の第2実施形態に係る情報処理システムを示す構成図である。It is a block diagram which shows the information processing system which concerns on 2nd Embodiment of this invention. 本発明の第3実施形態に係る情報処理システムを示す構成図である。It is a block diagram which shows the information processing system which concerns on 3rd Embodiment of this invention. 本発明の第4実施形態に係る情報処理システムを示す構成図である。It is a block diagram which shows the information processing system which concerns on 4th Embodiment of this invention. 本発明の第5実施形態に係る情報処理システムを示す構成図である。It is a block diagram which shows the information processing system which concerns on 5th Embodiment of this invention. 本発明の第6実施形態に係る情報処理システムに実装されるアドレス管理テーブルの構成を示す図である。It is a figure which shows the structure of the address management table mounted in the information processing system which concerns on 6th Embodiment of this invention. 従来の情報処理システムを示す構成図である。It is a block diagram which shows the conventional information processing system.

以下、本発明の一実施形態に係る携帯端末について、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定されるものではない。なお、本実施形態で参照する図面において、同一部分または同様な機能を有する部分には同一の符号または類似の符号(数字の後にA、Bなどを付しただけの符号)を付し、その繰り返しの説明は省略する場合がある。また、図面の寸法比率は説明の都合上実際の比率とは異なったり、構成の一部が図面から省略されたりする場合がある。   Hereinafter, a mobile terminal according to an embodiment of the present invention will be described in detail with reference to the drawings. The embodiment shown below is an example of the embodiment of the present invention, and the present invention is not limited to these embodiments. In the drawings referred to in this embodiment, the same portions or portions having similar functions are denoted by the same reference numerals or similar reference numerals (reference numerals with A, B, etc. appended after numbers), and the repetition thereof The description of may be omitted. Further, the dimensional ratio of the drawings may be different from the actual ratio for convenience of explanation, or part of the configuration may be omitted from the drawings.

(第1実施形態)
<システム構成>
図1は、本発明の第1実施形態に係る情報処理システム100を示す構成図である。図1において、101は、汎用ネットワークであり、該汎用ネットワークを介して情報処理装置102〜107が接続されている。ここで、汎用ネットワークとは、識別子を用いて宛先指定が可能なネットワークを指し、例えばインターネット、LAN(Local Area Network)、WAN(Wide Area Network)を指す。
First Embodiment
<System configuration>
FIG. 1 is a block diagram showing an information processing system 100 according to the first embodiment of the present invention. In FIG. 1, reference numeral 101 denotes a general-purpose network, to which information processing apparatuses 102 to 107 are connected via the general-purpose network. Here, the general-purpose network refers to a network whose destination can be specified using an identifier, such as the Internet, a local area network (LAN), and a wide area network (WAN).

情報処理装置102〜107は、互いに所定のプロトコルに従ってネットワーク101を介した通信を行うことが可能である。プロトコルは、汎用ネットワークに応じて異なるが、第1実施形態における情報処理システムにおいては、各情報処理装置102〜107が同じ汎用ネットワークで接続される必要はなく、例えば、情報処理装置102と情報処理装置105とを接続する汎用ネットワークと、情報処理装置105と情報処理装置106とを接続する汎用ネットワークが異なっていてもよい。   The information processing apparatuses 102 to 107 can communicate with each other via the network 101 according to a predetermined protocol. The protocol differs depending on the general-purpose network, but in the information processing system in the first embodiment, the information processing apparatuses 102 to 107 do not need to be connected by the same general-purpose network. For example, the information processing apparatus 102 and the information processing The general-purpose network connecting the device 105 and the general-purpose network connecting the information processing device 105 and the information processing device 106 may be different.

図2は、本発明の第1実施形態に係る情報処理装置200を示すブロック図である。図1の情報処理装置102〜107は、いずれも情報処理装置200と共通の構成を有している。   FIG. 2 is a block diagram showing an information processing apparatus 200 according to the first embodiment of the present invention. The information processing apparatuses 102 to 107 in FIG. 1 all have the same configuration as the information processing apparatus 200.

図2において、201は、マルチコアプロセッサであり、ここでは2つのCPUコア202a、202bを備えている。各CPUコア202a、202bは、それぞれメモリ管理ユニット(Memory Management Unit:MMU)203a、203bを内蔵している。なお、図2では、マルチコアプロセッサを例示したが、シングルコアプロセッサでもよいし、複数のプロセッサを設けたマルチプロセッサでもよい。   In FIG. 2, reference numeral 201 denotes a multi-core processor, which includes two CPU cores 202 a and 202 b here. Each of the CPU cores 202a and 202b incorporates a memory management unit (MMU) 203a and 203b. Although FIG. 2 exemplifies a multi-core processor, it may be a single core processor or a multiprocessor provided with a plurality of processors.

メモリ管理ユニット203a、203bは、それぞれアドレス管理テーブル204a、204bを保持している。アドレス管理テーブルとは、仮想メモリ空間の記憶領域を指定するアドレス(以下「仮想アドレス」という)と、ハードウェア資源としてのメモリの記憶領域を指定するアドレス(以下「物理アドレス」という)とを関連付けるためのテーブルである。第1実施形態の情報処理システムでは、物理アドレスと共に他の情報処理装置を指定する識別子(MACアドレス等のネットワークアドレス)を格納する点で、従来のアドレス管理テーブルと異なるテーブルを用いる。詳細については、後述する。   The memory management units 203a and 203b hold address management tables 204a and 204b, respectively. The address management table associates an address specifying a storage area of a virtual memory space (hereinafter referred to as "virtual address") with an address specifying a storage area of memory as a hardware resource (hereinafter referred to as "physical address"). It is a table for The information processing system of the first embodiment uses a table different from the conventional address management table in that the physical address and an identifier (a network address such as a MAC address) for specifying another information processing apparatus are stored. Details will be described later.

205はバスであり、マルチコアプロセッサ201と後述する各要素とを接続する通信路である。206は、RAM(Random Access Memory)であり、マルチコアプロセッサ201が使用する作業領域207やシステムメモリ領域208を有する。第1実施形態の情報処理装置200は、システムメモリ領域208内に、ハイパーバイザ上で動作する論理プロセッサの状態(ステータス)を示す制御情報209を保持している。すなわち、システムメモリ領域208は、本発明の「制御情報記憶部」に対応する。制御情報209は、ハイパーバイザ上で動作する論理プロセッサの数だけ存在する。   Reference numeral 205 denotes a bus, which is a communication path connecting the multi-core processor 201 and each element to be described later. A random access memory (RAM) 206 has a work area 207 and a system memory area 208 used by the multi-core processor 201. The information processing apparatus 200 according to the first embodiment holds, in the system memory area 208, control information 209 indicating the state (status) of the logical processor operating on the hypervisor. That is, the system memory area 208 corresponds to the "control information storage unit" of the present invention. The control information 209 is present as many as the number of logical processors operating on the hypervisor.

このような制御情報209としては、インテル社の仮想化支援機能で使用するVMCS(Virtual Machine Control Structure)やAMD社の仮想化支援機能で使用するVMCB(Virtual Machine Control Block)が知られているが、論理プロセッサの状態を示す情報(例えば、論理プロセッサの状態を示すレジスタ値、プログラムカウンタ値及びメモリへのポインタの少なくともいずれか一つ)であれば、どのような制御情報を用いてもよい。制御情報209を用いた動作については、後述する。   As such control information 209, VMCS (Virtual Machine Control Structure) used by Intel's virtualization support function and VMCB (Virtual Machine Control Block) used by AMD's virtualization support function are known. Any control information may be used as long as it is information indicating the state of the logical processor (for example, at least one of a register value indicating the state of the logical processor, a program counter value, and a pointer to the memory). The operation using the control information 209 will be described later.

図2において、210は、ROM(Read Only Memory)であり、BIOS等の各種プログラムが記憶される。211は、入出力部(I/O部)であり、各種データの入出力が行われる。212は、通信部であり、図1の汎用ネットワーク101を介した他の情報処理装置との通信が行われる。通信方式は、無線方式でも有線方式でもよく、近距離無線通信のための機構を備えていてもよい。213は、データベースとして機能するストレージであり、ハードディスク等の大容量記憶媒体を用いることができる。勿論、他の記録媒体を用いてもよいし、固有のストレージを持たずにクラウドコンピューティングを用いてデータを保持する形態であってもよい。   In FIG. 2, reference numeral 210 denotes a ROM (Read Only Memory), which stores various programs such as BIOS. An input / output unit (I / O unit) 211 performs input / output of various data. Reference numeral 212 denotes a communication unit, which performs communication with another information processing apparatus via the general-purpose network 101 of FIG. The communication method may be a wireless method or a wired method, and may have a mechanism for near field communication. Reference numeral 213 denotes a storage that functions as a database, and a large-capacity storage medium such as a hard disk can be used. Of course, other recording media may be used, or cloud computing may be used to hold data without having a specific storage.

<システムの原理>
図3は、第1実施形態の情報処理システムにおける原理を示す概念図である。301a〜301fは、それぞれ情報処理装置の制御部(具体的にはマルチコアプロセッサ)で実行されるハイパーバイザである。つまり、図1、2に示した各情報処理装置においてハイパーバイザが実行されることにより、複数のハイパーバイザ301a〜301fが汎用ネットワークを介して接続された情報処理システムを構築している。
<Principle of system>
FIG. 3 is a conceptual view showing the principle of the information processing system of the first embodiment. Reference numerals 301a to 301f denote hypervisors executed by the control unit (specifically, a multi-core processor) of the information processing apparatus. That is, the hypervisor is executed in each information processing apparatus shown in FIGS. 1 and 2 to construct an information processing system in which a plurality of hypervisors 301 a to 301 f are connected via a general-purpose network.

302a〜302iは、ハイパーバイザ上で動作する仮想マシン(ここでは、OSと表記する)である。図00に示した従来例と大きく異なる点は、第1実施形態の情報処理システムでは、各ハイパーバイザ間にまたがって仮想マシンが動作する点である。例えば、図3において、OS302cは、ハイパーバイザ301a〜301dの4つにまたがって動作しており、各ハイパーバイザが連携して1つの仮想マシンを稼働させている。   Reference numerals 302a to 302i denote virtual machines (here, referred to as OS) operating on the hypervisor. A significant difference from the conventional example shown in FIG. 00 is that, in the information processing system of the first embodiment, a virtual machine operates across hypervisors. For example, in FIG. 3, the OS 302 c operates across four hypervisors 301 a to 301 d, and the hypervisors cooperate to operate one virtual machine.

このように、第1実施形態の情報処理システムは、OS302a〜302iが、ハイパーバイザ301a〜301fの間でシームレスに動作し、各ハイパーバイザは、CPUコアやメモリといったハードウェア資源(ハードウェア・リソース、もしくは単にリソースともいう)を共有することができる。すなわち、ハイパーバイザ301a〜301fが互いに連携して互いのハードウェア・リソースを共用し、仮想マシンの動的なスケールアップを可能とした情報処理システムが構築されている。   As described above, in the information processing system according to the first embodiment, the OSs 302a to 302i seamlessly operate among the hypervisors 301a to 301f, and each hypervisor is a hardware resource such as a CPU core or a memory (hardware resources Or simply referred to as resources). That is, the hypervisors 301a to 301f cooperate with each other to share hardware resources with each other, and an information processing system capable of dynamically scaling up virtual machines is constructed.

次に、そのような情報処理システムを構築するための具体的な実装方法について説明する。図4は、第1実施形態に係る情報処理システムを構築する情報処理装置に実装される制御情報の役割を説明する図である。ここでは、ある論理プロセッサがハイパーバイザ間を遷移している様子を示している。   Next, a specific implementation method for constructing such an information processing system will be described. FIG. 4 is a diagram for explaining the role of control information implemented in the information processing apparatus constructing the information processing system according to the first embodiment. Here, it is shown that a certain logical processor is transitioning between hypervisors.

図4において、401a、401bは、それぞれハイパーバイザである。各ハイパーバイザ401a、401bは、それぞれメモリ402a、402bを有し、各種データを保持している。メモリ402aは、ハイパーバイザ401aを実行している情報処理装置に備えられたハードウェア資源であり、メモリ402bは、ハイパーバイザ401bを実行している情報処理装置に備えられたハードウェア資源である。   In FIG. 4, 401a and 401b are hypervisors respectively. Each hypervisor 401a, 401b has a memory 402a, 402b, respectively, and holds various data. The memory 402a is a hardware resource provided in the information processing apparatus executing the hypervisor 401a, and the memory 402b is a hardware resource provided in the information processing apparatus executing the hypervisor 401b.

ハイパーバイザ401aでは、現在3つの論理プロセッサ403a〜403cが動作しており、新たに1つの論理プロセッサが追加されるところである。ハイパーバイザ401bでは、現在2つの論理プロセッサ403d、403eが動作している。403fは、図4の時点より時間tだけ以前に動作していた論理プロセッサで示している。   In the hypervisor 401a, three logical processors 403a to 403c are currently operating, and one new logical processor is to be added. In the hypervisor 401 b, two logical processors 403 d and 403 e are currently operating. 403 f indicates a logical processor that has been operating a time t earlier than the time point of FIG. 4.

各論理プロセッサ403a〜403eは、それぞれ制御情報404a〜404eをシステムメモリ領域に保持している。そして、図4の時点より時間tだけ以前に動作していた論理プロセッサ403fの状態を示す制御情報404fは、図4に示すように、ハイパーバイザ401bからハイパーバイザ401aへの遷移過程にある。前述のとおり、制御情報404fの送信は、汎用ネットワークを介して行われる。そして、ハイパーバイザ401aでは、受信した制御情報404fに基づいて論理プロセッサ403fを再稼働させることできる。   Each of the logical processors 403a to 403e holds control information 404a to 404e in the system memory area. The control information 404f indicating the state of the logical processor 403f that has been operating for a time t before the time point of FIG. 4 is in the transition process from the hypervisor 401b to the hypervisor 401a, as shown in FIG. As described above, transmission of control information 404f is performed via a general-purpose network. Then, the hypervisor 401a can restart the logical processor 403f based on the received control information 404f.

このように、第1実施形態の情報処理システム100では、制御情報404がハイパーバイザ間の物理的な垣根を越えて送受信されることにより、ハイパーバイザに依存することなく論理プロセッサ403を動作させることができ、結果として、ハイパーバイザ401a、401bに跨るように仮想マシン(OS)405を動作させることができる。   As described above, in the information processing system 100 according to the first embodiment, the control information 404 is transmitted and received across physical boundaries between hypervisors to operate the logical processor 403 without depending on the hypervisor. As a result, the virtual machine (OS) 405 can be operated to span the hypervisors 401a and 401b.

なお、制御情報404fをハイパーバイザ401aのどのCPUが処理するかについては、制御情報404fを送信する前に予めハイパーバイザ401aと401bとの間で調停しておくことが望ましい。例えば、リソースの不足しているハイパーバイザのCPUが、リソースの余っているハイパーバイザを探すためのリクエスト命令をネットワーク上にブロードキャストしたり、リソースの使用状況を管理するサーバに送信したりすることにより、制御情報の送信先を求める過程があってもよい。   As to which CPU of the hypervisor 401a processes the control information 404f, it is desirable to arbitrate between the hypervisors 401a and 401b in advance before transmitting the control information 404f. For example, the CPU of a resource-deficient hypervisor broadcasts a request command for finding a resource-remaining hypervisor on the network or sends it to a server that manages resource usage status. There may be a process of obtaining a transmission destination of control information.

制御情報の送信先が決まったら、そのハイパーバイザに対してリソースの使用許可を求める命令を送信して事前確認を行ってもよい。そして、調停が完了したらリソースの使用許可を出したハイパーバイザに対して制御情報を送信することにより、その制御情報を受信したハイパーバイザのリソースを使用することができる。このような調停は、各ハイパーバイザの制御下にあるCPUが行い、この場合におけるCPUは、本発明の「発行部」に相当する。   Once the destination of the control information is determined, an instruction may be sent to the hypervisor asking for permission to use the resource to perform prior confirmation. Then, when the arbitration is completed, the control information is transmitted to the hypervisor which issued the use permission of the resource, so that the resource of the hypervisor which has received the control information can be used. Such arbitration is performed by a CPU under the control of each hypervisor, and the CPU in this case corresponds to the "issue unit" of the present invention.

汎用ネットワークを介した制御情報の送受信は、使用するネットワークに応じて適切なプロトコルを選択すればよい。例えば、汎用ネットワークとしてIPネットワークを用い、プロトコルとしてTCP/IPを用いた場合について図5に示す。   Transmission and reception of control information via a general-purpose network may be performed by selecting an appropriate protocol according to the network to be used. For example, FIG. 5 shows a case where an IP network is used as a general-purpose network and TCP / IP is used as a protocol.

図5に示すように、TCPプロトコルでは「3ウェイハンドシェイク」によってハイパーバイザ401aとハイパーバイザ401bとの間の接続が確立される。その後、ハイパーバイザ401bからハイパーバイザ401aに対して制御情報404f及びデータ406が送信される。さらにその後、ハイパーバイザ401aからハイパーバイザ401bに対して制御情報501及びデータ502が送信されるようにしてもよい。   As shown in FIG. 5, in the TCP protocol, the connection between the hypervisor 401 a and the hypervisor 401 b is established by “3 way handshake”. Thereafter, control information 404f and data 406 are transmitted from the hypervisor 401b to the hypervisor 401a. Furthermore, after that, the control information 501 and the data 502 may be transmitted from the hypervisor 401a to the hypervisor 401b.

上述のように、論理プロセッサ403をハイパーバイザ401bからハイパーバイザ401aに遷移させるに当たり、論理プロセッサにキャッシュされているデータ(例えば、論理プロセッサのL1〜L3キャッシュに記憶されているデータ)や論理プロセッサを実行していたCPUの担当している処理のスタックデータ等の参照頻度の高いデータ406も制御情報404と共に遷移させることが好ましい。これにより、論理プロセッサ403がハイパーバイザ間を遷移しても、参照頻度の高いデータ406も一緒に遷移するため、継続的に処理を実行することができる。このような参照頻度の高いデータ406は、それを参照する論理プロセッサに関連するデータ、換言すれば、該論理プロセッサの状態を示す制御情報に関連するデータである。   As described above, when transitioning the logical processor 403 from the hypervisor 401 b to the hypervisor 401 a, the data cached in the logical processor (for example, data stored in the L1 to L3 caches of the logical processor) or the logical processor It is preferable to cause data 406 with a high reference frequency, such as stack data of the process being handled by the CPU being executed, to transition along with the control information 404. As a result, even if the logical processor 403 makes a transition between hypervisors, the data 406 with a high reference frequency also makes a transition together, so that processing can be executed continuously. Such frequently referenced data 406 is data associated with a logical processor that references it, in other words, data associated with control information indicating the state of the logical processor.

なお、参照頻度の高いデータ406を送信するためにアドレス管理テーブルを参照してもよい。例えば、ハイパーバイザ401bは、送信に必要なデータを自身のアドレス管理テーブルを参照して特定し、自身の管理下にあるメモリから読み出して送信することができる。   The address management table may be referred to in order to transmit the data 406 having a high reference frequency. For example, the hypervisor 401b can identify data necessary for transmission by referring to its own address management table, and read out and transmit it from a memory under its management.

また、図4に示すように、ハイパーバイザ401bで処理を行っていた論理プロセッサ403fが、ハイパーバイザ401aへと遷移した場合、遷移前に処理していたデータのほとんどは、メモリ402bに記憶されている。したがって、ハイパーバイザ401aに遷移した後、処理を続行していくと、メモリ402bを参照する必要性が生じることとなる。   Also, as shown in FIG. 4, when the logical processor 403f that has been processed by the hypervisor 401b transitions to the hypervisor 401a, most of the data that was being processed before the transition is stored in the memory 402b. There is. Therefore, if processing is continued after transition to the hypervisor 401a, the necessity to refer to the memory 402b arises.

そこで、第1実施形態の情報処理システム100では、各ハイパーバイザが汎用ネットワークを介して他のハイパーバイザの制御下にあるメモリにアクセスできるようにするための具体的手段を実装している。図6は、第1実施形態に係る情報処理システムを構築する情報処理装置に実装されるアドレス管理テーブルの役割を説明する図である。   Therefore, in the information processing system 100 according to the first embodiment, a specific means for enabling each hypervisor to access a memory under control of another hypervisor is implemented via a general-purpose network. FIG. 6 is a diagram for explaining the role of the address management table implemented in the information processing apparatus constructing the information processing system according to the first embodiment.

図6は、図4を用いて説明した論理プロセッサ403fの遷移後の状態を示している。601は、アドレス管理テーブルであり、図2に示すアドレス管理テーブル204a、204bと同じものである。アドレス管理テーブル601は、OS405が管理する仮想メモリ空間の記憶領域を指定する仮想アドレスと、実際のメモリ空間(メモリ402a、402bで構成するメモリ空間)の記憶領域を指定する物理アドレスとを関連付けるためのテーブルである。   FIG. 6 shows the state after the transition of the logical processor 403f described with reference to FIG. An address management table 601 is the same as the address management tables 204a and 204b shown in FIG. The address management table 601 associates a virtual address specifying a storage area of a virtual memory space managed by the OS 405 with a physical address specifying a storage area of an actual memory space (a memory space configured by the memories 402a and 402b). Table.

アドレス管理テーブル601の物理アドレスには、2種類の物理アドレスが含まれている。第1の物理アドレスは、アドレス管理テーブル601が記憶される情報処理装置(ハイパーバイザ401a)に設けられたメモリ402aの物理アドレスを指定するもの(図6の「55」、「56」、「57」等)であり、第2の物理アドレスは、他の情報処理装置(ハイパーバイザ401b)に設けられたメモリ402bの物理アドレスを指定するもの(図6の「識別子+81」、「識別子+82」等)である。   The physical addresses of the address management table 601 include two types of physical addresses. The first physical address specifies the physical address of the memory 402 a provided in the information processing apparatus (hypervisor 401 a) in which the address management table 601 is stored (“55”, “56”, “57 in FIG. Etc.) and the second physical address specifies the physical address of the memory 402 b provided in another information processing apparatus (hypervisor 401 b) (“identifier + 81”, “identifier + 82”, etc. in FIG. ).

ここで、第2の物理アドレスは、単に物理アドレスを指定するだけではなく、他の情報処理装置をネットワーク上で指定する識別子(ネットワークアドレス)を一緒に格納している。なお、第1実施形態では、「識別子+81」のように表現しているが、これに限らず、識別子と物理アドレスとを組み合わせたものであれば、如何なる態様であっても構わない。識別子としては、ハイパーバイザ間を接続する汎用ネットワークのプロトコルに応じた識別子を用いればよい。例えば、「MACアドレス」や「IPアドレス」などを用いることができる。   Here, the second physical address not only designates the physical address but also stores together an identifier (network address) for designating another information processing apparatus on the network. In the first embodiment, although it is expressed as "identifier + 81", the present invention is not limited to this, and any form may be used as long as it is a combination of an identifier and a physical address. As the identifier, an identifier corresponding to a protocol of a general purpose network connecting between hypervisors may be used. For example, "MAC address" or "IP address" can be used.

図6に示したような汎用ネットワークを介したハイパーバイザ間のメモリ参照におけるオーバーヘッドを低減するためには、低レイテンシかつ広帯域な汎用ネットワークを使用することが望ましい。例えば、「infiniBand」、「Converged Enhanced Ethernet(登録商標)」、「Serial RapidIO」を用いることができる。ただし、使用する環境、予算等に応じて適材適所で汎用ネットワークを選択することが可能であり、例えば低レイテンシであることよりも低コストであることを重視する場合に「IPネットワーク」を用いるなど、使用可能な汎用ネットワークに特に制限はない。   It is desirable to use a low latency, wide bandwidth general purpose network to reduce the overhead in inter-hypervisor memory references through the general purpose network as shown in FIG. For example, "infiniBand", "Converged Enhanced Ethernet (registered trademark)", "Serial RapidIO" can be used. However, it is possible to select a general-purpose network at the right place according to the environment, budget, etc. to be used, and use "IP network", for example, to emphasize low cost rather than low latency. There is no particular limitation on the usable general purpose network.

以上のとおり、第1実施形態の情報処理システム100を構築する情報処理装置200は、ハイパーバイザ間で各論理プロセッサの制御情報を送受信することにより、論理プロセッサをハイパーバイザ間で遷移させることができ、ハイパーバイザ間に跨って1つの仮想マシン(OS)を動作させることができる。   As described above, the information processing apparatus 200 constructing the information processing system 100 according to the first embodiment can transition the logical processor between the hypervisors by transmitting and receiving control information of each logical processor between the hypervisors. , And one virtual machine (OS) can be operated across hypervisors.

さらに、各ハイパーバイザの制御下にあるCPUに図6に示したアドレス管理テーブルを備えることにより、相異なるハイパーバイザ間で、汎用ネットワークを介したメモリ参照が可能となり、ハイパーバイザの物理的な隔離を意識することなく、ハイパーバイザ間に跨る仮想マシンを動作させることができる。その結果、相異なるハイパーバイザの制御下にある複数のCPUを統合して制御することができ、より高い処理性能を実現することが可能となる。   Furthermore, by providing the address management table shown in FIG. 6 in the CPU under control of each hypervisor, it becomes possible to refer to memory via a general-purpose network between different hypervisors, and physical isolation of the hypervisors. You can operate virtual machines across hypervisors without being aware of As a result, multiple CPUs under control of different hypervisors can be integrated and controlled, and higher processing performance can be realized.

例えば、従来、アプリケーションの性能を向上させるためには、図7(a)に示すように、スケールアウト型のアプローチを採用する必要があった。すなわち、複数のハイパーバイザ701a〜701dにおいて、それぞれ独立に仮想マシン(OS)702a〜702dを動作させ、アプリケーションの性能を向上させる際には、その仮想マシンの数、すなわちハイパーバイザの数を増加させることで対応してきた。   For example, conventionally, in order to improve the performance of an application, as shown in FIG. 7A, it has been necessary to adopt a scale-out type approach. That is, virtual machines (OS) 702a to 702d are operated independently in a plurality of hypervisors 701a to 701d, respectively, and when the performance of an application is improved, the number of virtual machines, that is, the number of hypervisors is increased. It corresponded by that.

しかし、この場合には、例えば仮想マシン701aを司令塔(ホスト)として機能させ、仮想マシン702a〜702dを処理ノード(スレーブ)として機能させることによりアプリケーション処理を行うため、アプリケーションレベルでネットワーク越しの処理の依頼や回答、データ同期、処理タイミング調整等を行う必要があり、開発に多くの工数や高い技術力が要求されるという問題があった。   However, in this case, for example, the virtual machine 701a functions as a command tower (host) and the virtual machines 702a to 702d function as processing nodes (slaves) to perform application processing. There is a problem that it is necessary to perform requests and answers, data synchronization, processing timing adjustment, etc., and a large number of man-hours and high technology are required for development.

一方、第1実施形態の情報処理システム100においては、図7(b)に示すように、仮想マシン702aをハイパーバイザ701a〜701dに跨って動作させるというスケールアップ型のアプローチを採用することができる。そのため、ネットワーク通信に伴うオーバーヘッドを意識することなく、マルチスレッドのみ意識してプログラム開発を行うだけで容易にアプリケーション性能の向上を図ることができる。   On the other hand, in the information processing system 100 according to the first embodiment, as shown in FIG. 7B, it is possible to adopt a scale-up type approach of operating the virtual machine 702a across the hypervisors 701a to 701d. . Therefore, the application performance can be easily improved simply by performing program development while being aware of only multithreading without being aware of the overhead involved in network communication.

また、リソース(例えばCPUコアやメモリ)に余裕のあるハイパーバイザに論理プロセッサを遷移させることで、各ハイパーバイザのリソースを効率的に使用することができる。すなわち、各ハイパーバイザのリソースの使用状況に応じて、動的に論理プロセッサを遷移(制御情報を遷移)させることにより、情報処理システムの効率的な利用が可能となる。   In addition, the resource of each hypervisor can be efficiently used by transitioning the logical processor to a hypervisor with ample resources (for example, CPU core and memory). That is, by making the logical processor dynamically transition (transition of control information) according to the use status of the resource of each hypervisor, efficient use of the information processing system becomes possible.

例えば、図7(a)に示すように、ハイパーバイザ701aにおいて仮想マシン(OS1)702aが動作しており、CPUコア703aが不足しているとする。一方、ハイパーバイザ701bにおいて仮想マシン(OS2)702bが動作しており、CPUコア703bの1つが余っているとする。   For example, as shown in FIG. 7A, it is assumed that the virtual machine (OS1) 702a is operating in the hypervisor 701a and the CPU core 703a is insufficient. On the other hand, it is assumed that the virtual machine (OS2) 702b is operating in the hypervisor 701b, and one CPU core 703b is left.

この場合に、図7(b)に示すように、ハイパーバイザ701a上で動作していた仮想マシン702aをハイパーバイザ701bまで拡張することにより、ハイパーバイザ701bの余剰CPUコアを仮想マシン702aに割り当てることが可能となる。そのため、所望の処理のために要求されるリソースを余分に調達して分散処理をしなければならないという経済性の悪さを改善し、ハードウェア資源のより高い使用効率を実現することができる。   In this case, as shown in FIG. 7B, the surplus CPU core of the hypervisor 701b is allocated to the virtual machine 702a by extending the virtual machine 702a operating on the hypervisor 701a to the hypervisor 701b. Is possible. Therefore, it is possible to improve the uneconomicalness of having to procure extra resources required for desired processing and to carry out distributed processing, and to realize higher utilization efficiency of hardware resources.

他にも、ハイパーバイザ701aにおいて仮想マシン(OS1)702aが動作しており、ハイパーバイザ701aが動作する情報処理装置内のメモリ(図示せず)が不足しているとする。一方、ハイパーバイザ701bが動作する情報処理装置内のメモリに空き領域が存在し、容量に余裕があるとする。   In addition, it is assumed that the virtual machine (OS1) 702a is operating in the hypervisor 701a, and the memory (not shown) in the information processing apparatus in which the hypervisor 701a operates is insufficient. On the other hand, it is assumed that a free space exists in the memory in the information processing apparatus in which the hypervisor 701 b operates, and there is a surplus in capacity.

この場合に、ハイパーバイザ701a上で動作していた仮想マシン702aをハイパーバイザ701bまで拡張することにより、ハイパーバイザ701bが管理するメモリの空き領域を仮想マシン702aに割り当てることが可能となる。   In this case, by expanding the virtual machine 702a operating on the hypervisor 701a to the hypervisor 701b, it becomes possible to allocate a free space in the memory managed by the hypervisor 701b to the virtual machine 702a.

(第2実施形態)
本発明の第2実施形態の情報処理システム900について図9を用いて説明する。第2実施形態の情報処理システム900は、第1実施形態の情報処理システム100に対し、1つの仮想マシンの内部で、使用するCPU性能の階層化を行うという機能を追加したものである。
Second Embodiment
An information processing system 900 according to a second embodiment of the present invention will be described with reference to FIG. An information processing system 900 according to the second embodiment is obtained by adding a function of tiering CPU performance to be used inside one virtual machine to the information processing system 100 according to the first embodiment.

従来、1つの仮想マシン内では同一性能のCPUしか使用することができず、高いレベルの処理には相応の処理能力を有する仮想マシンを動作させたり、バックアップ用の仮想マシンを動作させたりするなど、仮想マシンごとに処理レベル(処理量)を決めなければならなかった。そのため、要求される処理が動的に変化するような状況に対し、柔軟に対応することが困難であった。   Conventionally, only one CPU with the same performance can be used in one virtual machine, and a virtual machine having a corresponding processing capacity is operated for high-level processing, or a virtual machine for backup is operated, etc. , Had to determine the processing level (processing amount) for each virtual machine. Therefore, it has been difficult to flexibly cope with a situation where the required processing changes dynamically.

しかし、第2実施形態の情報処理システム900では、相異なる複数のハイパーバイザに跨って仮想マシン903を動作させることができるという利点を活かし、要求される処理レベルに応じて、使用するCPU性能の割当を動的に変更する変化ことを特徴としている。   However, in the information processing system 900 of the second embodiment, taking advantage of the ability to operate the virtual machine 903 across a plurality of different hypervisors, the CPU performance to be used according to the required processing level can be obtained. It is characterized by changes that dynamically change allocations.

図9において、ハイパーバイザ901aは、第1の性能を備えたCPU(以下「高性能CPU」という)902aを搭載する情報処理装置で動作し、ハイパーバイザ901bは、第2の性能を備えたCPU(以下「中性能CPU」という)902bを搭載する情報処理装置で動作し、ハイパーバイザ901cは、第3の性能を備えたCPU(以下「低性能CPU」という)902cを搭載する情報処理装置で動作する。ここでは、第1の性能が最も高く、続いて第2の性能、第3の性能と順に性能は低くなっている。   In FIG. 9, a hypervisor 901a operates in an information processing apparatus equipped with a CPU (hereinafter referred to as "high performance CPU") 902a having a first performance, and a hypervisor 901b has a CPU having a second performance. The hypervisor 901c is an information processing apparatus mounted with a CPU (hereinafter referred to as a "low performance CPU") 902c having a third performance (hereinafter referred to as "medium performance CPU"). Operate. Here, the first performance is the highest, followed by the second performance, the third performance, and so on.

なお、高性能CPUと言っても絶対的な性能を指すわけではなく、あくまで、それぞれのCPUの相対比較である。すなわち、第1の性能>第2の性能>第3の性能という関係を満たす限り、どのような性能を備えたCPUであってもよい。   The term "high-performance CPU" does not mean absolute performance, but rather is a relative comparison of each CPU. That is, as long as the relationship of the first performance> the second performance> the third performance is satisfied, the CPU may have any performance.

そのため、ハイパーバイザ901aは、高性能CPU902aを搭載しているため、相対的に他のハイパーバイザ901b、901cよりも高いレベルの処理が可能である。逆に、ハイパーバイザ901aは、低性能CPU902cを搭載しているため、相対的に他のハイパーバイザ901a、901bよりも低いレベルの処理しかできない。   Therefore, since the hypervisor 901a is equipped with the high-performance CPU 902a, it is possible to perform processing at a level relatively higher than that of the other hypervisors 901b and 901c. On the other hand, since the hypervisor 901a is equipped with the low-performance CPU 902c, it can perform processing only at a level relatively lower than that of the other hypervisors 901a and 901b.

しかし、低性能CPU902cを使用した場合であっても、割当数が多ければ処理能力も高くなる。そのため、高性能CPU902aが他の仮想マシンに割り当てられて不足しているような状態にあっても、図9に示すように、例えば1つの仮想マシン903に対して、高性能CPU902aを1つ、中性能CPU902bを2つ、低性能CPU902cを3つ割り当てることで要求される処理に対応することが可能である。勿論、高性能CPU902aが空けば、高性能CPUを2つ、中性能CPUを1つというように動的に割当を変更し、処理を継続することも可能である。   However, even when the low-performance CPU 902 c is used, the processing capacity also increases as the number of allocations increases. Therefore, even if the high-performance CPU 902a is allocated to another virtual machine and is in a deficient state, for example, one high-performance CPU 902a for one virtual machine 903 as shown in FIG. It is possible to cope with the required processing by allocating two medium performance CPUs 902 b and three low performance CPUs 902 c. Of course, if the high-performance CPU 902a is left, it is possible to dynamically change the allocation, such as two high-performance CPUs and one medium-performance CPU, and continue the processing.

以上のように、第2実施形態の情報処理システム900は、各ハイパーバイザ901a〜901cが管理するCPU902a〜902cの使用状況を常に監視し、仮想マシン903の内部において、要求される処理レベルに応じて、適切なCPU割当を動的に実行し、CPU性能をティアリング(階層化)することができる。また、最低限のCPU性能を割当てることにより、各ハイパーバイザ901a〜901cが管理するハードウェア資源の使用効率をさらに高めることが可能である。   As described above, the information processing system 900 according to the second embodiment constantly monitors the usage status of the CPUs 902a to 902c managed by the hypervisors 901a to 901c, and according to the required processing level inside the virtual machine 903. Thus, it is possible to dynamically execute appropriate CPU allocation and to tier CPU performance. In addition, by allocating the minimum CPU performance, it is possible to further improve the use efficiency of hardware resources managed by each of the hypervisors 901a to 901c.

(第3実施形態)
本発明の第3実施形態の情報処理システム1000について図10を用いて説明する。 第3実施形態の情報処理システム1000は、第1実施形態の情報処理システム100に対し、フェイルオーバー機能を追加したものである。
Third Embodiment
An information processing system 1000 according to a third embodiment of the present invention will be described with reference to FIG. An information processing system 1000 of the third embodiment is obtained by adding a failover function to the information processing system 100 of the first embodiment.

従来、サーバ等として使用する情報処理装置が故障した際、無停止フェイルサーバーを実現するためには、図10(a)に示すように、ハイパーバイザ1001aの状態を丸ごとコピーしたバックアップ用のハイパーバイザ1001bを設ける必要があった。この場合、ハイパーバイザ1001bを用意するためのコストと、丸ごとコピーするためのネットワーク帯域を消費することとなり、経済性が悪いという問題があった。   Conventionally, when an information processing apparatus used as a server or the like breaks down, in order to realize a non-stop fail server, as shown in FIG. 10A, a backup hypervisor which copied the entire state of the hypervisor 1001a. It was necessary to provide 1001b. In this case, the cost for preparing the hypervisor 1001 b and the network bandwidth for copying the whole are consumed, and there is a problem that the economy is bad.

しかし、第3実施形態の情報処理システム1000では、相異なる複数のハイパーバイザ間でメモリを共有化することができるという利点を活かし、各ハイパーバイザが管理するメモリのパリティデータを、他のハイパーバイザが管理するメモリに保存し、情報処理装置(ハイパーバイザ)の故障時にパリティデータを利用して無停止フェイルオーバーを実現することを特徴としている。   However, in the information processing system 1000 of the third embodiment, taking advantage of the fact that memory can be shared among a plurality of different hypervisors, parity data of memory managed by each hypervisor can be used as another hypervisor. The present invention is characterized in that non-stop failover is realized by storing the data in a memory managed by the V.5 and utilizing parity data at the time of failure of the information processing apparatus (hypervisor).

図10(b)において、ハイパーバイザ1001aには、仮想マシン1002a、1002bが動作しており、各仮想マシン1002a、1002bは、それぞれハイパーバイザ1001aが管理するメモリ内の所定のメモリ領域を占有している。一方、ハイパーバイザ1001bには、仮想マシン1002cに加えて、パリティデータを保存するメモリ領域1003が確保されている。仮想マシン1002cは、ハイパーバイザ1001bが管理するメモリ内の所定のメモリ領域を占有している。   In FIG. 10B, virtual machines 1002a and 1002b are operating in the hypervisor 1001a, and the virtual machines 1002a and 1002b occupy a predetermined memory area in the memory managed by the hypervisor 1001a. There is. On the other hand, in the hypervisor 1001 b, in addition to the virtual machine 1002 c, a memory area 1003 for storing parity data is secured. The virtual machine 1002c occupies a predetermined memory area in the memory managed by the hypervisor 1001b.

そして、各仮想マシン1002a〜1002cが使用するメモリのパリティデータは、すべてメモリ領域1003に保存されている。これにより、何らかの障害でハイパーバイザ1001aが停止した場合にも、メモリ領域1003に保存されたパリティデータを用いて別のハイパーバイザで仮想マシン1002a、1002bを修復することができ、無停止フェイルオーバーを実現することができる。   The parity data of the memory used by each of the virtual machines 1002 a to 1002 c is all stored in the memory area 1003. Thus, even if the hypervisor 1001a stops due to any failure, the virtual machines 1002a and 1002b can be repaired by another hypervisor using parity data stored in the memory area 1003, and non-stop failover is performed. It can be realized.

なお、ここでは各仮想マシン1002a〜1002cの使用するメモリ領域のパリティデータをすべてメモリ領域1003に保存する構成としたが、それらのパリティデータを相異なる複数のハイパーバイザが管理するメモリに分散させることも可能である。   Although all parity data in the memory area used by each of the virtual machines 1002a to 1002c is stored in the memory area 1003 here, the parity data is distributed to memories managed by a plurality of different hypervisors. Is also possible.

以上のように、第2実施形態の情報処理システム1000では、パリティデータ分の容量のメモリ領域とネットワーク帯域のみでフェイルオーバー機能を追加することが可能である。これにより、少ない台数の情報処理装置で冗長性に優れたフェイルオーバーを実現することが可能である。   As described above, in the information processing system 1000 of the second embodiment, it is possible to add the failover function only with the memory area and the network band of the capacity for parity data. As a result, it is possible to realize failover with excellent redundancy with a small number of information processing apparatuses.

(第4実施形態)
本発明の第4実施形態の情報処理システム1100について図11を用いて説明する。 第4実施形態の情報処理システム1100では、特定のハイパーバイザが管理するメモリに記憶されたデータの処理を、他のハイパーバイザに委託(アウトソーシング)できる点に特徴がある。例えば、諸事情により国外へデータを持ち出せないような国が、そのデータを用いた処理のみを他国にアウトソーシングするような事例が考えうる。
Fourth Embodiment
An information processing system 1100 according to a fourth embodiment of the present invention will be described with reference to FIG. The information processing system 1100 of the fourth embodiment is characterized in that processing of data stored in a memory managed by a specific hypervisor can be outsourced to another hypervisor. For example, there may be a case where a country that can not bring data out of the country due to various circumstances outsources processing using only that data to another country.

図11において、A国に配置されたハイパーバイザ1101aは、メモリ1102aを管理している。そして、メモリ1102aに記憶されたデータは、A国特有の事情により国外への持ち出しが禁止されているとする。   In FIG. 11, a hypervisor 1101a disposed in country A manages a memory 1102a. Then, it is assumed that the data stored in the memory 1102a is prohibited from being taken out of the country due to circumstances specific to Country A.

一方、B国に配置されたハイパーバイザ1101bは、メモリ1102bを管理している。そして、B国は、本発明に係る情報処理システムを用いて、他国のハイパーバイザに対するアウトソーシングを提供しているものとする。   On the other hand, the hypervisor 1101b disposed in the country B manages the memory 1102b. Country B then uses the information processing system according to the present invention to provide outsourcing to hypervisors in other countries.

第4実施形態の情報処理システム1100では、A国のハイパーバイザ1101a上の仮想マシン(OS)1103において複数の論理プロセッサ1104a〜1104cを動作させて処理を行い、必要に応じて、例えばA国のハードウェア資源(CPUコア等)では計算能力が足りなくなったときに、図11に示すように、ある論理プロセッサ1104cの制御情報1105およびキャッシュデータ1106を、汎用ネットワークを介してB国のハイパーバイザ1101bに遷移させる。勿論、キャッシュデータ以外にも参照頻度の高い他のデータを含ませても構わない。   In the information processing system 1100 of the fourth embodiment, a plurality of logical processors 1104a to 1104c are operated and processed in a virtual machine (OS) 1103 on a hypervisor 1101a of country A, for example, if necessary. When hardware resources (CPU core etc.) run out of computing capacity, as shown in FIG. 11, control information 1105 and cache data 1106 of a certain logical processor 1104 c are stored in the hypervisor 1101 b of country B via a general purpose network. Transition to Of course, other than cache data, other frequently referenced data may be included.

これにより、仮想マシン1103をA国のハイパーバイザ1101aとB国のハイパーバイザ1101bとの間にまたがって動作させることができ、A国のハイパーバイザ1101aが、B国のハードウェア資源を活用することができる。換言すれば、B国は、A国のハイパーバイザ1101a上で動作する論理プロセッサ1104の制御情報の送信先としてB国のハイパーバイザ1101bを指定することを契約によって許可することで、B国のハイパーバイザ(又はハードウェア資源)のアウトソーシングを可能としている。   Thus, the virtual machine 1103 can be operated across the hypervisor 1101a of country A and the hypervisor 1101b of country B, and the hypervisor 1101a of country A utilizes hardware resources of country B. Can. In other words, the country B allows the country B hyper by permitting the country B hypervisor 1101 b to be designated as a transmission destination of control information of the logical processor 1104 operating on the country A hypervisor 1101 a. It enables outsourcing of visors (or hardware resources).

なお、第4実施形態の情報処理システム1100を構築するために、A国のハイパーバイザ1101aは、論理プロセッサ1104の制御情報の送信先として、B国のハイパーバイザ1101bのみを指定しておくことが望ましい。宛先が明示的に決まっていないと、B国以外のハイパーバイザに制御情報を送信してしまう恐れがあるからである。   In addition, in order to construct the information processing system 1100 of the fourth embodiment, the hypervisor 1101a of country A may designate only the hypervisor 1101b of country B as a transmission destination of control information of the logical processor 1104. desirable. This is because there is a risk that control information may be transmitted to hypervisors other than country B if the destination is not explicitly decided.

また、A国のハイパーバイザ1101a、B国のハイパーバイザ1101bは共に、データの保存先としてA国のメモリ1102aを指定することが望ましい。A国からのデータの持ち出しが禁止されている以上、B国のメモリ1102bに処理データが保存されないようにすべきだからである。   Further, it is desirable that both the hypervisor 1101a of the country A and the hypervisor 1101b of the country B designate the memory 1102a of the country A as a data storage destination. This is because the processing data should not be stored in the memory 1102b of the country B as long as taking out the data from the country A is prohibited.

なお、厳密に言えば、A国からB国に対してキャッシュデータ相当のデータが流れることにはなる。しかし、そもそもキャッシュデータは、データ量として極僅かであるし、その時の処理に応じて内容は異なり、参照頻度の高い断片的なデータであるにすぎない。したがって、その処理時点では断片的なデータが僅かに流れるものの、処理の進行に応じてキャッシュデータは逐次変化するため、A国のデータを丸ごと国外に持ち出すのとは異なり、B国から見れば実質的にA国のデータを取得したことにはならないと言える。   Strictly speaking, data equivalent to cash data flows from country A to country B. However, the cache data is very small as the amount of data, and the content differs depending on the processing at that time, and it is only fragmentary data with a high reference frequency. Therefore, although a small amount of fragmented data flows at the time of processing, the cache data changes sequentially as the processing progresses, and this is different from bringing out data of Country A entirely, unlike from Country B It can be said that it does not mean that data on Country A has been acquired.

以上のように、第4実施形態の情報処理システム1100は、第1国に存在するデータを実質的に国外に持ち出すことなく、その処理のみを第2国(他国)で処理することを可能とし、自国に処理能力の高いハードウェア資源が存在しなくとも、他国のハードウェア資源を活用することが可能である。   As described above, the information processing system 1100 according to the fourth embodiment can process only the processing in the second country (other countries) without bringing the data existing in the first country out of the country substantially. It is possible to utilize hardware resources of other countries, even if there are no high-performance hardware resources in one's own country.

(第5実施形態)
第1実施形態から第4実施形態までは、2つのハイパーバイザ間で仮想マシンを共有化する例を示したが、第5実施形態の情報処理システム1200では、3つ以上のハイパーバイザ間で仮想マシンを共有化する例を示す。
Fifth Embodiment
In the first to fourth embodiments, an example is shown in which a virtual machine is shared between two hypervisors, but in the information processing system 1200 of the fifth embodiment, virtual machines are shared between three or more hypervisors. An example of sharing a machine is shown.

図12は、第5実施形態の情報処理システム1200である。情報処理システム1200は、ハイパーバイザ1201a〜1201dの4つのハイパーバイザで構成され、それぞれのハイパーバイザが、メモリ1202a〜1202dを管理している。そして、仮想マシン(OS)1203が、各ハイパーバイザにまたがって動作している。   FIG. 12 shows an information processing system 1200 according to the fifth embodiment. The information processing system 1200 includes four hypervisors of hypervisors 1201 a to 1201 d, and each hypervisor manages the memories 1202 a to 1202 d. Then, a virtual machine (OS) 1203 operates across the hypervisors.

各ハイパーバイザ間においては、制御情報1204a〜1204d及び参照頻度の高いデータ(例えばキャッシュデータ)1205a〜1205dが送受信される。これにより、各ハイパーバイザは、他のハイパーバイザのリソース(ハードウェア資源)を共用することができ、動的に仮想マシンに対して必要なリソースを与えることが可能である。   Control information 1204 a to 1204 d and data with high reference frequency (for example, cache data) 1205 a to 1205 d are transmitted and received between the hypervisors. By this, each hypervisor can share the resources (hardware resources) of other hypervisors, and can dynamically provide necessary resources to the virtual machine.

各制御情報1204a〜1204dの送受信シーケンスは、同時並行で行っても良いし、シーケンシャルに行ってもよい。同時変更に行うと、処理の待ち時間が軽減され、処理速度の向上を図ることができる。また、シーケンシャルに行った場合、接続を確立するための手続きが簡素化されるため、仮想マシンを他のハイパーバイザに拡張する際の処理が少なくて済むという利点がある。   The transmission and reception sequences of the control information 1204 a to 1204 d may be performed simultaneously or in parallel. The simultaneous change reduces the processing waiting time and can improve the processing speed. In addition, in the case of sequential processing, the procedure for establishing a connection is simplified, so that there is an advantage that processing for extending a virtual machine to another hypervisor can be reduced.

なお、本実施形態では、模式的に、上下左右のハイパーバイザ間で接続を確立する例を示したが、ハイパーバイザ1202aとハイパーバイザ1202dとが直接制御情報1204や参照頻度の高いデータ1205を送受信するような態様も当然とり得る。   In the present embodiment, an example of establishing a connection between the upper, lower, left, and right hypervisors is schematically shown, but the hypervisor 1202 a and the hypervisor 1202 d directly transmit and receive the control information 1204 and the data 1205 having a high reference frequency. Naturally, it is also possible to take an aspect that

また、他のハイパーバイザを介して目的とするハイパーバイザとの間で制御情報1204や参照頻度の高いデータ1205を送受信することも可能である。例えば、ハイパーバイザ1202aが、ハイパーバイザ1202dと仮想マシン1203を共有するにあたり、ハイパーバイザ1202bもしくはハイパーバイザ1202cを介して制御情報1204や参照頻度の高いデータ1205を送受信する場合もあり得る。   In addition, it is also possible to transmit and receive control information 1204 and data 1205 with a high frequency of reference to and from a target hypervisor via another hypervisor. For example, when the hypervisor 1202a shares the virtual machine 1203 with the hypervisor 1202d, it may be possible to transmit and receive control information 1204 and frequently referenced data 1205 via the hypervisor 1202b or the hypervisor 1202c.

さらに、本実施形態では、4つのハイパーバイザ間で仮想マシンを共有する例を示したが、5つ以上のハイパーバイザ間で仮想マシンを共有することも可能である。   Furthermore, in the present embodiment, an example in which virtual machines are shared among four hypervisors is shown, but virtual machines can be shared among five or more hypervisors.

以上のように、第5実施形態の情報処理システム1200では、3つ以上のハイパーバイザ間にまたがって仮想マシンを動作させることにより、多くのハイパーバイザ間で仮想マシンを共有して、容易にアプリケーション性能のスケールアップ型向上を図ることができる。   As described above, in the information processing system 1200 according to the fifth embodiment, a virtual machine is shared among many hypervisors by operating the virtual machine across three or more hypervisors, thereby facilitating application. Scale-up improvement of performance can be achieved.

(第6実施形態)
本発明の第6実施形態の情報処理システム1300について図13を用いて説明する。 第6実施形態の情報処理システム1300は、第1実施形態の情報処理システム100とアドレス管理テーブルの構成が異なる。
Sixth Embodiment
An information processing system 1300 according to the sixth embodiment of the present invention will be described with reference to FIG. The information processing system 1300 of the sixth embodiment differs from the information processing system 100 of the first embodiment in the configuration of the address management table.

図13において、ハイパーバイザA1301aとハイパーバイザB1301bは、仮想マシン(OS)1302を共有している。仮想マシン1302は、固有のアドレス管理テーブル1303(OS用アドレス管理テーブル」という)を有しており、このOS用アドレス管理テーブル1303は、ハイパーバイザA1301aを実行するCPUコア内のMMU(図示せず)に格納されている。   In FIG. 13, the hypervisor A 1301 a and the hypervisor B 1301 b share a virtual machine (OS) 1302. The virtual machine 1302 has a unique address management table 1303 (referred to as an OS address management table). The OS address management table 1303 is an MMU (not shown) in the CPU core that executes the hypervisor A 1301 a Is stored in).

OS用アドレス管理テーブル1303は、仮想マシン1302が管理する仮想メモリ空間における仮想アドレスを、仮想マシンごとに割り振られた仮想的なアドレス(VM内アドレス)に変換する機能を有している。   The OS address management table 1303 has a function of converting a virtual address in a virtual memory space managed by the virtual machine 1302 into a virtual address (in-VM address) allocated for each virtual machine.

また、各ハイパーバイザA1301a、ハイパーバイザB1301bは、それぞれハイパーバイザ用アドレス管理テーブル1304a、1304bを有している。ハイパーバイザ用アドレス管理テーブル1304a、1304bは、それぞれ仮想マシンID(VMID)、仮想マシン内アドレス(VM内アドレス)、ハイパーバイザID、物理アドレス、データを保持する領域を備えている。   Each hypervisor A 1301 a and hypervisor B 1301 b has hypervisor address management tables 1304 a and 1304 b, respectively. The hypervisor address management tables 1304a and 1304b respectively include virtual machine IDs (VMIDs), virtual machine internal addresses (VM internal addresses), hypervisor IDs, physical addresses, and areas for holding data.

仮想マシンIDとは、ハイパーバイザ上で動作している仮想マシン1302に関連付けられたID(識別子)であり、どの仮想マシンに関連付けられたデータを保持しているかを示すものである。例えば、仮想マシンIDが「OS1」である場合、その行の各領域は、OS1に対応付けられたものであることを意味する。   The virtual machine ID is an ID (identifier) associated with the virtual machine 1302 operating on the hypervisor, and indicates which virtual machine the data associated with is held. For example, when the virtual machine ID is "OS1", it means that each area of the row is associated with the OS1.

仮想マシン内アドレスとは、仮想マシンごとに割り振られたアドレスであり、仮想マシンIDが示す仮想マシンが参照可能なアドレスである。   The virtual machine internal address is an address allocated to each virtual machine, and is an address that can be referred to by the virtual machine indicated by the virtual machine ID.

ハイパーバイザIDとは、参照先のハイパーバイザ又は参照元のハイパーバイザを指す識別子である。例えば、図13のハイパーバイザ用アドレス管理テーブル1304aにおいて、VM内アドレス「58」に対応する「物理アドレス」や「データ」の欄には実効的なデータが存在しない。すなわち、ハイパーバイザA1031aが管理するメモリには、目的とするデータが存在しない。   The hypervisor ID is an identifier that indicates a reference destination hypervisor or a reference source hypervisor. For example, in the hypervisor address management table 1304 a of FIG. 13, effective data does not exist in the “physical address” or “data” column corresponding to the in-VM address “58”. That is, the target data does not exist in the memory managed by the hypervisor A 1031a.

しかし、第6実施形態の情報処理システム1300では、ハイパーバイザIDが参照先として「B」を示すため、ハイパーバイザB1301bに格納されるハイパーバイザ用アドレス管理テーブル1304bが参照され、該テーブル内のVM内アドレス「58」が参照されることにより、目的とするデータ「&&&」を、ハイパーバイザB1301bが管理するメモリの物理アドレス「83」に見つけることができる。   However, in the information processing system 1300 of the sixth embodiment, since the hypervisor ID indicates “B” as a reference destination, the hypervisor address management table 1304 b stored in the hypervisor B 1301 b is referred to, and VMs in the table are referred to. By referring to the internal address “58”, the target data “&&&” can be found at the physical address “83” of the memory managed by the hypervisor B 1301 b.

以上のように、第6実施形態の情報処理システム1300では、ハイパーバイザ用アドレス管理テーブルをハイパーバイザごとに設け、該管理テーブル内に、ハイパーバイザIDという概念を導入することにより、自身のハイパーバイザに目的とするデータが存在しない場合においても、容易に他のハイパーバイザのメモリを参照することが可能である。   As described above, in the information processing system 1300 according to the sixth embodiment, the hypervisor address management table is provided for each hypervisor, and the concept of the hypervisor ID is introduced into the management table to allow the hypervisor itself to operate. Even when there is no target data, it is possible to easily refer to the memory of another hypervisor.

そして、目的とするデータが自身のハイパーバイザ内のメモリに存在すれば、ハイパーバイザ用アドレス管理テーブルにて、対応する物理アドレスを参照し、目的とするデータが自身のハイパーバイザ内のメモリに存在しなければ、ハイパーバイザIDを用いて他のハイパーバイザ用アドレス管理テーブルにて、対応する物理アドレスを参照することができる。   Then, if the target data exists in the memory in its own hypervisor, the hypervisor address management table refers to the corresponding physical address, and the target data exists in the memory in its own hypervisor. If not, the corresponding physical address can be referred to in another hypervisor address management table using the hypervisor ID.

100:情報処理システム、101…汎用ネットワーク、102〜107…情報処理装置、301a〜301f…ハイパーバイザ、302a〜302i…仮想マシン(OS)、401a、401b…ハイパーバイザ、402a、402b…メモリ、403a〜403f…論理プロセッサ、404a〜404f…制御情報、405…仮想マシン(OS)、406…参照頻度の高いデータ、601…アドレス管理テーブル 100: information processing system, 101: general-purpose network, 102 to 107: information processing device, 301a to 301f, hypervisor, 302a to 302i, virtual machine (OS), 401a, 401b: hypervisor, 402a, 402b: memory, 403a To 403 f: logical processor, 404 a to 404 f: control information, 405: virtual machine (OS), 406: data with high reference frequency, 601: address management table

Claims (13)

第1のハイパーバイザの管理するメモリのアドレスと、前記第1のハイパーバイザ連携する第2のハイパーバイザの管理するメモリのアドレス及び該第2のハイパーバイザを識別する識別子とを記録するアドレス管理テーブルと、
前記アドレス管理テーブルを参照し、前記第1のハイパーバイザと前記第2のハイパーバイザとの間で命令及び制御情報を送受信する通信部と
を備える情報処理装置。
And a memory address managed by the first hypervisor, address records management and an identifier identifying the first second management addresses and the hypervisor of the second memory hypervisor to work with hypervisor Table,
An information processing apparatus, comprising: a communication unit that transmits and receives an instruction and control information between the first hypervisor and the second hypervisor with reference to the address management table.
前記制御情報は、前記第2のハイパーバイザで動作する論理プロセッサの状態を示す情報である請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the control information is information indicating a state of a logical processor operating in the second hypervisor. 第1のハイパーバイザの管理する仮想メモリ空間のアドレスと、前記第1のハイパーバイザとは異なる第2のハイパーバイザを識別する識別子及び該第2のハイパーバイザの管理するメモリのアドレスとを互いに関連付けて記憶するアドレス管理テーブルと、
前記第1のハイパーバイザ又は前記第2のハイパーバイザで動作する論理プロセッサの状態を示す制御情報を記憶する制御情報記憶部と、
を有し、
前記第1のハイパーバイザは、前記第2のハイパーバイザとの間で前記制御情報を送受信可能であると共に、前記アドレス管理テーブルを参照して、前記仮想メモリ空間のアドレスに関連付けられた、前記第2のハイパーバイザの管理するメモリのアドレスにアクセス可能である情報処理装置。
An address of a virtual memory space managed by a first hypervisor, an identifier identifying a second hypervisor different from the first hypervisor, and an address of a memory managed by the second hypervisor are associated with each other Address management table to be stored,
A control information storage unit storing control information indicating a state of a logical processor operating in the first hypervisor or the second hypervisor;
Have
The first hypervisor is capable of transmitting and receiving the control information to and from the second hypervisor, and refers to the address management table to associate the address with the address of the virtual memory space. An information processing apparatus capable of accessing an address of a memory managed by the second hypervisor.
前記制御情報は、論理プロセッサの状態を示すレジスタ値、プログラムカウンタ値及びメモリへのポインタの少なくともいずれか一つである請求項1乃至3のいずれかに記載の情報処理装置。   The information processing apparatus according to any one of claims 1 to 3, wherein the control information is at least one of a register value indicating a state of a logical processor, a program counter value, and a pointer to a memory. 前記第1のハイパーバイザと前記第2のハイパーバイザとは、識別子による宛先指定の可能な汎用ネットワークを介して連携する請求項1乃至4のいずれかに記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 4, wherein the first hypervisor and the second hypervisor cooperate with each other via a general-purpose network capable of destination specification by an identifier. 前記第1のハイパーバイザは、自身の管理するメモリに処理対象データが存在せず、かつ、前記第2のハイパーバイザの管理するメモリに前記処理対象データが存在する場合に、前記第2のハイパーバイザに対して前記制御情報を送信する請求項1乃至5のいずれかに記載の情報処理装置。   If the processing target data does not exist in the memory managed by the first hypervisor and the processing target data exists in the memory managed by the second hypervisor, the second hypervisor The information processing apparatus according to any one of claims 1 to 5, wherein the control information is transmitted to a visor. 前記制御情報は、前記第1のハイパーバイザの管理するリソースの使用状況又は前記第2のハイパーバイザの管理するリソースの使用状況に応じて、前記第1のハイパーバイザと前記第2のハイパーバイザとの間で送受信される請求項1乃至6のいずれかに記載の情報処理装置。   The control information may be the first hypervisor and the second hypervisor according to the usage status of the resource managed by the first hypervisor or the usage status of the resource managed by the second hypervisor. The information processing apparatus according to any one of claims 1 to 6, wherein the information is transmitted and received. 前記制御情報は、前記使用状況に余剰がある方のリソースを管理するハイパーバイザに対して送信される請求項7に記載の情報処理装置。   The information processing apparatus according to claim 7, wherein the control information is transmitted to a hypervisor that manages a resource having a surplus in the use status. 前記制御情報の送受信とともに、前記制御情報に関連するデータを送受信する請求項1乃至6のいずれか1つに記載の情報処理装置。   The information processing apparatus according to any one of claims 1 to 6, which transmits and receives data related to the control information as well as transmitting and receiving the control information. コンピュータを、
第1のハイパーバイザの管理するメモリのアドレスと、前記第1のハイパーバイザ連携する第2のハイパーバイザの管理するメモリのアドレス及び該第2のハイパーバイザを識別する識別子とを記録するアドレス管理テーブルを記憶するアドレス管理テーブル記憶部と、
前記アドレス管理テーブルを参照し、前記第1のハイパーバイザと前記第2のハイパーバイザとの間で命令及び制御情報を送受信する通信部として機能させるプログラム。
Computer,
And a memory address managed by the first hypervisor, address records management and an identifier identifying the first second management addresses and the hypervisor of the second memory hypervisor to work with hypervisor An address management table storage unit for storing a table;
A program that functions as a communication unit that transmits and receives instructions and control information between the first hypervisor and the second hypervisor with reference to the address management table.
前記制御情報は、前記第2のハイパーバイザで動作する論理プロセッサの状態を示す情報である請求項10に記載のプログラム。   The program according to claim 10, wherein the control information is information indicating a state of a logical processor operating in the second hypervisor. コンピュータを、
第1のハイパーバイザの管理する仮想メモリ空間のアドレスと、前記第1のハイパーバイザとは異なる第2のハイパーバイザを識別する識別子及び該第2のハイパーバイザの管理するメモリのアドレスとを互いに関連付けて記憶するアドレス管理テーブルを記憶するアドレス管理テーブル記憶部と、
前記第1のハイパーバイザ又は前記第2のハイパーバイザで動作する論理プロセッサの状態を示す制御情報を記憶する制御情報記憶部として機能させ、
前記第1のハイパーバイザを、前記第2のハイパーバイザとの間で前記制御情報を送受信可能とすると共に、前記アドレス管理テーブルを参照して、前記仮想メモリ空間のアドレスに関連付けられた、前記第2のハイパーバイザの管理するメモリのアドレスにアクセス可能とするプログラム。
Computer,
An address of a virtual memory space managed by a first hypervisor, an identifier identifying a second hypervisor different from the first hypervisor, and an address of a memory managed by the second hypervisor are associated with each other An address management table storage unit that stores an address management table to be stored;
It functions as a control information storage unit that stores control information indicating the state of a logical processor operating in the first hypervisor or the second hypervisor,
The first hypervisor is capable of transmitting and receiving the control information to and from the second hypervisor, and referring to the address management table, the first hypervisor is associated with the address of the virtual memory space, A program that enables access to memory addresses managed by the 2 hypervisor.
請求項10乃至12のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。

A computer readable recording medium storing the program according to any one of claims 10 to 12.

JP2014116459A 2014-06-05 2014-06-05 INFORMATION PROCESSING APPARATUS, PROGRAM, AND RECORDING MEDIUM Active JP6351387B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014116459A JP6351387B2 (en) 2014-06-05 2014-06-05 INFORMATION PROCESSING APPARATUS, PROGRAM, AND RECORDING MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014116459A JP6351387B2 (en) 2014-06-05 2014-06-05 INFORMATION PROCESSING APPARATUS, PROGRAM, AND RECORDING MEDIUM

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018108035A Division JP6694007B2 (en) 2018-06-05 2018-06-05 Information processing equipment

Publications (2)

Publication Number Publication Date
JP2015230586A JP2015230586A (en) 2015-12-21
JP6351387B2 true JP6351387B2 (en) 2018-07-04

Family

ID=54887326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014116459A Active JP6351387B2 (en) 2014-06-05 2014-06-05 INFORMATION PROCESSING APPARATUS, PROGRAM, AND RECORDING MEDIUM

Country Status (1)

Country Link
JP (1) JP6351387B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997035255A1 (en) * 1996-03-15 1997-09-25 Hitachi, Ltd. Distributed virtual computer system
US7743375B2 (en) * 2008-06-27 2010-06-22 International Business Machines Corporation Information handling system including dynamically merged physical partitions
JP2012146105A (en) * 2011-01-12 2012-08-02 Hitachi Ltd Computer system

Also Published As

Publication number Publication date
JP2015230586A (en) 2015-12-21

Similar Documents

Publication Publication Date Title
US9582221B2 (en) Virtualization-aware data locality in distributed data processing
US10817333B2 (en) Managing memory in devices that host virtual machines and have shared memory
US20180027093A1 (en) Methods and apparatus for sdi support for automatic and transparent migration
US9760497B2 (en) Hierarchy memory management
KR102519904B1 (en) Allocating and configuring persistent memory
US10248346B2 (en) Modular architecture for extreme-scale distributed processing applications
US9146609B2 (en) Thread consolidation in processor cores
Yang et al. AutoReplica: automatic data replica manager in distributed caching and data processing systems
US10248460B2 (en) Storage management computer
KR20140111589A (en) System, method and computer-readable medium for dynamic cache sharing in a flash-based caching solution supporting virtual machines
JP2016541072A (en) Resource processing method, operating system, and device
KR102043276B1 (en) Apparatus and method for dynamic resource allocation based on interconnect fabric switching
US10915370B2 (en) Inter-host communication without data copy in disaggregated systems
JP2011238278A (en) Control method for virtual calculator
US10579419B2 (en) Data analysis in storage system
CN110447019B (en) Memory allocation manager and method for managing memory allocation performed thereby
US20190278714A1 (en) System and method for memory access latency values in a virtual machine
JP6351387B2 (en) INFORMATION PROCESSING APPARATUS, PROGRAM, AND RECORDING MEDIUM
WO2017188036A1 (en) Access control device, access control system, access control method, and recording medium containing access control program
JP6998419B2 (en) Control program
JP6694007B2 (en) Information processing equipment
JP7281528B2 (en) Information processing equipment
US20180032250A1 (en) Efficiency in active memory sharing
KR20150095978A (en) Distributed Storage System using Local Disk of Computing Node on Cloud Computing
JP6035993B2 (en) Information processing apparatus, apparatus management method, and apparatus management program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180130

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: 20180508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180605

R150 Certificate of patent or registration of utility model

Ref document number: 6351387

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250