JP2010039685A - Multifunction type computer and control method for multifunction type computer - Google Patents

Multifunction type computer and control method for multifunction type computer Download PDF

Info

Publication number
JP2010039685A
JP2010039685A JP2008200682A JP2008200682A JP2010039685A JP 2010039685 A JP2010039685 A JP 2010039685A JP 2008200682 A JP2008200682 A JP 2008200682A JP 2008200682 A JP2008200682 A JP 2008200682A JP 2010039685 A JP2010039685 A JP 2010039685A
Authority
JP
Japan
Prior art keywords
memory
address
computer
migration
physical
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.)
Granted
Application number
JP2008200682A
Other languages
Japanese (ja)
Other versions
JP5262404B2 (en
Inventor
Takanari Baba
貴成 馬場
Yuji Tsushima
雄次 對馬
Keitaro Uehara
敬太郎 上原
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008200682A priority Critical patent/JP5262404B2/en
Publication of JP2010039685A publication Critical patent/JP2010039685A/en
Application granted granted Critical
Publication of JP5262404B2 publication Critical patent/JP5262404B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To quickly achieve guest OS migration in the case of directly assigning an I/O device to the guest OS. <P>SOLUTION: When the virtual machine monitor (VMM) of a first physical computer moves a guest OS to a second physical computer, the VMM copies a first memory assigned to the guest OS to the second memory of a second physical computer during the operation of the guest OS, and classifies the states of the first memory into one of a copied region, a copying region, and a uncopied region, and notifies an I/O switch of the classified result, and when receiving DMA write-in T<SB>x</SB>from the I/O device, the I/O switch compares the destination address of the DMA write-in T<SB>x</SB>with the classification information of the first memory, and writes the DMA write-in T<SB>x</SB>in the first memory and the second memory when the address of the DMA write-in T<SB>x</SB>is the copied region, and writes the address of the DMA write-in T<SB>x</SB>only in the first memory when the address of the DMA write-in T<SB>x</SB>is the copying region and the uncopied region. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、1つの計算機に複数の仮想計算機を構成し、それぞれの仮想計算機上でOSを動作させる仮想サーバ技術に関し、特に仮想計算機上のOSを異なる計算機間で移動させる技術、すなわち、ゲストOSマイグレーション技術に関するものである。   The present invention relates to a virtual server technology that configures a plurality of virtual computers in one computer and operates OS on each virtual computer, and in particular, a technology for moving an OS on a virtual computer between different computers, that is, a guest OS. It relates to migration technology.

企業内のITシステムは、業務毎の情報を処理するAP(Application)サーバと、業務の情報を蓄積保存するDB(Data Base)サーバ等の業務毎に様々なサーバから構成される。これらサーバにはCPU、メモリ、I/Oデバイス等から成る計算機が用いられている。上記のようにITシステムは、多くのサーバから構成されるため1つの装置に複数の計算機を集約することが可能なブレードサーバが用いられている。この種のブレードサーバは、例えば、特許文献1が知られている。   An IT system in a company includes various servers such as an AP (Application) server that processes information for each business and a DB (Data Base) server that stores and stores business information. A computer comprising a CPU, a memory, an I / O device, etc. is used for these servers. As described above, since the IT system is composed of many servers, a blade server capable of consolidating a plurality of computers in one apparatus is used. For example, Patent Document 1 is known as this type of blade server.

近年、半導体技術の向上によりひとつのCPUに複数のプロセッサコアを搭載するマルチコア化によるCPUの処理性能を向上させることが行われている。CPUの処理性能向上に伴い、1台の計算機上に1つのAPサーバやDBサーバを動作させるだけだと、CPUの処理能力が余ってしまうケースがある。そのため、CPUの処理能力を効率的に使用するため1台の計算機に複数の仮想的な計算機を稼動させる仮想計算機技術が用いられるようになってきている。個々の仮想計算機上では、OSとAPサーバやDBサーバのソフトウェアが動作し、1台の計算機に複数のAPサーバやDBサーバを集約することが可能である。   2. Description of the Related Art In recent years, improvement in semiconductor technology has improved the CPU processing performance by using a multi-core system in which a plurality of processor cores are mounted on one CPU. Along with the improvement in CPU processing performance, there is a case where the processing capability of the CPU is surplus if only one AP server or DB server is operated on one computer. For this reason, in order to efficiently use the processing capacity of the CPU, virtual computer technology for operating a plurality of virtual computers in one computer has been used. On each virtual computer, the OS and the software of the AP server and DB server operate, and it is possible to consolidate a plurality of AP servers and DB servers on one computer.

仮想化技術では、計算機上に仮想化ソフトウェア、いわゆる、仮想マシンモニタ(VMM:Virtual Machine Monitor)を動作させ、仮想化ソフトウェア上に仮想計算機を生成する。個々の仮想計算機上では、それぞれ独立したOSを動作させることができる。ここで、仮想計算機上で動作するOSを非仮想化環境の計算機上で動作するOSと区別するためゲストOSと呼ぶ。仮想化技術では、ある計算機上の仮想計算機上で動作するゲストOSのOSイメージを、別の計算機上の仮想計算機上に移動し動作させるゲストOSマイグレーションという機能を提供する技術が知られている(例えば、非特許文献1)。このゲストOSマイグレーションを用いると、例えば、ゲストOSが動作する計算機を保守するために停止させたい場合に、ゲストOSを別の計算機に移動させることにより、ユーザの業務サーバを停止すること無しに、元の計算機を停止、保守することが可能となる。   In the virtualization technology, virtualization software, so-called virtual machine monitor (VMM) is operated on a computer, and a virtual computer is generated on the virtualization software. An independent OS can be operated on each virtual machine. Here, an OS that runs on a virtual machine is called a guest OS to distinguish it from an OS that runs on a computer in a non-virtualized environment. In the virtualization technology, a technology is known that provides a function called guest OS migration that moves and operates an OS image of a guest OS operating on a virtual computer on a certain computer on a virtual computer on another computer ( For example, Non-Patent Document 1). When this guest OS migration is used, for example, when it is desired to stop the computer on which the guest OS operates, it is possible to move the guest OS to another computer without stopping the user's business server. The original computer can be stopped and maintained.

業務として使う現用系とバックアップとして使う待機系とする従来型のシステムでは、現用系と待機系の両方にOSやソフトウェアのライセンスが必要に対して、ゲストOSマイグレーションでは1個のOS及びソフトウェアのライセンスで済むため、ライセンス料の節約になる。そのためゲストOSマイグレーションは、ITシステムの実運用においても徐々に使われるようになってきている。   In the conventional system, which is the active system used for business and the standby system used as backup, OS and software licenses are required for both the active system and the standby system, whereas in the guest OS migration, one OS and software license is required. This saves license fees. Therefore, guest OS migration is gradually being used in actual operation of IT systems.

一方、計算機では他の計算機とのネットワーク通信やストレージ装置の接続にNIC(Network Interface Card)やFC−HBA(Fiber Channel-Host Bus Adapter)等のI/Oデバイスが用いられるが、ブレードサーバ等では計算機(1枚のブレード)毎に必要なI/O数が異なるため、計算機に割当てるI/Oデバイス数を柔軟にする必要がある。このような問題を補う技術として、複数の計算機と複数のI/OデバイスであるPCI(Peripheral Component Interconnect)デバイスとを接続可能とするマルチルートPCIスイッチ技術が知られている(例えば、非特許文献2)。この技術では、1つの計算機に接続可能なPCIデバイスの個数をスケーラブルに変えることが可能である。
特開2002−32153号 「Live Migration of Virtual Machines」、Christopher Clark 他著、NSDI'05:2nd Symposium on Networked Systems Design & Implementation発行。 「Advanced Switching Technology Tech Brief」、ASI−SIG発行
On the other hand, in computers, I / O devices such as NIC (Network Interface Card) and FC-HBA (Fiber Channel Host Bus Adapter) are used for network communication with other computers and connection of storage devices. Since the number of I / Os required for each computer (one blade) is different, it is necessary to make the number of I / O devices allocated to the computer flexible. As a technique for compensating for such a problem, a multi-root PCI switch technique is known that enables a plurality of computers and a plurality of I / O devices, which are PCI (Peripheral Component Interconnect) devices, to be connected (for example, non-patent literature). 2). With this technology, the number of PCI devices that can be connected to one computer can be changed in a scalable manner.
JP 2002-32153 A Published “Live Migration of Virtual Machines”, Christopher Clark et al., NSDI'05: 2nd Symposium on Networked Systems Design & Implementation. "Advanced Switching Technology Tech Brief" published by ASI-SIG

上記のような仮想化技術において、I/OデバイスをゲストOSに割当てる方法には、一般的に、(1)物理I/Oデバイスを仮想化ソフトウェアが制御し、仮想化ソフトウェアが仮想的なI/OデバイスをゲストOSに提供する方法、と、(2)物理I/Oデバイスを仮想化ソフトウェアの制御無しに直接ゲストOSに割当てる方法、との2つの方法がある。   In the virtualization technology as described above, generally, a method for allocating an I / O device to a guest OS includes (1) virtualization software controlling a physical I / O device, and the virtualization software is a virtual I / O device. There are two methods: a method of providing the / O device to the guest OS, and a method of (2) directly allocating the physical I / O device to the guest OS without the control of the virtualization software.

前者(1)の方法は、仮想I/Oデバイスを仮想化ソフトウェアが制御可能であるためゲストOSマイグレーションが容易に可能である反面、仮想化ソフトウェアの処理が必要なため性能が低下するという問題がある。逆に後者(2)の方法は、I/OデバイスをゲストOSに直接割当てるため、性能の低下がない反面、ゲストOSマイグレーションではI/Oデバイスを移動元の物理計算機から移動先の物理計算機に接続を変える必要があるため、I/Oデバイスが両計算機から物理的に接続されている必要がある。このI/Oデバイスを両計算機に接続するには、上記のマルチルートI/Oスイッチ技術を用いることで可能である。すなわち、ゲストOSマイグレーションの前後でマルチルートIOスイッチの設定を変更し、I/Oデバイスの接続先を移動元計算機から移動先計算機に変更すればよい。なお、上記非特許文献2では、上記(1)の方法のゲストOSマイグレーションについて記載されている。   In the former method (1), the virtual software can control the virtual I / O device, so that the guest OS migration can be easily performed. On the other hand, there is a problem that the performance is lowered because the processing of the virtual software is necessary. is there. On the other hand, the latter method (2) allocates an I / O device directly to a guest OS, so there is no performance degradation. However, in guest OS migration, an I / O device is transferred from a migration source physical computer to a migration destination physical computer. Since the connection needs to be changed, the I / O device needs to be physically connected from both computers. In order to connect this I / O device to both computers, it is possible to use the above-mentioned multi-root I / O switch technology. That is, the setting of the multi-root IO switch may be changed before and after the guest OS migration, and the connection destination of the I / O device may be changed from the migration source computer to the migration destination computer. The non-patent document 2 describes the guest OS migration of the method (1).

ところが、上記のようなマルチルートI/Oスイッチ技術を用いたゲストOSマイグレーションでは、次のような問題点があることが本発明者により見出された。   However, the present inventors have found that the guest OS migration using the multi-root I / O switch technology as described above has the following problems.

業務に用いられるサーバでは、アプリケーション間の通信でのタイムアウト等を防ぐためゲストOSの停止時間を短くする必要がある。一方、ゲストOSマイグレーションでは、ゲストOSのメモリイメージを移動先の計算機上の仮想計算機のメモリ領域にコピーする必要がある。例えば、移動対象のゲストOSの割当てメモリサイズが5GBのとき、標準的なインターフェースであるギガビットイーサネット(登録商標、以下同じ)でメモリイメージをコピーした場合は、メモリのコピーに最低でも40秒かかることになる。ゲストOSの停止時にメモリコピーを行う場合、ゲストOSの停止時間が上記のケースでは40秒以上かかることになり、業務向けサーバには許容できない停止時間である。そこで、ゲストOSの停止中にメモリコピーを行うのではなく、ゲストOS動作中にメモリコピーを行い、ゲスト停止中は動作中にメモリコピーができなかった分の最小限のメモリコピーとし、ゲスト停止時間を短くする必要がある。このようなゲストOS動作中のメモリコピーをバックグラウンドコピーと呼ぶ。バックグラウンドコピーでは、ゲストOSが動作しているためコピー済のメモリ領域にCPUやI/Oからメモリの更新(Write)があり、この更新分については再コピーする必要がある。そのため、メモリコピー用の移動元計算機と移動先計算機間のインターフェースのメモリコピー速度に対して、ゲストOSに割当てたI/Oデバイスのメモリ更新速度が大きいと、再コピーが必要なメモリサイズが小さくならないという課題がある。   In a server used for business, it is necessary to shorten the stop time of the guest OS in order to prevent a timeout in communication between applications. On the other hand, in guest OS migration, it is necessary to copy the memory image of the guest OS to the memory area of the virtual machine on the migration destination computer. For example, if the memory size of the migration target guest OS is 5 GB and the memory image is copied with the standard interface Gigabit Ethernet (registered trademark, the same applies hereinafter), it takes at least 40 seconds to copy the memory. become. When memory copy is performed when the guest OS is stopped, the guest OS stop time takes 40 seconds or more in the above case, which is an unacceptable stop time for a business server. Therefore, instead of copying the memory while the guest OS is stopped, the memory copy is performed while the guest OS is running. It is necessary to shorten the time. Such a memory copy during operation of the guest OS is called a background copy. In the background copy, since the guest OS is operating, there is a memory update (Write) from the CPU or I / O in the copied memory area, and this updated part needs to be copied again. For this reason, if the memory update speed of the I / O device allocated to the guest OS is large compared to the memory copy speed of the interface between the migration source computer and the migration destination computer for memory copy, the memory size that needs to be copied again becomes small. There is a problem of not becoming.

スループットが大きいインターフェースは、一般的に高価なため計算機毎に搭載するのはコスト高となってしまう。スループットが大きいインターフェースとしては、例えば、10ギガビットイーサネット、InfiniBandがある。また、上述の通りゲストOSの割当てメモリサイズが大きいほどコピー時間が掛かるため、メモリサイズが大きいほどコピー完了までの間に更新されるメモリ量が増加し、上記課題と同様に再コピーが必要なメモリサイズが小さくならないという課題がある。   An interface having a high throughput is generally expensive, so that it is expensive to install in each computer. As an interface having a high throughput, there are, for example, 10 Gigabit Ethernet and InfiniBand. As described above, the larger the allocated memory size of the guest OS, the longer it takes to copy. Therefore, the larger the memory size, the larger the amount of memory that is updated before the copy is completed. There is a problem that the memory size is not reduced.

そこで本発明では、上記(2)のゲストOSにI/Oデバイスを直接割当てた際のゲストOSマイグレーションのバックグランドコピーにおいて、上記の課題の解決のため、マルチルートI/Oスイッチに、コピー済み領域へのI/Oデバイスからの更新、いわゆる、DMA_Write_Tx(トランザクション)については、Tx(トランザクション、以下同様)を複製し、移動先の物理計算機上の移動先仮想計算機のメモリ領域にもDMA_Writeを実行して迅速なゲストOSマイグレーションを実現することを目的とする。   Therefore, in the present invention, in the background copy of the guest OS migration when the I / O device is directly assigned to the guest OS in (2) above, in order to solve the above-mentioned problem, the copy has already been made to the multi-root I / O switch. For updates from the I / O device to the area, so-called DMA_Write_Tx (transaction), Tx (transaction, the same applies hereinafter) is duplicated, and DMA_Write is also executed in the memory area of the destination virtual machine on the destination physical computer The purpose is to realize a quick guest OS migration.

本発明の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   The objects and novel features of the present invention will become apparent from the description of the present specification and the accompanying drawings.

本発明は、第1のプロセッサと第1のメモリを備えた第1の物理計算機と、前記第1の物理計算機の計算機資源を仮想化して第1の仮想計算機を実行する第1の仮想化部と、第2のプロセッサと第2のメモリを備えた第2の物理計算機と、前記第2の物理計算機の計算機資源を仮想化して第2の仮想計算機を実行する第2の仮想化部と、前記第1の物理計算機及び第2の物理計算機とI/Oデバイスを接続するI/Oスイッチと、を備えた複合型計算機で前記第1の仮想化部が、前記第1の仮想計算機で実行される第1のOSを前記第2の仮想計算機へ移動させる複合型計算機の制御方法であって、前記第1の仮想化部が前記第1のOSを前記第2の仮想計算機へ移動させる場合には、前記第1のOSの稼働中に当該第1の仮想化部が第1のメモリを前記第1のOSに割り当てたメモリ領域を、前記第2の物理計算機の第2のメモリへコピーするステップと、前記第1の仮想化部が、前記第1のメモリの状態を、前記第2のメモリへのコピーが完了したコピー済み領域と、前記第2のメモリへのコピーを実行中のコピー中領域と、前記第2のメモリへのコピーが未了の未コピー領域の何れかに分類して、当該分類したメモリ状態と第1のメモリのアドレスとを分類情報として前記I/Oスイッチへ通知するステップと、前記I/Oスイッチが、前記第1のOSに割り当てた前記I/OデバイスからDMA書き込みトランザクションを受信した場合には、当該DMA書き込みトランザクションの宛先アドレスと前記第1のメモリの前記分類情報のアドレスとを比較するステップと、前記I/Oスイッチが、前記比較の結果、前記DMA書き込みトランザクションのアドレスが前記コピー済み領域の場合は当該DMA書き込みトランザクションを前記第1のメモリと前記第2のメモリの両方にDMA書き込みを行うステップと、前記I/Oスイッチが、前記比較の結果、前記DMA書き込みトランザクションのアドレスが前記コピー中領域または未コピー領域の場合には、前記第1のメモリのみにDMA書き込みを行うステップと、を含む。   The present invention provides a first physical computer having a first processor and a first memory, and a first virtualization unit that virtualizes computer resources of the first physical computer and executes the first virtual computer A second physical computer including a second processor and a second memory, a second virtualization unit that virtualizes computer resources of the second physical computer and executes the second virtual computer, The first virtualization unit is executed by the first virtual computer in a composite computer comprising an I / O switch for connecting an I / O device to the first physical computer and the second physical computer. A method of controlling a composite computer that moves a first OS to the second virtual computer, wherein the first virtualization unit moves the first OS to the second virtual computer The first virtualization unit during the operation of the first OS Copying the memory area in which the memory is allocated to the first OS to the second memory of the second physical computer; and the first virtualization unit is configured to change the state of the first memory to Any one of a copied area that has been copied to the second memory, a copying area that is being copied to the second memory, and an uncopied area that has not been copied to the second memory And classifying the classified memory state and the address of the first memory to the I / O switch as classification information, and the I / O switch assigns the I to the first OS. If a DMA write transaction is received from the / O device, the destination address of the DMA write transaction is compared with the address of the classification information in the first memory; The I / O switch performs the DMA write to both the first memory and the second memory when the address of the DMA write transaction is the copied area as a result of the comparison; The I / O switch includes a step of performing a DMA write only to the first memory when the address of the DMA write transaction is the copy-in-progress region or the non-copy region as a result of the comparison.

また、前記I/Oスイッチが、前記比較の結果、前記DMA書き込みトランザクションのアドレスが前記コピー中領域または未コピー領域の場合には、前記第1のメモリのみにDMA書き込みを行うステップは、前記DMA書き込みトランザクションのアドレスが前記コピー中領域の場合には、前記第1のメモリにDMA書き込みを行い、前記第1のメモリに予め設定したアドレス格納領域に当該DMA書き込みトランザクションのアドレス情報を格納するステップと、前記第1の仮想化部が、前記コピー中領域のコピーが完了した後に、前記アドレス格納領域に格納した前記アドレス情報を取得し、当該アドレス情報が指し示す前記第1のメモリから第2のメモリにコピーを行うステップと、を含む。   The I / O switch may perform the DMA write only to the first memory when the address of the DMA write transaction is the area being copied or an uncopied area as a result of the comparison. When the address of the write transaction is the area being copied, performing a DMA write to the first memory, and storing the address information of the DMA write transaction in an address storage area set in advance in the first memory; The first virtualization unit obtains the address information stored in the address storage area after the copying of the area being copied is completed, and the second memory from the first memory indicated by the address information And performing a copy.

本発明により、バックグラウンドコピーを用いたゲストOS(第1のOS)マイグレーションにおいて、マイグレーション対象のゲストOSのメモリコピー用のインターフェースのスループットが低くても、ゲストOSの停止時に再コピーが必要なメモリのサイズを小さくすることができ、ゲストOSの停止時間を短くすることが可能である。   According to the present invention, in a guest OS (first OS) migration using background copy, even if the throughput of the memory copy interface of the migration target guest OS is low, the memory that needs to be copied again when the guest OS is stopped Can be reduced, and the stop time of the guest OS can be shortened.

また、本発明により、バックグラウンドコピーを用いたゲストOSマイグレーションにおいて、ゲストOSに割当てたメモリサイズによらず、ゲストOSの停止時に再コピーが必要なメモリ領域のサイズを一定であり、ゲストOSに割当てたメモリサイズが大きくても再コピーが必要なメモリ領域のサイズを小さくすることができ、ゲストOSの停止時間を短くすることが可能である。   Further, according to the present invention, in the guest OS migration using the background copy, the size of the memory area that needs to be copied again when the guest OS is stopped is constant regardless of the memory size allocated to the guest OS. Even if the allocated memory size is large, the size of the memory area that needs to be re-copied can be reduced, and the stop time of the guest OS can be shortened.

さらに、メモリコピーに用いるインターフェースの種類やゲストOSの割当てメモリサイズ等の計算機環境に依存せず、ゲストOSマイグレーション時のゲストOSの停止時間を確実に小さくすることが可能であり、ユーザ業務やアプリケーションサーバ等に与える影響を最小限にしてゲストOSマイグレーションを実施できる。また、ゲストOSマイグレーションの計算機環境の制約が緩和されるため、ゲストOSマイグレーションの用途を広げることができる。   Furthermore, it is possible to reliably reduce the stop time of the guest OS during the migration of the guest OS without depending on the computer environment such as the type of interface used for the memory copy or the allocated memory size of the guest OS. Guest OS migration can be implemented with minimal impact on servers and the like. In addition, since the restrictions on the computer environment for guest OS migration are relaxed, the use of guest OS migration can be expanded.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するために全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は原則として省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that, in all the drawings for explaining the embodiment, the same members are denoted by the same reference numerals in principle, and the repeated description thereof is omitted in principle.

先ず本発明の第1の実施の形態による複合型計算機の構成について説明する。図1は本発明の第1の実施の形態による複合型計算機のブロック図である。   First, the configuration of the composite computer according to the first embodiment of the present invention will be described. FIG. 1 is a block diagram of a composite computer according to the first embodiment of the present invention.

図1に示すように、本実施の形態において複合型計算機は、1以上の物理計算機1011、1012と、複数の物理計算機1011、1012をI/Oデバイスに接続可能な1以上のマルチルートI/Oスイッチ102と、マルチルートI/Oスイッチ102に接続される1以上のI/Oデバイス1031、1032と、物理計算機1011、1012とマルチルートI/Oスイッチ102に接続された1以上の装置制御部104から構成される。   As shown in FIG. 1, in the present embodiment, the composite computer includes one or more physical computers 1011 and 1012 and one or more multi-root I / Os that can connect a plurality of physical computers 1011 and 1012 to an I / O device. O switch 102, one or more I / O devices 1031 and 1032 connected to multi-root I / O switch 102, and one or more device controls connected to physical computers 1011 and 1012 and multi-root I / O switch 102 The unit 104 is configured.

物理計算機1011、1012とI/Oデバイス1031、1032とは、I/Oインターフェース150によりマルチルートI/Oスイッチ102経由で接続される。また、装置制御部104と物理計算機1011、1012、マルチルートI/Oスイッチ102は、制御インターフェース153により接続される。複合型計算機の管理を行う管理者は、装置制御部104の管理用端末105により複合型計算機の管理を行う。管理用端末105は、管理インターフェース152により装置制御部104と接続される。   The physical computers 1011 and 1012 and the I / O devices 1031 and 1032 are connected via the multi-root I / O switch 102 by the I / O interface 150. The device control unit 104, the physical computers 1011 and 1012, and the multi-root I / O switch 102 are connected by a control interface 153. An administrator who manages the complex computer manages the complex computer using the management terminal 105 of the apparatus control unit 104. The management terminal 105 is connected to the apparatus control unit 104 via the management interface 152.

装置制御部104は、装置制御ソフトウェア140、マイグレーション管理ソフトウェア141、マイグレーション構成情報142から構成される。装置制御ソフトウェア140は、物理計算機1011、1012と、マルチルートI/Oスイッチ102の電源制御と、物理計算機1011、1012とI/Oデバイス1031、1032の接続についてマルチルートI/Oスイッチ102に設定する機能を持つ。   The device control unit 104 includes device control software 140, migration management software 141, and migration configuration information 142. The device control software 140 sets the power supply control of the physical computers 1011 and 1012 and the multi-root I / O switch 102 and sets the connection between the physical computers 1011 and 1012 and the I / O devices 1031 and 1032 in the multi-root I / O switch 102. It has a function to do.

マイグレーション管理ソフトウェア141は、管理用端末105によりゲストOSマイグレーションの実行要求を受けて、物理計算機1011、1012の仮想マシンモニタ(VMM)1201、1202から仮想計算機1231、1232、ゲストOS 1241、1242の情報を取得し、マイグレーション構成情報142に保存する機能、ゲストOSマイグレーションの進捗を管理する機能を持つ。   Upon receiving a guest OS migration execution request from the management terminal 105, the migration management software 141 receives information on the virtual machines 1231 and 1232 and guest OS 1241 and 1242 from the virtual machine monitors (VMM) 1201 and 1202 of the physical computers 1011 and 1012. Are acquired and stored in the migration configuration information 142, and the progress of guest OS migration is managed.

物理計算機1011、1012は、ハードウェア構成要素106と、ハードウェア構成要素106上で動作する仮想マシンモニタ1201、1202と、仮想マシンモニタ1201、1202上で動作する仮想計算機1231、1232から構成される。   The physical computers 1011 and 1012 include a hardware component 106, virtual machine monitors 1201 and 1202 that operate on the hardware component 106, and virtual computers 1231 and 1232 that operate on the virtual machine monitors 1201 and 1202. .

ハードウェア構成要素106は、1以上のCPU(プロセッサ)108と、1以上のチップセット(制御ハブ)107と、1以上のメモリ1091、1092と、1以上のゲストOSマイグレーションに用いるゲストOSのメモリコピー用のI/O110を備える。なお、チップセット107は、CPU108とメモリ1091を接続するメモリコントロールハブの機能と、CPU108とマルチルートI/Oスイッチ102のI/Oデバイス1301を接続するI/O制御ハブの機能を有する。なお、チップセット107はメモリコントロールハブとI/O制御ハブを分離して実装することができる。   The hardware component 106 includes at least one CPU (processor) 108, at least one chip set (control hub) 107, at least one memory 1091 and 1092, and at least one guest OS memory used for guest OS migration. A copy I / O 110 is provided. The chip set 107 has a function of a memory control hub that connects the CPU 108 and the memory 1091 and a function of an I / O control hub that connects the CPU 108 and the I / O device 1301 of the multi-root I / O switch 102. Note that the chip set 107 can be mounted separately from the memory control hub and the I / O control hub.

仮想計算機1231、1232上では、それぞれゲストOS1241、1242が動作する。このような複合型計算機において、ゲストOSマイグレーションは、移動元物理計算機1011から移動先物理計算機1012に、移動元ゲストOS1241を移動先ゲストOS1242に移動を行う。I/Oデバイス1031は移動対象のゲストOS1242に直接割当てられていて、移動前は移動元ゲストOS1241に割当てられ、移動後は移動先ゲストOS1242に割当てが変更される。   Guest OSs 1241 and 1242 operate on the virtual machines 1231 and 1232, respectively. In such a compound computer, guest OS migration is performed by moving the migration source guest OS 1241 from the migration source physical computer 1011 to the migration destination physical computer 1012 and the migration destination guest OS 1242. The I / O device 1031 is directly assigned to the migration target guest OS 1242, and is allocated to the migration source guest OS 1241 before the migration, and the allocation is changed to the migration destination guest OS 1242 after the migration.

移動元のメモリ1091は、少なくとも移動元ゲストOS1241のメモリ領域(ゲストメモリ)1111と、仮想マシンモニタ1201が利用するメモリ領域(VMM領域)112から成る。また、移動元ゲストOS1241のメモリ領域1111の内容を複写する移動先のメモリ1092は、少なくとも移動先ゲストOS1242のメモリ領域(ゲストメモリ)1112から成る。ゲストOSマイグレーション時は、移動元ゲストOS1241が動作中に、移動元仮想マシンモニタ1201のバックグラウンドコピー制御部121の制御により、移動元ゲストOS1241のメモリ領域1111を移動先ゲストOS1241のメモリ領域1112にバックグラウンドコピー160を行う。このバックグランドコピー160は、メモリコピー用のインターフェース110により、インターフェース配線151経由で行われる。   The migration source memory 1091 includes at least a memory area (guest memory) 1111 of the migration source guest OS 1241 and a memory area (VMM area) 112 used by the virtual machine monitor 1201. The migration destination memory 1092 for copying the contents of the memory area 1111 of the migration source guest OS 1241 includes at least a memory area (guest memory) 1112 of the migration destination guest OS 1242. During guest OS migration, the memory area 1111 of the migration source guest OS 1241 is transferred to the memory area 1112 of the migration destination guest OS 1241 under the control of the background copy control unit 121 of the migration source virtual machine monitor 1201 while the migration source guest OS 1241 is operating. A background copy 160 is performed. The background copy 160 is performed via the interface wiring 151 by the memory copy interface 110.

移動元仮想マシンモニタ1201は、少なくとも、マイグレーション制御部1221とバックグランドコピー制御部121から構成される。移動先仮想マシンモニタ1202は、少なくとも、マイグレーション制御部1222から構成される。マイグレーション制御部1221、1222は、マイグレーション管理ソフトウェア141からの要求により、仮想計算機1231、1232の電源制御と、ゲストOS1241、1242のスケジューリングの制御と、マルチルートI/Oスイッチ102の制御を行う。バックグランドコピー制御部121は、ゲストOS1241のメモリ領域1111のコピーの進捗管理、インターフェース110経由のメモリコピーの制御を行う。   The migration source virtual machine monitor 1201 includes at least a migration control unit 1221 and a background copy control unit 121. The migration destination virtual machine monitor 1202 includes at least a migration control unit 1222. The migration control units 1221 and 1222 perform power control of the virtual machines 1231 and 1232, scheduling control of the guest OSs 1241 and 1242, and control of the multi-root I / O switch 102 according to a request from the migration management software 141. The background copy control unit 121 performs copy progress management of the memory area 1111 of the guest OS 1241 and controls memory copy via the interface 110.

マルチルートI/Oスイッチ102は、物理計算機1011、1012を接続する1以上の上流Port132と、I/Oデバイス1031,1032を接続する1以上の下流Port133と、スイッチ回路部131、本発明のハードウェア機能を持つ下流ポートI/O制御部130から構成される。上流Port132とスイッチ回路部131、スイッチ回路部131と下流ポートI/O制御部130、下流ポートI/O制御部130と下流Port133は、それぞれI/Oスイッチ内インターフェース154で接続されている。   The multi-root I / O switch 102 includes one or more upstream ports 132 that connect the physical computers 1011 and 1012, one or more downstream ports 133 that connect the I / O devices 1031 and 1032, a switch circuit unit 131, and hardware of the present invention. A downstream port I / O control unit 130 having a hardware function. The upstream port 132 and the switch circuit unit 131, the switch circuit unit 131 and the downstream port I / O control unit 130, and the downstream port I / O control unit 130 and the downstream port 133 are connected by an interface 154 in the I / O switch.

下流ポートI/O制御部130は、Inbound_Tx(インバウンドトランザクション)制御部134と、マイグレーションTx制御部1_135と、マイグレーションTx制御部レジスタ1_136から構成される。下流ポートI/O制御部130の各構成要素の機能については後述する。なお、以下の説明ではTxはトランザクションを意味する。また、Inbound_Txは、I/Oデバイスから物理計算機(または仮想計算機)へ向かうトランザクションを示す。   The downstream port I / O control unit 130 includes an Inbound_Tx (inbound transaction) control unit 134, a migration Tx control unit 1_135, and a migration Tx control unit register 1_136. The function of each component of the downstream port I / O control unit 130 will be described later. In the following description, Tx means a transaction. Inbound_Tx indicates a transaction from the I / O device to the physical computer (or virtual computer).

次に第1の実施の形態による複合型計算機が保持する情報について図2〜図5を用いて詳しく説明する。図2は第1の実施の形態による複合型計算機のマイグレーション構成情報の一例を示した説明図、図3は第1の実施の形態による複合型計算機のマイグレーション対象ゲストOSのホスト物理アドレス情報の一例を示した説明図、図4は第1の実施の形態による複合型計算機のマイグレーション対象のI/Oデバイス情報の一例を示した説明図、である。   Next, information held by the composite computer according to the first embodiment will be described in detail with reference to FIGS. FIG. 2 is an explanatory diagram showing an example of the migration configuration information of the composite computer according to the first embodiment, and FIG. 3 is an example of host physical address information of the migration target guest OS of the composite computer according to the first embodiment. FIG. 4 is an explanatory diagram showing an example of I / O device information to be migrated by the composite computer according to the first embodiment.

装置制御部104で保持するマイグレーション構成情報142は、マイグレーション基本情報、マイグレーション対象ゲストOSのホスト物理アドレス情報、マイグレーション対象のI/Oデバイス情報から成る。マイグレーション基本情報は、表形式で表すと図2のFT2に示すように、少なくとも、マイグレーションの移動元の情報K201として、物理計算機1011の識別子G201と、物理計算機1011で稼動する仮想計算機1231の識別子G202と、物理計算機1011に割当てた仮想I/Oスイッチ識別子G203と、マイグレーション対象のゲストOS1241に直接割当てしたデバイスの有無を示す情報G204と、マイグレーションの移動先の情報K202として、移動先の物理計算機1012の識別子G201、移動先の仮想計算機1232の識別子G202、移動先の物理計算機1012に割当てた仮想I/Oスイッチ識別子G203、とから成る。なお、マルチルートI/Oスイッチ102では、複数の物理計算機でI/Oスイッチ共有するためにI/Oスイッチに内に物理計算機毎に仮想的なI/Oスイッチを構成するが、上記仮想I/Oスイッチ識別子G203とは、この仮想的なI/Oスイッチに対する識別子である。図2のマイグレーション基本情報FT2では、物理計算機1011の識別子G201が「1」、物理計算機1012の識別子G201が「2」、仮想計算機1231の識別子G202が「1」、仮想計算機1232の識別子G202が「4」、移動元の仮想I/Oスイッチ識別子G203が「3」、移動先の仮想I/Oスイッチ識別子G203が「5」の場合を示している。   The migration configuration information 142 held by the device control unit 104 includes migration basic information, host physical address information of a migration target guest OS, and migration target I / O device information. When the basic migration information is represented in a table format, as indicated by FT2 in FIG. 2, at least the migration source information K201, the identifier G201 of the physical computer 1011 and the identifier G202 of the virtual computer 1231 operating on the physical computer 1011 are displayed. A virtual I / O switch identifier G203 assigned to the physical computer 1011; information G204 indicating the presence / absence of a device directly assigned to the migration target guest OS 1241; and migration destination physical computer 1012 as migration destination information K202. Identifier G201, an identifier G202 of the migration destination virtual machine 1232, and a virtual I / O switch identifier G203 assigned to the migration destination physical computer 1012. The multi-root I / O switch 102 configures a virtual I / O switch for each physical computer in the I / O switch in order to share the I / O switch among a plurality of physical computers. The / O switch identifier G203 is an identifier for this virtual I / O switch. In the basic migration information FT2 in FIG. 2, the identifier G201 of the physical computer 1011 is “1”, the identifier G201 of the physical computer 1012 is “2”, the identifier G202 of the virtual computer 1231 is “1”, and the identifier G202 of the virtual computer 1232 is “ 4 ”, the migration source virtual I / O switch identifier G203 is“ 3 ”, and the migration destination virtual I / O switch identifier G203 is“ 5 ”.

マイグレーション管理ソフトウェア141は、物理計算機の識別子G201、仮想計算機の識別子G202の情報を、例えば、複合型計算機の管理者により管理用端末105経由の要求により取得し、仮想I/Oスイッチ識別子G203の情報を、例えば、装置制御ソフトウェア140から取得し、引継ぎデバイスの有無G204の情報を、例えば、移動元の仮想マシンモニタ1201から取得する。   The migration management software 141 acquires the information of the physical computer identifier G201 and the virtual computer identifier G202 by, for example, a request via the management terminal 105 by the administrator of the composite computer, and the information of the virtual I / O switch identifier G203. Is acquired from, for example, the apparatus control software 140, and information on the presence / absence of the takeover device G204 is acquired from, for example, the virtual machine monitor 1201 of the migration source.

マイグレーション対象ゲストOSのホスト物理アドレス情報は、表形式で表すと図3A、3Bに示すように、移動元ゲストOS1241のホスト物理アドレス情報FT31と、移動先ゲストOS1242のホスト物理アドレス情報FT32となる。図3A、3BではゲストOS1241、1242に対するホスト物理メモリの割当ての情報を示しており、ゲストOS1241、1242に割当てたメモリ領域のゲストOSが認識する物理アドレスの開始アドレスを示すゲスト物理アドレスK301と、ゲスト物理アドレスK301に対応する物理計算機の物理アドレスを示すホスト物理アドレスK302と、割当てたメモリ領域のサイズK303、の列で構成される。   The host physical address information of the migration target guest OS is represented in table format as host physical address information FT31 of the migration source guest OS 1241 and host physical address information FT32 of the migration destination guest OS 1242, as shown in FIGS. 3A and 3B. 3A and 3B show host physical memory allocation information for the guest OSs 1241 and 1242, and a guest physical address K301 indicating the start address of the physical address recognized by the guest OS in the memory area allocated to the guest OSs 1241 and 1242; The host physical address K302 indicating the physical address of the physical computer corresponding to the guest physical address K301, and the allocated memory area size K303 are configured.

一般的に、ゲストOSに割当てるホスト物理メモリは、不連続な複数のメモリ領域を割当て可能なため、ホスト物理アドレス情報は、割当てたメモリ領域の数分のゲスト物理アドレスK301、ホスト物理アドレスK302、メモリ領域のサイズK303の組をメモリ領域の数に応じて持つことになる。図3A、図3Bの例では、移動元ゲストOS1241についてはn個のメモリ領域を、移動先ゲストOS1242についてはm個のメモリ領域を、割当てた場合の情報を示している。ゲストOS1241、1242へのホスト物理メモリの割当ては、仮想マシンモニタ1201、1202が行うため、マイグレーション管理ソフトウェア141はホスト物理アドレス情報を仮想マシンモニタ1201、1202からゲスト物理アドレスK301とホスト物理アドレスK302及びサイズK303を取得する。   In general, since the host physical memory allocated to the guest OS can allocate a plurality of discontinuous memory areas, the host physical address information includes guest physical addresses K301, host physical addresses K302, A set of memory area size K303 is provided according to the number of memory areas. 3A and 3B show information when n memory areas are allocated for the migration source guest OS 1241 and m memory areas are allocated for the migration destination guest OS 1242. Since the virtual machine monitors 1201 and 1202 assign the host physical memory to the guest OSs 1241 and 1242, the migration management software 141 sends the host physical address information from the virtual machine monitors 1201 and 1202 to the guest physical address K301, the host physical address K302, and The size K303 is acquired.

マイグレーション対象のI/Oデバイス情報は、表形式で表すと図4のFT4に示すように、少なくとも、I/Oデバイスの識別子K401と、I/Oデバイスが接続されているI/Oスイッチの番号K402と、I/Oデバイスが接続されているI/OスイッチのPortの番号K403、の列で構成される。   When the I / O device information to be migrated is represented in a table format, as indicated by FT4 in FIG. 4, at least the identifier K401 of the I / O device and the number of the I / O switch to which the I / O device is connected. K402 and a port number K403 of the I / O switch to which the I / O device is connected.

ここで、例えば、I/OデバイスがPCI(Peripheral Component Interconnect)デバイスの場合は、I/Oデバイスの識別子は、Bus番号、Device番号、FunctI/On番号から成る。図4のG401に示すI/Oデバイスの例では、I/Oデバイスの識別子K401が15:0:0、I/Oスイッチの番号K402が1、Port番号K403が3、の場合を示している。   Here, for example, when the I / O device is a PCI (Peripheral Component Interconnect) device, the identifier of the I / O device includes a bus number, a device number, and a function I / On number. In the example of the I / O device indicated by G401 in FIG. 4, the I / O device identifier K401 is 15: 0: 0, the I / O switch number K402 is 1, and the port number K403 is 3. .

