JP6024148B2 - Program placement method - Google Patents
Program placement method Download PDFInfo
- Publication number
- JP6024148B2 JP6024148B2 JP2012073352A JP2012073352A JP6024148B2 JP 6024148 B2 JP6024148 B2 JP 6024148B2 JP 2012073352 A JP2012073352 A JP 2012073352A JP 2012073352 A JP2012073352 A JP 2012073352A JP 6024148 B2 JP6024148 B2 JP 6024148B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- computers
- computer
- switching
- pattern
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Description
本発明は、複数のコンピュータがネットワークを通じて相互に通信可能に接続されたコンピュータシステムにおけるプログラム配置方法に関する。 The present invention relates to a program arrangement method in a computer system in which a plurality of computers are connected so as to communicate with each other through a network.
従来より、物理マシンのハードウェア資源をソフトウェアを使って複数に分割して独立させ、1台の物理マシン上に複数の仮想マシンを同時に稼働させる仮想マシン(VM:Vertual Machine)技術が知られている。また、仮想マシンを複数の物理マシン上で多重に実行し、ハードウェア資源に対するフォールトトレラント(FT)性を持たせる技術が提案されている。 Conventionally, a virtual machine (VM) technology in which hardware resources of a physical machine are divided into a plurality of pieces using software and independent, and a plurality of virtual machines are simultaneously operated on one physical machine is known. Yes. In addition, a technique has been proposed in which a virtual machine is executed in multiple on a plurality of physical machines to provide fault tolerance (FT) for hardware resources.
例えば特許文献1には、高速チェックポイント方式によるFTシステムが記載されている。このFTシステムでは、一方の物理マシン上で仮想マシン(アクティブ側)を実行しつつ定期的なチェックポイント毎にスナップショット(メモリ状態、ディスク状態、プロセッサやI/Oのコンテクスト)を取得し、他方の物理マシンに転送して仮想マシン(スタンバイ側)上に保存することにより、二重化を行う。そして、アクティブ側の仮想マシンが物理マシンの障害によって業務処理を実行することができなくなった場合、フェイルオーバー(スタンバイからアクティブへの切替)を実施し、スタンバイ側の仮想マシンがアクティブ側の仮想マシンで実行されていた業務処理を引継いで実行する。
For example,
また、複数の物理マシンに複数の仮想マシンを最適配置する方法として、以下のような方法が提案されている。 In addition, as a method for optimally arranging a plurality of virtual machines on a plurality of physical machines, the following method has been proposed.
例えば特許文献2には、物理マシンと仮想マシンの記憶容量に基づいて、複数の物理マシンに複数の仮想マシンを最適配置する方法が記載されている。具体的には、各仮想マシンの所定時間毎のパフォーマンスを示す実測データと、各物理マシンの記憶容量と、各仮想マシンの記憶容量とに基づいて、複数の仮想マシンの各々を複数の物理マシンの何れかで稼働させた場合の各時間における各仮想マシンのパフォーマンスを示す値の合計値が最大となるような、仮想マシンと物理マシンの組み合わせ、すなわち仮想マシンの物理マシンへの配置を算出する。そして、算出した配置に従って、各仮想マシンのファイルをその仮想マシンに対応する物理マシンの記憶領域に格納して各仮想マシンの再配置を行う。 For example, Patent Document 2 describes a method of optimally arranging a plurality of virtual machines in a plurality of physical machines based on the storage capacities of the physical machine and the virtual machine. Specifically, each of the plurality of virtual machines is divided into a plurality of physical machines based on the actual measurement data indicating the performance of each virtual machine every predetermined time, the storage capacity of each physical machine, and the storage capacity of each virtual machine. Calculate the combination of the virtual machine and physical machine, that is, the placement of the virtual machine on the physical machine, so that the total of the values indicating the performance of each virtual machine at each time when operating at any of the above is maximized . Then, according to the calculated arrangement, the files of each virtual machine are stored in the storage area of the physical machine corresponding to the virtual machine and the virtual machines are rearranged.
また特許文献3には、災害による影響を回避するために、災害による影響を受ける物理マシン上の仮想マシンを、災害による影響を受けない他の物理マシンに再配置する方法が記載されている。
また特許文献4には、ネットワーク使用率に基づいて、複数の物理マシンに複数の仮想マシンを配置する方法が記載されている。具体的には、仮想マシン間の通信量の測定結果に基づいて、所定の仮想マシンを他の物理マシンに移動した場合のネットワーク使用率の期待値を算出して当該移動の妥当性を判定し、妥当な場合に仮想マシンを他の物理マシンに移動させる。
Further,
また特許文献5には、物理マシンと仮想マシンの負荷に基づいて、複数の物理マシンに複数の仮想マシンを配置する方法が記載されている。具体的には、物理マシンおよび仮想マシンの負荷の変化を、高次方程式等の近似式によって把握または分析することで、物理マシンのリソース不足の事前検出、および中長期的に見て適切な仮想マシンの配置および移動を実現する。
高速チェックポイント方式によりFT化された仮想マシンのセット(アクティブ側の仮想マシンとスタンバイ側の仮想マシン)では、アクティブ側の仮想マシンの方がスタンバイ側の仮想マシンより負荷が大きく、またスタンバイ側の仮想マシンからアクティブ側の仮想マシンへの通信量に比べてアクティブ側の仮想マシンからスタンバイ側の仮想マシンへの通信量の方が多いという特徴がある。 In a set of virtual machines (active side virtual machine and standby side virtual machine) converted to FT by the fast checkpoint method, the active side virtual machine has a higher load than the standby side virtual machine, and the standby side virtual machine The amount of communication from the active side virtual machine to the standby side virtual machine is larger than the amount of communication from the virtual machine to the active side virtual machine.
このため、複数の物理マシンに複数の仮想マシンを配置する場合、上述した特徴を考慮して仮想マシンの配置を決定する必要がある。しかしながら、FT化されたシステムの場合、何れかの物理マシンに障害が発生すると、物理マシン上のアクティブ側の仮想マシンで行われていた業務処理を他の物理マシン上のスタンバイ側の仮想マシンが引き継ぐフェイルオーバーが発生する。このため、フェイルオーバーが発生すると、複数の物理マシンの処理負荷や物理マシン間のネットワーク通信負荷の分散状態が崩れてシステム全体の実行効率が低下する。フェイルオーバーが発生した時点で再び仮想マシンの最適な配置計算と再配置を実施することも考えられるが、稼働中のアクティブ側の仮想マシンを別の物理マシンに移動させる結果となり、稼働中の業務への影響が懸念される。 For this reason, when arranging a plurality of virtual machines on a plurality of physical machines, it is necessary to determine the arrangement of the virtual machines in consideration of the above-described characteristics. However, in the case of an FT system, when a failure occurs in any physical machine, the standby virtual machine on the other physical machine performs the business processing performed on the active virtual machine on the physical machine. Failover takes over. For this reason, when a failover occurs, the processing load of a plurality of physical machines and the distribution state of the network communication load among the physical machines collapse, and the execution efficiency of the entire system decreases. Although it may be possible to perform the optimal placement calculation and relocation of the virtual machine again when a failover occurs, the result is that the active virtual machine that is running is moved to another physical machine, resulting in a running operation. There is concern about the impact on
本発明の目的は、上述した課題、すなわち、フェイルオーバーが発生すると複数の物理マシンの処理負荷や物理マシン間のネットワーク通信負荷の分散状態が崩れてシステム全体の実行効率が低下する、という課題を解決するプログラム配置方法を提供することにある。 The object of the present invention is to solve the above-described problem, that is, when the failover occurs, the processing load of a plurality of physical machines and the distributed state of the network communication load among the physical machines are disrupted and the execution efficiency of the entire system is lowered. The object is to provide a program placement method to be solved.
本発明の一形態にかかるプログラム配置方法は、
第1のコンピュータおよび複数の第2のコンピュータがネットワークを通じて相互に通信可能に接続されたコンピュータシステムが実行するプログラム配置方法であって、
上記第1のコンピュータが、それぞれ一方がアクティブ、他方がスタンバイとして動作する2つのプログラムのセットである複数のプログラムセットを上記複数の第2のコンピュータに配置する配置パターンであって、同じプログラムセットの上記2つのプログラムが同じ上記第2のコンピュータに配置されず且つ上記複数の第2のコンピュータそれぞれの処理負荷と上記複数の第2のコンピュータ間の通信負荷との少なくとも一方を考慮した配置パターンを決定し、
上記第1のコンピュータが、上記決定した配置パターンに従って、上記複数の第2のコンピュータに上記複数のプログラムセットを配置し、
上記第1のコンピュータが、何れかの上記第2のコンピュータに障害が発生してフェイルオーバーが行われた場合、フェイルオーバーが行われていない残りの上記プログラムセットの上記2つのプログラムのアクティブとスタンバイとを切り替える切替パターンを、上記フェイルオーバー後の上記複数の第2のコンピュータそれぞれの処理負荷と上記複数の第2のコンピュータ間の通信負荷との少なくとも一方を考慮して決定し、
上記第1のコンピュータが、上記決定した切替パターンに従って、上記フェイルオーバーが行われていない上記プログラムセットの上記2つのプログラムのアクティブとスタンバイの切り替えを行う
といった構成を採る。
A program arrangement method according to an aspect of the present invention includes:
A program arrangement method executed by a computer system in which a first computer and a plurality of second computers are connected to each other through a network,
The first computer is an arrangement pattern in which a plurality of program sets, each of which is a set of two programs that operate as one active and the other as a standby, are arranged in the plurality of second computers, The two programs are not arranged on the same second computer, and an arrangement pattern is determined in consideration of at least one of the processing load of each of the plurality of second computers and the communication load between the plurality of second computers. And
The first computer arranges the plurality of program sets on the plurality of second computers according to the determined arrangement pattern,
When a failure occurs in any one of the second computers and the first computer fails over, the active and standby of the two programs in the remaining program set that has not failed over A switching pattern for switching between the plurality of second computers after the failover is determined in consideration of at least one of the processing load of each of the plurality of second computers and the communication load between the plurality of second computers,
The first computer adopts a configuration in which the two programs of the program set that are not failed over are switched between active and standby according to the determined switching pattern.
また本発明の他の形態にかかるコンピュータは、
第1のコンピュータおよび複数の第2のコンピュータがネットワークを通じて相互に通信可能に接続されたコンピュータシステムにおける上記第1のコンピュータであって、
それぞれ一方がアクティブ、他方がスタンバイとして動作する2つのプログラムのセットである複数のプログラムセットを上記複数の第2のコンピュータに配置する配置パターンであって、同じプログラムセットの上記2つのプログラムが同じ上記第2のコンピュータに配置されず且つ上記複数の第2のコンピュータそれぞれの処理負荷と上記複数の第2のコンピュータ間の通信負荷との少なくとも一方を考慮した配置パターンを決定する配置パターン決定手段と、
上記決定した配置パターンに従って、上記複数の第2のコンピュータに上記複数のプログラムセットを配置するプログラム配置手段と、
何れかの上記第2のコンピュータに障害が発生してフェイルオーバーが行われた場合、フェイルオーバーが行われていない残りの上記プログラムセットの上記2つのプログラムのアクティブとスタンバイとを切り替える切替パターンを、上記フェイルオーバー後の上記複数の第2のコンピュータそれぞれの処理負荷と上記複数の第2のコンピュータ間の通信負荷との少なくとも一方を考慮して決定する切替パターン決定手段と、
上記決定した切替パターンに従って、上記フェイルオーバーが行われていない上記プログラムセットの上記2つのプログラムのアクティブとスタンバイの切り替えを行う切替手段と
を有する、といった構成を採る。
A computer according to another embodiment of the present invention includes:
The first computer in a computer system in which a first computer and a plurality of second computers are connected to each other through a network,
An arrangement pattern in which a plurality of program sets, each of which is a set of two programs operating as one active and the other as a standby, are arranged in the plurality of second computers, and the two programs in the same program set are the same An arrangement pattern determining means for determining an arrangement pattern that is not arranged in the second computer and takes into account at least one of the processing load of each of the plurality of second computers and the communication load between the plurality of second computers;
Program placement means for placing the plurality of program sets on the plurality of second computers according to the determined placement pattern;
When a failure occurs in any of the second computers and a failover is performed, a switching pattern for switching between active and standby of the two programs of the remaining program set that has not been failed over, Switching pattern determining means for determining in consideration of at least one of the processing load of each of the plurality of second computers after the failover and the communication load between the plurality of second computers;
According to the determined switching pattern, a configuration is adopted in which switching means for switching between active and standby of the two programs of the program set in which the failover is not performed is employed.
本発明は上述した構成を有するため、フェイルオーバーが発生した場合でも、複数の物理マシンの処理負荷や物理マシン間のネットワーク通信負荷の分散状態が崩れてシステム全体の実行効率が低下するのを防止することができる。 Since the present invention has the above-described configuration, even when a failover occurs, it is possible to prevent the processing load of a plurality of physical machines and the distribution state of network communication load among physical machines from being disrupted to reduce the execution efficiency of the entire system. can do.
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態にかかるコンピュータシステムは、第1のコンピュータ1100および複数の第2のコンピュータ1200がネットワーク1300を通じて相互に通信可能に接続されている。
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[First embodiment]
Referring to FIG. 1, in a computer system according to a first embodiment of the present invention, a
コンピュータ1100は、パーソナルコンピュータ等の情報処理装置(物理マシン)であり、コンピュータシステム全体を制御する機能を有する。
A
コンピュータ1100は、通信インターフェース部(通信I/F部)1101、記憶部1102、およびプロセッサ1103を有する。
The
通信I/F部1101は、専用のデータ通信回路からなり、ネットワーク1300を介して接続されたコンピュータ1200などの各種装置との間でデータ通信を行う機能を有している。
The communication I /
記憶部1102は、ハードディスクやメモリなどの記憶装置からなり、プロセッサ1103での各種処理に必要な処理情報やプログラム1104を記憶する機能を有している。処理情報として、複数のプログラムセット1109がある。
The
それぞれのプログラムセット1109は、一方がアクティブ、他方がスタンバイとして動作する2つのプログラムのセットである。このプログラムセット1109によって、アクティブの仮想マシンとスタンバイの仮想マシンとから構成されるFTシステムが生成される。 Each program set 1109 is a set of two programs, one operating as active and the other as standby. By this program set 1109, an FT system including an active virtual machine and a standby virtual machine is generated.
プログラム1104は、プロセッサ1103に読み込まれて実行されることにより各種処理部を実現するプログラムであり、通信I/F部1101などのデータ入出力機能を介して外部装置(図示せず)やコンピュータ可読記憶媒体(図示せず)から予め読み込まれて記憶部1102に保存される。
The
プロセッサ1103は、CPUなどのマイクロプロセッサとその周辺回路を有し、記憶部1102からプログラム1104を読み込んで実行することにより、上記ハードウェアとプログラム1104とを協働させて各種処理部を実現する機能を有している。プロセッサ1103で実現される主な処理部として、配置パターン決定部1105とプログラム配置部1106と切替パターン決定部1107と切替部1108とがある。
The
配置パターン決定部1105は、複数のプログラムセット1109を、複数のコンピュータ1200に配置する配置パターンを決定する機能を有する。配置パターン決定部1105は、配置パターンの決定では、同じプログラムセット1109の2つのプログラムが同じコンピュータ1200に配置されないようにする。また配置パターン決定部1105は、配置パターンの決定では、複数のコンピュータ1200それぞれの処理負荷と、複数のコンピュータ1200間の通信負荷との少なくとも一方を考慮して配置パターンを決定する。勿論、処理負荷や通信負荷以外の各種の情報を考慮して配置パターンを決定してもよい。
The arrangement
プログラム配置部1106は、配置パターン決定部1105によって決定された配置パターンに従って、複数のコンピュータ1200に複数のプログラムセット1109を配置する機能を有する。すなわち、プログラム配置部1106は、或るプログラムセット1109を構成するアクティブ側のプログラムを、その配置先であるコンピュータ1200にネットワーク1300を通じて送信して当該コンピュータ1200上にアクティブ側の仮想マシンを生成する。また、プログラム配置部1106は、或るプログラムセット1109を構成するスタンバイ側のプログラムを、その配置先であるコンピュータ1200にネットワーク1300を通じて送信して当該コンピュータ1200上にスタンバイ側の仮想マシンを生成する。
The
切替パターン決定部1107は、何れかのコンピュータ1200に障害が発生してフェイルオーバーが行われた場合、フェイルオーバーが行われていない残りのプログラムセット1109の2つのプログラムのアクティブとスタンバイとを切り替える切替パターンを生成する機能を有する。切替パターン決定部1107は、切替パターンの生成では、フェイルオーバー後の、複数のコンピュータ1200それぞれの処理負荷と複数のコンピュータ1200間の通信負荷との少なくとも一方を考慮して、切替パターンを決定する。勿論、処理負荷や通信負荷以外の各種の情報を考慮して切替パターンを決定してもよい。
When a failure occurs in any
切替部1108は、切替パターン決定部1107によって決定された切替パターンに従って、上記フェイルオーバーが行われていないプログラムセット1109の2つのプログラムのアクティブとスタンバイの切り替えを行う機能を有する。すなわち、切替部1108は、或るプログラムセット1109のアクティブ側のプログラムが配置されているコンピュータ1200に対してネットワーク1300を通じてスタンバイへの変更を指令すると同時に、そのプログラムセット1109を構成するスタンバイ側のプログラムが配置されているコンピュータ1200に対してネットワーク1300を通じてアクティブへの変更を指令する。
The
コンピュータ1200は、パーソナルコンピュータ等の情報処理装置(物理マシン)であり、複数の仮想マシンを稼働させる機能を有する。コンピュータ1200は、コンピュータ1100と同様に、通信I/F部、記憶部、プロセッサにより構成される。
The
またコンピュータ1100およびコンピュータ1200は、キーボードやマウスなどの操作入力装置や、LCDやPDPなどの画面表示装置を有していてよい。
Further, the
図2は本実施形態にかかるコンピュータシステムが実行するプログラム配置方法の手順を示すフローチャートである。以下、図1および図2を参照して本実施形態の動作を説明する。 FIG. 2 is a flowchart showing the procedure of the program arrangement method executed by the computer system according to the present embodiment. The operation of this embodiment will be described below with reference to FIGS.
まず、コンピュータ1100の配置パターン決定部1105は、複数のプログラムセット1109を複数のコンピュータ1200に配置する配置パターンを決定する(ステップS1001)。このとき配置パターン決定部1105は、同じプログラムセットのアクティブとスタンバイの2つのプログラムがそれぞれ異なるコンピュータ1200に配置されるような配置パターンを決定する。また、配置パターン決定部1105は、複数のコンピュータ1200の処理負荷とコンピュータ1200間の通信負荷との少なくとも一方を考慮して配置パターンを決定する。例えば、配置パターン決定部1105は、全てのコンピュータ1200が同じ性能を有する場合、それぞれのコンピュータ1200の処理負荷(稼働するプログラムによる負荷の合計)がほぼ等しくなり、また任意の2つのコンピュータ1200間の通信負荷(一方の上で稼働するアクティブおよびスタンバイのプログラムから他方の上で稼働する対となるスタンバイおよびアクティブへの通信量およびその反対方向の通信量)がほぼ均等になるような配置パターンを決定する。これらの処理負荷や通信負荷は、予め計測して記憶部1102に記憶されたデータを使用しても良いし、複数のコンピュータ1200を使用して実際に計測したデータを使用しても良い。
First, the arrangement
次に、コンピュータ1100のプログラム配置部1106は、上記決定した配置パターンに従って、複数のコンピュータ1200に複数のプログラムセット1109を配置する(ステップS1002)。これにより、複数のコンピュータ1200上に、それぞれがアクティブとスタンバイの2つの仮想マシンのセットであるFTシステムが複数生成され、動作を開始することになる。
Next, the
その後、複数のコンピュータ1200の何れかに障害が発生し、その上で稼働しているアクティブの仮想マシンの動作が停止すると、フェイルオーバーが行われ、動作を停止した仮想マシンの処理をスタンバイ側の仮想マシンが引継いで実行する。このように今までスタンバイとして動作していた仮想マシンがアクティブとして動作するため、新たにアクティブとなった仮想マシンが配置されているコンピュータ1200の処理負荷がフェイルオーバー前に比べて増大する。また、障害の発生したコンピュータ1200上のプログラムと通信を行っていた他のコンピュータ1200の通信負荷が、フェイルオーバー前に比べて低下する。この結果、そのままでは処理負荷や通信負荷のバランスが崩れるままになり、システム全体の実行効率が低下することになる。
Thereafter, when a failure occurs in any of the plurality of
そこで本実施形態では、フェイルオーバーが行われた場合、速やかに以下のような処理を実行する。 Therefore, in the present embodiment, when a failover is performed, the following processing is promptly executed.
まずコンピュータ1100の切替パターン決定部1107は、フェイルオーバーが行われた場合、フェイルオーバーが行われていない残りのプログラムセット1109の2つのプログラムのアクティブとスタンバイとを切り替える切替パターンを決定する(ステップS1003)。この切替パターンの決定では、切替パターン決定部1107は、フェイルオーバー後の複数のコンピュータ1200それぞれの処理負荷とコンピュータ1200間の通信負荷との少なくとも一方を考慮して、切替パターンを決定する。例えば切替パターン決定部1107は、すべてのコンピュータ1200の性能が同じである場合、それぞれのコンピュータ1200の処理負荷(稼働するプログラムによる負荷の合計)がほぼ等しくなり、また任意の2つのコンピュータ1200間の通信負荷(一方の上で稼働するアクティブおよびスタンバイのプログラムから他方の上で稼働する対となるスタンバイおよびアクティブへの通信量およびその反対方向の通信量)がほぼ均等になるような切替パターンを決定する。これらの処理負荷や通信負荷は、予め計測して記憶部1102に記憶されたデータを使用しても良いし、複数の第2のコンピュータ1200を使用して実際に計測したデータを使用しても良い。
First, when a failover is performed, the switching
次にコンピュータ1100の切替部1108は、上記決定した切替パターンに従って、フェイルオーバーが行われていないプログラムセット1109の2つのプログラムのアクティブとスタンバイの切り替えを行う(ステップS1004)。通常、アクティブとスタンバイの切り替えは一秒以下という短い時間で高速に行うことが可能である。これにより、業務処理に影響を与えずに、処理負荷や通信負荷のバランスを改善し、システム全体の実行効率を高めることが可能である。
Next, the
次に簡略化した例を用いて本実施形態の効果を説明する。 Next, the effect of this embodiment will be described using a simplified example.
図3は、プログラム配置部1106によって、同じ性能を有する4台のコンピュータ1200上に、合計8種類のプログラムセットを配置したパターンの一例を示す。
FIG. 3 shows an example of a pattern in which a total of eight types of program sets are arranged on four
図3を参照すると、コンピュータ1200−1には、第1乃至第3のプログラムセットのアクティブのプログラムA1〜A3と、第6のプログラムセットのスタンバイのプログラムS6とが配置されている。また、コンピュータ1200−2には、第1乃至第3のプログラムセットのスタンバイのプログラムS1〜S3と、第4、第7、第8のプログラムセットのアクティブのプログラムA4、A7、A8とが配置されている。また、コンピュータ1200−3には、第4、第7のプログラムセットのスタンバイのプログラムS4、S7と、第5のプログラムセットのアクティブのプログラムA5とが配置されている。また、コンピュータ1200−4には、第5、第8のプログラムセットのスタンバイのプログラムS5、S8と、第6のプログラムセットのアクティブのプログラムA6とが配置されている。 Referring to FIG. 3, the computer 1200-1 includes active programs A1 to A3 of the first to third program sets and a standby program S6 of the sixth program set. The computer 1200-2 includes standby programs S1 to S3 of the first to third program sets and active programs A4, A7, and A8 of the fourth, seventh, and eighth program sets. ing. In the computer 1200-3, standby programs S4 and S7 of the fourth and seventh program sets and an active program A5 of the fifth program set are arranged. In the computer 1200-4, standby programs S5 and S8 of the fifth and eighth program sets and an active program A6 of the sixth program set are arranged.
図3におけるプログラムの箇所に付記した数値は、そのプログラムの処理負荷の値(単位は例えばMIPS)を示す。また、コンピュータ120の箇所に付記した数値は、そのコンピュータ上に配置されたプログラムの処理負荷の合計値を示す。図3に示す配置パターンでは、コンピュータ1200−1の処理負荷は91、コンピュータ1200−2の処理負荷は93、コンピュータ1200−3、1200−4の処理負荷は共に92であり、4台のコンピュータ1200の処理負荷はほぼ等しくなっている。 The numerical value added to the location of the program in FIG. 3 indicates the value of the processing load of the program (the unit is, for example, MIPS). The numerical value added to the location of the computer 120 indicates the total processing load of the programs arranged on the computer. In the arrangement pattern shown in FIG. 3, the processing load of the computer 1200-1 is 91, the processing load of the computer 1200-2 is 93, and the processing loads of the computers 1200-3 and 1200-4 are both 92. The processing load is almost equal.
図4は、コンピュータ1200−1に障害が発生して、フェイルオーバーが行われた直後の各プログラムの状態と処理負荷の値を示している。コンピュータ1200−2上の第1乃至第3のプログラムセットのプログラムがフェイルオーバーによってスタンバイからアクティブに切り替わっている。この結果、コンピュータ1200−2の処理負荷の合計は93から180に増大している。 FIG. 4 shows the state of each program and the value of the processing load immediately after a failure occurs in the computer 1200-1 and a failover is performed. Programs in the first to third program sets on the computer 1200-2 are switched from standby to active due to failover. As a result, the total processing load of the computer 1200-2 increases from 93 to 180.
図5は、切替パターン決定部1107によって決定された切替パターンに従って切替部1108がフェイルオーバーしていないプログラムセットのアクティブとスタンバイの切り替えを行った後の各プログラムの状態と処理負荷の値を示している。図5の例では、第7および第8の2つのプログラムセットについて、アクティブとスタンバイの切り替えを行っている。この結果、コンピュータ1200−2の処理負荷は180から122に減少し、コンピュータ1200−3と1200−4の処理負荷は92から121に上昇している。その結果、3台のコンピュータ1200の処理負荷がほぼ等しくなっている。
FIG. 5 shows the state of each program and the value of the processing load after switching the active and standby of the program set in which the
以上の例では、処理負荷を考慮して配置パターンおよび切替パターンを決定したが、コンピュータ1200間の通信負荷を考慮して配置パターンおよび切替パターンを決定する構成や、処理負荷と通信負荷の双方を考慮して配置パターンおよび切替パターンを決定する構成であっても同様の作用効果が得られることは明らかである。
In the above example, the arrangement pattern and the switching pattern are determined in consideration of the processing load. However, the arrangement pattern and the switching pattern are determined in consideration of the communication load between the
本実施形態は以下のような各種の付加変更が可能である。 This embodiment can be variously added and changed as follows.
配置パターン決定部1105は、配置パターンの決定では、配置パターンの複数の候補のそれぞれについて、配置後の各コンピュータ1200の処理負荷とコンピュータ1200間の通信負荷との少なくとも一方の負荷の分散の程度を表す指標値を算出し、この算出した指標値に基づいて上記複数の候補の中から配置パターンを決定してよい。
In determining the arrangement pattern, the arrangement
あるいは配置パターン決定部1105は、配置パターンの決定では、配置パターンの複数の候補のそれぞれについて、配置後の各コンピュータ1200の処理負荷とコンピュータ1200間の通信負荷との少なくとも一方の負荷の分散の程度を表す指標値と、何れかのコンピュータ1200に障害が発生してフェイルオーバーが起きた時点でフェイルオーバーが行われていない残りのプログラムセット1109の2つのプログラムのアクティブとスタンバイとを切り替えることによって期待される、コンピュータ1200の処理負荷とコンピュータ1200間の通信負荷との少なくとも一方の負荷の分散の程度を表す指標値とを算出し、この2種類の指標値に基づいて、上記配置パターンの複数の候補の中から配置パターンを決定して良い。
Alternatively, the arrangement
また切替パターン決定部1107は、切替パターンの決定では、切替パターンの複数の候補のそれぞれについて、切り替え後のコンピュータ1200の処理負荷とコンピュータ1200間の通信負荷との少なくとも一方の負荷の分散の程度を表す指標値を算出し、この指標値に基づいて上記複数の候補の中から切替パターンを決定してよい。
The switching
[第2の実施形態]
[本実施形態の概要]
高速チェックポイント方式によりFT化された仮想マシンのセットをプログラム・オブジェクトのセットとして捉えると、このプログラムセットには以下のような特徴がある。
(a)二重化を構成するプログラムセットの間の依存関係は大きいが、別々の物理マシンに配置する必要がある。したがって、プログラムセットの間で高速に通信を行えることが重要である。
(b)プログラムセットの間で負荷が非対称である。アクティブ側のプログラムの方がスタンバイのプログラムより負荷が大きい。
(c)プログラムセットの間で通信が非対称である。アクティブ側のプログラムからスタンバイ側のプログラムへの通信量が大きい。
(d)物理マシンが故障した場合、フェイルオーバー(スタンバイからアクティブへの切り替え)を、一秒以下という短い時間で高速に行うことができる。
(e)物理マシンが故障していない場合でも、指示により、アクティブとスタンバイの切り替えを一秒以下という短い時間で高速に行うことができる。
[Second Embodiment]
[Overview of this embodiment]
When a set of virtual machines converted into an FT by the high-speed checkpoint method is regarded as a set of program objects, this program set has the following characteristics.
(A) Although the dependency relationship between the program sets constituting the duplex is large, it is necessary to arrange them in separate physical machines. Therefore, it is important to be able to communicate at high speed between program sets.
(B) The load is asymmetric between program sets. The active program is more loaded than the standby program.
(C) Communication is asymmetric between program sets. The amount of communication from the active program to the standby program is large.
(D) When a physical machine fails, failover (switching from standby to active) can be performed at high speed in a short time of one second or less.
(E) Even when the physical machine has not failed, switching between active and standby can be performed at a high speed in a short time of one second or less by an instruction.
本実施形態は、上記のようなプログラムセットの特徴を考慮して構成される。本実施形態では、複数の物理マシンに対して、アクティブとスタンバイを高速に切り替えることができる複数のプログラムセットを配置する場合、物理マシンの処理負荷および物理マシンの間のネットワーク通信負荷を分散し、全体の実行効率を上げることを可能にする。また、1つの物理マシンが使用不可能になってフェイルオーバーが起きた場合、複数のプログラムセットのアクティブとスタンバイとを切り替えて、負荷を再び分散し、全体の実行効率を上げることを可能にする。 This embodiment is configured in consideration of the characteristics of the program set as described above. In this embodiment, when a plurality of program sets that can switch between active and standby at high speed are arranged for a plurality of physical machines, the processing load of the physical machine and the network communication load between the physical machines are distributed, It is possible to increase the overall execution efficiency. In addition, when a single physical machine becomes unavailable and a failover occurs, it is possible to switch the active and standby of multiple program sets to redistribute the load and increase the overall execution efficiency. .
より具体的には、管理部は、物理マシンの処理能力測定部および通信速度測定部にそれぞれ指示をだし、物理マシンの処理能力および物理マシンの間の通信速度を測定する。また、プログラムセットをそれぞれ物理マシンに配置し、プログラムの処理負荷およびプログラムセットの間の通信量を測定する。そして、複数のプログラムセットを複数の物理マシンに配置する場合、管理部は、それぞれの配置パターンについて、処理負荷分散のレーティングおよびネットワーク負荷分散のレーティングを計算し、負荷が平衡するように最適な配置を選択し、実行する。また、ある物理マシンが使用不可能になってフェイルオーバーが起こり、複数のプログラムセットのアクティブとスタンバイとを切り替える場合、管理部は、それぞれの切替パターンについて、処理負荷分散のレーティングおよびネットワーク負荷分散のレーティングを再計算し、負荷が平衡するように最適な切替を選択し、実行する。 More specifically, the management unit issues instructions to the processing capacity measurement unit and the communication speed measurement unit of the physical machine, and measures the processing capacity of the physical machine and the communication speed between the physical machines. In addition, each program set is arranged in a physical machine, and the processing load of the program and the communication amount between the program sets are measured. When multiple program sets are placed on multiple physical machines, the management unit calculates the processing load balancing rating and network load balancing rating for each placement pattern, and optimal placement is achieved so that the load is balanced. Select and execute. Also, when a physical machine becomes unusable and a failover occurs, and when switching between active and standby of multiple program sets, the management unit sets the processing load balancing rating and network load balancing for each switching pattern. Recalculate the rating, select and execute the best switch to balance the load.
[本実施形態の構成]
図6および図11を参照すると、本実施形態は、複数の物理マシン101〜105と、それらを接続するネットワーク115、それらの上で動作するプログラムセット401〜402からなる。1つの物理マシンは管理部106を備えている。他の物理マシンは、通信速度測定部107〜110と、処理能力測定部111〜114とを備えている。
[Configuration of this embodiment]
Referring to FIGS. 6 and 11, the present embodiment includes a plurality of
管理部106は、他の物理マシンに対して、通信速度や処理能力の測定指示を行う。また、プログラムセットの最適な配置を計算し、実際に他の物理マシンに対してプログラムセットの配置指示を行う。また、ある物理マシンが使用不可能になった場合、プログラムセットに対してアクティブとスタンバイの切替指示を行う。
The
通信速度測定部107〜110は、物理マシンの間のネットワーク通信速度を測定する。また、プログラムセットの間の個別のネットワーク通信量を測定する。
The communication
処理能力測定部111〜114は、物理マシンのプロセッサやI/O等の処理能力を測定する。また、プログラムの個別の処理負荷を測定する。
The processing
プログラムセット401〜402は、アクティブプログラムとスタンバイプログラムからなる。アクティブとスタンバイは別々の物理マシン上で動作する。アクティブが動作していた物理マシンが使用不可能になった場合、スタンバイをアクティブに切り替えて、処理を継続することができる。また、物理マシンが使用不可能になっていない場合でも、管理部106はプログラムセットに切替指示を出し、アクティブとスタンバイを切り替えることができる。
The program sets 401 to 402 include an active program and a standby program. Active and standby run on separate physical machines. If the physical machine on which active was operating becomes unusable, the standby can be switched to active and processing can continue. Even if the physical machine is not disabled, the
物理マシン、通信速度測定部、処理能力測定部の数は4つである必要はなく、任意の数に拡張できる。また、プログラムセットの数は2つである必要はなく、任意の数に拡張できる。 The number of physical machines, communication speed measuring units, and processing capacity measuring units need not be four, and can be expanded to an arbitrary number. Further, the number of program sets need not be two, and can be expanded to an arbitrary number.
[本実施形態の動作]
図6乃至図10を参照して、本実施形態において、物理マシンの処理能力及び物理マシンの間のネットワーク通信速度を事前に測定する動作について説明する。
[Operation of this embodiment]
With reference to FIGS. 6 to 10, an operation for measuring in advance the processing capability of the physical machine and the network communication speed between the physical machines will be described in the present embodiment.
管理部106は、物理マシンを1つ選択し、物理マシンの処理能力測定部に対して測定指示を出す(ステップ201)。処理能力測定部は、物理マシンの処理能力を測定し(ステップ202)、結果を通知する(ステップ203)。管理部106は結果を保存する(ステップ204)。管理部106は、全ての物理マシンに対して測定を繰り返し(ステップ205)、物理マシンの処理能力を図8に例示するようにテーブルに記録する。
The
また管理部106は、物理マシンを1つ選択し、物理マシンの通信速度測定部に対して測定指示を出す(ステップ301)。通信速度測定部は、他の全ての物理マシンとの通信速度を測定し(ステップ302、ステップ303)、結果を通知する(ステップ304)。管理部106は結果を保存する(ステップ305)。管理部106は、全ての物理マシンに対して測定を繰り返し(ステップ306)、物理マシンの間の通信速度を図10に例示するようにテーブルに記録する。
The
次に、図11乃至図14を参照して、本実施形態において、プログラムの処理負荷及びプログラムセットの間のネットワーク通信量を事前に測定する動作について説明する。 Next, with reference to FIG. 11 thru | or FIG. 14, the operation | movement which measures the network traffic between a program processing load and a program set in this embodiment in advance is demonstrated.
管理部106は、プログラムセットを1つ選択し、アクティブプログラムとスタンバイプログラムとを別々の物理マシン102、103に配置する(ステップ501)。処理能力測定部107、108は、プログラムの処理負荷を計測する(ステップ502)。通信速度測定部は、アクティブからスタンバイへの通信量、スタンバイからアクティブへの通信量を測定する(ステップ503)。全てのプログラムセット401〜402について測定を繰り返し(ステップ504)、図13および図14に例示するようにテーブルに記録する。
The
次に、図15および図16を参照して、本実施形態において、複数のプログラムセットを複数の物理マシンに配置する動作について説明する。 Next, with reference to FIG. 15 and FIG. 16, the operation | movement which arrange | positions a some program set in a some physical machine in this embodiment is demonstrated.
管理部106は、複数のプログラムセットを複数の物理マシンに配置するパターンを1つ選択する(ステップ601)。そのパターンについて、処理負荷分散のレーティングを計算する(ステップ602)。具体的には、まず、各々の物理マシンについて、次式により使用率を求める。
(物理マシンの使用率)=(プログラムの処理負荷の合計)/(物理マシンの処理能力)
The
(Physical machine usage rate) = (total processing load on the program) / (physical machine processing capacity)
さらに、上記求めた物理マシンの使用率を用いて、各々の物理マシンについて、次式により処理使用率の分散を求める。
(処理使用率の分散)=各々の(物理マシンの使用率)の分散
Further, using the obtained physical machine usage rate, the variance of the processing usage rate is obtained for each physical machine by the following equation.
(Distribution of processing usage) = Distribution of (physical machine usage)
さらに、上記求めた物理マシンの処理使用率の分散を用いて、各々の物理マシンについて、次式により処理負荷分散のレーティングを求める。
(処理負荷分散のレーティング)=1/(処理使用率の分散)
Further, the processing load distribution rating is obtained for each physical machine by the following equation using the obtained distribution of the physical machine processing utilization rate.
(Rating of processing load distribution) = 1 / (Distribution of processing usage rate)
次に管理部106は、ネットワーク負荷分散のレーティングを計算する(ステップ603)。具体的には、まず、物理マシンの間の上下の通信の各々について、次式によりネットワーク使用率を求める。
(ネットワーク使用率)=(プログラムの通信量の合計)/(ネットワークの通信速度)
Next, the
(Network usage rate) = (Total program traffic) / (Network communication speed)
さらに、上記求めたネットワーク使用率を用いて、ネットワーク使用率の分散を次式により求める。
(ネットワーク使用率の分散)=各々の(ネットワーク使用率)の分散
Further, using the obtained network usage rate, the variance of the network usage rate is obtained by the following equation.
(Distribution of network usage) = Distribution of each (network usage)
さらに、上記求めたネットワーク使用率の分散を用いて、次式によりネットワーク負荷分散のレーティングを求める。
(ネットワーク負荷分散のレーティング)=1/(ネットワーク使用率の分散)
Further, the network load distribution rating is obtained by the following equation using the obtained distribution of the network usage rate.
(Rating of network load distribution) = 1 / (Distribution of network usage rate)
そして、管理部106は、上記求めた処理負荷分散のレーティングとネットワーク負荷分散のレーティングと重み係数とを用いて、次式により総合のレーティングを計算する(ステップ604)。
(総合のレーティング)=(処理負荷分散のレーティング)×(マシン処理の重み係数)+(ネットワーク負荷分散のレーティング)×(ネットワークの重み係数)
Then, the
(Overall rating) = (Processing load balancing rating) x (Machine processing weighting factor) + (Network load balancing rating) x (Network weighting factor)
ここで、マシン処理の重み係数およびネットワークの重み係数は、予め定数として定めていてもよいし、変数として装置の使用者が指定できるようにしてもよい。図16は重み係数の一例である。 Here, the weighting coefficient for machine processing and the weighting coefficient for network may be determined in advance as constants, or may be specified by the user of the apparatus as variables. FIG. 16 shows an example of the weighting factor.
管理部106は、全ての配置パターンについてレーティングの計算を繰り返す(ステップ605)。物理マシンの数をm、プログラムセットの数をnとすると、配置パターンの数は、(m×(m−1))nである。管理部106は、最も総合レーティングの大きい配置パターンを選択し(ステップ606)、複数のプログラムセットを複数の物理マシンに配置する処理を実行する。
The
次に、図17を参照して、ある物理マシンが使用不可能になった場合に、複数のプログラムセットのアクティブとスタンバイとを切り替える動作について説明する。 Next, with reference to FIG. 17, an operation for switching between active and standby of a plurality of program sets when a certain physical machine becomes unusable will be described.
ある物理マシンが使用不可能になった場合、その物理マシンでアクティブプログラムが動作していたプログラムセットについてはフェイルオーバーが実行され、別の物理マシンで動作していたスタンバイプログラムがアクティブプログラムに切り替わる。そのため、処理負荷やネットワーク負荷に偏りが生じる。管理部106は、この偏りを是正するために以下の処理を行う。
When a certain physical machine becomes unusable, failover is executed for the program set in which the active program is operating on the physical machine, and the standby program operating on another physical machine is switched to the active program. Therefore, the processing load and the network load are biased. The
管理部106は、複数のプログラムセットのアクティブとスタンバイとを切り替えるパターンを1つ選択する(ステップ701)。そのパターンについて、処理負荷分散のレーティングを計算し(ステップ702)、ネットワーク負荷分散のレーティングを計算し(ステップ703)、総合のレーティングを計算する(ステップ704)。計算の具体的な方法は、ステップ602〜604に準ずる。全ての切替パターンについてレーティングの計算を繰り返す(ステップ705)。切り替え可能なプログラムセットの数をnとすると、切替パターンの数は、2nである。最も総合のレーティングの大きい切替パターンを選択し(ステップ706)、複数のプログラムセットの切替処理を実行する。
The
[本実施形態の効果]
第1の効果は、複数のプログラムセットを複数の物理マシンに配置する場合、処理およびネットワーク通信について負荷が分散され、全体の実行効率が上がることである。
[Effect of this embodiment]
The first effect is that when a plurality of program sets are arranged in a plurality of physical machines, the load is distributed with respect to processing and network communication, and the overall execution efficiency is improved.
その理由は、物理マシンの処理能力、物理マシンの間のネットワーク通信速度、プログラムセットの処理負荷、プログラムセットの間のネットワーク通信量を事前に測定し、プログラムセットの処理負荷およびネットワーク通信負荷が非対称であるという特徴を考慮し、配置パターン毎に負荷分散のレーティングを計算し、レーティング最大の配置パターンを選択するためである。 This is because the processing load of the physical machine, the network communication speed between the physical machines, the processing load of the program set, and the network traffic between the program set are measured in advance, and the processing load of the program set and the network communication load are asymmetric. This is because the load distribution rating is calculated for each arrangement pattern, and the arrangement pattern having the maximum rating is selected.
第2の効果は、複数のプログラムセットを配置する複数の物理マシンの性能が互いに相違している場合であっても、処理およびネットワーク通信について負荷が分散され、全体の実行効率が上がることである。その理由は、第1の効果の理由と同じである。 The second effect is that even if the performances of a plurality of physical machines in which a plurality of program sets are arranged are different from each other, the load is distributed for processing and network communication, and the overall execution efficiency is increased. . The reason is the same as the reason for the first effect.
第3の効果は、複数のプログラムセットが複数の物理マシンに配置されている状態で1つの物理マシンが使用不可能になってフェイルオーバーが起きた場合でも、全体の実行効率の低下を防止することができることである。 The third effect is to prevent a decrease in overall execution efficiency even when one physical machine becomes unusable and a failover occurs in a state where a plurality of program sets are arranged on a plurality of physical machines. Be able to.
その理由は、切替パターン毎に負荷分散のレーティングを計算し、レーティング最大の切替パターンを選択し、フェイルオーバーしていない1以上のプログラムセットのアクティブとスタンバイとを故意に切り替えて、負荷を再び分散させるためである。 The reason is to calculate the load distribution rating for each switching pattern, select the switching pattern with the highest rating, deliberately switch the active and standby of one or more program sets that have not failed over, and distribute the load again This is to make it happen.
[第3の実施形態]
本実施形態は、管理部106が複数のプログラムセットを複数の物理マシンに配置する場合、物理マシンが使用不可能になった場合の切替パターンについて予めシミュレートし、切替後の負荷分散を考慮して配置パターンを選択する点で、第2の実施形態と相違する。
[Third embodiment]
In this embodiment, when the
図18は本実施形態における配置パターンを選択する手順の一例を示すフローチャートである。以下、図18を参照して本実施形態の動作を説明する。 FIG. 18 is a flowchart showing an example of a procedure for selecting an arrangement pattern in the present embodiment. Hereinafter, the operation of the present embodiment will be described with reference to FIG.
管理部106は、複数のプログラムセットを複数の物理マシンに配置するパターンを1つ選択する(ステップ801)。処理負荷分散のレーティングを計算し(ステップ802)、ネットワーク負荷分散のレーティングを計算し(ステップ803)、切替前のレーティングを計算する(ステップ804)。計算の具体的な方法は、ステップ602〜604に準ずる。
The
次に、物理マシンを1つ選択し(ステップ805)、物理マシンが使用不可能になった場合を仮定し(ステップ806)、以下、切替をシミュレートする。管理部106は、複数のプログラムセットのアクティブとスタンバイとを切り替えるパターンを1つ選択する(ステップ807)。処理負荷分散のレーティングを計算し(ステップ808)、ネットワーク負荷分散のレーティングを計算し(ステップ809)、切替後のレーティングを計算する(ステップ810)。全ての切替パターンについてレーティングの計算を繰り返す(ステップ811)。この切替をシミュレートする動作は、ステップ701〜705に準ずる。そして、切替後のレーティングの最大値を計算する(ステップ812)。全ての物理マシンについて使用不可能になった場合をシミュレートする動作を繰り返し(ステップ813)、切替後のレーティングの最大値の平均値を計算する(ステップ814)。
Next, one physical machine is selected (step 805), and it is assumed that the physical machine becomes unusable (step 806). Hereinafter, switching is simulated. The
次に、総合のレーティングを以下の式により計算する(ステップ815)。
(総合のレーティング)=(切替前のレーティング)×(切替前の重み係数)+(切替後のレーティングの最大値の平均値)×(切替前の重み係数)
Next, the total rating is calculated by the following equation (step 815).
(Overall rating) = (Rating before switching) x (Weighting coefficient before switching) + (Average value of rating after switching) x (Weighting coefficient before switching)
ここで、切替前後の重み係数は、予め定数として定めていてもよいし、変数として装置の使用者が指定できるようにしてもよい。図19は重み係数の一例である。 Here, the weighting coefficient before and after switching may be determined in advance as a constant, or may be specified by the user of the apparatus as a variable. FIG. 19 is an example of a weighting coefficient.
全ての配置パターンについてレーティングの計算を繰り返す(ステップ816)。そして、最も総合のレーティングの大きい配置パターンを選択し(ステップ817)、複数のプログラムセットを複数の物理マシンに配置する処理を実行する。 Rating calculation is repeated for all arrangement patterns (step 816). Then, an arrangement pattern having the largest overall rating is selected (step 817), and a process of arranging a plurality of program sets on a plurality of physical machines is executed.
[本実施形態の効果]
本実施形態によれば、第2の実施形態と同様の効果が得られると共に、さらに、複数のプログラムセットを複数の物理マシンに配置する場合、1つの物理マシンが使用不可能になってフェイルオーバーが起きて複数のプログラムセットのアクティブとスタンバイとを切り替えたときに、処理およびネットワーク通信について負荷分散しやすい配置を予め選択できる、という効果が得られる。
[Effect of this embodiment]
According to this embodiment, the same effects as those of the second embodiment can be obtained. Further, when a plurality of program sets are arranged on a plurality of physical machines, one physical machine becomes unusable and failover occurs. When a problem occurs and the active and standby of a plurality of program sets are switched, it is possible to obtain an effect that it is possible to select in advance an arrangement that facilitates load distribution for processing and network communication.
その理由は、物理マシンが使用不可能になった場合の切替パターンについて予めシミュレートし、切替前のレーティングと切替後のレーティングから総合のレーティングを計算し、レーティング最大の配置パターンを選択するためである。 The reason is that the switching pattern when the physical machine becomes unusable is simulated in advance, the total rating is calculated from the rating before switching and the rating after switching, and the layout pattern with the maximum rating is selected. is there.
1100…第1のコンピュータ
1101…通信I/F部
1102…記憶部
1103…プロセッサ
1104…プログラム
1105…配置パターン決定部
1106…プログラム配置部
1107…切替パターン決定部
1108…切替部
1109…プログラムセット
1200…第2のコンピュータ
1300…ネットワーク
DESCRIPTION OF
Claims (7)
前記第1のコンピュータが、それぞれ一方がアクティブ、他方がスタンバイとして動作する2つのプログラムのセットである複数のプログラムセットを前記複数の第2のコンピュータに配置する配置パターンであって、同じプログラムセットの前記2つのプログラムが同じ前記第2のコンピュータに配置されず且つ前記複数の第2のコンピュータそれぞれの処理負荷と前記複数の第2のコンピュータ間の通信負荷との少なくとも一方を考慮した配置パターンを決定し、
前記第1のコンピュータが、前記決定した配置パターンに従って、前記複数の第2のコンピュータに前記複数のプログラムセットを配置し、
前記第1のコンピュータが、何れかの前記第2のコンピュータに障害が発生してフェイルオーバーが行われた場合、フェイルオーバーが行われていない残りの前記プログラムセットの前記2つのプログラムのアクティブとスタンバイとを切り替える切替パターンを、前記フェイルオーバー後の前記複数の第2のコンピュータそれぞれの処理負荷と前記複数の第2のコンピュータ間の通信負荷との少なくとも一方を考慮して決定し、
前記第1のコンピュータが、前記決定した切替パターンに従って、前記フェイルオーバーが行われていない前記プログラムセットの前記2つのプログラムのうちアクティブとして動作しているプログラムをスタンバイに切り替え、スタンバイとして動作しているプログラムをアクティブに切り替える
プログラム配置方法。 A program arrangement method executed by a computer system in which a first computer and a plurality of second computers are connected to each other through a network,
The first computer is an arrangement pattern in which a plurality of program sets, each of which is a set of two programs that operate as one active and the other as a standby, are arranged in the plurality of second computers, The two programs are not arranged in the same second computer, and an arrangement pattern is determined in consideration of at least one of the processing load of each of the plurality of second computers and the communication load between the plurality of second computers. And
The first computer arranges the plurality of program sets in the plurality of second computers according to the determined arrangement pattern,
When a failure occurs in any one of the second computers and the first computer is failed over, the active and standby of the two programs of the remaining program sets that are not failed over A switching pattern for switching between the plurality of second computers after the failover is determined in consideration of at least one of a processing load of each of the plurality of second computers and a communication load between the plurality of second computers,
In accordance with the determined switching pattern, the first computer switches the program that is operating as active out of the two programs of the program set that has not been failed over to standby and operates as standby Switch program active <br/> Program placement method.
前記第1のコンピュータが、前記配置パターンの複数の候補のそれぞれについて、配置後の前記処理負荷と前記通信負荷との少なくとも一方の負荷の分散の程度を表す第1の指標値を算出し、
前記第1のコンピュータが、前記算出した第1の指標値に基づいて前記複数の候補の中から前記配置パターンを決定する
請求項1に記載のプログラム配置方法。 In determining the arrangement pattern,
The first computer calculates, for each of the plurality of candidates for the arrangement pattern, a first index value representing a degree of distribution of at least one of the processing load and the communication load after arrangement,
The program placement method according to claim 1, wherein the first computer determines the placement pattern from the plurality of candidates based on the calculated first index value.
前記第1のコンピュータが、前記切替パターンの複数の候補のそれぞれについて、切り替え後の前記処理負荷と前記通信負荷との少なくとも一方の負荷の分散の程度を表す第2の指標値を算出し、
前記第1のコンピュータが、前記算出した第2の指標値に基づいて前記複数の候補の中から前記切替パターンを決定する
請求項1または2に記載のプログラム配置方法。 In determining the switching pattern,
The first computer calculates, for each of the plurality of candidates for the switching pattern, a second index value representing a degree of distribution of at least one of the processing load and the communication load after switching,
The program placement method according to claim 1 or 2, wherein the first computer determines the switching pattern from the plurality of candidates based on the calculated second index value.
前記第1のコンピュータが、前記配置パターンの複数の候補のそれぞれについて、配置後の前記処理負荷と前記通信負荷との少なくとも一方の負荷の分散の程度を表す第1の指標値と、何れかの前記第2のコンピュータに障害が発生してフェイルオーバーが起きた時点でフェイルオーバーが行われていない残りの前記プログラムセットの前記2つのプログラムのアクティブとスタンバイとを切り替えることによって期待される、前記処理負荷と前記通信負荷との少なくとも一方の負荷の分散の程度を表す第2の指標値とを算出し、
前記第1のコンピュータが、前記第1の指標値と前記第2の指標値とに基づいて、前記配置パターンの複数の候補の中から前記配置パターンを決定する
請求項1に記載のプログラム配置方法。 In determining the arrangement pattern,
A first index value representing a degree of distribution of at least one of the processing load and the communication load after placement for each of the plurality of placement pattern candidates; The processing expected by switching between active and standby of the two programs of the remaining program set that is not failed over when a failure occurs in the second computer and a failover occurs Calculating a second index value representing a degree of dispersion of at least one of the load and the communication load;
2. The program arrangement method according to claim 1, wherein the first computer determines the arrangement pattern from a plurality of candidates for the arrangement pattern based on the first index value and the second index value. .
前記第1のコンピュータが、前記第1の指標値と前記第2の指標値とを重み付けして加算した値に基づいて、前記配置パターンの複数の候補の中から前記配置パターンを決定する
請求項4に記載のプログラム配置方法。 In determining the arrangement pattern,
The first computer determines the arrangement pattern from a plurality of candidates for the arrangement pattern based on a value obtained by weighting and adding the first index value and the second index value. 5. The program arrangement method according to 4.
それぞれ一方がアクティブ、他方がスタンバイとして動作する2つのプログラムのセットである複数のプログラムセットを前記複数の第2のコンピュータに配置する配置パターンであって、同じプログラムセットの前記2つのプログラムが同じ前記第2のコンピュータに配置されず且つ前記複数の第2のコンピュータそれぞれの処理負荷と前記複数の第2のコンピュータ間の通信負荷との少なくとも一方を考慮した配置パターンを決定する配置パターン決定手段と、
前記決定した配置パターンに従って、前記複数の第2のコンピュータに前記複数のプログラムセットを配置するプログラム配置手段と、
何れかの前記第2のコンピュータに障害が発生してフェイルオーバーが行われた場合、フェイルオーバーが行われていない残りの前記プログラムセットの前記2つのプログラムのアクティブとスタンバイとを切り替える切替パターンを、前記フェイルオーバー後の前記複数の第2のコンピュータそれぞれの処理負荷と前記複数の第2のコンピュータ間の通信負荷との少なくとも一方を考慮して決定する切替パターン決定手段と、
前記決定した切替パターンに従って、前記フェイルオーバーが行われていない前記プログラムセットの前記2つのプログラムのうちアクティブとして動作しているプログラムをスタンバイに切り替え、スタンバイとして動作しているプログラムをアクティブに切り替える切替手段と
を有するコンピュータ。 The first computer in a computer system in which a first computer and a plurality of second computers are connected to be able to communicate with each other through a network,
An arrangement pattern in which a plurality of program sets, each of which is a set of two programs that operate as one active and the other as a standby, are arranged in the plurality of second computers, and the two programs in the same program set are the same An arrangement pattern determining means for determining an arrangement pattern that is not arranged in the second computer and that takes into account at least one of the processing load of each of the plurality of second computers and the communication load between the plurality of second computers;
Program placement means for placing the plurality of program sets on the plurality of second computers according to the determined placement pattern;
When a failure occurs in any of the second computers and a failover is performed, a switching pattern for switching between active and standby of the two programs of the remaining program set that has not been failed over, Switching pattern determining means for determining in consideration of at least one of the processing load of each of the plurality of second computers after the failover and the communication load between the plurality of second computers;
Switching means for switching a program operating as active among the two programs of the program set that has not been failed over to standby and switching a program operating as standby to active according to the determined switching pattern And a computer having.
それぞれ一方がアクティブ、他方がスタンバイとして動作する2つのプログラムのセットである複数のプログラムセットを前記複数の第2のコンピュータに配置する配置パターンであって、同じプログラムセットの前記2つのプログラムが同じ前記第2のコンピュータに配置されず且つ前記複数の第2のコンピュータそれぞれの処理負荷と前記複数の第2のコンピュータ間の通信負荷との少なくとも一方を考慮した配置パターンを決定するステップと、
前記決定した配置パターンに従って、前記複数の第2のコンピュータに前記複数のプログラムセットを配置するステップと、
何れかの前記第2のコンピュータに障害が発生してフェイルオーバーが行われた場合、フェイルオーバーが行われていない残りの前記プログラムセットの前記2つのプログラムのアクティブとスタンバイとを切り替える切替パターンを、前記フェイルオーバー後の前記複数の第2のコンピュータそれぞれの処理負荷と前記複数の第2のコンピュータ間の通信負荷との少なくとも一方を考慮して決定するステップと、
前記決定した切替パターンに従って、前記フェイルオーバーが行われていない前記プログラムセットの前記2つのプログラムのうちアクティブとして動作しているプログラムをスタンバイに切り替え、スタンバイとして動作しているプログラムをアクティブに切り替えるステップと
を行わせるためのプログラム。 A first computer in a computer system in which a first computer and a plurality of second computers are connected to each other through a network;
An arrangement pattern in which a plurality of program sets, each of which is a set of two programs that operate as one active and the other as a standby, are arranged in the plurality of second computers, and the two programs in the same program set are the same Determining an arrangement pattern in consideration of at least one of a processing load of each of the plurality of second computers and a communication load between the plurality of second computers, which is not arranged in the second computer;
Arranging the plurality of program sets on the plurality of second computers according to the determined arrangement pattern;
When a failure occurs in any of the second computers and a failover is performed, a switching pattern for switching between active and standby of the two programs of the remaining program set that has not been failed over, Determining in consideration of at least one of the processing load of each of the plurality of second computers after the failover and the communication load between the plurality of second computers;
Switching the program operating as active out of the two programs of the program set not being failed over to standby and switching the program operating as standby active according to the determined switching pattern; A program to let you do.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012073352A JP6024148B2 (en) | 2012-03-28 | 2012-03-28 | Program placement method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012073352A JP6024148B2 (en) | 2012-03-28 | 2012-03-28 | Program placement method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013206051A JP2013206051A (en) | 2013-10-07 |
JP6024148B2 true JP6024148B2 (en) | 2016-11-09 |
Family
ID=49525082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012073352A Active JP6024148B2 (en) | 2012-03-28 | 2012-03-28 | Program placement method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6024148B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10972548B2 (en) * | 2019-09-09 | 2021-04-06 | International Business Machines Corporation | Distributed system deployment |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003256399A (en) * | 2002-02-26 | 2003-09-12 | Nec Corp | Control method for switching in hot standby system |
JP4595892B2 (en) * | 2005-06-30 | 2010-12-08 | 株式会社日立製作所 | Database management system construction method, apparatus, program, and recording medium |
JP2009081736A (en) * | 2007-09-26 | 2009-04-16 | Toshiba Corp | Packet transfer apparatus and program |
JP5448787B2 (en) * | 2009-12-21 | 2014-03-19 | 三菱重工業株式会社 | Computer management apparatus, computer management method, and computer management program |
-
2012
- 2012-03-28 JP JP2012073352A patent/JP6024148B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013206051A (en) | 2013-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5035299B2 (en) | Multi-core processor control method, computer system thereof, and management computer program | |
US8230069B2 (en) | Server and storage-aware method for selecting virtual machine migration targets | |
JP6616827B2 (en) | Scalable data storage pool | |
JP5729466B2 (en) | Virtual machine management apparatus, virtual machine management method, and program | |
JP2008152594A (en) | Method for enhancing reliability of multi-core processor computer | |
JP5872433B2 (en) | Virtual machine placement apparatus and virtual machine placement method | |
JP5827594B2 (en) | Virtual machine placement apparatus and virtual machine placement method | |
CN112948063B (en) | Cloud platform creation method and device, cloud platform and cloud platform implementation system | |
US10103956B2 (en) | Virtual machine processor and memory resource coordinator | |
JP2019087033A (en) | Information processing device, information processing system, and program | |
JP6116102B2 (en) | Cluster system and load balancing method | |
JP2011186701A (en) | Resource allocation apparatus, resource allocation method and resource allocation program | |
JP2013069214A (en) | Storage system | |
CN108717383A (en) | A kind of method and apparatus of update check block | |
CN111913670A (en) | Load balancing processing method and device, electronic equipment and storage medium | |
CN110058789A (en) | Method for managing a storage system, storage system and computer program product | |
CN112433858A (en) | Load distribution method, device, equipment and readable storage medium | |
JP6520512B2 (en) | Information processing apparatus, priority calculation program and data center system | |
JP5515889B2 (en) | Virtual machine system, automatic migration method and automatic migration program | |
JP6024148B2 (en) | Program placement method | |
JP5914699B2 (en) | Database workload balancing through migration | |
JP5321195B2 (en) | Monitoring control system, monitoring control method, monitoring control server, and monitoring control program | |
JP2014167713A (en) | Information processing device, information processing system, information processing device management program and information processing device management method | |
Grau et al. | NETplace: Efficient runtime minimization of network emulation experiments | |
JP2011070464A (en) | Computer system, and method of managing performance of the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160412 |
|
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: 20160913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160926 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6024148 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |