JP2010237730A - 移動スケジュール設計装置、移動スケジュール設計プログラム、移動スケジュール設計方法 - Google Patents

移動スケジュール設計装置、移動スケジュール設計プログラム、移動スケジュール設計方法 Download PDF

Info

Publication number
JP2010237730A
JP2010237730A JP2009081754A JP2009081754A JP2010237730A JP 2010237730 A JP2010237730 A JP 2010237730A JP 2009081754 A JP2009081754 A JP 2009081754A JP 2009081754 A JP2009081754 A JP 2009081754A JP 2010237730 A JP2010237730 A JP 2010237730A
Authority
JP
Japan
Prior art keywords
program
movement
amount
data
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009081754A
Other languages
English (en)
Other versions
JP5369824B2 (ja
Inventor
Tsutomu Kawai
励 河合
Hiroyuki Yamashima
弘之 山島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009081754A priority Critical patent/JP5369824B2/ja
Publication of JP2010237730A publication Critical patent/JP2010237730A/ja
Application granted granted Critical
Publication of JP5369824B2 publication Critical patent/JP5369824B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】 サービス性能の低下を防止するプログラムの移動スケジュールを設計する移動スケジュール設計装置を提供する。
【解決手段】 移動スケジュール設計装置に、移動前または後のコンピュータでの利用可能なCPU量をプログラムの数で按分するCPU量分配部2と、プログラムごとのCPU量に基づき、ネットワークの帯域をプログラムごとに算出し、またプログラムごとの移動時間を算出する移動時間計算部3と、算出された移動時間が最短となるプログラムを選択し、移動完了予定時間から選択されたプログラムの移動時間分さかのぼった時間を選択されたプログラムの移動開始時間とするとともに、選択されていない残プログラムの残データ量を算出する開始時間決定部4と、残プログラムが残データ量を有するプログラムであるとして、上記各部に処理を繰り返し実行させるよう制御する反復制御部5とを備えた。
【選択図】図2

Description

サーバ間でプログラムが移動する際のスケジュールを設計する移動スケジュール設計装置、移動スケジュール設計プログラム、移動スケジュール設計方法に関する。
仮想化データセンタは、サービスを提供するサーバをソフトウェアで仮想化し、複数の仮想サーバ(仮想インスタンス:以降単にインスタンスと呼ぶ)を同一物理サーバ上で起動させることで運用する。このような仮想化データセンタは、物理サーバ1000台以上、インスタンス数5000〜7000以上の規模になり得る。
また仮想化データセンタでは、物理サーバはラックに格納され、ラック単位で管理される。各物理サーバはラック内のスイッチ(以下、ラック内SW(SW:スイッチ装置)と称す)に直接接続され、さらにそのラック内SWが上位層のラック間スイッチ(ここではラック間SWと称す)に接続される等、多段構成のスイッチで接続されることで、全物理サーバ間のネットワークが構築されることになる。その際、ラック間SWを経由する場合に利用可能な帯域は、ラック内SWの帯域より狭くなる。
ラック間SWの帯域が狭いことから、複数のインスタンスから成るサービスのうち、一部のインスタンスが別のラックにある物理サーバに配置して稼動させると、他のサービスやストレージなどのデータ通信とスイッチ間帯域の奪い合いになり、サービス性能が低下する場合がある。よって同一サービスのインスタンスは同一ラック内SW下の各物理サーバに配置するよう設計される。
また、仮想化データセンタの運用管理の上で、インスタンスの収容率向上やインスタンスのサイズ増減/数量増減を調整するため、インスタンスの再配置が実施される。この際にも、同一サービスのインスタンスがラック間にまたがらないように再配置設計が行われる。
実際に別ラックの各物理サーバにサービスを移動させる場合において、サービス内の全インスタンスの移動要求を同時に行っても、各々のインスタンスのリソース量(割当CPU(Central Processing Unit)性能、割当メモリ量など)の違いによりインスタンスの移動時間が異なるため、サービス移動作業中には移動前のラックで稼動するインスタンスと移動後のラックで稼動するインスタンスが混在する状態が発生する。
なお、従来技術として、以下の文献が開示されている。
特表2004−508616号公報 特開2004−110791号公報
図16に、ラックA内のインスタンスであるWEBインスタンス(図16ではWEBと表記)、APPインスタンス(APP:アプリケーション(図16ではAPPと表記)、およびDBインスタンス(DB:Database(図16ではDBと表記))で使用される主記憶装置(以下メモリと称す)内のデータをラックB内の各物理サーバに移動させるときの動作について説明する。尚、ユーザからの要求およびサービスを提供するための処理上発生するデータ通信は、SW−A、SW−C、SW−Bの各スイッチによって構成されるサービス系NETを介して行われ、各インスタンスのデータの移動は管理系ネットを介して行われる。
図16(A)に移動前の初期状態を示す。ここで、各インスタンスのメモリ内のデータの移動(以下、単に移動と称す)が同時刻に同時に開始された場合、まずリソース量の小さい順に移動処理が完了する。本例では、APPインスタンスの移動が完了し(図16(B)参照)、その後WEBインスタンスの移動が完了するものとする(図16(C)参照)。
図16(B)、図16(C)の状態でユーザからサービス提供の要求があった場合、従来の技術では、先に移動完了したインスタンスと未だ移動が完了していないインスタンスとの間で、サービスを提供するための処理上発生するデータ通信がサービス系ネット上で始まるため、サービス性能が低下する場合がある。また、単にサービス移動時のメモリコピー完了を同期するだけでは、同期待ちの間も変更されたメモリ内のデータが継続的にコピーされてしまい、リソースを無駄に消費してしまう。
この問題を解消するため、サービスを構成するインスタンス群の切り替えが同時に行われるよう、移動が終わった段階のインスタンスに対し、移動後物理サーバ上での処理を他のインスタンスの移動が完了するまで待機させ、全てのインスタンスの移動が完了した後に切り替える方法も考えられる。しかし、ユーザからの要求があった場合、移動が完了したインスタンスに関しても、移動元の物理サーバ内で稼動しているインスタンスのメモリが更新され続け、更新され続ける限り当該移動が完了したインスタンスにも移動処理が継続して行われる。よって、移動待機中に無駄に資源を消費し、また他のインスタンスの移動に影響を及ぼす。よって、全体の移動時間が増大することになってしまう。
本発明は上述した問題点を解決するためになされたものであり、サービスを構成する各インスタンスについて、インスタンスのメモリ量や移動時に利用可能な資源量、そして同時に移動するインスタンスの組み合わせを考慮して、インスタンスの移動にかかる時間の見積もりを行い、サービスを構成する全インスタンスの移動完了時間が一致するように各インスタンスの移動開始時間を設定することができる移動スケジュール設計装置、移動スケジュール設計プログラム、移動スケジュール設計方法を提供することを目的とする。
移動スケジュール設計装置は、複数のプログラムそれぞれが稼動しているときのメモリ内のデータそれぞれを、他の一つまたは複数のコンピュータのメモリに移動させるためのスケジュールを設計する移動スケジュール設計装置であって、移動元または移動先のコンピュータでの利用可能なCPU量を、データを移動させるべきプログラムの数で按分し、該按分されたCPU量を前記プログラムそれぞれに分配するCPU量分配部と、前記CPU量分配部によって分配された前記プログラムごとのCPU量に基づき、前記メモリ内のデータそれぞれを移動させるときに使用されるネットワークの帯域を、前記プログラムごとに算出し、算出した前記プログラムごとの帯域と前記プログラムごとのデータ量とに基づき、前記プログラムごとの移動時間を算出する移動時間計算部と、前記移動時間計算部によって算出された移動時間が最短となるプログラムを選択し、移動させるべきプログラム全ての移動が完了する予定時間から前記選択されたプログラムの移動時間分さかのぼった時間を前記選択されたプログラムの移動開始時間とするとともに、前記選択されたプログラム以外の残プログラムに対し、前記残プログラムのデータそれぞれが前記最短の移動時間のうちに移動したものとみなしたときの残りのデータ量である未移動データ量を、前記残プログラムごとに算出する開始時間決定部と、前記未移動データ量を有する残プログラムが無くなるまで、前記残プログラムそれぞれが前記未移動データ量それぞれを有するプログラムであるとして、前記残プログラムを対象とした処理を前記CPU量分配部、前記移動時間計算部、前記開始時間決定部に繰り返し実行させるよう制御する反復制御部と、を備える。
移動スケジュール設計プログラムは、複数のプログラムそれぞれが稼動しているときのメモリ内のデータそれぞれを、他の一つまたは複数のコンピュータのメモリに移動させるためのスケジュールを設計する処理を、コンピュータに実行させる移動スケジュール設計プログラムであって、移動元または移動先のコンピュータでの利用可能なCPU量を、データを移動させるべきプログラムの数で按分し、該按分されたCPU量を前記プログラムそれぞれに分配するステップと、分配された前記プログラムごとのCPU量に基づき、前記メモリ内のデータそれぞれを移動させるときに使用されるネットワークの帯域を、前記プログラムごとに算出し、算出した前記プログラムごとの帯域と前記プログラムごとのデータ量とに基づき、前記プログラムごとの移動時間を算出するステップと、算出された移動時間が最短となるプログラムを選択し、移動させるべきプログラム全ての移動が完了する予定時間から前記選択されたプログラムの移動時間分さかのぼった時間を前記選択されたプログラムの移動開始時間とするとともに、前記選択されたプログラム以外の残プログラムに対し、前記残プログラムのデータそれぞれが前記最短の移動時間のうちに移動したものとみなしたときの残りのデータ量である未移動データ量を、前記残プログラムごとに算出するステップと、前記未移動データ量を有する残プログラムが無くなるまで、前記残プログラムがそれぞれ前記未移動データ量それぞれを有するプログラムであるとして、前記残プログラムを対象とした処理を前記各ステップに繰り返し実行させるよう制御するステップと、をコンピュータに実行させる。
移動スケジュール設計方法は、複数のプログラムそれぞれが稼動しているときのメモリ内のデータそれぞれを、他の一つまたは複数のコンピュータのメモリに移動させるためのスケジュールを設計する処理を、コンピュータが実行する移動スケジュール設計方法であって、移動元または移動先のコンピュータでの利用可能なCPU量を、データを移動させるべきプログラムの数で按分し、該按分されたCPU量を前記プログラムそれぞれに分配するステップと、分配された前記プログラムごとのCPU量に基づき、前記メモリ内のデータそれぞれを移動させるときに使用されるネットワークの帯域を、前記プログラムごとに算出し、算出した前記プログラムごとの帯域と前記プログラムごとのデータ量とに基づき、前記プログラムごとの移動時間を算出するステップと、算出された移動時間が最短となるプログラムを選択し、移動させるべきプログラム全ての移動が完了する予定時間から前記選択されたプログラムの移動時間分さかのぼった時間を前記選択されたプログラムの移動開始時間とするとともに、前記選択されたプログラム以外の残プログラムに対し、前記残プログラムのデータそれぞれが前記最短の移動時間のうちに移動したものとみなしたときの残りのデータ量である未移動データ量を、前記残プログラムごとに算出するステップと、前記未移動データ量を有する残プログラムが無くなるまで、前記残プログラムそれぞれが前記未移動データ量それぞれを有するプログラムであるとして、前記残プログラムを対象とした処理を前記各ステップに繰り返し実行させるよう制御するステップと、をコンピュータが実行する。
移動させるべきプログラムの移動完了時間が同時となるスケジュールを設計できるため、設計されたスケジュールでプログラムの移動作業処理がなされている最中にユーザから要求が発生した場合でも、サービス性能の低下を防止することができる。
従来のインスタンス移動手法と本実施の形態でのインスタンス移動手法によるサービス系ネットの品質の差異を説明するための図である。 本実施の形態に係るインスタンス移動管理システムの機能の一例を説明するための図である。 本実施の形態に係る移動スケジュール設計装置が使用するデータの一例を示す図である。 本実施の形態に係るスケジュール設計方法の一例を説明するための図である(初期状態)。 本実施の形態に係るスケジュール設計方法の一例を説明するための図である(CPU量の分配)。 本実施の形態に係るスケジュール設計方法の一例を説明するための図である(移動用帯域消費の計算)。 本実施の形態に係るスケジュール設計方法の一例を説明するための図である(移動用帯域消費の補正)。 本実施の形態に係るスケジュール設計方法の一例を説明するための図である(移動用CPU消費の修正)。 本実施の形態に係るスケジュール設計方法の一例を説明するための図である(転送時間の算出)。 本実施の形態に係るスケジュール設計方法の一例を説明するための図である(DBインスタンスの移動開始時間確定)。 本実施の形態に係るスケジュール設計方法の一例を説明するための図である(APインスタンスの移動開始時間確定)。 本実施の形態に係るスケジュール設計方法の一例を説明するための図である(WEBインスタンスの移動開始時間確定)。 本実施の形態に係る移動スケジュール設計装置の処理の一例を示すフローチャートである。 本実施の形態に係る移動スケジュール設計装置のハードウェア構成の一例を示す図である。 本実施の形態に係る移動スケジュール設計装置内部のハードウェア構成の一例を示す図である。 従来の所定ラックに設置された各物理サーバ内のメモリデータを他のラック内の各物理サーバに移動させるときの動作を説明するための図である。
まず、図1に基づき、従来のインスタンス移動手法と本実施の形態でのインスタンス移動手法によるサービス系ネット(サービスをラック間SWを介してユーザに提供するためのネットワーク)の品質の差異ついて説明する。尚、本実施の形態では、ユーザからの要求を受け付け、ユーザへ処理結果を送信するフロントエンドであるWEBインスタンス、ユーザに提供するデータが蓄積されているDBインスタンス、およびユーザからの要求に応じた処理をDBインスタンスからデータを取得等することで行うアプリケーションインスタンス(以下、APPインスタンス)の各プログラムによって、1つのサービスが構成されているものとする。また、各インスタンスは、所定のラック内SWに接続された物理サーバから、他のラック内SWに接続された物理サーバに移動するものとする。
従来のインスタンス移動手法(図1(A)参照)は、予め設定されたインスタンスの移動開始時間になると、サービスを提供するための全てのインスタンスが同時に移動処理を開始する。ここで、例えばDBインスタンスの移動が終了した場合、DBインスタンスが移動先ラックの物理サーバで稼動し、他のインスタンスは移動元ラックの物理サーバで稼動することになる。この状態でユーザから要求があった場合、DBインスタンスとその他のインスタンスとの間で生ずるトランザクション分、サービス系ネットの帯域が消費される。
その後APPインスタンスの移動が完了した場合も同様に、WEBインスタンスとその他のAPPインスタンス、DBインスタンスとの間で生ずるトランザクション分、サービス系ネットの帯域が消費される。
このようにインスタンス間のトランザクションによる帯域消費の発生は、稼動するインスタンスがラック間SWを跨ぐことに起因する。よって、この帯域消費を抑止するため、本実施の形態では、全てのインスタンスの移動完了時間が同じ時間となるようなインスタンス移動スケジュールを設計する手法について提案する(図1(B)参照)。このように移動完了時間を同じとした場合、インスタンス移動処理中は移動元ラック内でユーザ要求に対する処理が完結するため、サービス系ネットでは余計な帯域消費は発生しない。またインスタンス移動処理が完了した場合は、即座に移動先ラック内で処理が行われるようになる。
図2に、本実施の形態に係るインスタンス移動管理システムについて説明する。インスタンス移動管理システム100は、移動スケジュール設計装置10、インスタンス管理機能部20、サービス移動管理機能部30を有する。
サービス移動管理機能部30は、ユーザ200からのサービス単位での移動指示を受け付け、移動スケジュール設計装置10に当該サービスに係るインスタンスの移動スケジュールの設計を指示する。またサービス移動管理機能部30は、当該サービスに係るインスタンスの移動完了通知をインスタンス管理機能部20より受ける。
移動スケジュール設計装置10は、サービス移動管理機能部30によって移動指示を受けたサービスに係るインスタンスの移動スケジュールを設計する。
インスタンス管理機能部20は、移動スケジュール設計装置10から各インスタンスの移動開始時間を取得し、現在時間が所定のインスタンスの移動開始時間になった場合に当該所定のインスタンスを移動させる。またインスタンス管理機能部20は、全てのインスタンスが移動完了となった場合にサービス移動管理機能部30に移動完了の通知をする。
本実施の形態では、インスタンス管理機能部20、サービス移動管理機能部30は、ともに演算処理装置、記憶装置を有するコンピュータである。
ここで、移動スケジュール設計装置10について、さらに説明する。移動スケジュール設計装置10は、インスタンスの移動スケジュールを設計するための処理を行う機能部である移動スケジュール設計部1を有し、移動スケジュール設計部1は、CPU量分配部2、移動時間計算部3、開始時間決定部4、反復制御部5を備える。
CPU量分配部2は、移動前または移動後の物理サーバでの利用可能なCPU量を、移動させるべきインスタンスの数で按分し、按分されたCPU量をインスタンスそれぞれに分配する。
移動時間計算部3は、CPU量分配部2によって分配されたインスタンスごとのCPU量に基づき、メモリ内のデータそれぞれを移動させるときに使用されるネットワーク(管理系ネット)の帯域を、インスタンスごとに算出し、算出したインスタンスごとの帯域とインスタンスごとのメモリ内のデータ量とに基づき、インスタンスごとの移動時間を算出する。
開始時間決定部4は、移動時間計算部3によって算出された移動時間が最短となるインスタンスを選択し、移動させるべきインスタンス全ての移動が完了する予定時間から選択されたインスタンスの移動時間分さかのぼった時間を、選択されたインスタンスの移動開始時間とする。また開始時間決定部4は、選択されたインスタンス以外の残りのインスタンス(ここでは残インスタンスと称す)に対し、残インスタンスのデータが上記最短の移動時間のうちに移動したものとみなしたときの残りのデータ量(ここでは未移動データ量と称す)を、残プログラムごとに算出する。
反復制御部5は、未移動データ量を有する残プログラムが無くなるまで、残プログラムが未移動データ量を有するインスタンスであるとして、残プログラムを対象とした処理をCPU量分配部2、移動時間計算部3、開始時間決定部4に繰り返し実行させるよう制御する。
また移動スケジュール設計部1は、予め設定されたデータテーブルである移動サービス構成表11、物理サーバ利用可能資源量表12、CPU資源対転送速度表13、ラック間利用可能帯域表14を用いて、移動スケジュール資源見積表15、移動スケジュール表16の所定項目を算出する。
図3に、移動スケジュール設計部1が使用するデータテーブルの一例を示す。
移動サービス構成表11は、移動対象であるサービスの識別子(サービス名)、当該サービスに係るインスタンスの識別子(インスタンス名)、移動前ラックの識別子(移動前ラック)および移動前ラックに属する物理サーバの識別子(移動前物理サーバ)、移動後ラックの識別子(移動後ラック)および移動後ラックに属する物理サーバの識別子(移動後物理サーバ)の各項目の対応関係を有するテーブルである(図3(A)参照)。物理サーバ利用可能資源量表12は、物理サーバの識別子(物理サーバ名)、当該物理サーバの利用可能なCPU量(利用可能CPU量)、当該物理サーバのポートの利用可能な帯域(利用可能ポート帯域)を有する(図3(B)参照)。尚、利用可能なCPU量とは、例えばCPUクロック数が500MHzの物理サーバで、450MHz分使用されている場合、利用可能なCPU量は50(=500−450)とする等、少なくともCPUのクロック数に基づいた指標である。
CPU資源対転送速度表13は、物理サーバ名と、当該物理サーバのCPU性能単位あたりの移動速度を有する(図3(C)参照)。尚、CPU性能単位とは、CPUクロックの1MHzを1とする等、CPUの性能を示す指標である。例えば、CPU性能単位をクロック1MHzあたり1とした場合に、CPUクロック数が500MHzの物理サーバで450MHz分使用されている場合、利用可能なCPU量は50(=500−450)となる。CPU性能単位あたりの移動速度とは、例えばCPU性能単位を1とした場合の、インスタンスの移動に使用されるネットワークでの転送速度を示す指標である。CPU性能単位あたりの移動速度は、例えばスイッチ等の中継装置やケーブルの特性等を考慮したベンチマークの結果が用いられる。
ラック間利用可能帯域表14は、移動前ラック、移動後ラックの識別子(ラック名)と、移動前後のラック間のネットワークでの利用可能な帯域(利用可能スイッチ帯域)を有する(図3(D)参照)。
移動スケジュール資源見積表15は、インスタンス名、当該インスタンスが移動する際に使用されるCPU消費量(移動用CPU消費)、物理サーバの利用可能CPU量(物理サーバ利用可能CPU)、当該インスタンスが移動する際に使用される帯域の消費量(移動用帯域消費)、当該インスタンスが格納されている(または格納される予定の)移動前、移動後の物理サーバのポートで利用することができる帯域(利用可能ポート帯域)、利用可能スイッチ帯域、移動前の物理サーバから未だ移動されていないメモリのデータ量(未移動メモリ)、および当該インスタンスを移動するときにかかる時間(転送時間)の各データを有する(図3(E)参照)。尚、物理サーバ利用可能CPUには、当該インスタンスが稼動している移動前物理サーバ、または当該インスタンスが稼動する予定の移動後物理サーバのいずれかの物理サーバで、利用可能CPU量の小さいものが採用される。
移動スケジュール表16は、サービス名、インスタンス名、移動前物理サーバ名、移動後物理サーバ名、および当該インスタンスが使用するメモリ量であり、当該インスタンスで移動すべきメモリ総量(総メモリ量)を有する。また、移動スケジュール表16は、時間帯ごとの各インスタンスの移動量(メモリ内データの転送量)を示す時間帯毎移動量を有する(図3(F)参照)。
尚、移動スケジュール資源見積表15の移動用CPU消費、移動用帯域消費、未移動メモリ、転送時間、および移動スケジュール表16の時間帯毎移動量の各値は、処理が進むにつれ設定または更新されていくものである。
次に、移動スケジュール設計装置10のスケジュール設計方法の一例について、図4から図12までを参照しつつ説明する。本例では、移動前のラックである移動前ラック301と移動後のラックである移動後ラック302との間でのインスタンスの移動について説明する。また、移動前ラック301内の1つの物理サーバ上でWEBインスタンス(図面中、INS−A−webと表記)、APPインスタンス(図面中、INS−A−appと表記)の2つのインスタンスが稼動しており、移動前ラック301内の他の1つの物理サーバ上でDBインスタンス(図面中、INS−A−dbと表記)が稼動しているものとする。本例では、移動スケジュール設計装置10は、これら各インスタンスが移動後ラック302内の3つの物理サーバにそれぞれ移動する場合のスケジュールを設計するものとする。
まず、本例での初期状態を図4に示す。図4(A)は、移動前ラック301内、および移動後ラック302内の各物理サーバのCPU使用量、およびメモリ使用量をバー状のグラフとして示し、また移動前ラック301と移動後ラック302との間の管理系ネットの使用帯域をバー状のグラフとして示した模式図である。図4(B)は、移動スケジュール資源見積表15の現在のテーブル状態であり、図4(C)は移動スケジュール表16の現在のテーブル状態である。以降図12まで、これらの(A)〜(C)の図をそれぞれ遷移させながら説明する。尚、各図の(B)、(C)に対しては、処理によって数値が書き込まれた箇所および更新された箇所は破線で囲んである。
CPU量分配部2は、図5に示すように移動対象のインスタンスが稼動する移動前物理サーバごとに、利用可能なCPU量を求め、求めた利用可能CPU量を移動対象のインスタンスごとに分配する。本例では、図5(A)で示すように、CPU量分配部2は、WEBインスタンス、APPインスタンスが稼動している物理サーバに対し、WEBインスタンス、APPインスタンスの稼動に使用するCPU量以外の残りのCPU量を2で按分し、これらを移動の際に使用されるCPU量とする(本例ではWEBインスタンス、APPインスタンスの2つが稼動しているため2で按分したが、例えばインスタンスが3つ稼動している場合は、3で按分する)。またCPU量分配部2は、DBインスタンスが稼動している物理サーバでは、インスタンスの数がDBインスタンスの1つのみであるため、DBインスタンスの稼動に使用するCPU量以外の残りのCPU量そのままを、移動時に使用されるCPU量とする。
この処理は、CPU量分配部2が、移動スケジュール資源見積表15の物理サーバ利用可能CPUを物理サーバごとにインスタンス数で按分し、按分結果を移動用CPU消費に書き込むことでなされる(図5(B)参照)。
移動時間計算部3は、算出されたインスタンスごとの移動用CPU消費と、CPU資源対転送速度表13のCPU性能単位当り移動速度とを積算することで、インスタンスごとの管理系ネットの帯域消費量(移動スケジュール資源見積表15の移動用帯域消費)を算出する。この処理によって、図6(B)に示すように移動用帯域消費の値が新たに算出される。
尚、この状態でのインスタンスの移動用帯域消費量の合計値は、図6(A)でも示すように、管理系ネットの帯域(尚、管理系ネットの帯域は、利用可能ポート帯域、利用可能スイッチ帯域でのいずれか小さいものが採用される)を超えてしまっている。このように、インスタンスごとの移動用帯域消費を合計した帯域(ここでは合算帯域と称す)が、管理系ネットの現在使用できる帯域(ここでは利用可能帯域とする)を超えている場合、移動時間計算部3は、合算帯域を現在使用できる帯域となるよう、インスタンスごとの帯域消費量を補正する。
移動時間計算部3は、図7(A)で示すように合算帯域が利用可能帯域に収まるようにするため、利用可能帯域を合算帯域で除算し、除算で得た値と現状の移動用帯域消費の値(図6(B)参照)とを積算することで、移動用帯域消費の値を補正する(図7(B)参照)。
また、移動時間計算部3は、ここで移動用CPU消費も修正する。図8(B)で示すように、移動用帯域消費の値が補正された分の比率と同じ比率で、移動用CPU消費も修正される。
移動時間計算部3は、このように補正した移動用帯域消費の値に基づき、現時点での各インスタンスの移動転送時間を算出する。すなわち、移動時間計算部3は、移動スケジュール資源見積表15内の未移動メモリと、補正処理を行った後の移動用帯域消費とに基づき、現時点での転送時間を算出し、移動スケジュール資源見積表15に算出した転送時間を書き込む。ここで、転送時間が書き込まれた移動スケジュール資源見積表15を図9(B)に示す。
次に開始時間決定部4は、移動時間計算部3によって算出された転送時間が最短であるインスタンスを選択する。本例ではDBインスタンスの転送時間が120秒と算出され、これが最短であるため、DBインスタンスが選択される。
また開始時間決定部4は、移動終了予定時間から選択されたインスタンスの移動時間分さかのぼった時間を、選択されたインスタンスの移動開始時間と決定し、移動スケジュール表16の時間帯毎移動量にデータを書き込む。例えば移動終了予定時間が午前3時であるとすると、開始時間決定部4は、120秒さかのぼった時間である午前2時58分から午前3時という時間情報を時間帯毎移動量に書き込む。また開始時間決定部4は、午前2時58分から午前3時までの、インスタンスごとの転送量を、転送時間とインスタンスごとの移動用帯域消費とに基づき算出し、時間帯毎移動量に書き込む(図10(C)参照)。
本例では、DBインスタンスが使用するメモリのデータ量(総メモリ量)全てが転送完了となったスケジュールを作成できたので、DBインスタンスに関する移動スケジュール設計は終了する。また、この時点では、WEBインスタンスの未移動メモリ量は512MB(=768MB−256MB)、APPインスタンスの未移動メモリ量は256MB(=512MB−256MB)である。
引き続き上述図4から図10で説明した処理と同じ処理を、今度はWEBインスタンス、APPインスタンスそれぞれの残りのメモリ量に対し行うと図11に示す状態となる。すなわち、APPインスタンスの転送時間(60秒)の方がWEBインスタンスの転送時間(120秒)よりも短いと算出され、移動スケジュール表16の時間帯毎移動量に次のインスタンスの移動開始時間等が書き込まれる。この時点でAPPインスタンスが使用するメモリのデータ量(総メモリ量)全てが転送完了となったスケジュールを作成できたので、APPインスタンスに関する移動スケジュール設計は終了する。
最後に、上述図4から図10で説明した処理と同じ処理を、WEBインスタンスのみに対し行うことで、WEBインスタンスの移動開始時間も決定される(図12(C)参照)。また、移動スケジュール設計装置10は、図12(D)で示すフォーマットで移動指示をインスタンス管理機能部20に対し行う。
次に、移動スケジュール設計装置10の処理について、図13のフローチャートを参照しつつ説明する。
反復制御部5は、未だ移動していないメモリが残っているインスタンス(図13ではinsと表記)を選択する(S1)。反復制御部5は、全てのインスタンスの移動が完了したかを判定し(S2)、全てのインスタンスの移動が完了している場合(S2、yes)、処理は終了する。一方、全てのインスタンスの移動が完了していない場合(S2、no)、CPU量分配部2は、移動スケジュール見積表15のテーブルを新規に作成、または更新する(S3)。尚、新規作成の場合、CPU量分配部2は、移動用CPU消費、移動用帯域消費、転送時間以外の事項を書き込む。CPU量分配部2は、次に利用可能CPU量をインスタンス毎に分配する(S4)。
移動時間計算部3は、分配されたCPU量から帯域消費をインスタンス毎に計算し(S5)、帯域消費の合計が物理サーバのポートで利用可能な帯域を超過しているかを判定する(S6)。ポートで利用可能な帯域を超過している場合(S6、yes)、移動時間計算部3は、帯域消費の合計がポートで利用可能な帯域となるよう、インスタンス毎の帯域消費を補正する(S7)。一方、ポートで利用可能な帯域を超過していない場合(S6、no)、移動時間計算部3は、S7をスキップしS8へ処理を進める。
次に、移動時間計算部3は、帯域消費の合計がラック間のネットワークである管理系ネットで利用可能な帯域を超過しているかを判定する(S8)。管理系ネットで利用可能な帯域を超過している場合(S8、yes)、移動時間計算部3は、帯域消費の合計が管理系ネットで利用可能な帯域となるよう、インスタンス毎の帯域消費を補正する(S9)。一方、管理系ネットで利用可能な帯域を超過していない場合(S8、no)、移動時間計算部3は、S9をスキップしS10へ処理を進める。
移動時間計算部3は、必要に応じてインスタンス毎のCPU量を帯域に合わせて補正する(S10)。移動時間計算部3は、未移動メモリ量とインスタンス毎に割り当てられる補正後の帯域から、インスタンス毎に未移動メモリの移動時間を計算する(S11)。
開始時間決定部4は、移動時間が最短となるインスタンスを選択し(S12)、移動スケジュール表16の時間毎移動量を計算する(S13)。また開始時間決定部4は、このときに、選択されたインスタンス以外の残インスタンスに対応する移動スケジュール資源見積表15の未移動メモリを更新する。
その後反復制御部5は、移動したメモリ量の合計が総メモリ量に満たないインスタンスが残っている場合は、その残ったインスタンスが未移動メモリ分のデータ量を有するインスタンスであるとして、上記S1からS13の処理が繰り返し実行されるよう制御する(S13からS1へのループ)。このように、反復制御部5によって未移動のインスタンスが無くなるまで上述S1からS13までの処理が繰り返される。
なお、本発明は以下に示すようなコンピュータシステムにおいて適用可能である。図14は、本発明が適用されるコンピュータシステムの一例を示す図である。この図に示すコンピュータシステム900は、CPUやディスクドライブ等を内蔵した本体部901、本体部901からの指示により画像を表示するディスプレイ902、コンピュータシステム900に種々の情報を入力するためのキーボード903、ディスプレイ902の表示画面902a上の任意の位置を指定するマウス904及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置905を有する。通信装置905は、ネットワーク通信カード、モデムなどが考えられる。
上述したような、移動スケジュール設計装置を構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、移動スケジュール設計プログラムとして提供することができる。このプログラムは、コンピュータシステムにより読み取り可能な記録媒体に記憶させることによって、移動スケジュール設計装置のコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク910等の可搬型記録媒体に格納されるか、通信装置905により他のコンピュータシステムの記録媒体906からダウンロードされる。また、コンピュータシステム900に少なくとも移動スケジュール設計機能を持たせる移動スケジュール設計プログラムは、コンピュータシステム900に入力されてコンパイルされる。このプログラムは、コンピュータシステム900を、移動スケジュール設計機能を有する移動スケジュール設計システムとして動作させる。また、このプログラムは、例えばディスク910等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム900により読み取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、ディスク910やフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置905のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
ここで、上述の移動スケジュール設計装置のハードウェア構成について図15を参照しつつ説明する。移動スケジュール設計装置は、演算処理装置であるCPU(Central Processing Unit)951、主記憶装置であるメモリ952、ディスク910等を格納し、データの読み書きを行うディスクドライブ953、不揮発性の記憶装置である不揮発性記憶装置954を備え、また外部とのデータの通信を制御するI/O装置955を備える。尚、上述した移動スケジュール設計装置内の各機能ブロックは、CPU951、メモリ952、不揮発性記憶装置954、I/O装置955のハードウェア資源と、不揮発性記憶装置954内に予め保持されているファームウェアとが協働することで実現される。
本実施の形態によって、サービスの全インスタンスを別スイッチ下へ移動させる場合に、全インスタンスが同時に切り替わるようになるため、サービス性能の低下を防止することができる。
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
1 移動スケジュール設計部、2 CPU量分配部、3 移動時間計算部、4開始時間決定部、5 反復制御部、10 移動スケジュール設計装置、20 インスタンス管理機能部、30 サービス移動管理機能部、100 インスタンス移動管理システム。

Claims (5)

  1. 複数のプログラムそれぞれが稼動しているときのメモリ内のデータそれぞれを、他の一つまたは複数のコンピュータのメモリに移動させるためのスケジュールを設計する移動スケジュール設計装置であって、
    移動元または移動先のコンピュータでの利用可能なCPU量を、データを移動させるべきプログラムの数で按分し、該按分されたCPU量を前記プログラムそれぞれに分配するCPU量分配部と、
    前記CPU量分配部によって分配された前記プログラムごとのCPU量に基づき、前記メモリ内のデータそれぞれを移動させるときに使用されるネットワークの帯域を、前記プログラムごとに算出し、算出した前記プログラムごとの帯域と前記プログラムごとのデータ量とに基づき、前記プログラムごとの移動時間を算出する移動時間計算部と、
    前記移動時間計算部によって算出された移動時間が最短となるプログラムを選択し、移動させるべきプログラム全ての移動が完了する予定時間から前記選択されたプログラムの移動時間分さかのぼった時間を前記選択されたプログラムの移動開始時間とするとともに、前記選択されたプログラム以外の残プログラムに対し、前記残プログラムのデータそれぞれが前記最短の移動時間のうちに移動したものとみなしたときの残りのデータ量である未移動データ量を、前記残プログラムごとに算出する開始時間決定部と、
    前記未移動データ量を有する残プログラムが無くなるまで、前記残プログラムそれぞれが前記未移動データ量それぞれを有するプログラムであるとして、前記残プログラムを対象とした処理を前記CPU量分配部、前記移動時間計算部、前記開始時間決定部に繰り返し実行させるよう制御する反復制御部と、
    を備える移動スケジュール設計装置。
  2. 請求項1に記載の移動スケジュール設計装置において、
    前記移動時間計算部は、さらに、
    算出された前記プログラムごとの帯域を合算した合算帯域が、前記ネットワークで使用できる帯域を超えている場合、前記合算帯域が前記ネットワークで使用できる帯域となるよう前記プログラムごとの帯域を補正し、補正した前記プログラムごとの帯域と前記プログラムごとのデータ量とに基づき、前記プログラムごとの移動時間を算出することを特徴とする移動スケジュール設計装置。
  3. 複数のプログラムそれぞれが稼動しているときのメモリ内のデータそれぞれを、他の一つまたは複数のコンピュータのメモリに移動させるためのスケジュールを設計する処理を、コンピュータに実行させる移動スケジュール設計プログラムであって、
    移動元または移動先のコンピュータでの利用可能なCPU量を、データを移動させるべきプログラムの数で按分し、該按分されたCPU量を前記プログラムそれぞれに分配するステップと、
    分配された前記プログラムごとのCPU量に基づき、前記メモリ内のデータそれぞれを移動させるときに使用されるネットワークの帯域を、前記プログラムごとに算出し、算出した前記プログラムごとの帯域と前記プログラムごとのデータ量とに基づき、前記プログラムごとの移動時間を算出するステップと、
    算出された移動時間が最短となるプログラムを選択し、移動させるべきプログラム全ての移動が完了する予定時間から前記選択されたプログラムの移動時間分さかのぼった時間を前記選択されたプログラムの移動開始時間とするとともに、前記選択されたプログラム以外の残プログラムに対し、前記残プログラムのデータそれぞれが前記最短の移動時間のうちに移動したものとみなしたときの残りのデータ量である未移動データ量を、前記残プログラムごとに算出するステップと、
    前記未移動データ量を有する残プログラムが無くなるまで、前記残プログラムがそれぞれ前記未移動データ量それぞれを有するプログラムであるとして、前記残プログラムを対象とした処理を前記各ステップに繰り返し実行させるよう制御するステップと、
    をコンピュータに実行させる移動スケジュール設計プログラム。
  4. 請求項3に記載の移動スケジュール設計プログラムにおいて、
    前記プログラムごとの移動時間を算出するステップは、さらに、算出された前記プログラムごとの帯域を合算した合算帯域が、前記ネットワークで使用できる帯域を超えている場合、前記合算帯域が前記ネットワークで使用できる帯域となるよう前記プログラムごとの帯域を補正し、補正した前記プログラムごとの帯域と前記プログラムごとのデータ量とに基づき、前記プログラムごとの移動時間を算出することを特徴とする移動スケジュール設計プログラム。
  5. 複数のプログラムそれぞれが稼動しているときのメモリ内のデータそれぞれを、他の一つまたは複数のコンピュータのメモリに移動させるためのスケジュールを設計する処理を、コンピュータが実行する移動スケジュール設計方法であって、
    移動元または移動先のコンピュータでの利用可能なCPU量を、データを移動させるべきプログラムの数で按分し、該按分されたCPU量を前記プログラムそれぞれに分配するステップと、
    分配された前記プログラムごとのCPU量に基づき、前記メモリ内のデータそれぞれを移動させるときに使用されるネットワークの帯域を、前記プログラムごとに算出し、算出した前記プログラムごとの帯域と前記プログラムごとのデータ量とに基づき、前記プログラムごとの移動時間を算出するステップと、
    算出された移動時間が最短となるプログラムを選択し、移動させるべきプログラム全ての移動が完了する予定時間から前記選択されたプログラムの移動時間分さかのぼった時間を前記選択されたプログラムの移動開始時間とするとともに、前記選択されたプログラム以外の残プログラムに対し、前記残プログラムのデータそれぞれが前記最短の移動時間のうちに移動したものとみなしたときの残りのデータ量である未移動データ量を、前記残プログラムごとに算出するステップと、
    前記未移動データ量を有する残プログラムが無くなるまで、前記残プログラムそれぞれが前記未移動データ量それぞれを有するプログラムであるとして、前記残プログラムを対象とした処理を前記各ステップに繰り返し実行させるよう制御するステップと、
    をコンピュータが実行する移動スケジュール設計方法。
JP2009081754A 2009-03-30 2009-03-30 移動スケジュール設計装置、移動スケジュール設計プログラム、移動スケジュール設計方法 Expired - Fee Related JP5369824B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009081754A JP5369824B2 (ja) 2009-03-30 2009-03-30 移動スケジュール設計装置、移動スケジュール設計プログラム、移動スケジュール設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009081754A JP5369824B2 (ja) 2009-03-30 2009-03-30 移動スケジュール設計装置、移動スケジュール設計プログラム、移動スケジュール設計方法

Publications (2)

Publication Number Publication Date
JP2010237730A true JP2010237730A (ja) 2010-10-21
JP5369824B2 JP5369824B2 (ja) 2013-12-18

Family

ID=43092024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009081754A Expired - Fee Related JP5369824B2 (ja) 2009-03-30 2009-03-30 移動スケジュール設計装置、移動スケジュール設計プログラム、移動スケジュール設計方法

Country Status (1)

Country Link
JP (1) JP5369824B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014096136A (ja) * 2012-11-07 2014-05-22 International Business Maschines Corporation モビリティ動作リソース割り当てのための方法、システム、コンピュータ・プログラム
US9436516B2 (en) 2013-06-28 2016-09-06 Kabushiki Kaisha Toshiba Virtual machines management apparatus, virtual machines management method, and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003162470A (ja) * 2001-11-27 2003-06-06 Fujitsu Ltd 配信制御プログラムおよび方法
WO2007099590A1 (ja) * 2006-02-28 2007-09-07 Renesas Technology Corp. データ処理システムの設計方法、設計支援装置及び検証方法
WO2008079413A1 (en) * 2006-12-26 2008-07-03 Cluster Resources, Inc. Co-allocating a reservation spanning different compute resources types

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003162470A (ja) * 2001-11-27 2003-06-06 Fujitsu Ltd 配信制御プログラムおよび方法
WO2007099590A1 (ja) * 2006-02-28 2007-09-07 Renesas Technology Corp. データ処理システムの設計方法、設計支援装置及び検証方法
WO2008079413A1 (en) * 2006-12-26 2008-07-03 Cluster Resources, Inc. Co-allocating a reservation spanning different compute resources types
JP2010515155A (ja) * 2006-12-26 2010-05-06 クラスター リソーセス インク 異なるコンピュータリソースタイプにわたる予約の同時割当

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014096136A (ja) * 2012-11-07 2014-05-22 International Business Maschines Corporation モビリティ動作リソース割り当てのための方法、システム、コンピュータ・プログラム
US11237856B2 (en) 2012-11-07 2022-02-01 International Business Machines Corporation Mobility operation resource allocation
US9436516B2 (en) 2013-06-28 2016-09-06 Kabushiki Kaisha Toshiba Virtual machines management apparatus, virtual machines management method, and computer readable storage medium

Also Published As

Publication number Publication date
JP5369824B2 (ja) 2013-12-18

Similar Documents

Publication Publication Date Title
US11379272B2 (en) Autoscaling using file access or cache usage for cluster machines
CN109075994B (zh) 多集群仓库
US10496503B2 (en) Healing cloud services during upgrades
US10055252B2 (en) Apparatus, system and method for estimating data transfer periods for job scheduling in parallel computing
US9929931B2 (en) Efficient provisioning and deployment of virtual machines
US8769519B2 (en) Personal and pooled virtual machine update
US9436516B2 (en) Virtual machines management apparatus, virtual machines management method, and computer readable storage medium
US20200151013A1 (en) Multi-tenant license enforcement across job requests
JP5332065B2 (ja) クラスタ構成管理方法、管理装置及びプログラム
US9489231B2 (en) Selecting provisioning targets for new virtual machine instances
US20180024862A1 (en) Parallel processing system, method, and storage medium
JP2017107274A (ja) 仮想マシン増設方法、情報処理装置および仮想マシン増設システム
JP2010282420A (ja) 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム
JP2011138184A (ja) 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム
CN101661486A (zh) 对包含虚拟机的宿主机硬盘进行碎片整理的方法和系统
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
JP2011186701A (ja) リソース割当装置、リソース割当方法、およびリソース割当プログラム
US8850023B2 (en) Method for changing placement of virtual machine and apparatus for changing placement of virtual machine
Babu et al. Interference aware prediction mechanism for auto scaling in cloud
JP5369824B2 (ja) 移動スケジュール設計装置、移動スケジュール設計プログラム、移動スケジュール設計方法
JP2012181578A (ja) 更新制御装置及びプログラム
WO2017141363A1 (ja) データ処理システム及びデータ処理方法
JP2022112614A (ja) リソースの移動スケジュールを決定する装置
US20220229689A1 (en) Virtualization platform control device, virtualization platform control method, and virtualization platform control program
WO2012172588A1 (ja) リクエスト振分け計算機、リクエスト振分け方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130805

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130902

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