マイグレーション対象のI/Oデバイスの識別子K401は移動元の仮想マシンモニタ1201が保持しているので、マイグレーション管理ソフトウェア141はI/Oデバイスの識別子K401を仮想マシンモニタ1201から取得する。また、I/Oデバイスが接続されたスイッチ番号K402とPort番号K403は、装置制御ソフトウェア140が保持しているので、マイグレーション管理ソフトウェア141はスイッチ番号K402とPort番号K403を装置制御ソフトウェア140から取得する。以上、複合型計算機が保持する情報についての説明である。   Since the migration target virtual machine monitor 1201 holds the migration target I / O device identifier K401, the migration management software 141 acquires the I / O device identifier K401 from the virtual machine monitor 1201. Further, since the device control software 140 holds the switch number K402 and the port number K403 to which the I / O device is connected, the migration management software 141 acquires the switch number K402 and the port number K403 from the device control software 140. . This completes the description of the information held by the composite computer.

次に第1の実施の形態による複合型計算機のバックグランドコピーについて図1、図5を用いて詳しく説明する。図5は第1の実施の形態による複合型計算機のバックグラウンドコピー時の移動元ゲストOSのメモリ空間の一例を示した説明図である。   Next, a background copy of the composite computer according to the first embodiment will be described in detail with reference to FIGS. FIG. 5 is an explanatory diagram showing an example of the memory space of the migration source guest OS at the time of background copying of the composite computer according to the first embodiment.

移動元の物理計算機1011で稼動する仮想マシンモニタ1201では、バックグラウンドコピー時にバックグランドコピー制御部121が、移動元ゲストOS1241のゲストメモリ1111を複数のメモリ領域に分割して、図5に示すバックグラウンドコピーの1フェーズでは上記分割したメモリ領域の1つ分のコピーを行い、分割したメモリ領域をすべて移動先ゲストメモリ1112へコピーするまで上記フェーズを繰り返す。   In the virtual machine monitor 1201 running on the migration source physical computer 1011, during background copy, the background copy control unit 121 divides the guest memory 1111 of the migration source guest OS 1241 into a plurality of memory areas, and the background shown in FIG. In one phase of ground copy, one of the divided memory areas is copied, and the above phase is repeated until all the divided memory areas are copied to the destination guest memory 1112.

図5の例では、バックグラウンドコピーのNフェーズ目11111とN+1フェーズ目11112の移動元ゲストOS1241のゲストメモリ1111の状態を示している。図5に示すように、バックグランドコピー制御部121は、フェーズ毎に、(1)コピー済領域5011、5012、(2)コピー中領域5021、5022、(3)未コピー領域5031、5032、の3つの領域に分けて管理する。   The example of FIG. 5 shows the state of the guest memory 1111 of the migration source guest OS 1241 in the Nth phase 11111 and the N + 1th phase 11112 of the background copy. As illustrated in FIG. 5, the background copy control unit 121 includes, for each phase, (1) copied areas 5011 and 5012, (2) copied areas 5021 and 5022, and (3) uncopied areas 5031 and 5032. Management is divided into three areas.

図5においてGPA_MAXはゲストメモリ1111の最大アドレスである。GPA1_N、GPA2_Nは、それぞれNフェーズ目のコピー中領域5021の領域を示す最小アドレス、最大アドレスである。GPA1_N+1、GPA2_N+1は、それぞれN+1フェーズ目のコピー中領域5022の領域を示す最小アドレス、最大アドレスである。なお、図5の例では、簡単のため(1)〜(3)の各領域とも連続したメモリ領域となっているが、一般的に不連続なメモリ領域としても良い。   In FIG. 5, GPA_MAX is the maximum address of the guest memory 1111. GPA1_N and GPA2_N are a minimum address and a maximum address indicating the area of the copy-in-progress area 5021 of the Nth phase, respectively. GPA1_N + 1 and GPA2_N + 1 are a minimum address and a maximum address indicating the area of the copy-in-progress area 5022 in the (N + 1) th phase, respectively. In the example of FIG. 5, for simplicity, each of the areas (1) to (3) is a continuous memory area, but may be a discontinuous memory area in general.

バックグラウンドコピー制御部121は、Nフェーズ目に(1)〜(3)の領域5011、5021、5031を、図1に示すコンフィグレーションインターフェース161経由でI/Oスイッチ102のマイグレーション対象のI/Oデバイス1031が接続された下流ポートI/O制御部130のマイグレーションTx制御部レジスタ1_136に設定する。なお、マイグレーション対象のI/Oデバイス1031の位置の情報はマイグレーション構成情報に保持されているので、バックグラウンドコピー制御部121はマイグレーション管理ソフトウェア141からI/Oデバイス1031の位置の情報を取得する。また、バックグランドコピー制御部121は、ゲストメモリ1111のメモリ領域を分割するに当たって、所定のサイズ単位やアドレスが連続する領域単位など周知の手法を用いることができる。   The background copy control unit 121 transfers the areas 5011, 5021, and 5031 of (1) to (3) to the migration target I / O of the I / O switch 102 via the configuration interface 161 shown in FIG. The value is set in the migration Tx control unit register 1_136 of the downstream port I / O control unit 130 to which the device 1031 is connected. Note that since the information on the location of the migration target I / O device 1031 is held in the migration configuration information, the background copy control unit 121 acquires the location information of the I / O device 1031 from the migration management software 141. The background copy control unit 121 can use a known method such as a predetermined size unit or an area unit in which addresses are continuous in dividing the memory area of the guest memory 1111.

次にバックグランドコピーのNフェーズ目の下流ポートI/O制御部130の制御について説明する。   Next, control of the downstream port I / O control unit 130 in the Nth phase of background copy will be described.

下流ポートI/O制御部130がI/Oデバイス1031からInbound_Tx162を受信した場合は、図1において、Inbound_Tx制御部134経由でTxの転送163が行われる。Inbound_Txがマイグレーション対象のゲストOS1241向けのDMA_Txの場合は、Txのアドレスをゲスト物理アドレスからホスト物理アドレスに変換して移動元OSのゲストメモリ1111にDMAアクセス163が行われる。   When the downstream port I / O control unit 130 receives the Inbound_Tx 162 from the I / O device 1031, the Tx transfer 163 is performed via the Inbound_Tx control unit 134 in FIG. 1. When Inbound_Tx is DMA_Tx for the guest OS 1241 to be migrated, the Tx address is converted from the guest physical address to the host physical address, and the DMA access 163 is performed on the guest memory 1111 of the migration source OS.

このInbound_Tx制御部134の通常のInbound_Txの転送処理(163)に加え、マイグレーション対象のゲストOS1241向けのDMA_Txの場合はマイグレーションTx制御部1_135が以下の処理を行う。   In addition to the normal Inbound_Tx transfer processing (163) of the Inbound_Tx control unit 134, the migration Tx control unit 1_135 performs the following processing in the case of DMA_Tx for the guest OS 1241 to be migrated.

Inbound_Tx162がDMA_Write_Txの場合で、宛先アドレスが図5に示した(1)コピー済領域5011の場合は、マイグレーションTx制御部1_135でDMA_Write_Txを複製して、移動先OSのゲストメモリ1112に複製したDMA_Write_TxのDMA_Write165を行う。   When Inbound_Tx 162 is DMA_Write_Tx and the destination address is (1) the copied area 5011 shown in FIG. 5, the migration Tx control unit 1_135 duplicates DMA_Write_Tx and duplicates the DMA_Write_Tx copied to the guest memory 1112 of the migration destination OS. DMA_Write 165 is performed.

従来例では、(1)コピー済領域5011へのDMA_Writeがある場合は移動元のメモリが更新されるため移動先のゲストメモリ1112は再コピーが必要であるのに対し、本発明によれば移動元へのDMA_Writeが発生しても、移動先のゲストメモリ1112が移動元のゲストメモリ1111と同時に更新されるため再コピーを不要にすることができる。   In the conventional example, (1) if there is a DMA_Write to the copied area 5011, the migration source memory is updated and the migration destination guest memory 1112 needs to be copied again. Even if DMA_Write to the original occurs, the re-copying can be made unnecessary because the destination guest memory 1112 is updated simultaneously with the source guest memory 1111.

一方、Inbound_Tx162がDMA_Write_Txの場合で、宛先アドレスが(2)コピー中領域5012の場合は、バックグラウンドコピーとDMA_Write_Txによるメモリ更新が同時に行われるため、上記(1)コピー済領域5011の場合のように、DMA_Write_Txを複製して移動先OSのゲストメモリ1112にDMA_Write165を行った場合に、DMA_Write165とバックグランドコピー160のメモリ更新順序が保証できない。   On the other hand, when Inbound_Tx 162 is DMA_Write_Tx and the destination address is (2) the copy-in-progress area 5012, the background copy and the memory update by DMA_Write_Tx are performed at the same time. When DMA_Write_Tx is copied and DMA_Write 165 is performed on the guest memory 1112 of the migration destination OS, the memory update order of the DMA_Write 165 and the background copy 160 cannot be guaranteed.

そこで、DMA_Write_Txの宛先アドレスが(2)コピー中領域5012の場合は、仮想マシンモニタ1201のメモリ領域(VMM領域)112内のアドレスリストバッファ113に、DMA_Write_Txの宛先アドレスをリストとして記録164を行っておく。コピー中領域5012の複製が完了した後、仮想マシンモニタ1201のマイグレーション制御部1221が、このアドレスリストバッファ113に保存されたメモリ領域について、移動先ゲストメモリ1112へ再コピーを行う。これにより、コピー中領域5021の内容を、DMA_Write_Txによる移動元ゲストメモリ1111の更新と同一の内容を移動先ゲストメモリ1112へ適用することができる。   Therefore, when the destination address of DMA_Write_Tx is (2) the copying area 5012, the destination address of DMA_Write_Tx is recorded as a list 164 in the address list buffer 113 in the memory area (VMM area) 112 of the virtual machine monitor 1201. deep. After replication of the copying area 5012 is completed, the migration control unit 1221 of the virtual machine monitor 1201 recopyes the memory area stored in the address list buffer 113 to the destination guest memory 1112. As a result, the same content as the update of the migration source guest memory 1111 by the DMA_Write_Tx can be applied to the migration destination guest memory 1112 as the content of the copying area 5021.

なお、Inbound_Tx162がDMA_Write_Txの場合で、宛先アドレスが(3)未コピー領域5013の場合は、以降のバックグラウンドコピーのフェーズでコピーが実行されるため、マイグレーションTx制御部1_135では処理は行わず、Inbound_Tx制御部134の通常のInbound_Txの転送処理のみが行われる。   If Inbound_Tx 162 is DMA_Write_Tx and the destination address is (3) the uncopied area 5013, copying is executed in the subsequent background copy phase, so the migration Tx control unit 1_135 performs no processing, and Inbound_Tx Only the normal Inbound_Tx transfer process of the control unit 134 is performed.

移動先のゲストメモリ1112でDMA転送により再コピーが必要なメモリ領域のサイズは、本発明により、
MS1/MSt (式1)
のサイズに減らすことが可能である。ここで、MS1は1フェーズでコピーするメモリサイズ(Gbyte)、MStは移動元ゲストOSの全メモリサイズ、である。例えば、移動元ゲストOSの全メモリサイズが5GBで、1フェーズでコピーするメモリサイズが100MBの時は、再コピーが必要なメモリサイズを1/50に大幅に減らすことが可能である。また、本発明での再コピーが必要なメモリサイズは、次式で表される。
URi×MSt/Vc×MS1/MSt=URi×MS1/Vc (式2)
となる。ここで、URiはI/OデバイスがゲストOSのメモリ領域1111をDMA_Writeで転送するメモリ更新速度(例えば、MB/sec)で、Vcはバックグラウンドコピーのコピーの速度(例えば、MB/sec)である。上記式2から、再コピーが必要なメモリサイズはゲストOSの全メモリサイズMStに依存しないことが分かる。従って、ゲストOS1241の停止時に再コピーが必要なメモリコピーを行う場合に、本発明によりゲストOSの全メモリサイズに依存しないでゲストOS1241の停止時間を一定にすることが可能である。
The size of the memory area that needs to be re-copied by DMA transfer in the destination guest memory 1112 is
MS1 / MSt (Formula 1)
It is possible to reduce to the size of Here, MS1 is the memory size (Gbyte) to be copied in one phase, and MSt is the total memory size of the migration source guest OS. For example, when the total memory size of the migration source guest OS is 5 GB and the memory size to be copied in one phase is 100 MB, the memory size that needs to be re-copied can be significantly reduced to 1/50. The memory size that needs to be re-copied in the present invention is expressed by the following equation.
URi × MSt / Vc × MS1 / MSt = URi × MS1 / Vc (Formula 2)
It becomes. Here, URi is the memory update speed (for example, MB / sec) at which the I / O device transfers the memory area 1111 of the guest OS by DMA_Write, and Vc is the copy speed of the background copy (for example, MB / sec). is there. From the above formula 2, it can be seen that the memory size that needs to be copied again does not depend on the total memory size MSt of the guest OS. Therefore, when performing memory copy that requires re-copying when the guest OS 1241 is stopped, the stop time of the guest OS 1241 can be made constant without depending on the total memory size of the guest OS according to the present invention.

次に第1の実施の形態による複合型計算機のアドレスリストバッファ113について図6を用いて詳しく説明する。図6は第1の実施の形態による複合型計算機のバックグラウンドコピー時に生成されるアドレスリストバッファの一例を示した説明図である。図6の例では、図1のアドレスリストバッファ113は、A、Bの2面のアドレスリストバッファ1131、1132から構成される。このように2面のアドレスリストバッファ1131、1132を持つのは、ゲストOSマイグレーションのバックグランドコピー時に、アドレスリストバッファ113はマイグレーションTx制御部1_135からの書込み602と仮想マシンモニタ1201からの読込み603が同時に行われ、バッファのクリア時にマイグレーションTx制御部1_135からの書込み漏れを防ぐためである。すなわち、図6の例ではアドレスリストバッファA1131をマイグレーションTx制御部1_135からの書込み602用、アドレスリストバッファA1132を仮想マシンモニタ1201からの読込み603用とし、仮想マシンモニタ1201からの読込み603が完了したら、アドレスリストバッファA/Bを入れ替えて、アドレスリストバッファA1131を読込み603用、アドレスリストバッファB1132を書込み用602として使用する。図6の例では、アドレスリストバッファ1131、1132は、1エントリ601が8B(Byte)のリスト構造を示している。ここで各エントリを8Bとしたのは、DMA_Write_Txの宛先アドレスが64bitであることを想定したためで、宛先アドレスを示すのに必要なbit数が変われば、1エントリのサイズは適宜変更することができる。アドレスリストバッファA/Bの切換えは、仮想マシンモニタ1201がコンフィグレーションインターフェース604を介してマイグレーションTx制御部1_135に指令する。   Next, the address list buffer 113 of the composite computer according to the first embodiment will be described in detail with reference to FIG. FIG. 6 is an explanatory diagram showing an example of an address list buffer generated at the time of background copy of the composite computer according to the first embodiment. In the example of FIG. 6, the address list buffer 113 of FIG. 1 is composed of two address list buffers 1131 and 1132 of A and B. As described above, the two address list buffers 1131 and 1132 have a write 602 from the migration Tx control unit 1_135 and a read 603 from the virtual machine monitor 1201 in the background copy of the guest OS migration. This is to prevent writing leakage from the migration Tx control unit 1_135 at the same time when the buffer is cleared. That is, in the example of FIG. 6, the address list buffer A 1131 is used for writing 602 from the migration Tx control unit 1_135, the address list buffer A 1132 is used for reading 603 from the virtual machine monitor 1201, and the reading 603 from the virtual machine monitor 1201 is completed. The address list buffer A / B is exchanged, and the address list buffer A 1131 is used for reading 603 and the address list buffer B 1132 is used for writing 602. In the example of FIG. 6, the address list buffers 1131 and 1132 show a list structure in which one entry 601 is 8B (Byte). Here, each entry is set to 8B because it is assumed that the destination address of DMA_Write_Tx is 64 bits, and the size of one entry can be changed as appropriate if the number of bits necessary to indicate the destination address changes. . Switching of the address list buffer A / B is instructed by the virtual machine monitor 1201 to the migration Tx control unit 1_135 via the configuration interface 604.

なお、図6の例ではアドレスリストバッファ113にA/Bの2面を用いたが、他の実施形態としてリングバッファ1面のような構造でも良い。   In the example of FIG. 6, two A / B surfaces are used for the address list buffer 113, but a structure similar to the ring buffer 1 surface may be used as another embodiment.

次に第1の実施の形態による複合型計算機の下流ポートI/O制御部130について図7〜図13を用いて詳しく説明する。図7は第1の実施の形態による複合型計算機の下流ポートI/O制御部130の回路の一例を示したブロック図、図8は第1の実施の形態による複合型計算機の下流ポートI/O制御部130のアドレスリスト記録制御レジスタ711の一例を示した説明図、図9は第1の実施の形態による複合型計算機の下流ポートI/O制御部130の移動元アドレス情報レジスタ712の一例を示した説明図、図10は第1の実施の形態による複合型計算機の下流ポートI/O制御部130の移動先アドレス情報レジスタ713の一例を示した説明図、図11は第1の実施の形態による複合型計算機の下流ポートI/O制御部130のアドレス領域設定レジスタ715の一例を示した説明図、図12は第1の実施の形態による複合型計算機の下流ポートI/O制御部130のマイグレーションTx制御有効レジスタ716の一例を示した説明図、図13は第1の実施の形態による複合型計算機の下流ポートI/O制御部の移動対象デバイス設定レジスタ717の一例を示した説明図、である。   Next, the downstream port I / O control unit 130 of the composite computer according to the first embodiment will be described in detail with reference to FIGS. FIG. 7 is a block diagram showing an example of the circuit of the downstream port I / O control unit 130 of the composite computer according to the first embodiment, and FIG. 8 is the downstream port I / O of the composite computer according to the first embodiment. FIG. 9 is an explanatory diagram showing an example of the address list recording control register 711 of the O control unit 130. FIG. 9 shows an example of the source address information register 712 of the downstream port I / O control unit 130 of the composite computer according to the first embodiment. FIG. 10 is an explanatory diagram showing an example of the destination address information register 713 of the downstream port I / O control unit 130 of the composite type computer according to the first embodiment, and FIG. 11 is a diagram showing the first embodiment. FIG. 12 is an explanatory diagram showing an example of the address area setting register 715 of the downstream port I / O control unit 130 of the composite computer according to the embodiment. FIG. 12 shows the downstream port of the composite computer according to the first embodiment. FIG. 13 illustrates an example of the migration target device setting register 717 of the downstream port I / O control unit of the composite computer according to the first embodiment. It is explanatory drawing which showed.

図7に示すように、下流ポートI/O制御部130は、Inbound_Tx制御部134、マイグレーションTx制御部1_135、マイグレーションTx制御部レジスタ1_136、とInbound_Tx制御部134、マイグレーションTx制御部1_135からのTx間の調停を行い上流(物理計算機側)に転送する調停回路701から構成される。マイグレーションTx制御部レジスタ1_136は、レジスタ群711〜717から構成される。   As shown in FIG. 7, the downstream port I / O control unit 130 includes an Inbound_Tx control unit 134, a migration Tx control unit 1_135, a migration Tx control unit register 1_136, and an Inbound_Tx control unit 134 and a Tx from the migration Tx control unit 1_135. And an arbitration circuit 701 that performs the arbitration and transfers the data to the upstream (physical computer side). The migration Tx control unit register 1_136 includes register groups 711 to 717.

アドレスリスト記録制御レジスタ711は、図8に示すように、DMA_Write_TxのTxの宛先アドレスを記録するアドレスリスト保存バッファA/Bの領域を示すレジスタ801、802と、下流ポートI/O制御部130からアドレスリストを書き込むバッファA/Bを指定するレジスタ803と、Txの宛先アドレスが先にアドレスリストを記録した宛先アドレスと近い場合にアドレスリストの記録を抑止することを指定する連続アドレスのリスト記録抑止指定レジスタ804と、アドレスリストの記録を抑止する宛先アドレスのアドレス範囲を示す連続アドレスサイズの指定レジスタ805とから構成される。一般に、DMAアクセスはメモリの連続領域へのアクセスが多いため、上記連続アドレスのリスト記録抑止することにより、アドレスリスト保存バッファへの記録量を減らすことが可能である。すなわち、アドレスリストバッファ113のために確保するメモリ量を減らすことが可能である。   As shown in FIG. 8, the address list recording control register 711 includes registers 801 and 802 indicating the area of the address list storage buffer A / B for recording the destination address of Tx of DMA_Write_Tx, and the downstream port I / O control unit 130. A register 803 for designating a buffer A / B for writing an address list, and a continuous address list recording inhibition for designating that address list recording should be inhibited when the destination address of Tx is close to the destination address previously recorded for the address list A designation register 804 and a designation register 805 having a continuous address size indicating an address range of a destination address for suppressing recording of the address list are configured. In general, since DMA access involves many accesses to a continuous area of a memory, it is possible to reduce the recording amount in the address list storage buffer by suppressing the continuous address list recording. That is, it is possible to reduce the amount of memory reserved for the address list buffer 113.

