JP2010039685A - Multifunction type computer and control method for multifunction type computer - Google Patents
Multifunction type computer and control method for multifunction type computer Download PDFInfo
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
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,
近年、半導体技術の向上によりひとつの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デバイスの個数をスケーラブルに変えることが可能である。
上記のような仮想化技術において、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
ところが、上記のようなマルチルート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
物理計算機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
装置制御部104は、装置制御ソフトウェア140、マイグレーション管理ソフトウェア141、マイグレーション構成情報142から構成される。装置制御ソフトウェア140は、物理計算機1011、1012と、マルチルートI/Oスイッチ102の電源制御と、物理計算機1011、1012とI/Oデバイス1031、1032の接続についてマルチルートI/Oスイッチ102に設定する機能を持つ。
The
マイグレーション管理ソフトウェア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
物理計算機1011、1012は、ハードウェア構成要素106と、ハードウェア構成要素106上で動作する仮想マシンモニタ1201、1202と、仮想マシンモニタ1201、1202上で動作する仮想計算機1231、1232から構成される。
The
ハードウェア構成要素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
仮想計算機1231、1232上では、それぞれゲストOS1241、1242が動作する。このような複合型計算機において、ゲストOSマイグレーションは、移動元物理計算機1011から移動先物理計算機1012に、移動元ゲストOS1241を移動先ゲストOS1242に移動を行う。I/Oデバイス1031は移動対象のゲストOS1242に直接割当てられていて、移動前は移動元ゲストOS1241に割当てられ、移動後は移動先ゲストOS1242に割当てが変更される。
移動元のメモリ1091は、少なくとも移動元ゲストOS1241のメモリ領域(ゲストメモリ)1111と、仮想マシンモニタ1201が利用するメモリ領域(VMM領域)112から成る。また、移動元ゲストOS1241のメモリ領域1111の内容を複写する移動先のメモリ1092は、少なくとも移動先ゲストOS1242のメモリ領域(ゲストメモリ)1112から成る。ゲストOSマイグレーション時は、移動元ゲストOS1241が動作中に、移動元仮想マシンモニタ1201のバックグラウンドコピー制御部121の制御により、移動元ゲストOS1241のメモリ領域1111を移動先ゲストOS1241のメモリ領域1112にバックグラウンドコピー160を行う。このバックグランドコピー160は、メモリコピー用のインターフェース110により、インターフェース配線151経由で行われる。
The
移動元仮想マシンモニタ1201は、少なくとも、マイグレーション制御部1221とバックグランドコピー制御部121から構成される。移動先仮想マシンモニタ1202は、少なくとも、マイグレーション制御部1222から構成される。マイグレーション制御部1221、1222は、マイグレーション管理ソフトウェア141からの要求により、仮想計算機1231、1232の電源制御と、ゲストOS1241、1242のスケジューリングの制御と、マルチルートI/Oスイッチ102の制御を行う。バックグランドコピー制御部121は、ゲストOS1241のメモリ領域1111のコピーの進捗管理、インターフェース110経由のメモリコピーの制御を行う。
The migration source
マルチルート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 /
下流ポートI/O制御部130は、Inbound_Tx(インバウンドトランザクション)制御部134と、マイグレーションTx制御部1_135と、マイグレーションTx制御部レジスタ1_136から構成される。下流ポートI/O制御部130の各構成要素の機能については後述する。なお、以下の説明ではTxはトランザクションを意味する。また、Inbound_Txは、I/Oデバイスから物理計算機(または仮想計算機)へ向かうトランザクションを示す。
The downstream port I /
次に第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
マイグレーション管理ソフトウェア141は、物理計算機の識別子G201、仮想計算機の識別子G202の情報を、例えば、複合型計算機の管理者により管理用端末105経由の要求により取得し、仮想I/Oスイッチ識別子G203の情報を、例えば、装置制御ソフトウェア140から取得し、引継ぎデバイスの有無G204の情報を、例えば、移動元の仮想マシンモニタ1201から取得する。
The
マイグレーション対象ゲスト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
一般的に、ゲスト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
マイグレーション対象の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
次に第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
図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
図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
バックグラウンドコピー制御部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
次にバックグランドコピーのNフェーズ目の下流ポートI/O制御部130の制御について説明する。
Next, control of the downstream port I /
下流ポート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 /
この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_Tx162がDMA_Write_Txの場合で、宛先アドレスが図5に示した(1)コピー済領域5011の場合は、マイグレーションTx制御部1_135でDMA_Write_Txを複製して、移動先OSのゲストメモリ1112に複製したDMA_Write_TxのDMA_Write165を行う。
When
従来例では、(1)コピー済領域5011へのDMA_Writeがある場合は移動元のメモリが更新されるため移動先のゲストメモリ1112は再コピーが必要であるのに対し、本発明によれば移動元へのDMA_Writeが発生しても、移動先のゲストメモリ1112が移動元のゲストメモリ1111と同時に更新されるため再コピーを不要にすることができる。
In the conventional example, (1) if there is a DMA_Write to the copied
一方、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
そこで、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
なお、Inbound_Tx162がDMA_Write_Txの場合で、宛先アドレスが(3)未コピー領域5013の場合は、以降のバックグラウンドコピーのフェーズでコピーが実行されるため、マイグレーションTx制御部1_135では処理は行わず、Inbound_Tx制御部134の通常のInbound_Txの転送処理のみが行われる。
If
移動先のゲストメモリ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
次に第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
なお、図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
次に第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 /
図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 /
アドレスリスト記録制御レジスタ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
移動元アドレス情報レジスタ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
移動元アドレス情報レジスタ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
移動先アドレス情報レジスタ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
移動先アドレス情報レジスタ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
移動先物理計算機情報レジスタ714は、移動先の物理計算機1012を指定するもので、例えば、物理計算機1012に割当てた仮想I/Oスイッチの識別子で指定する。これは、マイグレーション構成情報142のマイグレーション基本情報、すなわち、図2の移動先K202の仮想I/Oスイッチの識別子G203に示した情報である。
The migration destination physical computer information register 714 designates the migration destination
マイグレーション制御部1221は、マイグレーション管理ソフトウェア141からマイグレーション基本情報を取得し、移動先物理計算機情報レジスタ714に移動先の物理計算機の設定を行う。
The
アドレス領域設定レジスタ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
マイグレーションTx制御有効レジスタ716は、図12に示すように、マイグレーションTx制御部1_135の機能であるアドレスリスト記録を有効にする指定を行うレジスタ12001とDMA_Write_Txの複製を有効にする指定を行うレジスタ12002、から構成される。マイグレーションTx制御有効レジスタ716は、ゲストOSマイグレーション開始時に、マイグレーション制御部1221により設定される。
As shown in FIG. 12, the migration Tx control
対象デバイス設定レジスタ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
複数の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
次に、図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
DMA_Tx以外のTxについてはInbound_Tx制御部134をスルーして、選択回路702によりInbound_Tx制御部の出力Inbound_Tx725として、さらに調停回路701を経由して上流726に転送される。
Tx other than DMA_Tx passes through the
次に、図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
(2)コピー中の領域730の場合は、アドレスリスト記録制御部710は、宛先アドレス728とアドレスリスト記録制御レジスタ711の情報741から、アドレスリスト保存バッファA/Bを指定するレジスタ8031によって指定されたアドレスリストバッファ113に宛先アドレス728を記録するアドレスリスト記録用のDMA_Tx734を生成する。アドレスリスト記録用Tx734は、調停回路701を経由して上流726に転送される。
(2) In the case of the
(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
次に第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
マイグレーション管理ソフトウェア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
次に、移動元のマイグレーション制御部1221は、マルチルートI/Oスイッチ102のマイグレーションTx制御部レジスタ1_136にマイグレーションの初期設定を行う(ステップS1403)。この初期設定では以下の設定を行う。
Next, the migration source
移動元のマイグレーション制御部1221は、マイグレーションTx制御部レジスタ1_136のアドレスリスト記録制御レジスタ711に対して、アドレスリスト記録バッファ関連レジスタ801〜803の設定と、連続アドレスのリスト記録抑止指定レジスタ804の設定とを行い、さらに、連続アドレスのリスト記録抑止を実行する時は連続アドレスサイズの指定レジスタ805の設定を行う。
The source
移動元のマイグレーション制御部1221は、移動元アドレス情報レジスタ712に移動元ゲストOS1241のホスト物理アドレス情報を設定する。また、移動元のマイグレーション制御部1221は、移動先アドレス情報レジスタ713に移動先ゲストOS1242のホスト物理アドレス情報を設定する。さらに、移動元のマイグレーション制御部1221は、移動先物理計算機情報レジスタ714に移動先物理計算機1012に割当てた仮想I/Oスイッチ識別子G203を設定する。移動対象デバイス設定レジスタ717に移動元ゲストOS1241に直接割当てしたI/Oデバイス1031のデバイスIDに対してマイグレーション対象指定の設定を行う。
The migration source
次に移動元の物理計算機1011のバックグラウンドコピー制御部121は、バックグラウンドコピーの初期設定として、移動元ゲストOSのメモリ領域1111をバックグランドコピーの各フェーズで転送するメモリ領域に分割する(ステップS1404)。また、このステップS1404では、バックグラウンドコピー用のインターフェース110の初期設定も行う。
Next, the background
次に、バックグラウンドコピー制御部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
次に、バックグラウンドコピー制御部121は、フェーズ1の(2)コピー中領域5021のメモリコピーを実施する(ステップS1406)。次に、上記で分割した移動元ゲストOS1241のメモリ領域1111の全フェーズのメモリコピーが完了したかを判定する(ステップS1407)。全フェーズが完了していない場合は、次のフェーズのメモリコピー処理として、ステップS1405〜ステップS1407の処理を行う。一方、全フェーズが完了した場合は、移動元のマイグレーション制御部1221は、移動元仮想計算機1231のスケジューリングを停止して、移動元ゲストOS1241を停止させる(ステップS1408)。
Next, the background
次にマイグレーション制御部1221は、アドレスリストバッファ113からDMA_Writeによりメモリ更新があったアドレスリストを取得し、当該アドレスのメモリ領域を移動先ゲストOSのメモリ領域1112に再コピーを実施する(ステップS1409)。ここでは、本ステップS1409でアドレスリストを取得しているが、マイグレーション制御部1221がステップS1405〜ステップS1407のバックグラウンドコピー中にも、アドレスリストバッファA/B1131、1132を切替える方法で、随時アドレスリストを取得し、再コピーが必要なアドレスを別途管理しても良い。
Next, the
以上のステップで移動元ゲストOS1241を移動先ゲストOS1242へ移動させる準備が完了するので、マイグレーション管理ソフトウェア141は、装置制御ソフトウェア140経由で、移動対象のI/Oデバイス1031が移動先の物理計算機1012に接続されるように、マルチルートI/Oスイッチ102の設定を変更する。
Since the preparation for moving the migration
また、移動元の物理計算機1011のマイグレーション制御部1221は、マイグレーションTx制御部1_135のアドレスリスト記録の有効指定12001を無効に設定し、DMA_Write_Txの複製の有効指定12002を無効に設定する(ステップS1410)。
Also, the
次に、移動先の仮想マシンモニタ1202のマイグレーション制御部1222は、マイグレーション対象のI/Oデバイス1031を移動先ゲストOS1242に直接割当て、移動先の仮想計算機1232のスケジューリングを開始する。これにより移動先ゲストOS1242が動作を開始し、ゲストOSマイグレーションが完了する(ステップS1411)。マイグレーション管理ソフトウェア141は、管理用端末105経由で複合型計算機の管理者にゲストOSマイグレーションが完了したことを通知する(ステップS1412)。
Next, the
以上が、ゲスト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
次に下流ポート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 /
一方、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 /
次にマイグレーション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
受信した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制御部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
上記ステップ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
連続アドレスのアドレスリスト記録抑止804が有効の場合は、受信Tx_720の宛先アドレス値と、以前に記録したアドレス値とが、図8の連続アドレスサイズの指定レジスタ805のサイズ内でオフセットが一致しているか判定を行う(ステップS1610)。ステップS1609の判定で、連続アドレスのアドレスリスト記録抑止804が無効の場合は、ステップS1610の処理は行わずにステップS1611へ進む。ステップS1610の判定で、オフセットが一致していない場合は、受信Tx720の宛先アドレスをアドレスリストバッファ113に記録するためのアドレスリスト記録Tx734を生成して上流側に転送を行う(ステップS1611)。
When the continuous address address
次に、今回記録したアドレス値を記録済みのアドレス値として、マイグレーション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
そして、ゲストOSマイグレーションの際に、移動元ゲストメモリ1111から移動先ゲストメモリ1112へコピーするメモリのサイズを、バックグラウンドコピーの1フェーズのサイズに低減できるので、前記従来例に比して移動元から移動先へのメモリのコピーに要する時間を大幅に低減することが可能となって、マイグレーション中のゲストOSの停止時間を大幅に短縮することが可能となる。
In the guest OS migration, the size of the memory copied from the 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
そして、ゲスト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 /
転送制御部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
第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
一方、図5に示した移動元ゲストOSのメモリ領域1111の(1)コピー中領域5012の場合は、マイグレーションTx制御部3_1704は、アドレスリスト記録Tx1711を生成し、仮想マシンモニタ1201のメモリ領域112内のアドレスリストバッファ113に、受信Tx1710の宛先アドレスをリストとして記録を行う。
On the other hand, in the case of (1)
図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
従って、図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 /
次に本発明の第2の実施の形態による複合型計算機の下流ポートI/O制御部130と転送制御部1703について図18、図19を用いて詳しく説明する。
Next, the downstream port I /
図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 /
第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 /
Inbound_Tx制御部134は、本発明の第1の実施形態と同じである。マイグレーションTx制御部レジスタ2_1702は、移動元アドレス情報レジスタ712と、マイグレーションTx制御有効レジスタ716と、移動対象デバイス設定レジスタ717から構成される。これらのレジスタの構成は、本発明の第1の実施形態と同じである。
The
次にマイグレーション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.
第2の実施形態で転送制御部1703は、図19に示すように、マイグレーションTx制御部レジスタ3_1705と、マイグレーションTx制御部3_1704と、マイグレーションTx制御部3_1704からの出力Tx間を調停し、上流に転送する調停回路701から構成される。
In the second embodiment, the
マイグレーションTx制御部レジスタ3_1705は、アドレスリスト記録制御レジスタ711と、移動先アドレス情報レジスタ713と、移動先物理計算機情報レジスタ714と、アドレス領域設定レジスタ715、から構成される。これらのレジスタの構成は、本発明の第1の実施形態と同じである。
The migration Tx control unit register 3_1705 includes an address list
次にマイグレーション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
アドレスレンジ判定部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
(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
以上のような第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 /
図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 /
ゲストアドレス変換部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
なお、この種のチップセット上のゲストアドレス変換部20010,20012については、特開2004−220218号公報に開示された構成を用いることができる。
Note that the configuration disclosed in Japanese Patent Application Laid-Open No. 2004-220218 can be used for the guest
次に本発明の第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 /
マイグレーションTx制御部レジスタ4_2003は、アドレスリスト記録制御レジスタ711と、移動先物理計算機情報レジスタ714と、アドレス領域設定レジスタ715と、マイグレーションTx制御有効レジスタ716と、移動対象デバイス設定レジスタ717から構成される。これらのレジスタの構成は、本発明の第1の実施形態と同じである。
The migration Tx control unit register 4_2003 includes an address list
第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 /
以上のような第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
なお、上記各実施形態では、CPU108とチップセット107が分離した構成を示したが、CPU108とチップセット107を同一のLSIに実装しても良い。
In the above embodiments, the
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 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.
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 /
113
136 Migration Tx
140
1242 Destination Guest OS
Claims (12)
前記第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.
前記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.
前記第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.
前記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の物理計算機は、前記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の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の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:
前記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:
前記第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.
前記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.
前記第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:
前記複合型計算機の前記第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.
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)
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)
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 |
-
2008
- 2008-08-04 JP JP2008200682A patent/JP5262404B2/en not_active Expired - Fee Related
Patent Citations (7)
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)
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 |