移動元アドレス情報レジスタ712は、図9に示すように、n個のメモリ領域に対する、移動元ゲストOS1241のメモリ領域nの開始ゲスト物理アドレスを指定するレジスタ9011〜901n、移動元ゲストOS1241のメモリ領域nのサイズを指定するレジスタ9021〜902n、移動元ゲストOS1241のメモリ領域nに対応する開始ホスト物理アドレス(オフセット)を指定するレジスタ9031〜903n、から構成される。   As illustrated in FIG. 9, the migration source address information register 712 includes registers 9011 to 901 n that specify the start guest physical address of the memory area n of the migration source guest OS 1241 for the n memory areas, and the memory area of the migration source guest OS 1241. The registers 9021 to 902n for specifying the size of n and the registers 9031 to 903n for specifying the start host physical address (offset) corresponding to the memory area n of the migration source guest OS 1241.

移動元アドレス情報レジスタ712に設定される情報は、マイグレーション構成情報142のマイグレーション対象ゲストOSのホスト物理アドレス情報で、図3AのFT31に示した情報である。移動元の物理計算機1011のマイグレーション制御部1221は、マイグレーション管理ソフトウェア141からマイグレーション対象ゲストOSのホスト物理アドレス情報を取得し、この移動元アドレス情報レジスタ712にアドレス情報の設定を行う。   The information set in the migration source address information register 712 is the host physical address information of the migration target guest OS in the migration configuration information 142, and is the information shown in FT31 in FIG. 3A. The migration control unit 1221 of the migration source physical computer 1011 acquires the host physical address information of the migration target guest OS from the migration management software 141 and sets the address information in the migration source address information register 712.

移動先アドレス情報レジスタ713は、上記移動元アドレスリスト記録制御レジスタ711と似たようなレジスタであるが、図10に示すように、m個のメモリ領域に対する、移動先ゲストOS1242のメモリ領域mの開始ゲスト物理アドレスを指定するレジスタ10011〜1001m、移動先ゲストOS1242のメモリ領域mのサイズを指定するレジスタ10021〜1002m、移動先ゲストOS1242のメモリ領域mに対応する開始ホスト物理アドレス(オフセット)を指定するレジスタ10031〜1003m、から構成される。   The migration destination address information register 713 is a register similar to the migration source address list recording control register 711. However, as shown in FIG. 10, the migration destination guest OS 1242 has a memory area m corresponding to the m memory areas. Registers 10011 to 1001m for specifying the start guest physical address, registers 10021 to 1002m for specifying the size of the memory area m of the migration destination guest OS 1242, and a start host physical address (offset) corresponding to the memory area m of the migration destination guest OS 1242 Registers 10031 to 1003m.

移動先アドレス情報レジスタ713に設定される情報は、マイグレーション構成情報142のマイグレーション対象ゲストOSのホスト物理アドレス情報で、図3BのFT32に示した情報である。マイグレーション制御部1221は、マイグレーション管理ソフトウェア141からマイグレーション対象ゲストOSのホスト物理アドレス情報を取得し、この移動先アドレス情報レジスタ713にアドレス情報の設定を行う。   The information set in the migration destination address information register 713 is the host physical address information of the migration target guest OS in the migration configuration information 142, and is the information shown in FT32 of FIG. 3B. The migration control unit 1221 acquires the host physical address information of the migration target guest OS from the migration management software 141 and sets the address information in the destination address information register 713.

移動先物理計算機情報レジスタ714は、移動先の物理計算機1012を指定するもので、例えば、物理計算機1012に割当てた仮想I/Oスイッチの識別子で指定する。これは、マイグレーション構成情報142のマイグレーション基本情報、すなわち、図2の移動先K202の仮想I/Oスイッチの識別子G203に示した情報である。   The migration destination physical computer information register 714 designates the migration destination physical computer 1012 and is designated by, for example, the identifier of the virtual I / O switch assigned to the physical computer 1012. This is the information shown in the migration basic information of the migration configuration information 142, that is, the identifier G203 of the virtual I / O switch of the migration destination K202 in FIG.

マイグレーション制御部1221は、マイグレーション管理ソフトウェア141からマイグレーション基本情報を取得し、移動先物理計算機情報レジスタ714に移動先の物理計算機の設定を行う。   The migration control unit 1221 acquires the basic migration information from the migration management software 141 and sets the migration destination physical computer in the migration destination physical computer information register 714.

アドレス領域設定レジスタ715は、図11に示すように、図5で述べたバックグランドコピー時の(1)コピー済領域と(2)コピー中領域とを指定するレジスタである。図11の例では、(2)コピー中領域としてP個のメモリ領域を指定するレジスタ11011〜1101P、(1)コピー済領域としてQ個のメモリ領域を指定するレジスタ11021〜1102Qから構成される。図5で述べたとおり、バックグラウンドコピーのフェーズによって(1)コピー済領域と(2)コピー中領域の量(または数)が変化するので、バックグラウンドコピー制御部121は、フェーズ毎にアドレス領域設定レジスタ715を再設定する。   As shown in FIG. 11, the address area setting register 715 is a register for designating (1) the copied area and (2) the copying area at the time of the background copy described in FIG. In the example of FIG. 11, (2) registers 11011 to 1101P for designating P memory areas as copying areas, and (1) registers 11021 to 1102Q for designating Q memory areas as copied areas. As described in FIG. 5, the amount (or number) of (1) the copied area and (2) the area being copied changes depending on the background copy phase, so the background copy control unit 121 changes the address area for each phase. The setting register 715 is reset.

マイグレーションTx制御有効レジスタ716は、図12に示すように、マイグレーションTx制御部1_135の機能であるアドレスリスト記録を有効にする指定を行うレジスタ12001とDMA_Write_Txの複製を有効にする指定を行うレジスタ12002、から構成される。マイグレーションTx制御有効レジスタ716は、ゲストOSマイグレーション開始時に、マイグレーション制御部1221により設定される。   As shown in FIG. 12, the migration Tx control valid register 716 includes a register 12001 that designates enabling address list recording, which is a function of the migration Tx control unit 1_135, and a register 12002 that designates enabling replication of DMA_Write_Tx. Consists of The migration Tx control valid register 716 is set by the migration control unit 1221 at the start of guest OS migration.

対象デバイス設定レジスタ717は、図13に示すように、下流ポートI/O制御部130の下流側(I/Oデバイス側)に接続されたI/Oデバイス1031が持つK個のI/Oデバイス機能に対して、デバイスIDを指定するレジスタ13011〜1301Kと、該当デバイスIDがマイグレーション対象のゲストOS1241に直接割当てられているかを指定するレジスタ13021〜1302Kとから構成される。   As illustrated in FIG. 13, the target device setting register 717 includes K I / O devices that the I / O device 1031 connected to the downstream side (I / O device side) of the downstream port I / O control unit 130 has. For the function, it is composed of registers 13011 to 1301K for specifying a device ID and registers 13021 to 1302K for specifying whether the corresponding device ID is directly assigned to the migration target guest OS 1241.

複数のI/Oデバイス機能を持つI/Oデバイスの例として、PCIデバイスにおける、マルチファンクションデバイス、マルチPortデバイス、PCI−SIGのSR−I/OV(Single Root - I/O Virtualization)、または、MR−I/OV(Multi Root - I/O Virtualization)対応デバイス等がある。   As an example of an I / O device having a plurality of I / O device functions, a PCI device, a multi-function device, a multi-port device, a PCI-SIG SR-I / OV (Single Root-I / O Virtualization), or There are devices compatible with MR-I / OV (Multi Root-I / O Virtualization).

対象デバイス設定レジスタ717に設定される情報は、マイグレーション構成情報142のマイグレーション対象のI/Oデバイス情報で、図4のFT4に示した情報である。マイグレーション制御部1221は、マイグレーション管理ソフトウェア141からマイグレーション対象のI/Oデバイス情報を取得し、対象デバイス設定レジスタ717に取得したデバイス情報の設定を行う。上記マイグレーションTx制御レジスタ部1_136のレジスタは、図7に示す制御I/F736経由でソフトウェアにより制御される。   The information set in the target device setting register 717 is the migration target I / O device information in the migration configuration information 142, and is the information shown in FT4 in FIG. The migration control unit 1221 acquires migration target I / O device information from the migration management software 141 and sets the acquired device information in the target device setting register 717. The registers of the migration Tx control register unit 1_136 are controlled by software via the control I / F 736 shown in FIG.

次に、図7のInbound_Tx制御部134の構成について説明する。下流側から受信したI/Oデバイスのトランザクションとして、I/Oデバイス1031からCPU108向きのInbound_Tx720は、TLPデコーダ703でTxのTLP(Transaction Layer Packet)ヘッダ721が解析されTx種類722が判定される。Tx種722としては、例えば、Memory Read/Write Request、Message Request、Completion等がある。DMA_Tx723は、移動元ゲストアドレス変換部704で、移動元アドレス情報レジスタ712の情報742によりTxの宛先アドレスが移動元ゲストOS1241のゲスト物理アドレスから物理計算機1011のホスト物理アドレスに変換されたTx724が生成され、選択回路702によりInbound_Tx制御部134の出力Inbound_Tx725として出力され、さらに調停回路701を経由して上流726に転送される。   Next, the configuration of the Inbound_Tx control unit 134 in FIG. 7 will be described. As an I / O device transaction received from the downstream side, an Inbound_Tx 720 from the I / O device 1031 toward the CPU 108 is analyzed by a TLP decoder 703 in a TLP (Transaction Layer Packet) header 721 to determine a Tx type 722. Examples of the Tx type 722 include Memory Read / Write Request, Message Request, Completion, and the like. DMA_Tx 723 is generated by the migration source guest address conversion unit 704 by the migration source address information register 712 by converting the destination address of Tx from the guest physical address of the migration source guest OS 1241 to the host physical address of the physical computer 1011 by the information 742 in the migration source address information register 712. Then, the output is output as Inbound_Tx 725 of the Inbound_Tx control unit 134 by the selection circuit 702, and further transferred to the upstream 726 via the arbitration circuit 701.

DMA_Tx以外のTxについてはInbound_Tx制御部134をスルーして、選択回路702によりInbound_Tx制御部の出力Inbound_Tx725として、さらに調停回路701を経由して上流726に転送される。   Tx other than DMA_Tx passes through the Inbound_Tx control unit 134 and is transferred to the upstream 726 via the arbitration circuit 701 as the output Inbound_Tx 725 of the Inbound_Tx control unit by the selection circuit 702.

次に、図7のマイグレーションTx制御部1_135の構成について説明する。マルチルートI/Oスイッチ102の下流側から受信したInbound_Tx720は、移動対象デバイス判定部705でTxのTLPヘッダ727が解析されTLPの種類がDMA_Write_Txであるかと、移動対象デバイス設定レジスタ717の情報747を基に、マイグレーションTx制御が有効なTxであるかが判定729される。マイグレーション有効判定729は、機能選択回路706によりマイグレーションTx制御有効レジスタ716の情報746を基にアドレスリスト記録とDMA_Write_Txの複製がそれぞれ有効か否かが判定される。アドレスリスト記録とDMA_Write_Txの複製の1以上が有効な場合、アドレスレンジ判定部707は、DMA_Write_Txの宛先アドレス728とアドレス領域設定レジスタ715の情報745から宛先アドレス728が(1)コピー済の領域731か、(2)コピー中の領域730かを判定する。   Next, the configuration of the migration Tx control unit 1_135 in FIG. 7 will be described. The Inbound_Tx 720 received from the downstream side of the multi-root I / O switch 102 is obtained by analyzing the TLP header 727 of the Tx by the movement target device determination unit 705 and determining whether the TLP type is DMA_Write_Tx and information 747 in the movement target device setting register 717. Based on this, it is determined 729 whether the migration Tx control is valid Tx. In the migration validity determination 729, the function selection circuit 706 determines whether the address list recording and the DMA_Write_Tx replication are valid based on the information 746 in the migration Tx control validity register 716. When one or more of address list recording and DMA_Write_Tx replication is valid, the address range determination unit 707 determines whether the destination address 728 is (1) the copied area 731 from the destination address 728 of the DMA_Write_Tx and the information 745 of the address area setting register 715. (2) It is determined whether the area 730 is being copied.

(2)コピー中の領域730の場合は、アドレスリスト記録制御部710は、宛先アドレス728とアドレスリスト記録制御レジスタ711の情報741から、アドレスリスト保存バッファA/Bを指定するレジスタ8031によって指定されたアドレスリストバッファ113に宛先アドレス728を記録するアドレスリスト記録用のDMA_Tx734を生成する。アドレスリスト記録用Tx734は、調停回路701を経由して上流726に転送される。   (2) In the case of the area 730 being copied, the address list recording control unit 710 is designated by the register 8031 that designates the address list storage buffer A / B from the destination address 728 and the information 741 of the address list recording control register 711. The address list recording DMA_Tx 734 for recording the destination address 728 in the address list buffer 113 is generated. The address list recording Tx 734 is transferred to the upstream 726 via the arbitration circuit 701.

(1)コピー済の領域731の場合は、ルーティング変更部708が、移動先物理計算機情報レジスタ714の情報744から複製するDMA_Write_Txの宛先へのルーティング情報733を出力する。次に、移動元ゲストアドレス変換部709は、DMA_Write_Tx732と、ルーティング情報733と、移動先アドレス情報レジスタ713の情報743とにより、DMA_Write_Tx732を複製し、移動先物理計算機1012へ転送されるようにルーティング情報733を変更し、Txの宛先アドレスが移動先ゲストOS1242のゲスト物理アドレスから移動先物理計算機1012のホスト物理アドレスに変換された複製DMA_Write_Tx735を生成する。複製DMA_Write_Tx735は、調停回路701を経由して上流726に転送され、移動先の物理計算機1012の移動先ゲストメモリ1112へ至る。   (1) In the case of the copied area 731, the routing change unit 708 outputs the routing information 733 to the destination of the DMA_Write_Tx copied from the information 744 in the migration destination physical computer information register 714. Next, the migration source guest address conversion unit 709 duplicates the DMA_Write_Tx 732 based on the DMA_Write_Tx 732, the routing information 733, and the information 743 of the migration destination address information register 713, and transmits the routing information so as to be transferred to the migration destination physical computer 1012. 733 is changed to generate a duplicate DMA_Write_Tx 735 in which the destination address of Tx is converted from the guest physical address of the migration destination guest OS 1242 to the host physical address of the migration destination physical computer 1012. The duplicate DMA_Write_Tx 735 is transferred to the upstream 726 via the arbitration circuit 701 and reaches the migration destination guest memory 1112 of the migration destination physical computer 1012.

次に第1の実施の形態による複合型計算機の制御方法について説明する。最初に、ゲストOSマイグレーションの制御方法について図14を用いて説明する。図14は本発明の第1の実施形態による複合型計算機のゲストOSマイグレーションの制御方法の一例を示したフローチャートである。ゲストOSマイグレーションは、複合型計算機の管理者が管理用端末105経由でゲストOSマイグレーションの指示があった場合に、装置制御部104のマイグレーション管理ソフトウェア141によりゲストOSマイグレーション処理が開始される(ステップS1401)。ここでは、複合型計算機の管理者からの指令をゲストOSマイグレーション開始の契機としているが、ソフトウェアによる契機、例えば、複合型計算機の運用管理ソフトウェア(図示省略)が物理計算機1011のハートビート等から異常の発生を監視して、異常を検知したことをゲストOSマイグレーション開始の契機としても良い。   Next, a control method of the composite computer according to the first embodiment will be described. First, a guest OS migration control method will be described with reference to FIG. FIG. 14 is a flowchart showing an example of a guest OS migration control method of the composite computer according to the first embodiment of the present invention. The guest OS migration is started by the migration management software 141 of the device control unit 104 when the administrator of the compound computer is instructed to migrate the guest OS via the management terminal 105 (step S1401). ). Here, the command from the administrator of the composite computer is the trigger for starting the guest OS migration. However, the operation by software, for example, the operation management software (not shown) of the composite computer is abnormal due to the heartbeat of the physical computer 1011 or the like. The occurrence of an error may be monitored and an abnormality detected may be used as a trigger for starting the guest OS migration.

マイグレーション管理ソフトウェア141は、ゲストOSマイグレーションの構成管理として、ステップS1401で管理用端末105から指示された移動元と移動先の物理計算機1011、1012と、仮想計算機1231、1232と、ゲストOS1241、1242の情報を、仮想マシンモニタ1201、1202と、装置制御ソフトウェア140から取得し、マイグレーション構成情報142に保存する(ステップS1402)。なお、このステップS1402において、移動先の物理計算機1012に十分な計算機資源があり、ゲストOSマイグレーションが可能か否かのチェックと、移動先の仮想計算機1232の生成と、移動先ゲストOS1242のメモリ領域1112の割当て、等が行われる。これらの処理は公知または周知の手法を用いれば良く、装置制御部104の装置制御ソフトウェア140が、計算機資源のチェックを行ってから移動先の物理計算機1012へ仮想計算機1232の生成を指令し、移動先ゲストOS1242のメモリ領域1112の割当てを指令することができる。   The migration management software 141 performs configuration management for guest OS migration, including the migration source and migration destination physical computers 1011 and 1012, virtual computers 1231 and 1232, and guest OSs 1241 and 1242 instructed from the management terminal 105 in step S1401. Information is acquired from the virtual machine monitors 1201 and 1202 and the device control software 140 and stored in the migration configuration information 142 (step S1402). In step S1402, the migration destination physical computer 1012 has sufficient computer resources to check whether the guest OS migration is possible, the creation of the migration destination virtual computer 1232, and the memory area of the migration destination guest OS 1242. 1112 is assigned. These processes may be performed by using known or well-known methods. The apparatus control software 140 of the apparatus control unit 104 checks the computer resources and then instructs the physical computer 1012 of the movement destination to generate the virtual machine 1232 and move it. The allocation of the memory area 1112 of the destination guest OS 1242 can be commanded.

次に、移動元のマイグレーション制御部1221は、マルチルートI/Oスイッチ102のマイグレーションTx制御部レジスタ1_136にマイグレーションの初期設定を行う(ステップS1403)。この初期設定では以下の設定を行う。   Next, the migration source migration control unit 1221 initializes the migration in the migration Tx control unit register 1_136 of the multi-root I / O switch 102 (step S1403). In this initial setting, the following settings are made.

移動元のマイグレーション制御部1221は、マイグレーションTx制御部レジスタ1_136のアドレスリスト記録制御レジスタ711に対して、アドレスリスト記録バッファ関連レジスタ801〜803の設定と、連続アドレスのリスト記録抑止指定レジスタ804の設定とを行い、さらに、連続アドレスのリスト記録抑止を実行する時は連続アドレスサイズの指定レジスタ805の設定を行う。   The source migration control unit 1221 sets the address list recording buffer related registers 801 to 803 and the continuous address list recording suppression designation register 804 for the address list recording control register 711 of the migration Tx control unit register 1_136. In addition, when the continuous address list recording suppression is executed, the continuous address size designation register 805 is set.

移動元のマイグレーション制御部1221は、移動元アドレス情報レジスタ712に移動元ゲストOS1241のホスト物理アドレス情報を設定する。また、移動元のマイグレーション制御部1221は、移動先アドレス情報レジスタ713に移動先ゲストOS1242のホスト物理アドレス情報を設定する。さらに、移動元のマイグレーション制御部1221は、移動先物理計算機情報レジスタ714に移動先物理計算機1012に割当てた仮想I/Oスイッチ識別子G203を設定する。移動対象デバイス設定レジスタ717に移動元ゲストOS1241に直接割当てしたI/Oデバイス1031のデバイスIDに対してマイグレーション対象指定の設定を行う。   The migration source migration control unit 1221 sets the host physical address information of the migration source guest OS 1241 in the migration source address information register 712. The migration source migration control unit 1221 sets the host physical address information of the migration destination guest OS 1242 in the migration destination address information register 713. Further, the migration source migration control unit 1221 sets the virtual I / O switch identifier G203 assigned to the migration destination physical computer 1012 in the migration destination physical computer information register 714. The migration target designation is set for the device ID of the I / O device 1031 directly assigned to the migration source guest OS 1241 in the migration target device setting register 717.

次に移動元の物理計算機1011のバックグラウンドコピー制御部121は、バックグラウンドコピーの初期設定として、移動元ゲストOSのメモリ領域1111をバックグランドコピーの各フェーズで転送するメモリ領域に分割する(ステップS1404)。また、このステップS1404では、バックグラウンドコピー用のインターフェース110の初期設定も行う。   Next, the background copy control unit 121 of the migration source physical computer 1011 divides the memory area 1111 of the migration source guest OS into memory areas to be transferred in each phase of background copy as an initial setting of the background copy (Step S1). S1404). In step S1404, the background copy interface 110 is also initialized.

次に、バックグラウンドコピー制御部121は、上述したようにバックグラウンドコピーのフェーズ1の処理を行う。先ず、バックグラウンドコピー制御部121は、フェーズ1での図5に示す(1)コピー済領域5011、(2)コピー中領域5021、(3)未コピー領域5031のメモリ領域を、アドレス領域設定レジスタ715に設定する(ステップS1405)。なお、最初のフェーズ1では、マイグレーションTx制御有効レジスタ716にアドレスリスト記録の有効設定12001とDMA_Write_Txの複製の有効設定12002を行い、マイグレーションTx制御部1_135の回路が有効になるように設定を行う。   Next, the background copy control unit 121 performs the background copy phase 1 process as described above. First, the background copy control unit 121 sets the memory areas of (1) copied area 5011, (2) copying area 5021, and (3) uncopied area 5031 shown in FIG. It is set to 715 (step S1405). In the first phase 1, the address list recording valid setting 12001 and DMA_Write_Tx duplication valid setting 12002 are set in the migration Tx control valid register 716, and the migration Tx control unit 1_135 is set to be valid.

次に、バックグラウンドコピー制御部121は、フェーズ1の(2)コピー中領域5021のメモリコピーを実施する(ステップS1406)。次に、上記で分割した移動元ゲストOS1241のメモリ領域1111の全フェーズのメモリコピーが完了したかを判定する(ステップS1407)。全フェーズが完了していない場合は、次のフェーズのメモリコピー処理として、ステップS1405〜ステップS1407の処理を行う。一方、全フェーズが完了した場合は、移動元のマイグレーション制御部1221は、移動元仮想計算機1231のスケジューリングを停止して、移動元ゲストOS1241を停止させる(ステップS1408)。   Next, the background copy control unit 121 performs memory copy of the phase 1 (2) in-copying area 5021 (step S1406). Next, it is determined whether the memory copy of all phases of the memory area 1111 of the migration source guest OS 1241 divided as described above has been completed (step S1407). If all phases have not been completed, the processing from step S1405 to step S1407 is performed as the memory copy processing of the next phase. On the other hand, when all phases are completed, the migration source migration control unit 1221 stops scheduling of the migration source virtual machine 1231 and stops the migration source guest OS 1241 (step S1408).

次にマイグレーション制御部1221は、アドレスリストバッファ113からDMA_Writeによりメモリ更新があったアドレスリストを取得し、当該アドレスのメモリ領域を移動先ゲストOSのメモリ領域1112に再コピーを実施する(ステップS1409)。ここでは、本ステップS1409でアドレスリストを取得しているが、マイグレーション制御部1221がステップS1405〜ステップS1407のバックグラウンドコピー中にも、アドレスリストバッファA/B1131、1132を切替える方法で、随時アドレスリストを取得し、再コピーが必要なアドレスを別途管理しても良い。   Next, the migration control unit 1221 acquires the address list in which the memory has been updated from the address list buffer 113 using DMA_Write, and re-copy the memory area at the address to the memory area 1112 of the migration destination guest OS (step S1409). . Here, the address list is acquired in step S1409. However, the migration control unit 1221 switches the address list buffers A / B 1131 and 1132 during the background copy in steps S1405 to S1407, so that the address list can be changed as needed. And an address that needs to be copied again may be managed separately.

以上のステップで移動元ゲストOS1241を移動先ゲストOS1242へ移動させる準備が完了するので、マイグレーション管理ソフトウェア141は、装置制御ソフトウェア140経由で、移動対象のI/Oデバイス1031が移動先の物理計算機1012に接続されるように、マルチルートI/Oスイッチ102の設定を変更する。   Since the preparation for moving the migration source guest OS 1241 to the migration destination guest OS 1242 is completed through the above steps, the migration management software 141 passes the device I / O device 1031 to be migrated to the migration destination physical computer 1012 via the device control software 140. So that the setting of the multi-root I / O switch 102 is changed.

また、移動元の物理計算機1011のマイグレーション制御部1221は、マイグレーションTx制御部1_135のアドレスリスト記録の有効指定12001を無効に設定し、DMA_Write_Txの複製の有効指定12002を無効に設定する(ステップS1410)。   Also, the migration control unit 1221 of the migration source physical computer 1011 sets the address list record valid designation 12001 of the migration Tx control unit 1_135 to invalid, and sets the DMA_Write_Tx duplication valid designation 12002 to invalid (step S1410). .

次に、移動先の仮想マシンモニタ1202のマイグレーション制御部1222は、マイグレーション対象のI/Oデバイス1031を移動先ゲストOS1242に直接割当て、移動先の仮想計算機1232のスケジューリングを開始する。これにより移動先ゲストOS1242が動作を開始し、ゲストOSマイグレーションが完了する(ステップS1411)。マイグレーション管理ソフトウェア141は、管理用端末105経由で複合型計算機の管理者にゲストOSマイグレーションが完了したことを通知する(ステップS1412)。   Next, the migration control unit 1222 of the migration destination virtual machine monitor 1202 directly assigns the migration target I / O device 1031 to the migration destination guest OS 1242, and starts scheduling of the migration destination virtual machine 1232. As a result, the migration destination guest OS 1242 starts operating, and the guest OS migration is completed (step S1411). The migration management software 141 notifies the administrator of the compound computer via the management terminal 105 that the guest OS migration has been completed (step S1412).

以上が、ゲストOSマイグレーションの制御方法である。ゲストOSが停止する時間は、図14のS1408〜S1411までのTsに示す期間であり、再メモリコピー(ステップS1409)の処理時間、すなわち、再コピーが必要なメモリ領域のサイズの大きさでゲストOSの停止時間が決まる。   The above is the guest OS migration control method. The time during which the guest OS is stopped is the period indicated by Ts from S1408 to S1411 in FIG. 14, and the processing time of the re-memory copy (step S1409), that is, the size of the memory area that needs to be re-copied OS stop time is determined.

上記処理により、マイグレーションの開始が装置制御部104から移動元の物理計算機1011に指令されると、バックグラウンドコピー部121により、移動元のゲストOS1241に割り当てられたゲストメモリ1111を移動先ゲストメモリ1112へコピーするバックグラウンドコピーが実行される。移動元のゲストOS1241の稼働中にバックグラウンドコピーを行うので、ゲストOS1241がI/Oデバイスに対してDMA読み込みを要求すると、I/OデバイスはDMA_Write_Txを返信することになる。このとき、DMA_Write_Txの宛先アドレスがコピー中領域5031であると、マルチルートI/Oスイッチ102のマイグレーションTx制御部135は、コピー中領域5031に対するDMA_Write_Txの宛先アドレスを移動元の物理計算機1011のアドレスリストバッファ113に格納する。そして、移動元のマイグレーション制御部1221は、バックグラウンドコピーが完了した後に、移動元の仮想計算機1231をさせた後にアドレスリストバッファ113に格納されているアドレスについて移動元ゲストメモリ1111から移動先ゲストメモリ1112へ再度コピーを行うことで、移動元ゲストメモリ1111と移動先ゲストメモリ1112の内容が同一であることを保証することができる。この後、移動元のゲストOS1241に割り当てられていたI/Oデバイスを移動先の物理計算機1012へ切り替えてから、移動先の仮想計算機1232とゲストOS1242を起動してマイグレーションを完了する。   When the migration control is instructed from the apparatus control unit 104 to the migration source physical computer 1011 by the above processing, the background copy unit 121 transfers the guest memory 1111 assigned to the migration source guest OS 1241 to the migration destination guest memory 1112. A background copy is performed. Since background copy is performed while the migration source guest OS 1241 is in operation, when the guest OS 1241 requests the I / O device to perform DMA reading, the I / O device returns DMA_Write_Tx. At this time, if the destination address of DMA_Write_Tx is the copying area 5031, the migration Tx control unit 135 of the multi-root I / O switch 102 sets the destination address of the DMA_Write_Tx for the copying area 5031 to the address list of the physical computer 1011 that is the migration source. Store in the buffer 113. Then, the migration control unit 1221 of the migration source transfers the migration source virtual memory 1231 to the migration destination guest memory from the migration source guest memory 1111 for the addresses stored in the address list buffer 113 after the migration source virtual machine 1231 is executed after the background copy is completed. By copying to 1112 again, it is possible to ensure that the contents of the migration source guest memory 1111 and the migration destination guest memory 1112 are the same. Thereafter, the I / O device assigned to the migration source guest OS 1241 is switched to the migration destination physical computer 1012, and then the migration destination virtual machine 1232 and the guest OS 1242 are activated to complete the migration.

次に下流ポートI/O制御部130の制御方法について図15を用いて説明する。図15は本発明の第1の実施形態による複合型計算機の下流ポートI/O制御部130で行われる処理の一例を示したフローチャートである。下流ポートI/O制御部130は、下流側からInbound_Tx720を受信すると(ステップS1501)、TxのTLPヘッダ部分からTxの種別がDMAか否かを判定する(ステップS1502)。TxがDMAでないときは、受信Tx720をそのまま上流側に転送する(ステップS1503)。   Next, a control method of the downstream port I / O control unit 130 will be described with reference to FIG. FIG. 15 is a flowchart showing an example of processing performed by the downstream port I / O control unit 130 of the composite computer according to the first embodiment of this invention. When receiving the Inbound_Tx 720 from the downstream side (step S1501), the downstream port I / O control unit 130 determines whether the Tx type is DMA from the TLP header portion of the Tx (step S1502). When Tx is not DMA, the reception Tx 720 is transferred to the upstream side as it is (step S1503).

一方、TxがDMAのときは、さらにTxがDMA_Writeか否か判定する(ステップS1504)。TxがDMA_Write_Txの時はマイグレーション制御部1_135の処理を実行し(ステップS1505)、TxがDMA_Write_Txでないときは、マイグレーション制御部1_135の処理を実行しない。なお、マイグレーション制御部1_135の制御方法については、図16を用いて後述する。   On the other hand, when Tx is DMA, it is further determined whether Tx is DMA_Write (step S1504). When Tx is DMA_Write_Tx, the process of the migration control unit 1_135 is executed (step S1505), and when Tx is not DMA_Write_Tx, the process of the migration control unit 1_135 is not executed. A control method of the migration control unit 1_135 will be described later with reference to FIG.

次に、下流ポートI/O制御部130は、DMA_Txの宛先アドレスを、移動元ゲストOS1241のゲスト物理アドレスから移動元物理計算機1011のホスト物理アドレスに変換を行い、DMA_Txを上流側に転送を行う(ステップS1506)。   Next, the downstream port I / O control unit 130 converts the destination address of DMA_Tx from the guest physical address of the migration source guest OS 1241 to the host physical address of the migration source physical computer 1011, and transfers DMA_Tx to the upstream side. (Step S1506).

次にマイグレーションTx制御部1_135の制御方法について図16を用いて説明する。図16は本発明の第1の実施形態による複合型計算機のマイグレーションTx制御部1_135の制御方法の一例を示したフローチャートである。   Next, a control method of the migration Tx control unit 1_135 will be described with reference to FIG. FIG. 16 is a flowchart illustrating an example of a control method of the migration Tx control unit 1_135 of the composite computer according to the first embodiment of this invention.

上記図15のステップS1504で、InboundのDMA_Write_Txを受信するとマイグレーションTx制御部1_135の処理が行われる(ステップS1601)。マイグレーションTx制御部1_135は、受信したTx720のTLPヘッダ727を解析し、マイグレーション対象のI/Oデバイス1031からのTxか否か判定を行う(ステップS1602)。受信したTx720がマイグレーション対象ではない場合は、マイグレーションTx制御部1_135の処理を終了する。一方、受信したTx720がマイグレーション対象の場合は、受信Tx720の宛先アドレスが、図5に示す(1)コピー済領域5011、(2)コピー中領域5021、(3)未コピー領域5031のどの領域か判定を行う(ステップS1603)。   When the Inbound DMA_Write_Tx is received in step S1504 of FIG. 15, the migration Tx control unit 1_135 performs processing (step S1601). The migration Tx control unit 1_135 analyzes the received TLP header 727 of Tx 720 and determines whether or not the Tx is from the migration target I / O device 1031 (step S1602). If the received Tx 720 is not a migration target, the process of the migration Tx control unit 1_135 is terminated. On the other hand, if the received Tx 720 is a migration target, the destination address of the received Tx 720 is any one of the (1) copied area 5011, (2) copying area 5021, and (3) uncopied area 5031 shown in FIG. A determination is made (step S1603).

受信したTx720の宛先アドレスが(3)未コピー領域5031の場合は、マイグレーションTx制御部1_135の処理を終了する。宛先アドレスが(1)コピー済領域5011の場合は、DMA_Write_Txの複製が有効か否かを判定し(ステップS1604)、複製が有効な場合は複製したDMA_Write_Txを転送する移動先物理計算機1012へのルーティング設定を行う(ステップS1605)。   When the destination address of the received Tx 720 is (3) the uncopied area 5031, the process of the migration Tx control unit 1_135 is terminated. If the destination address is (1) the copied area 5011, it is determined whether or not the DMA_Write_Tx replication is valid (step S1604). If the replication is valid, the routing to the destination physical computer 1012 that transfers the duplicated DMA_Write_Tx. Setting is performed (step S1605).

次に、マイグレーションTx制御部1_135は、複製DMA_Write_Txの宛先アドレスを、移動先ゲストOS1242のゲスト物理アドレスから移動元物理計算機1012のホスト物理アドレスに変換し(ステップS1606)、複製DMA_Write_Tx735を上流側に転送し(ステップS1607)、マイグレーションTx制御部1_135の処理を終了する。   Next, the migration Tx control unit 1_135 converts the destination address of the duplicate DMA_Write_Tx from the guest physical address of the migration destination guest OS 1242 to the host physical address of the migration source physical computer 1012 (step S1606), and transfers the duplicate DMA_Write_Tx735 to the upstream side. (Step S1607), and the process of the migration Tx control unit 1_135 is terminated.

上記ステップS1604の判定で、DMA_Write_Txの複製が無効の場合は、マイグレーションTx制御部1_135の処理を終了する。一方、ステップS1603の判定で、宛先アドレスが(2)コピー中領域5012の場合は、マイグレーションTx制御有効レジスタ716を参照してアドレスリストの記録が有効か否かを判定する(ステップS1608)。この判定の結果アドレスリストの記録が有効の場合は、マイグレーションTx制御部1_135は、アドレスリスト記録制御レジスタ711を参照して連続アドレスのアドレスリスト記録抑止804が有効か否かを判定する(ステップS1609)。   If it is determined in step S1604 that the DMA_Write_Tx copy is invalid, the process of the migration Tx control unit 1_135 is terminated. On the other hand, if it is determined in step S1603 that the destination address is (2) the copying area 5012, the migration Tx control valid register 716 is referenced to determine whether the address list recording is valid (step S1608). As a result of this determination, if the address list recording is valid, the migration Tx control unit 1_135 refers to the address list recording control register 711 to determine whether the address list recording suppression 804 for continuous addresses is valid (step S1609). ).

連続アドレスのアドレスリスト記録抑止804が有効の場合は、受信Tx_720の宛先アドレス値と、以前に記録したアドレス値とが、図8の連続アドレスサイズの指定レジスタ805のサイズ内でオフセットが一致しているか判定を行う(ステップS1610)。ステップS1609の判定で、連続アドレスのアドレスリスト記録抑止804が無効の場合は、ステップS1610の処理は行わずにステップS1611へ進む。ステップS1610の判定で、オフセットが一致していない場合は、受信Tx720の宛先アドレスをアドレスリストバッファ113に記録するためのアドレスリスト記録Tx734を生成して上流側に転送を行う(ステップS1611)。   When the continuous address address list recording suppression 804 is valid, the destination address value of the reception Tx_720 and the previously recorded address value match within the size of the continuous address size designation register 805 in FIG. It is determined whether or not (step S1610). If it is determined in step S1609 that the address list recording suppression 804 for continuous addresses is invalid, the process proceeds to step S1611 without performing the process in step S1610. If it is determined in step S1610 that the offsets do not match, an address list recording Tx 734 for recording the destination address of the reception Tx 720 in the address list buffer 113 is generated and transferred to the upstream side (step S1611).

次に、今回記録したアドレス値を記録済みのアドレス値として、マイグレーションTx制御部1_135の回路の内部で保持し(ステップS1612)、マイグレーションTx制御部1_135の処理を終了する。また、ステップS1608の判定でアドレスリストの記録が有効の場合、および、ステップS1610の判定でオフセットが一致している場合は、マイグレーションTx制御部1_135の処理を終了する。   Next, the address value recorded this time is held as a recorded address value inside the circuit of the migration Tx control unit 1_135 (step S1612), and the process of the migration Tx control unit 1_135 is ended. If the address list recording is valid in the determination in step S1608 and if the offsets match in the determination in step S1610, the process of the migration Tx control unit 1_135 is terminated.

このように、ゲストOSマイグレーションを行う際には、バックグラウンドコピーでコピー中領域5021に移動元のゲストOS1241宛のDMA_Write_Txが発生すると、マイグレーションTx制御部1_135が移動元の仮想マシンモニタ1201のメモリ領域112内のアドレスリストバッファ113にDMA_Write_Txの宛先アドレスを記録しておき、コピー中領域5021のコピーが完了した後に、移動元のマイグレーション制御部1221がアドレスリストバッファ113の宛先アドレスの移動元ゲストメモリ1111の内容を移動先ゲストメモリ1112へコピーする。したがって、コピー中領域5021の内容を、DMA_Write_Txによる移動元ゲストメモリ1111の更新と同一の内容を移動先ゲストメモリ1112へ適用することが可能となる。   As described above, when performing the guest OS migration, if DMA_Write_Tx addressed to the migration source guest OS 1241 is generated in the copying area 5021 by background copy, the migration Tx control unit 1_135 stores the memory area of the migration source virtual machine monitor 1201. The destination address of DMA_Write_Tx is recorded in the address list buffer 113 in 112, and after the copy of the copying area 5021 is completed, the migration source migration control unit 1221 moves the migration source guest memory 1111 of the destination address of the address list buffer 113. Is copied to the destination guest memory 1112. Accordingly, the same contents as the update of the migration source guest memory 1111 by the DMA_Write_Tx can be applied to the migration destination guest memory 1112 as the content of the copying area 5021.

そして、ゲストOSマイグレーションの際に、移動元ゲストメモリ1111から移動先ゲストメモリ1112へコピーするメモリのサイズを、バックグラウンドコピーの1フェーズのサイズに低減できるので、前記従来例に比して移動元から移動先へのメモリのコピーに要する時間を大幅に低減することが可能となって、マイグレーション中のゲストOSの停止時間を大幅に短縮することが可能となる。   In the guest OS migration, the size of the memory copied from the migration source guest memory 1111 to the migration destination guest memory 1112 can be reduced to the size of one phase of the background copy. It is possible to greatly reduce the time required for copying the memory from the destination to the destination, and to significantly reduce the stop time of the guest OS during migration.

このように、本発明によれば、バックグラウンドコピーを用いたゲストOSマイグレーションにおいて、マイグレーション対象のゲストOSのメモリコピー用のインターフェース160のスループットが小さくても、ゲストOSの停止時に再コピーが必要なメモリ領域のサイズを小さくすることができ、ゲストOSの停止時間を短くすることが可能である。   As described above, according to the present invention, in the guest OS migration using the background copy, even if the throughput of the memory copy interface 160 of the migration target guest OS is small, recopying is required when the guest OS is stopped. The size of the memory area can be reduced, and the stop time of the guest OS can be shortened.

そして、ゲストOSに割当てたメモリサイズによらず、ゲストOSの停止時に再コピーが必要なメモリ領域のサイズはバックグラウンドコピーの1フェーズであり、ゲストOSに割当てたメモリサイズが大きくても再コピーが必要なメモリ領域のサイズを小さくすることができ、ゲストOSの停止時間を短くすることが可能である。   Regardless of the memory size allocated to the guest OS, the size of the memory area that needs to be re-copied when the guest OS is stopped is one phase of background copy, and even if the memory size allocated to the guest OS is large, re-copying is performed. However, it is possible to reduce the size of the required memory area and to shorten the stop time of the guest OS.

上記により、メモリコピー用のインターフェース種やゲストOSの割当てメモリサイズ等の計算機環境に依存せず、ゲストOSマイグレーション時のゲストOSの停止時間を確実に小さくすることが可能であり、ユーザ業務やアプリケーションサーバ等に与える影響を最小限にしてゲストOSマイグレーションを実施できる。また、ゲストOSマイグレーションの計算機環境の制約が緩和されるため、ゲストOSマイグレーションの用途を広げることができる。   As described above, it is possible to reliably reduce the stop time of the guest OS during the migration of the guest OS without depending on the computer environment such as the interface type for memory copy and the allocated memory size of the guest OS. Guest OS migration can be implemented with minimal impact on servers and the like. In addition, since the restrictions on the computer environment for guest OS migration are relaxed, the use of guest OS migration can be expanded.

以上が、第1の実施の形態による複合型計算機の制御方法である。   The above is the control method of the composite computer according to the first embodiment.

<第2実施形態>
次に本発明の第2の実施の形態による複合型計算機の構成について説明する。第2の実施例における複合型計算機の構成は、図1に示した本発明の第1の実施例の複合型計算機の構成と、マルチルートI/Oスイッチの内部の構成が異なる以外は同じである。従って、以下では第1の実施形態と異なる分部についてだけ説明し、同一の部分については説明を省略する。
<Second Embodiment>
Next, the configuration of the composite computer according to the second embodiment of the present invention will be described. The configuration of the composite computer in the second embodiment is the same as that of the first embodiment of the present invention shown in FIG. 1 except that the internal configuration of the multi-root I / O switch is different. is there. Therefore, only the part different from the first embodiment will be described below, and the description of the same part will be omitted.

図17は本発明の第2の実施の形態による複合型計算機のブロック図である。図17に示すように、マルチルートI/Oスイッチ102は、図1で示した物理計算機を接続する1以上の上流Port132とI/Oデバイスを接続する1以上の下流Port133と、スイッチ回路部131と、下流ポートI/O制御部130と、に加えて転送制御部1703、から構成される。   FIG. 17 is a block diagram of a composite computer according to the second embodiment of the present invention. As shown in FIG. 17, the multi-root I / O switch 102 includes one or more upstream ports 132 that connect the physical computers shown in FIG. 1, one or more downstream ports 133 that connect I / O devices, and a switch circuit unit 131. And a downstream port I / O control unit 130, and a transfer control unit 1703.

転送制御部1703は、I/Oスイッチ内インターフェース154によりスイッチ回路部131に接続される。また、下流ポートI/O制御部130は、第1の実施形態と同一のInbound_Tx制御部134と、第1の実施形態と異なるマイグレーションTx制御部2_1701とマイグレーションTx制御部レジスタ2_1702から構成される。転送制御部1703は、マイグレーションTx制御部3_1704とマイグレーションTx制御部レジスタ3_1705から構成される。   The transfer control unit 1703 is connected to the switch circuit unit 131 by the I / O switch internal interface 154. The downstream port I / O control unit 130 includes the same Inbound_Tx control unit 134 as that of the first embodiment, a migration Tx control unit 2_1701 and a migration Tx control unit register 2_1702 which are different from those of the first embodiment. The transfer control unit 1703 includes a migration Tx control unit 3_1704 and a migration Tx control unit register 3_1705.

第2の実施形態では、マイグレーションTx制御部2_1701は、マイグレーションTx制御対象となるTxを判定し、Inbound_Tx_をそのまま複製して複製DMA_Write_Tx1710を生成し、一旦マイグレーションTx制御部3_1704に転送する。マイグレーションTx制御部3_1704は、転送されたInbound_Txの複製である複製DMA_Write_Tx1710を受信し、Tx_1710の宛先アドレスが、図5に示した移動元ゲストOSのメモリ領域1111の(1)コピー済領域5011の場合は、マイグレーションTx制御部3_1704でDMA_Write_Txを複製して、移動先OSのゲストメモリ1112にDMA_Write1712を行う。   In the second embodiment, the migration Tx control unit 2_1701 determines Tx to be a migration Tx control target, duplicates Inbound_Tx_ as it is, generates a duplicate DMA_Write_Tx 1710, and once transfers it to the migration Tx control unit 3_1704. The migration Tx control unit 3_1704 receives the duplicate DMA_Write_Tx 1710 that is a duplicate of the transferred Inbound_Tx, and the destination address of the Tx_1710 is the (1) copied area 5011 of the migration source guest OS memory area 1111 shown in FIG. In the migration Tx control unit 3_1704, DMA_Write_Tx is duplicated and DMA_Write 1712 is performed on the guest memory 1112 of the migration destination OS.

一方、図5に示した移動元ゲストOSのメモリ領域1111の(1)コピー中領域5012の場合は、マイグレーションTx制御部3_1704は、アドレスリスト記録Tx1711を生成し、仮想マシンモニタ1201のメモリ領域112内のアドレスリストバッファ113に、受信Tx1710の宛先アドレスをリストとして記録を行う。   On the other hand, in the case of (1) Copying area 5012 in the memory area 1111 of the migration source guest OS shown in FIG. 5, the migration Tx control unit 3_1704 generates an address list recording Tx 1711 and the memory area 112 of the virtual machine monitor 1201. The destination address of the reception Tx 1710 is recorded as a list in the internal address list buffer 113.

図1に示した第1の実施形態では、マイグレーションTx制御部1_135の回路は、下流Port133の個数分必要である。一方、図17に示す第2の実施形態では、マイグレーションTx制御部1_135の回路のうち、マイグレーションTx制御部3_1704に相当するDMA_Write_Txを複製する回路とアドレスリスト記録Txを生成する回路、および、それらの回路に関連するレジスタであるマイグレーションTx制御部レジスタ3_1705を複数の下流Port133で共有して使うことにより1個分の回路を設けることで済む。   In the first embodiment shown in FIG. 1, the number of circuits of the migration Tx control unit 1_135 is required for the number of downstream ports 133. On the other hand, in the second embodiment shown in FIG. 17, among the circuits of the migration Tx control unit 1_135, a circuit that duplicates DMA_Write_Tx corresponding to the migration Tx control unit 3_1704, a circuit that generates the address list record Tx, and those By using the migration Tx control unit register 3_1705, which is a register related to the circuit, shared by a plurality of downstream ports 133, it is sufficient to provide one circuit.

従って、図17に示す第2の実施形態の方が、図1に示した第1の実施形態に比べて、マルチルートI/Oスイッチ102に実装するLSIの回路規模が小さくて済むというメリットがある。   Therefore, the second embodiment shown in FIG. 17 has the advantage that the circuit scale of the LSI mounted on the multi-root I / O switch 102 can be smaller than that of the first embodiment shown in FIG. is there.

次に本発明の第2の実施の形態による複合型計算機の下流ポートI/O制御部130と転送制御部1703について図18、図19を用いて詳しく説明する。   Next, the downstream port I / O control unit 130 and the transfer control unit 1703 of the composite computer according to the second embodiment of the present invention will be described in detail with reference to FIGS.

図18は第2の実施の形態による複合型計算機の下流ポートI/O制御部130の回路の一例を示したブロック図、図19は第2の実施の形態による複合型計算機の転送制御部3_1704の回路の一例を示したブロック図である。   18 is a block diagram showing an example of a circuit of the downstream port I / O control unit 130 of the composite computer according to the second embodiment, and FIG. 19 is a transfer control unit 3_1704 of the composite computer according to the second embodiment. It is a block diagram showing an example of the circuit.

第2の実施形態で下流ポートI/O制御部130は、図18に示すように、Inbound_Tx制御部134と、マイグレーションTx制御部2_1701と、マイグレーションTx制御部レジスタ2_1702と、Inbound_Tx制御部134と、マイグレーションTx制御部2_1701からのTx間を調停し、上流に転送する調停回路701から構成される。   In the second embodiment, as shown in FIG. 18, the downstream port I / O control unit 130 includes an Inbound_Tx control unit 134, a migration Tx control unit 2_1701, a migration Tx control unit register 2_1702, an Inbound_Tx control unit 134, It comprises an arbitration circuit 701 that arbitrates between Tx from the migration Tx control unit 2_1701 and transfers it upstream.

Inbound_Tx制御部134は、本発明の第1の実施形態と同じである。マイグレーションTx制御部レジスタ2_1702は、移動元アドレス情報レジスタ712と、マイグレーションTx制御有効レジスタ716と、移動対象デバイス設定レジスタ717から構成される。これらのレジスタの構成は、本発明の第1の実施形態と同じである。   The Inbound_Tx control unit 134 is the same as that of the first embodiment of the present invention. The migration Tx control unit register 2_1702 includes a migration source address information register 712, a migration Tx control enable register 716, and a migration target device setting register 717. The configuration of these registers is the same as that of the first embodiment of the present invention.

次にマイグレーションTx制御部2_1701の回路について説明する。下流側から受信したInbound_Tx720は、移動対象デバイス判定部705でTxのTLPヘッダ727が解析されTLPの種類がDMA_Write_Txであるか否かと、移動対象デバイスレジスタ717の情報747を基に、マイグレーションTx制御が有効なTxか否かが判定729される。マイグレーション有効判定729は、機能選択回路706によりマイグレーションTx制御有効レジスタ716の情報746を基にアドレスリスト記録とDMA_Write_Txの複製がそれぞれ有効か否かが判定される。アドレスリスト記録とDMA_Write_Txの複製の1以上が有効な場合、複製DMA_Write_Tx転送部1801は、DMA_Write_Tx732を複製し、宛先を転送制御部1703とした複製DMA_Write_Tx1802を生成する。複製DMA_Write_Tx1802は、調停回路701を経由して上流726に転送される。   Next, a circuit of the migration Tx control unit 2_1701 will be described. Inbound_Tx 720 received from the downstream side is subjected to migration Tx control based on whether or not TLP header 727 of Tx is analyzed by movement target device determination unit 705 and the type of TLP is DMA_Write_Tx, and information 747 of movement target device register 717. A determination 729 is made whether the Tx is valid. In the migration validity determination 729, the function selection circuit 706 determines whether the address list recording and the DMA_Write_Tx replication are valid based on the information 746 in the migration Tx control validity register 716. When one or more of address list recording and DMA_Write_Tx duplication are valid, the duplicate DMA_Write_Tx transfer unit 1801 duplicates DMA_Write_Tx 732 and generates a duplicate DMA_Write_Tx 1802 with the destination being the transfer control unit 1703. The duplicate DMA_Write_Tx 1802 is transferred to the upstream 726 via the arbitration circuit 701.

第2の実施形態で転送制御部1703は、図19に示すように、マイグレーションTx制御部レジスタ3_1705と、マイグレーションTx制御部3_1704と、マイグレーションTx制御部3_1704からの出力Tx間を調停し、上流に転送する調停回路701から構成される。   In the second embodiment, the transfer control unit 1703 arbitrates between the output Tx from the migration Tx control unit register 3_1705, the migration Tx control unit 3_1704, and the migration Tx control unit 3_1704 as shown in FIG. It consists of an arbitration circuit 701 for transferring.

マイグレーションTx制御部レジスタ3_1705は、アドレスリスト記録制御レジスタ711と、移動先アドレス情報レジスタ713と、移動先物理計算機情報レジスタ714と、アドレス領域設定レジスタ715、から構成される。これらのレジスタの構成は、本発明の第1の実施形態と同じである。   The migration Tx control unit register 3_1705 includes an address list recording control register 711, a migration destination address information register 713, a migration destination physical computer information register 714, and an address area setting register 715. The configuration of these registers is the same as that of the first embodiment of the present invention.

次にマイグレーションTx制御部3_1704の回路について説明する。マイグレーションTx制御部3_1704は、入力側からマルチルートI/Oスイッチ102の各下流Port133の下流ポートI/O制御部130から転送された複製DMA_Write_Tx1802を受信する。   Next, a circuit of the migration Tx control unit 3_1704 will be described. The migration Tx control unit 3_1704 receives the duplicate DMA_Write_Tx 1802 transferred from the downstream port I / O control unit 130 of each downstream port 133 of the multi-root I / O switch 102 from the input side.

アドレスレンジ判定部707は、複製DMA_Write_Tx1802の宛先アドレス1911とアドレス領域設定レジスタ715の情報745から宛先アドレス1911が(1)コピー済の領域1913か、(2)コピー中の領域1912かを判定する。(2)コピー中の領域1912の場合は、アドレスリスト記録制御部710は、宛先アドレス1911とアドレスリスト記録制御レジスタ711の情報741から、アドレスリスト保存バッファA/Bを指定するレジスタ8031によって指定された移動元の物理計算機1011のアドレスリストバッファ113に宛先アドレス1911を記録するアドレスリスト記録用のDMA_Tx1915を生成する。アドレスリスト記録用Tx_1915は、調停回路1901を経由して出力1917として転送される。   The address range determination unit 707 determines whether the destination address 1911 is (1) a copied area 1913 or (2) an area 1912 being copied from the destination address 1911 of the duplicate DMA_Write_Tx 1802 and the information 745 of the address area setting register 715. (2) In the case of the area 1912 being copied, the address list recording control unit 710 is designated by the register 8031 that designates the address list storage buffer A / B from the destination address 1911 and the information 741 of the address list recording control register 711. The address list recording DMA_Tx 1915 for recording the destination address 1911 in the address list buffer 113 of the source physical computer 1011 is generated. The address list recording Tx — 1915 is transferred as an output 1917 via the arbitration circuit 1901.

(1)コピー済の領域1913の場合は、ルーティング変更部708は、移動先物理計算機情報レジスタ714の情報744から複製するDMA_Write_Txの宛先へのルーティング情報1914を出力する。次に、移動元ゲストアドレス変換部709は、DMA_Write_Tx1802と、ルーティング情報1914と、移動先アドレス情報レジスタ713の情報743とにより、DMA_Write_Tx1802を複製し、移動先物理計算機1012へ転送されるようにルーティング情報1914に変更し、Txの宛先アドレスが移動先ゲストOS1242のゲスト物理アドレスから移動先物理計算機1012のホスト物理アドレスに変換された複製DMA_Write_Tx1916を生成する。複製DMA_Write_Tx1916は、調停回路1901を経由して出力1917として移動先ゲストメモリ1112へ転送される。   (1) In the case of the copied area 1913, the routing change unit 708 outputs the routing information 1914 to the destination of the DMA_Write_Tx to be copied from the information 744 in the migration destination physical computer information register 714. Next, the migration source guest address conversion unit 709 duplicates the DMA_Write_Tx 1802 based on the DMA_Write_Tx 1802, the routing information 1914, and the information 743 of the migration destination address information register 713, and transmits the routing information so as to be transferred to the migration destination physical computer 1012. In 1914, a duplicate DMA_Write_Tx 1916 in which the destination address of Tx is converted from the guest physical address of the migration destination guest OS 1242 to the host physical address of the migration destination physical computer 1012 is generated. The duplicate DMA_Write_Tx 1916 is transferred to the destination guest memory 1112 as the output 1917 via the arbitration circuit 1901.

以上のような第2実施形態においても、上記第1の実施形態と同様の作用、効果を得ることができる。   Also in the second embodiment as described above, the same operations and effects as those in the first embodiment can be obtained.

<第3実施形態>
次に本発明の第3の実施の形態による複合型計算機の構成について説明する。第3の実施形態における複合型計算機の構成は、図1に示した本発明の第1の実施形態の複合型計算機の構成と、マルチルートI/Oスイッチ102の下流ポートI/O制御部130内部の構成と物理計算機1011、1012上のチップセット107の内部の構成が異なる以外は同じである。従って、以下では第1の実施形態と異なる分部についてだけ説明し、同一の部分については説明を省略する。
<Third Embodiment>
Next, the configuration of the composite computer according to the third embodiment of the present invention will be described. The configuration of the composite computer in the third embodiment is the same as the configuration of the composite computer of the first embodiment of the present invention shown in FIG. 1 and the downstream port I / O control unit 130 of the multi-root I / O switch 102. The internal configuration is the same except that the internal configuration of the chip set 107 on the physical computers 1011 and 1012 is different. Therefore, only the part different from the first embodiment will be described below, and the description of the same part will be omitted.

図20は本発明の第3の実施の形態による複合型計算機のブロック図である。図20に示すように、下流ポートI/O制御部130は、第1の実施形態と異なるマイグレーションTx制御部4_2002とマイグレーションTx制御部レジスタ4_2003から構成され、図1に示す第1の実施形態のInbound_Tx制御部134は持たない。第2の実施形態では、I/Oデバイス1031からのTxは、下流ポートI/O制御部130をスルーして、Inbound_Tx2010は、移動元物理計算機1011のチップセット107のゲストアドレス変換部20011に転送される。   FIG. 20 is a block diagram of a composite computer according to the third embodiment of the present invention. As shown in FIG. 20, the downstream port I / O control unit 130 is composed of a migration Tx control unit 4_2002 and a migration Tx control unit register 4_2003 different from those of the first embodiment, and the downstream port I / O control unit 130 of the first embodiment shown in FIG. The Inbound_Tx control unit 134 does not have. In the second embodiment, Tx from the I / O device 1031 passes through the downstream port I / O control unit 130, and Inbound_Tx 2010 is transferred to the guest address conversion unit 2001 of the chipset 107 of the migration source physical computer 1011. Is done.

ゲストアドレス変換部20011では、受信したTx2010がDMA_Txの場合に宛先アドレスを移動元ゲストOS1241のゲスト物理アドレスから移動元物理計算機1011のホスト物理アドレスに変換し2011、移動元ゲストOSのメモリ領域1111に転送される。また、マイグレーションTx制御部4_2002は、図1に示す第1の実施形態と同様にアドレスリスト記録Tx164と複製DMA_Write_Tx2012を生成するが、第3の実施形態では、マイグレーションTx制御部4_2002で複製DMA_Write_Tx2012の宛先アドレス変換は行わずに、移動先物理計算機1012のチップセット107のゲストアドレス変換部20012に転送される。移動先物理計算機1012のゲストアドレス変換部20012では、受信した複製DMA_Write_Tx2012の宛先アドレスを移動先ゲストOS1242のゲスト物理アドレスから移動先物理計算機1012のホスト物理アドレスに変換し2013、移動先ゲストOSのメモリ領域1112に転送する。   When the received Tx 2010 is DMA_Tx, the guest address conversion unit 2001 converts the destination address from the guest physical address of the migration source guest OS 1241 to the host physical address of the migration source physical computer 1011 in 2011, and stores it in the memory area 1111 of the migration source guest OS. Transferred. The migration Tx control unit 4_2002 generates the address list record Tx164 and the duplicate DMA_Write_Tx2012 as in the first embodiment shown in FIG. 1. In the third embodiment, the migration Tx control unit 4_2002 uses the duplicate DMA_Write_Tx2012 destination. The address is not transferred and transferred to the guest address conversion unit 20012 of the chip set 107 of the destination physical computer 1012. The guest address conversion unit 20012 of the migration destination physical computer 1012 converts the destination address of the received duplicate DMA_Write_Tx2012 from the guest physical address of the migration destination guest OS 1242 to the host physical address of the migration destination physical computer 1012 2013, and the memory of the migration destination guest OS Transfer to area 1112.

なお、この種のチップセット上のゲストアドレス変換部20010,20012については、特開2004−220218号公報に開示された構成を用いることができる。   Note that the configuration disclosed in Japanese Patent Application Laid-Open No. 2004-220218 can be used for the guest address conversion units 20010 and 20012 on this type of chipset.

次に本発明の第3の実施の形態による複合型計算機の下流ポートI/O制御部130について図21を用いて詳しく説明する。図21は第3の実施の形態による複合型計算機の下流ポートI/O制御部130の回路の一例を示したブロック図である。第3の実施形態で下流ポートI/O制御部130は、図21に示すように、マイグレーションTx制御部4_2002と、マイグレーションTx制御部レジスタ4_2003とマイグレーションTx制御部4_2002からのTx間を調停し、上流に転送する調停回路701から構成され、図1に示した第1の実施形態のInbound_Tx制御部134が無い構成である。   Next, the downstream port I / O control unit 130 of the composite computer according to the third embodiment of the present invention will be described in detail with reference to FIG. FIG. 21 is a block diagram showing an example of a circuit of the downstream port I / O control unit 130 of the composite computer according to the third embodiment. In the third embodiment, as shown in FIG. 21, the downstream port I / O control unit 130 arbitrates between Tx from the migration Tx control unit 4_2002, the migration Tx control unit register 4_2003, and the migration Tx control unit 4_2002, The arbitration circuit 701 is configured to transfer to the upstream, and the Inbound_Tx control unit 134 of the first embodiment illustrated in FIG. 1 is not provided.

マイグレーションTx制御部レジスタ4_2003は、アドレスリスト記録制御レジスタ711と、移動先物理計算機情報レジスタ714と、アドレス領域設定レジスタ715と、マイグレーションTx制御有効レジスタ716と、移動対象デバイス設定レジスタ717から構成される。これらのレジスタの構成は、本発明の第1の実施形態と同じである。   The migration Tx control unit register 4_2003 includes an address list recording control register 711, a migration destination physical computer information register 714, an address area setting register 715, a migration Tx control valid register 716, and a migration target device setting register 717. . The configuration of these registers is the same as that of the first embodiment of the present invention.

第3の実施形態の下流ポートI/O制御部130では、下流から受信したInbound_Tx720は、処理無しで、調停回路701を経由して上流726に転送される。また、マイグレーションTx制御部4_2002は、図7に示した第1の実施形態のマイグレーションTx制御部1_135の移動先ゲストアドレス変換部709が、複製DMA_Write_Tx転送部2101に置き換わった構成で、他の回路については同一である。つまり、図21に示す第3の実施形態では、DMA_Write_Txを複製する際にTxの宛先アドレスを変更していないDMA_Write_Tx2110を生成し、調停回路701を経由して上流726に転送される。一方、アドレスリスト記録Txの生成に関しては、図7に示す第1の実施形態と同じ回路である。   In the downstream port I / O control unit 130 of the third embodiment, the Inbound_Tx 720 received from the downstream is transferred to the upstream 726 via the arbitration circuit 701 without processing. The migration Tx control unit 4_2002 has a configuration in which the migration destination guest address conversion unit 709 of the migration Tx control unit 1_135 of the first embodiment shown in FIG. 7 is replaced with a duplicate DMA_Write_Tx transfer unit 2101. Are the same. That is, in the third embodiment shown in FIG. 21, when duplicating DMA_Write_Tx, DMA_Write_Tx 2110 in which the destination address of Tx is not changed is generated and transferred to upstream 726 via arbitration circuit 701. On the other hand, the generation of the address list record Tx is the same circuit as that of the first embodiment shown in FIG.

以上のような第3実施形態においても、DMA_Write_Txの宛先アドレスの変換を移動元と移動先の物理計算機1011、1021のチップセット107でそれぞれ行うことで、上記第1の実施形態と同様の作用、効果を得ることができる。   Also in the third embodiment as described above, by performing conversion of the destination address of DMA_Write_Tx in the chip set 107 of the migration source and migration destination physical computers 1011 and 1021, respectively, the same operation as in the first embodiment, An effect can be obtained.

なお、上記各実施形態では、CPU108とチップセット107が分離した構成を示したが、CPU108とチップセット107を同一のLSIに実装しても良い。   In the above embodiments, the CPU 108 and the chip set 107 are separated from each other. However, the CPU 108 and the chip set 107 may be mounted on the same LSI.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

以上のように、本発明は、計算機の仮想化技術、特に、仮想計算機上のゲストOSを物理計算機間で移動させるゲストOSマイグレーションを行う計算機システムに適用することができる。   As described above, the present invention can be applied to a computer virtualization technology, particularly to a computer system that performs guest OS migration for moving a guest OS on a virtual computer between physical computers.

本発明の第1の実施の形態を示し、複合型計算機のブロック図である。1 is a block diagram of a composite computer according to a first embodiment of this invention. FIG. は第1の実施の形態を示し、複合型計算機のマイグレーション構成情報の一例を示した説明図である。FIG. 8 is an explanatory diagram illustrating an example of migration configuration information of a composite computer according to the first embodiment. 第1の実施の形態を示し、複合型計算機のマイグレーション対象ゲストOSの移動元のホスト物理アドレス情報の一例を示した説明図である。FIG. 9 is an explanatory diagram illustrating an example of host physical address information of a migration source of a migration target guest OS of the composite computer according to the first embodiment. 第1の実施の形態を示し、複合型計算機のマイグレーション対象ゲストOSの移動先のホスト物理アドレス情報の一例を示した説明図である。FIG. 3 is an explanatory diagram illustrating an example of host physical address information of a migration destination of a migration target guest OS of the composite computer according to the first embodiment. 第1の実施の形態を示し、複合型計算機のマイグレーション対象のI/Oデバイス情報の一例を示した説明図である。FIG. 3 is an explanatory diagram illustrating an example of I / O device information to be migrated by the composite computer according to the first embodiment. 第1の実施の形態を示し、複合型計算機のバックグラウンドコピー時の移動元ゲストOSのメモリ空間の一例を示した説明図である。FIG. 8 is an explanatory diagram illustrating an example of a memory space of a migration source guest OS during background copy of the composite computer according to the first embodiment. 第1の実施の形態を示し、複合型計算機のバックグラウンドコピー時に生成されるアドレスリストバッファの一例を示した説明図である。FIG. 10 is an explanatory diagram illustrating an example of an address list buffer generated in the background copy of the composite computer according to the first embodiment. 第1の実施の形態を示し、複合型計算機の下流ポートI/O制御部の回路の一例を示したブロック図である。1 is a block diagram illustrating an example of a circuit of a downstream port I / O control unit of a composite computer according to a first embodiment. 第1の実施の形態を示し、複合型計算機の下流ポートI/O制御部のアドレスリスト記録制御レジスタの一例を示した説明図である。FIG. 3 is an explanatory diagram illustrating an example of an address list recording control register of a downstream port I / O control unit of the composite computer according to the first embodiment. 第1の実施の形態を示し、複合型計算機の下流ポートI/O制御部の移動元アドレス情報レジスタの一例を示した説明図である。FIG. 10 is an explanatory diagram illustrating an example of a source address information register of a downstream port I / O control unit of the composite computer according to the first embodiment. 第1の実施の形態を示し、複合型計算機の下流ポートI/O制御部の移動先アドレス情報レジスタの一例を示した説明図である。FIG. 9 is an explanatory diagram illustrating an example of a migration destination address information register of the downstream port I / O control unit of the composite computer according to the first embodiment. 第1の実施の形態を示し、複合型計算機の下流ポートI/O制御部のアドレス領域設定レジスタの一例を示した説明図である。FIG. 10 is an explanatory diagram illustrating an example of an address area setting register of a downstream port I / O control unit of the composite computer according to the first embodiment. 第1の実施の形態を示し、複合型計算機の下流ポートI/O制御部のマイグレーションTx制御有効レジスタの一例を示した説明図である。FIG. 9 is an explanatory diagram illustrating an example of a migration Tx control valid register of a downstream port I / O control unit of the composite computer according to the first embodiment. 第1の実施の形態を示し、複合型計算機の下流ポートI/O制御部の移動対象デバイス設定レジスタの一例を示した説明図である。FIG. 3 is an explanatory diagram illustrating an example of a migration target device setting register of a downstream port I / O control unit of the composite computer according to the first embodiment. 本発明の第1の実施形態を示し、複合型計算機のゲストOSマイグレーションの制御の一例を示したフローチャートである。5 is a flowchart illustrating an example of control of guest OS migration of the composite computer according to the first embodiment of this invention. 本発明の第1の実施形態を示し、複合型計算機の下流ポートI/O制御部で行われる処理の一例を示したフローチャートである。5 is a flowchart illustrating an example of processing performed by the downstream port I / O control unit of the composite computer according to the first embodiment of this invention. 本発明の第1の実施形態を示し、複合型計算機のマイグレーションTx制御部1で行われる制御の一例を示したフローチャートである。5 is a flowchart illustrating an example of control performed by the migration Tx control unit 1 of the composite computer according to the first embodiment of this invention. 本発明の第2の実施の形態を示し、複合型計算機のブロック図である。FIG. 10 is a block diagram of a composite computer according to a second embodiment of this invention. 第2の実施の形態を示し、複合型計算機の下流ポートI/O制御部の回路の一例を示したブロック図である。FIG. 9 is a block diagram illustrating an example of a circuit of a downstream port I / O control unit of the composite computer according to the second embodiment. 第2の実施の形態を示し、複合型計算機の転送制御部の回路の一例を示したブロック図である。FIG. 9 is a block diagram illustrating an example of a circuit of a transfer control unit of a composite computer according to a second embodiment. 本発明の第3の実施の形態を示し、複合型計算機のブロック図である。FIG. 10 is a block diagram of a complex computer according to a third embodiment of this invention. 第3の実施の形態を示し、複合型計算機の下流ポートI/O制御部の回路の一例を示したブロック図である。FIG. 10 is a block diagram illustrating an example of a circuit of a downstream port I / O control unit of a composite computer according to a third embodiment.

符号の説明Explanation of symbols

102 マルチルートI/Oスイッチ
1031、1032 I/Oデバイス
104 装置制御部
105 管理用端末
107 チップセット
108 CPU
113 アドレスリストバッファ
121 バックグラウンドコピー制御部
130 下流ポートI/O制御部
131 スイッチ回路部
134 Inbound_Tx制御部
135 マイグレーションTx制御部1
136 マイグレーションTx制御部レジスタ1
140 装置制御ソフトウェア
141 マイグレーション管理ソフトウェア
142 マイグレーション構成情報
1011、1012 移動元物理計算機
1091、1092 メモリ
1111 移動元ゲストOSメモリ
1112 移動先ゲストOSメモリ
1201、1202 仮想マシンモニタ
1221、1222 マイグレーション制御部
1231 移動元仮想計算機
1232 移動先仮想計算機
1241 移動元ゲストOS
1242 移動先ゲストOS
102 Multi-Route I / O Switch 1031, 1032 I / O Device 104 Device Control Unit 105 Management Terminal 107 Chip Set 108 CPU
113 Address List Buffer 121 Background Copy Control Unit 130 Downstream Port I / O Control Unit 131 Switch Circuit Unit 134 Inbound_Tx Control Unit 135 Migration Tx Control Unit 1
136 Migration Tx control unit register 1
140 Device control software 141 Migration management software 142 Migration configuration information 1011 and 1012 Migration source physical computers 1091 and 1092 Memory 1111 Migration source guest OS memory 1112 Migration destination guest OS memory 1201 and 1202 Virtual machine monitor 1221 and 1222 Migration control unit 1231 Migration source Virtual machine 1232 Destination virtual machine 1241 Migration source guest OS
1242 Destination Guest OS

Claims (12)

第1のプロセッサと第1のメモリを備えた第1の物理計算機と、
前記第1の物理計算機の計算機資源を仮想化して第1の仮想計算機を実行する第1の仮想化部と、
第2のプロセッサと第2のメモリを備えた第2の物理計算機と、
前記第2の物理計算機の計算機資源を仮想化して第2の仮想計算機を実行する第2の仮想化部と、
前記第1の物理計算機及び第2の物理計算機とI/Oデバイスを接続するI/Oスイッチと、
前記第1の仮想化部は、前記第1の仮想計算機で実行される第1のOSを前記第2の仮想計算機へ移動させるマイグレーション制御部を備えた複合型計算機であって、
前記第1の仮想化部は、
前記マイグレーション制御部が前記第1のOSを前記第2の仮想計算機へ移動させる場合には、前記第1のOSの稼働中に当該第1の仮想化部が前記第1のOSに割り当てた第1のメモリの領域を、前記第2の物理計算機の第2のメモリへコピーするバックグラウンドコピー部を有し、
当該バックグラウンドコピー部は、
前記第1のメモリの状態を、前記第2のメモリへのコピーが完了したコピー済み領域と、前記第2のメモリへのコピーを実行中のコピー中領域と、前記第2のメモリへのコピーが未了の未コピー領域の何れかに分類して、当該分類したメモリ状態と第1のメモリのアドレスとを分類情報として前記I/Oスイッチへ通知し、
前記I/Oデバイスは、予め割り当てられた前記第1の物理計算機の第1のOSに割り当てられた第1のメモリとの間でDMAアクセスを行い、
前記I/Oスイッチは、
前記第1のOSに割り当てた前記I/OデバイスからDMA書き込みトランザクションを受信した場合には、当該DMA書き込みトランザクションの宛先アドレスと前記第1のメモリの前記分類情報のアドレスとを比較して、当該DMA書き込みトランザクションのアドレスが前記コピー済み領域の場合は当該DMA書き込みトランザクションを前記第1のメモリと前記第2のメモリの両方にDMA書き込みを行い、当該DMA書き込みトランザクションのアドレスが前記コピー中領域または未コピー領域の場合には、前記第1のメモリのみにDMA書き込みを行うI/O制御部を有することを特徴とする複合型計算機。
A first physical computer comprising a first processor and a first memory;
A first virtualization unit that virtualizes computer resources of the first physical computer and executes the first virtual computer;
A second physical computer comprising a second processor and a second memory;
A second virtualization unit for virtualizing computer resources of the second physical computer and executing the second virtual computer;
An I / O switch for connecting the first physical computer and the second physical computer to an I / O device;
The first virtualization unit is a complex computer including a migration control unit that moves a first OS executed on the first virtual computer to the second virtual computer,
The first virtualization unit includes:
When the migration control unit moves the first OS to the second virtual machine, the first virtualization unit assigned to the first OS during the operation of the first OS. A background copy unit that copies an area of one memory to a second memory of the second physical computer;
The background copy section
The state of the first memory includes a copied area where copying to the second memory has been completed, a copying area where copying to the second memory is being performed, and copying to the second memory Is classified into one of the uncopied unfinished areas, and the classified memory state and the address of the first memory are notified to the I / O switch as classification information,
The I / O device performs a DMA access with a first memory allocated to a first OS of the first physical computer allocated in advance,
The I / O switch is
When a DMA write transaction is received from the I / O device assigned to the first OS, the destination address of the DMA write transaction is compared with the address of the classification information in the first memory, and When the address of the DMA write transaction is the copied area, the DMA write transaction is DMA-written to both the first memory and the second memory, and the address of the DMA write transaction is set to the area being copied or not. In the case of a copy area, the composite computer has an I / O control unit for performing DMA writing only in the first memory.
請求項1に記載の複合型計算機において、
前記I/O制御部は、
前記第1のOSに割当てたI/OデバイスからのDMA書き込みトランザクションを受信した場合は、当該DMA書き込みトランザクションの宛先アドレスと前記第1のメモリの前記分類情報のアドレスとを比較して、当該DMA書き込みトランザクションのアドレスが前記コピー中領域の場合には、前記第1のメモリにDMA書き込みを行い、前記第1のメモリに予め設定したアドレス格納領域に当該DMA書き込みトランザクションのアドレス情報を格納し、
前記第1の仮想化部は、
前記コピー中領域のコピーが完了した後に、前記アドレス格納領域に格納した前記アドレス情報を取得し、当該アドレス情報が指し示す前記第1のメモリから第2のメモリにコピーを行うことを特徴とする複合型計算機。
In the compound computer according to claim 1,
The I / O control unit
When a DMA write transaction is received from the I / O device assigned to the first OS, the destination address of the DMA write transaction is compared with the address of the classification information in the first memory, and the DMA When the address of the write transaction is the copy-in-progress area, perform DMA write to the first memory, store the address information of the DMA write transaction in the address storage area set in advance in the first memory,
The first virtualization unit includes:
After completion of copying of the copy-in-progress area, the address information stored in the address storage area is acquired, and copying is performed from the first memory indicated by the address information to the second memory. Type calculator.
請求項2に記載の複合型計算機において、
前記第1の仮想化部は、
前記バックグラウンドコピー部の進捗状態として、前記第1のメモリを、前記コピー済み領域と、前記コピー中領域と、前記未コピー領域の何れかに分類し、前記コピー中領域のコピーが完了した場合には、当該コピー中領域をコピー済み領域に再分類し、前記未コピー領域の一部、または、全部を新たにコピー中領域に再分類して、前記I/Oスイッチに通知し、前記コピー中領域からコピー済み領域に再分類された第1のメモリから第2のメモリへコピーを行うことを特徴とする複合型計算機。
In the compound computer according to claim 2,
The first virtualization unit includes:
As the progress status of the background copy unit, the first memory is classified into one of the copied area, the copying area, and the uncopied area, and the copying of the copying area is completed In this case, the copy area is reclassified as a copied area, a part or all of the uncopied area is newly reclassified as a copy area, the I / O switch is notified, and the copy A composite computer that performs copying from a first memory reclassified from a middle area to a copied area to a second memory.
請求項1に記載の複合型計算機において、
前記I/O制御部は、
前記第1のOSに割当てたI/OデバイスからのDMA書き込みトランザクションを受信した場合は、当該DMA書き込みトランザクションの宛先アドレスを前記第1のOSのゲスト物理アドレスから第1の物理計算機のホスト物理アドレスに変換してから第1のメモリに書き込みを行い、前記第2のメモリにDMA書き込みを行う場合には当該DMA書き込みトランザクションの宛先アドレスを第1のOSのゲスト物理アドレスから第2の物理計算機のホスト物理アドレスに変換して前記第2のメモリに書き込みを行うことを特徴とする複合型計算機。
In the compound computer according to claim 1,
The I / O control unit
When a DMA write transaction is received from an I / O device assigned to the first OS, the destination address of the DMA write transaction is changed from the guest physical address of the first OS to the host physical address of the first physical computer. When writing to the first memory and DMA writing to the second memory, the destination address of the DMA write transaction is changed from the guest physical address of the first OS to the second physical computer. A compound computer that converts to a host physical address and writes to the second memory.
請求項1に記載の複合型計算機において、
前記第1の物理計算機は、前記I/Oスイッチと第1のプロセッサおよび第1のメモリとを接続する第1の制御ハブを有し、
前記第1の制御ハブは前記第1の仮想計算機の第1のOSのゲスト物理アドレスから物理計算機の対応するホスト物理アドレスに変換する第1のアドレス変換部を有し、
前記第2の物理計算機は、前記I/Oスイッチと第2のプロセッサおよび第2のメモリを接続する第2の制御ハブを有し、
前記第2の制御ハブは前記第2の仮想計算機に移動させる前記第1のOSのゲスト物理アドレスから第2の物理計算機のホスト物理アドレスに変換する第2のアドレス変換部を有し、
前記第1の制御ハブは、前記I/OスイッチからDMA書き込みを受け付けた場合には、前記第1の物理計算機の第1のアドレス変換部で当該DMA書き込みのアドレスを第1のOSのゲスト物理アドレスから第1の物理計算機のホスト物理アドレスに変換して第1のメモリへ書き込みを行い、
前記第2の制御ハブは、前記I/OスイッチからDMA書き込みを受け付けた場合には、前記第2の物理計算機の第2のアドレス変換部で当該DMA書き込みのアドレスを前記第1のOSのゲスト物理アドレスから第2の物理計算機のホスト物理アドレスに変換して第2のメモリへ書き込みを行うことを特徴とする複合型計算機。
In the compound computer according to claim 1,
The first physical computer has a first control hub that connects the I / O switch to a first processor and a first memory;
The first control hub includes a first address conversion unit that converts a guest physical address of a first OS of the first virtual machine into a corresponding host physical address of the physical machine;
The second physical computer has a second control hub that connects the I / O switch, a second processor, and a second memory;
The second control hub has a second address conversion unit that converts a guest physical address of the first OS to be moved to the second virtual machine to a host physical address of the second physical machine,
When the first control hub receives a DMA write from the I / O switch, the first address conversion unit of the first physical computer sets the DMA write address to the guest physical of the first OS. Convert the address to the host physical address of the first physical computer and write to the first memory,
When the second control hub accepts the DMA write from the I / O switch, the second address conversion unit of the second physical computer sets the DMA write address to the guest of the first OS. A composite computer, wherein a physical address is converted into a host physical address of a second physical computer and written to a second memory.
請求項1に記載の複合型計算機において、
前記複合型計算機の前記第1の物理計算機上で動作する第1のOSを前記第2の物理計算機に移動することを管理する管理計算機を有し、
前記管理計算機は、第1のOSの移動開始時に前記第1の仮想化部にマイグレーション構成情報として、移動元と移動先の物理計算機の識別子と、移動元と移動先の仮想計算機の識別子と、移動元と移動先のゲスト物理アドレスからホスト物理アドレスの変換情報と、第1のOSに割当てられているI/Oデバイスの識別子を通知することを特徴とする複合型計算機。
In the compound computer according to claim 1,
A management computer that manages the movement of the first OS operating on the first physical computer of the composite computer to the second physical computer;
The management computer, as the migration configuration information to the first virtualization unit at the start of migration of the first OS, identifiers of the migration source and migration destination physical computers, identifiers of the migration source and migration destination virtual computers, A composite computer characterized by notifying transfer physical host address information from a transfer source and transfer destination guest physical address and an identifier of an I / O device assigned to the first OS.
第1のプロセッサと第1のメモリを備えた第1の物理計算機と、前記第1の物理計算機の計算機資源を仮想化して第1の仮想計算機を実行する第1の仮想化部と、第2のプロセッサと第2のメモリを備えた第2の物理計算機と、前記第2の物理計算機の計算機資源を仮想化して第2の仮想計算機を実行する第2の仮想化部と、前記第1の物理計算機及び第2の物理計算機とI/Oデバイスを接続するI/Oスイッチと、を備えた複合型計算機で前記第1の仮想化部が、前記第1の仮想計算機で実行される第1のOSを前記第2の仮想計算機へ移動させる複合型計算機の制御方法であって、
前記第1の仮想化部が前記第1のOSを前記第2の仮想計算機へ移動させる場合には、前記第1のOSの稼働中に当該第1の仮想化部が前記第1のOSに割り当てた第1のメモリの領域を、前記第2の物理計算機の第2のメモリへコピーするステップと、
前記第1の仮想化部が、前記第1のメモリの状態を、前記第2のメモリへのコピーが完了したコピー済み領域と、前記第2のメモリへのコピーを実行中のコピー中領域と、前記第2のメモリへのコピーが未了の未コピー領域の何れかに分類して、当該分類したメモリ状態と第1のメモリのアドレスとを分類情報として前記I/Oスイッチへ通知するステップと、
前記I/Oスイッチが、前記第1のOSに割り当てた前記I/OデバイスからDMA書き込みトランザクションを受信した場合には、当該DMA書き込みトランザクションの宛先アドレスと前記第1のメモリの前記分類情報のアドレスとを比較するステップと、
前記I/Oスイッチが、前記比較の結果、前記DMA書き込みトランザクションのアドレスが前記コピー済み領域の場合は当該DMA書き込みトランザクションを前記第1のメモリと前記第2のメモリの両方にDMA書き込みを行うステップと、
前記I/Oスイッチが、前記比較の結果、前記DMA書き込みトランザクションのアドレスが前記コピー中領域または未コピー領域の場合には、前記第1のメモリのみにDMA書き込みを行うステップと、
を含むことを特徴とする複合型計算機の制御方法。
A first physical computer having a first processor and a first memory; a first virtualization unit for virtualizing computer resources of the first physical computer and executing the first virtual computer; A second physical computer having a second processor and a second memory, a second virtualization unit for virtualizing computer resources of the second physical computer and executing the second virtual computer, and the first A first computer in which the first virtualization unit is executed in the first virtual computer in a composite computer comprising a physical computer and an I / O switch for connecting a second physical computer and an I / O device. A method of controlling a composite computer that moves the OS of the computer to the second virtual computer,
When the first virtualization unit moves the first OS to the second virtual machine, the first virtualization unit moves the first OS to the first OS during the operation of the first OS. Copying the allocated area of the first memory to the second memory of the second physical computer;
The first virtualization unit indicates a state of the first memory, a copied area where copying to the second memory is completed, and a copying area where copying to the second memory is being executed. Categorizing into any uncopied area that has not been copied to the second memory and notifying the I / O switch of the classified memory state and the address of the first memory as classification information When,
When the I / O switch receives a DMA write transaction from the I / O device assigned to the first OS, the destination address of the DMA write transaction and the address of the classification information in the first memory And a step of comparing
The I / O switch performs a DMA write of the DMA write transaction to both the first memory and the second memory when the address of the DMA write transaction is the copied area as a result of the comparison. When,
The I / O switch, as a result of the comparison, performing a DMA write only to the first memory if the address of the DMA write transaction is the area being copied or an uncopied area;
A control method for a composite computer, comprising:
請求項7に記載の複合型計算機の制御方法において、
前記I/Oスイッチが、前記比較の結果、前記DMA書き込みトランザクションのアドレスが前記コピー中領域または未コピー領域の場合には、前記第1のメモリのみにDMA書き込みを行うステップは、
前記DMA書き込みトランザクションのアドレスが前記コピー中領域の場合には、前記第1のメモリにDMA書き込みを行い、前記第1のメモリに予め設定したアドレス格納領域に当該DMA書き込みトランザクションのアドレス情報を格納するステップと、
前記第1の仮想化部が、前記コピー中領域のコピーが完了した後に、前記アドレス格納領域に格納した前記アドレス情報を取得し、当該アドレス情報が指し示す前記第1のメモリから第2のメモリにコピーを行うステップと、
を含むことを特徴とする複合型計算機の制御方法。
In the control method of the compound computer according to claim 7,
The I / O switch performs a DMA write only to the first memory when the address of the DMA write transaction is the area being copied or an uncopied area as a result of the comparison,
When the address of the DMA write transaction is in the copy-in-progress area, the DMA write is performed to the first memory, and the address information of the DMA write transaction is stored in an address storage area set in advance in the first memory. Steps,
The first virtualization unit obtains the address information stored in the address storage area after the copying of the area being copied is completed, and transfers the address information from the first memory to the second memory. A step of copying,
A control method for a composite computer, comprising:
請求項8に記載の複合型計算機の制御方法において、
前記第1の仮想化部が、前記コピー中領域のコピーが完了した後に、前記アドレス格納領域に格納した前記アドレス情報を取得し、当該アドレス情報が指し示す前記第1のメモリから第2のメモリにコピーを行うステップは、
前記コピー中領域のコピーが完了した場合には、当該コピー中領域をコピー済み領域に再分類し、前記未コピー領域の一部、または、全部を新たにコピー中領域に再分類して、前記I/Oスイッチに通知し、前記コピー中領域からコピー済み領域に再分類された第1のメモリから第2のメモリへコピーを行うことを特徴とする複合型計算機の制御方法。
In the control method of the compound computer according to claim 8,
The first virtualization unit obtains the address information stored in the address storage area after the copying of the area being copied is completed, and transfers the address information from the first memory to the second memory. The steps to copy are
When copying of the copying area is completed, the copying area is reclassified as a copied area, and a part or all of the uncopied area is newly reclassified as a copying area, A control method for a complex computer, which notifies an I / O switch and performs copying from the first memory reclassified to the copied area from the copying area to the second memory.
請求項7に記載の複合型計算機の制御方法において、
前記I/Oスイッチが、前記第1のOSに割当てたI/OデバイスからのDMA書き込みトランザクションを受信した場合は、当該DMA書き込みトランザクションの宛先アドレスを前記第1のOSのゲスト物理アドレスから第1の物理計算機のホスト物理アドレスに変換してから第1のメモリに書き込みを行い、前記第2のメモリにDMA書き込みを行う場合には当該DMA書き込みトランザクションの宛先アドレスを第1のOSのゲスト物理アドレスから第2の物理計算機のホスト物理アドレスに変換して前記第2のメモリに書き込みを行うことを特徴とする複合型計算機の制御方法。
In the control method of the compound computer according to claim 7,
When the I / O switch receives a DMA write transaction from an I / O device assigned to the first OS, the destination address of the DMA write transaction is first determined from the guest physical address of the first OS. When the data is converted to the host physical address of the physical computer and then written to the first memory, and the DMA write is performed to the second memory, the destination address of the DMA write transaction is the guest physical address of the first OS A control method for a composite computer, wherein the second physical computer is converted to a host physical address and written to the second memory.
請求項7に記載の複合型計算機の制御方法において、
前記第1の物理計算機は、前記I/Oスイッチと第1のプロセッサおよび第1のメモリとを接続する第1の制御ハブを有し、
前記第1の制御ハブは前記第1の仮想計算機の第1のOSのゲスト物理アドレスから物理計算機の対応するホスト物理アドレスに変換する第1のアドレス変換部を有し、
前記第2の物理計算機は、前記I/Oスイッチと第2のプロセッサおよび第2のメモリを接続する第2の制御ハブを有し、
前記第2の制御ハブは前記第2の仮想計算機に移動させる前記第1のOSのゲスト物理アドレスから第2の物理計算機のホスト物理アドレスに変換する第2のアドレス変換部を有し、
前記第1の制御ハブが、前記I/OスイッチからDMA書き込みを受け付けた場合には、前記第1の物理計算機の第1のアドレス変換部で当該DMA書き込みのアドレスを第1のOSのゲスト物理アドレスから第1の物理計算機のホスト物理アドレスに変換して第1のメモリへ書き込みを行うステップと、
前記第2の制御ハブが、前記I/OスイッチからDMA書き込みを受け付けた場合には、前記第2の物理計算機の第2のアドレス変換部で当該DMA書き込みのアドレスを前記第1のOSのゲスト物理アドレスから第2の物理計算機のホスト物理アドレスに変換して第2のメモリへ書き込みを行うステップと、
をさらに含むことを特徴とする複合型計算機の制御方法。
In the control method of the compound computer according to claim 7,
The first physical computer has a first control hub that connects the I / O switch to a first processor and a first memory;
The first control hub includes a first address conversion unit that converts a guest physical address of a first OS of the first virtual machine into a corresponding host physical address of the physical machine;
The second physical computer has a second control hub that connects the I / O switch, a second processor, and a second memory;
The second control hub has a second address conversion unit that converts a guest physical address of the first OS to be moved to the second virtual machine to a host physical address of the second physical machine,
When the first control hub receives a DMA write from the I / O switch, the first address conversion unit of the first physical computer sets the DMA write address to the guest physical of the first OS. Converting the address to the host physical address of the first physical computer and writing to the first memory;
When the second control hub receives a DMA write from the I / O switch, the second address conversion unit of the second physical computer sets the DMA write address to the guest of the first OS. Converting the physical address to the host physical address of the second physical computer and writing to the second memory;
A control method for a composite computer, further comprising:
請求項7に記載の複合型計算機の制御方法において、
前記複合型計算機の前記第1の物理計算機上で動作する第1のOSを前記第2の物理計算機に移動することを管理する管理計算機をさらに有し、
前記管理計算機が、第1のOSの移動開始時に前記第1の仮想化部へマイグレーション構成情報として、移動元と移動先の物理計算機の識別子と、移動元と移動先の仮想計算機の識別子と、移動元と移動先のゲスト物理アドレスからホスト物理アドレスの変換情報と、第1のOSに割当てられているI/Oデバイスの識別子を通知するステップをさらに含むことを特徴とする複合型計算機の制御方法。
In the control method of the compound computer according to claim 7,
A management computer for managing the movement of the first OS operating on the first physical computer of the composite computer to the second physical computer;
When the management computer starts migration of the first OS to the first virtualization unit as migration configuration information, the identifiers of the migration source and migration destination physical computers, the migration source and migration destination virtual computers, Control of the compound computer further comprising a step of notifying the translation information of the migration source and the migration destination guest physical address to the host physical address and the identifier of the I / O device allocated to the first OS Method.
JP2008200682A 2008-08-04 2008-08-04 COMPOUND COMPUTER AND METHOD FOR CONTROLLING COMPOSITE COMPUTER Expired - Fee Related JP5262404B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008200682A JP5262404B2 (en) 2008-08-04 2008-08-04 COMPOUND COMPUTER AND METHOD FOR CONTROLLING COMPOSITE COMPUTER

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008200682A JP5262404B2 (en) 2008-08-04 2008-08-04 COMPOUND COMPUTER AND METHOD FOR CONTROLLING COMPOSITE COMPUTER

Publications (2)

Publication Number Publication Date
JP2010039685A true JP2010039685A (en) 2010-02-18
JP5262404B2 JP5262404B2 (en) 2013-08-14

Family

ID=42012182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008200682A Expired - Fee Related JP5262404B2 (en) 2008-08-04 2008-08-04 COMPOUND COMPUTER AND METHOD FOR CONTROLLING COMPOSITE COMPUTER

Country Status (1)

Country Link
JP (1) JP5262404B2 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237737A (en) * 2009-03-30 2010-10-21 Nec Corp Apparatus for dynamically migrating lpar with pass-through i/o device, method and program thereof
JP2011221945A (en) * 2010-04-14 2011-11-04 Hitachi Ltd Data transfer device, computer system and memory copy device
WO2011137780A1 (en) * 2010-11-29 2011-11-10 华为技术有限公司 Method and system for virtual storage migration and virtual machine monitor
JP2011248662A (en) * 2010-05-27 2011-12-08 Nec Corp Multi-host system
JP2012058866A (en) * 2010-09-07 2012-03-22 Hitachi Ltd Computer system, inter-computer memory copy method, and switch
WO2012063334A1 (en) * 2010-11-10 2012-05-18 株式会社日立製作所 Memory control device and i/o switch for assisting live migration of virtual machine
JP2012128807A (en) * 2010-12-17 2012-07-05 Fujitsu Ltd Information processing apparatus
WO2012101759A1 (en) * 2011-01-25 2012-08-02 富士通株式会社 Processor processing method, and processor system
JP2012231382A (en) * 2011-04-27 2012-11-22 Nec Corp Virtual routing method in virtual environment and virtual routing system
JP2014010540A (en) * 2012-06-28 2014-01-20 Nec Corp Data migration control device, method and system in virtual server environment
JP2014501977A (en) * 2010-12-10 2014-01-23 アルカテル−ルーセント Asynchronous virtual machine replication
WO2014030221A1 (en) * 2012-08-22 2014-02-27 株式会社日立製作所 Virtual computer system, management computer, and virtual computer management method
US8966480B2 (en) 2011-03-31 2015-02-24 Fujitsu Limited System for migrating a virtual machine between computers
JP2015170242A (en) * 2014-03-10 2015-09-28 富士通株式会社 Relay program, relay method and relay device
US9507624B2 (en) 2014-07-07 2016-11-29 Fujitsu Limited Notification conversion program and notification conversion method
JP2017151857A (en) * 2016-02-26 2017-08-31 日本電気株式会社 Device, method, and program for controlling storage device
US10007536B2 (en) 2012-03-30 2018-06-26 Nec Corporation Virtualization system, switch controller, fiber-channel switch, migration method and migration program
JP2018136814A (en) * 2017-02-23 2018-08-30 日本電信電話株式会社 Application redundancy management system, and application redundancy management method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184799A (en) * 1997-12-19 1999-07-09 Toshiba Corp Method for transferring memory data and device therefor
JP2002032153A (en) * 2000-07-19 2002-01-31 Trustguard Co Ltd Cartridge type server unit and casing for loading the same
JP2002215408A (en) * 2001-01-24 2002-08-02 Hitachi Ltd Computer and its inputting-outputting means
JP2005327279A (en) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> System, method and program for migrating virtual computer
JP2006244481A (en) * 2005-02-28 2006-09-14 Hewlett-Packard Development Co Lp System and method for migrating virtual machine for cluster system
JP2009181418A (en) * 2008-01-31 2009-08-13 Hitachi Ltd Information processing system, i/o switch, and rotation processing method of i/o path
JP2009294828A (en) * 2008-06-04 2009-12-17 Hitachi Ltd Pci switch, virtual tree switching method and pci switch system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184799A (en) * 1997-12-19 1999-07-09 Toshiba Corp Method for transferring memory data and device therefor
JP2002032153A (en) * 2000-07-19 2002-01-31 Trustguard Co Ltd Cartridge type server unit and casing for loading the same
JP2002215408A (en) * 2001-01-24 2002-08-02 Hitachi Ltd Computer and its inputting-outputting means
JP2005327279A (en) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> System, method and program for migrating virtual computer
JP2006244481A (en) * 2005-02-28 2006-09-14 Hewlett-Packard Development Co Lp System and method for migrating virtual machine for cluster system
JP2009181418A (en) * 2008-01-31 2009-08-13 Hitachi Ltd Information processing system, i/o switch, and rotation processing method of i/o path
JP2009294828A (en) * 2008-06-04 2009-12-17 Hitachi Ltd Pci switch, virtual tree switching method and pci switch system

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237737A (en) * 2009-03-30 2010-10-21 Nec Corp Apparatus for dynamically migrating lpar with pass-through i/o device, method and program thereof
US8464019B2 (en) 2009-03-30 2013-06-11 Nec Corporation Apparatus for dynamically migrating LPARS with pass-through I/O devices, its method, and its program
JP2011221945A (en) * 2010-04-14 2011-11-04 Hitachi Ltd Data transfer device, computer system and memory copy device
JP2011248662A (en) * 2010-05-27 2011-12-08 Nec Corp Multi-host system
JP2012058866A (en) * 2010-09-07 2012-03-22 Hitachi Ltd Computer system, inter-computer memory copy method, and switch
WO2012063334A1 (en) * 2010-11-10 2012-05-18 株式会社日立製作所 Memory control device and i/o switch for assisting live migration of virtual machine
JPWO2012063334A1 (en) * 2010-11-10 2014-05-12 株式会社日立製作所 Memory control device and I / O switch for supporting live migration of virtual machine
US9411620B2 (en) 2010-11-29 2016-08-09 Huawei Technologies Co., Ltd. Virtual storage migration method, virtual storage migration system and virtual machine monitor
JP2013515303A (en) * 2010-11-29 2013-05-02 ▲ホア▼▲ウェイ▼技術有限公司 Method and system for virtual storage migration and virtual machine monitor
WO2011137780A1 (en) * 2010-11-29 2011-11-10 华为技术有限公司 Method and system for virtual storage migration and virtual machine monitor
KR101403417B1 (en) * 2010-11-29 2014-06-03 후아웨이 테크놀러지 컴퍼니 리미티드 Virtual storage migration method, virtual storage migration system and storage medium
US9253100B2 (en) 2010-12-10 2016-02-02 Alcatel Lucent Asynchronous virtual machine replication
JP2014501977A (en) * 2010-12-10 2014-01-23 アルカテル−ルーセント Asynchronous virtual machine replication
JP2012128807A (en) * 2010-12-17 2012-07-05 Fujitsu Ltd Information processing apparatus
US8924624B2 (en) 2010-12-17 2014-12-30 Fujitsu Limited Information processing device
JPWO2012101759A1 (en) * 2011-01-25 2014-06-30 富士通株式会社 Processor processing method and processor system
JP5704176B2 (en) * 2011-01-25 2015-04-22 富士通株式会社 Processor processing method and processor system
WO2012101759A1 (en) * 2011-01-25 2012-08-02 富士通株式会社 Processor processing method, and processor system
US8966480B2 (en) 2011-03-31 2015-02-24 Fujitsu Limited System for migrating a virtual machine between computers
JP2012231382A (en) * 2011-04-27 2012-11-22 Nec Corp Virtual routing method in virtual environment and virtual routing system
US10007536B2 (en) 2012-03-30 2018-06-26 Nec Corporation Virtualization system, switch controller, fiber-channel switch, migration method and migration program
JP2014010540A (en) * 2012-06-28 2014-01-20 Nec Corp Data migration control device, method and system in virtual server environment
WO2014030221A1 (en) * 2012-08-22 2014-02-27 株式会社日立製作所 Virtual computer system, management computer, and virtual computer management method
JP2015170242A (en) * 2014-03-10 2015-09-28 富士通株式会社 Relay program, relay method and relay device
US9507624B2 (en) 2014-07-07 2016-11-29 Fujitsu Limited Notification conversion program and notification conversion method
JP2017151857A (en) * 2016-02-26 2017-08-31 日本電気株式会社 Device, method, and program for controlling storage device
JP2018136814A (en) * 2017-02-23 2018-08-30 日本電信電話株式会社 Application redundancy management system, and application redundancy management method

Also Published As

Publication number Publication date
JP5262404B2 (en) 2013-08-14

Similar Documents

Publication Publication Date Title
JP5262404B2 (en) COMPOUND COMPUTER AND METHOD FOR CONTROLLING COMPOSITE COMPUTER
US11636015B2 (en) Storage system and control software deployment method
US7484029B2 (en) Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
CN112148421B (en) Virtual machine migration method and device
JP4681505B2 (en) Computer system, management computer, and program distribution method
JP6055310B2 (en) Virtual memory target offload technology
JP5692065B2 (en) High-speed migration system and management device for virtual device in computer system, method and program therefor
US11734137B2 (en) System, and control method and program for input/output requests for storage systems
US8171176B2 (en) Method for selective replication of physical devices on a virtual self-configuring zoning expander
US20080294888A1 (en) Deploy target computer, deployment system and deploying method
US9354907B1 (en) Optimized restore of virtual machine and virtual disk data
JP2006085543A (en) Virtual computer system
US20130283264A1 (en) Method for selective replication of physical devices on a virtual self-configuring zoning expander
US20180336046A1 (en) Information processing system, management device, and method for controlling information processing system
US9658786B2 (en) Setting optimal space allocation policy for creating dependent snapshots to enhance application write performance and reduce resource usage
US10762021B2 (en) Information processing system, and control method of information processing system
WO2023093418A1 (en) Data migration method and apparatus, and electronic device
JP5511546B2 (en) Fault tolerant computer system, switch device connected to multiple physical servers and storage device, and server synchronization control method
JP6643524B2 (en) Storage system and storage control method
WO2018083724A1 (en) Virtual machine system and virtual machine migration method
JP2021082182A (en) Information processing system, storage control program, and storage control apparatus
WO2018011881A1 (en) Storage device and computer system
WO2018016041A1 (en) Storage system
US9461962B2 (en) Computer system, address management apparatus, and edge node
JP2009223400A (en) Computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110502

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130327

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130415

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees