JP7177349B2 - スケジュールプログラム、スケジュール装置およびスケジュール方法 - Google Patents
スケジュールプログラム、スケジュール装置およびスケジュール方法 Download PDFInfo
- Publication number
- JP7177349B2 JP7177349B2 JP2019021387A JP2019021387A JP7177349B2 JP 7177349 B2 JP7177349 B2 JP 7177349B2 JP 2019021387 A JP2019021387 A JP 2019021387A JP 2019021387 A JP2019021387 A JP 2019021387A JP 7177349 B2 JP7177349 B2 JP 7177349B2
- Authority
- JP
- Japan
- Prior art keywords
- schedule
- constraint
- time
- virtual machine
- rescheduling
- 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
- 238000000034 method Methods 0.000 title claims description 35
- 238000012423 maintenance Methods 0.000 claims description 135
- 230000008859 change Effects 0.000 claims description 119
- 238000013508 migration Methods 0.000 claims description 69
- 230000005012 migration Effects 0.000 claims description 69
- 238000012545 processing Methods 0.000 claims description 57
- 230000007717 exclusion Effects 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 70
- 238000010586 diagram Methods 0.000 description 50
- 230000015654 memory Effects 0.000 description 28
- 238000012508 change request Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 14
- 230000010365 information processing Effects 0.000 description 13
- 238000000605 extraction Methods 0.000 description 11
- 239000000284 extract Substances 0.000 description 8
- 230000004044 response Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 208000010228 Erectile Dysfunction Diseases 0.000 description 1
- 101001106801 Homo sapiens Rab11 family-interacting protein 5 Proteins 0.000 description 1
- CBENFWSGALASAD-UHFFFAOYSA-N Ozone Chemical group [O-][O+]=O CBENFWSGALASAD-UHFFFAOYSA-N 0.000 description 1
- 102100021330 Rab11 family-interacting protein 5 Human genes 0.000 description 1
- 101000886149 Schizosaccharomyces pombe (strain 972 / ATCC 24843) Transcription factor gaf1 Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/485—Resource constraint
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/486—Scheduler internals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5013—Request control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
また、1つの態様では、スケジュール方法が提供される。
[第1の実施の形態]
第1の実施の形態を説明する。
第1の実施の形態の情報処理システムは、スケジュール装置10および物理マシン20,30,40,…を有する。スケジュール装置10および物理マシン20,30,40,…はネットワークN1に接続されている。スケジュール装置10は、物理マシン20,30,40,…における仮想マシンの移動スケジュールを調整する。
記憶部11は、RAMなどの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、CPU、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサでもよい。プロセッサは、複数のプロセッサの集合(マルチプロセッサ)も含み得る。
論理演算によって表現された制約集合の一例として、式(1)で表される制約a1,a2,a3を有する制約集合が考えられる。
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
管理サーバ100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106およびNIC(Network Interface Card)107を有する。なお、CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
図4は、ライブマイグレーションの例を示す図である。
図5は、管理サーバの機能例を示す図である。
管理サーバ100は、インフラ管理部110およびスケジューラ120を有する。インフラ管理部110およびスケジューラ120の機能は、CPU101により実現される。例えば、CPU101は、RAM102に記憶されたスケジュールプログラムを実行することで、インフラ管理部110およびスケジューラ120の機能を発揮する。インフラ管理部110およびスケジューラ120は、FPGAやASICなどのハードウェアにより実現されてもよい。
スケジューラ120は、物理マシンのメンテナンスを行う際に、メンテナンス対象の物理マシンで動作する仮想マシンのLMのスケジュールを決定する。スケジューラ120は、メンテナンス実施期間やメンテナンス対象の物理マシンの情報を運用者端末700から受け付けると、インフラ構成情報記憶部111(およびVM性能情報記憶部112)に記憶された情報に基づいて、LMのスケジュールを決定する。
VM優先度記憶部122は、仮想マシン毎の優先度を記憶する。仮想マシン毎の優先度は、再スケジューリングの際に除外対象とする制約条件を選択するために用いられる。
図6は、制約集合に対する極小充足不能コアの例を示す図である。
例えば、論理演算によって表された制約集合G1を考える。制約集合G1は、制約条件a1,a2,a3を含む。制約条件a1,a2,a3は、論理変数p,q,rを含む。論理変数p,q,rの値は、0または1である。
メンテナンス実施期間情報131は、運用者端末700により、スケジューラ120に入力される。メンテナンス実施期間情報131は、システムに含まれる複数の物理マシンに関するメンテナンスの実施期間の情報である。メンテナンス実施期間情報131は、開始日時および終了日時の項目を含む。
メンテナンス対象マシン情報132は、運用者端末700により、スケジューラ120に入力される。メンテナンス対象マシン情報132は、物理マシン名およびメンテナンス所要時間の項目を含む。
図9は、物理マシン構成テーブルの例を示す図である。
図10は、仮想マシン構成テーブルの例を示す図である。
仮想マシン稼働テーブル143は、インフラ構成情報記憶部111に予め格納されている。仮想マシン稼働テーブル143は、各仮想マシンの初期配置先の物理マシンを示す情報である。再スケジューリングの場合、各仮想マシンの初期配置先は、再スケジューリングの対象期間の開始日時における各仮想マシンの配置先となる。仮想マシン稼働テーブル143は、物理マシン名、仮想マシン名およびユーザIDの項目を含む。
図12は、依存関係テーブルの例を示す図である。
図13は、極小充足不能コア情報の例を示す図である。
優先度テーブル146は、VM優先度設定部127により生成され、VM優先度記憶部122に格納される。優先度テーブル146は、仮想マシン名および優先度の項目を含む。
次に、VM優先度設定部127による仮想マシン毎の優先度の決定例を説明する。
図15は、優先度の決定例を示す図である。
メンテナンススケジュールテーブル151は、ソルバ部125により生成され、イベント情報記憶部123に格納される。メンテナンススケジュールテーブル151は、ソルバ部125によって当初作成されたスケジュールであり、利用者の希望などによるスケジュール変更前の情報である。メンテナンススケジュールテーブル151は、物理マシン名、開始日時および終了日時の項目を含む。
図17は、LMスケジュールテーブル(変更前)の例を示す図である。
なお、LMスケジュールテーブル152のうち、仮想マシン名、開始日時および終了日時の項目の内容が利用者に提示される内容である。また、LMスケジュールテーブル152のうち、仮想マシン名、開始日時、終了日時、移動元および移動先の項目が運用者に提示される内容である。
LM実施日時変更要望情報133は、利用者端末500,600により、スケジューラ120に入力される。
図19は、変更後のスケジュールテーブルの例を示す図である。
制約条件生成部124は、図7~図12で例示した各情報(再スケジューリングの場合は、更に図17,図18の情報)に含まれる値を制約充足問題の入力とする。ソルバ部125は、制約充足問題を解くことで、図16で例示したメンテナンススケジュールテーブル151および図17で例示したLMスケジュールテーブル152を出力し、イベント情報記憶部123に格納する。再スケジューリングの場合、ソルバ部125およびスケジュール変更部128は、図19で例示したメンテナンススケジュールテーブル153およびLMスケジュールテーブル154を出力し、イベント情報記憶部123に格納する。
tsは、メンテナンス実施期間の開始日時である。前述のように、再スケジューリングの場合、tsは、再スケジューリングの対象期間の開始日時を示す。teは、メンテナンス実施期間の終了日時である。T={ts,…,te}は、メンテナンス実施期間を分単位に離散化した時刻の集合である。Tにおけるある時刻から、その次の時刻(1分後の時刻)の直前までの期間を1つのタイムスロットと呼ぶ。時刻tsおよびteの値は、メンテナンス実施期間情報131から得られる。
cpuReqvは、VMvのCPUコア数である。ramReqvは、VMvのメモリ容量である。diskReqvは、VMvのディスク容量である。cpuReqv、ramReqvおよびdiskReqvの値は、仮想マシン構成テーブル142から得られる。
mp(t)は、PM単位のメンテナンス実施期間を示し、時刻tにPMpがメンテナンス中の場合は1、それ以外の場合は0を示す。mp(t)は、メンテナンススケジュールテーブル151(再スケジューリングの場合には、メンテナンススケジュールテーブル153)の作成に用いられる。
図21は、変数によるLMの表現の例を示す図である。
例えば、migrationDurationv1=2である。これは、各時刻に仮想マシンv1のLMを完了させるためにタイムスロットを2つ要することを示す。
第2の実施の形態の例では、各仮想マシンのLMの所要時間を、各時刻で一定としている。ただし、仮想マシンのLMの所要時間は、該当の仮想マシンの負荷などに応じて変わることも考えられる。その場合、migrationDurationv=migrationDurationv(t)とし、時刻毎に、LMを完了させるために所要される異なるタイムスロット数を設定することも可能である。
例えば、lpv1(ti+2)=1であり、それ以外の時刻ではlpv1(t)=0である。これは、時刻ti+2に、仮想マシンv1の物理マシンCへのLMが完了したことを示す。ここで、図21(A)によれば、時刻ti+2で仮想マシンv1のLMが完了するには、タイムスロットを2つ要する。したがって、仮想マシンv1のLMの実施期間は、時刻ti+1,ti+2で示される2つのタイムスロットの期間である。
例えば、時刻ti,ti+1,ti+2では、apv1(t)==1となるpは、物理マシンA(仮想マシンv1のLMの移動元)である。そして、図21(B)で例示されるように、仮想マシンv1は、時刻ti+2で物理マシンCへのLMが完了する。このため、時刻ti+3以降では、apv1(t)==1となるpは、物理マシンCである。
仮想マシンv1について、LM実施期間は時刻[ti+1,ti+2](時刻ti+1から時刻ti+2まで)であり、移動元が物理マシンA、移動先が物理マシンCである。
制約条件生成部124は、上記に例示した各変数を用いた制約条件を生成する。ソルバ部125は、生成された制約条件に関する制約充足問題を解くことで、メンテナンススケジュールテーブル151およびLMスケジュールテーブル152を作成する。また、再スケジューリングの場合、ソルバ部125およびスケジュール変更部128は、生成された制約条件に関する制約充足問題を解くことで、メンテナンススケジュールテーブル153およびLMスケジュールテーブル154を作成する。
第1の制約条件は、VMvが初期配置先のPMp上で起動することである。第1の制約条件は、式(2)で表される。
(S1)スケジューラ120は、利用者端末500,600からLM実施日時の変更要望のメッセージを受信する。当該メッセージは、LM実施日時変更要望情報133を含む。LM実施日時変更要望情報133は、複数の仮想マシンに対する変更要望を含み得る。
(S4)スケジューラ120は、利用者端末500,600と運用者端末700に再調整結果を送信する。利用者端末500,600および運用者端末700のそれぞれのディスプレイにより再調整結果が表示される。
日程再調整の処理は、ステップS3に対応する。
(S10)VM優先度設定部127は、仮想マシン(VM)間の優先度を設定する。例えば、VM優先度設定部127は、図15で例示したように、仮想マシン毎の利用情報146aに基づいて、仮想マシンの優先度を決定して優先度テーブル146を生成し、VM優先度記憶部122に格納する。
(S12)ソルバ部125は、ステップS11で生成された制約充足問題の求解を実行し、再スケジューリングの対象期間の各時刻における各出力変数の値を求める。
図24は、制約充足問題の生成例を示すフローチャートである。
(S20)制約条件生成部124は、インフラ構成情報をソルバ部125に対する入力データの形式に変換する。ここで、インフラ構成情報は、物理マシン構成テーブル141、仮想マシン構成テーブル142、仮想マシン稼働テーブル143および依存関係テーブル144を含む。
図25は、日程変更例を示すフローチャートである。
(S30)充足不能コア抽出部126は、ステップS11(ステップS25)で生成された制約充足問題に含まれる制約集合のうち、仮想マシンのLMの実施時刻に関する制約条件から、極小充足不能コアを抽出する。充足不能コア抽出部126は、抽出した極小充足不能コア(CU)を、スケジュール変更部128に提供する。
(S33)スケジュール変更部128は、優先度テーブル146に基づいて、仮想マシン(VM)間の優先度下位k台についてLM実施時刻に関する制約を、該当の制約充足問題から1つ除外した準制約充足問題を生成する。これにより、スケジュール変更部128は、k種類の準制約充足問題を生成する。
ここで、希望時間帯T1~T2(T1<T2)と新規予定時間帯T3~T4(T3<T4)との差ΔTは、例えば、次のように表される。T1≦T3<T2かつT1<T4≦T2の場合、ΔT=0である。T3<T1かつT4≦T2の場合、ΔT=T1-T3である。T1≦T3かつT2<T4の場合、ΔT=T4-T2である。T3<T1かつT2<T4の場合、ΔT=(T1-T3)+(T4-T2)である。なお、ある仮想マシンに対してLM実施回避日時が指定された場合など、LM実施が許容される希望時間帯が複数になる(例えば、LM実施回避日時によって分断された複数の時間帯になる)こともある。この場合、スケジュール変更部128は、各希望時間帯と新規予定時間帯との差のうち、最小の差を、該当の仮想マシンに対する希望時間帯と新規予定時間帯との差として用いる。
入力データ161は、変数ts、te、P、maintDurationp、cpuCapp、ramCappおよびdiskCappを含む。
maintDurationp:=(“PM01” 60)、(“PM02” 120)、…;は、物理マシン毎のメンテナンスの所要時間(単位は分)である。1つのレコードは、(物理マシン名(PM名) メンテナンスの所要時間)の組となる。なお、図中では1行が1つのレコードとなる(入力データに含まれる以降の他の変数についても同様である)。
入力データ162は、変数VおよびinitAccommopvを含む。
V:=“accounting-db-13”、“vm-67”、…;は、仮想マシン名(VM名)の集合である。
入力データ163は、変数migrationDurationvを含む。
migrationDurationv:=…、(“server-90” 15)、(“mysql-67” 10)、…、(“accounting-db-03” 20)、(“accounting-web-03” 20)、…;は、仮想マシン毎のLMの所要時間である。1つのレコードは、(VM名 LMの所要時間(分))の組となる。
入力データ164は、変数cpuReqv、ramReqvおよびdiskReqvを含む。
入力データ165は、変数availMigrationTimeSlotv(t)、Gaa_1およびGaf_1を含む。
入力データ166は、変数apv(t)およびlpv(t)を含む。入力データ166におけるapvおよびlpvは、既存のLMスケジュールテーブル152に基づいて、LMの実施日時の変更要望がない仮想マシンに対する制約として設定される。
ソルバ部125は、制約条件生成部124により設定された制約充足問題を解くことで、出力データ167を出力する。出力データ167は、変数mp(t)およびapv(t)を含む。
ソルバ部125は、制約条件生成部124により設定された制約充足問題を解くことで、更に、出力データ168を出力する。出力データ168は、変数lpv(t)を含む。
画面800は、LMスケジュールテーブル152(既存スケジュール)に基づいて、管理サーバ100から利用者端末500に対して提供される画面の例である。利用者端末500は、画面800に対応する画面情報を管理サーバ100から受信し、当該画面情報に基づいて、利用者端末500に内蔵または接続されたディスプレイ(表示装置)により、画面800を表示する。ここで、利用者端末500は、ユーザID「user3」の利用者によって利用されるものとし、当該利用者のユーザ名を「AAA」とする。
VMシンボル801,802は、該当の利用者が利用する、LM対象の仮想マシンを示す。例えば、VMシンボル801は、仮想マシン名「server-90」の仮想マシンを示す。また、VMシンボル802は、仮想マシン名「mysql-67」の仮想マシンを示す。画面800の例では、VMシンボル801,802それぞれの行の左側から右側へ向かう方向を時系列の正方向として、各仮想マシンのLMスケジュールを示す。
図36は、LMスケジュールの変更入力画面の例を示す図である。
ボタン817は、LM実施回避日時シンボル815を用いて選択されたLM実施回避日時を設定するためのボタンである。利用者端末500は、ボタン817に対する入力を受け付けると、選択された仮想マシンのLM実施回避日時を示すLM実施日時変更要望情報133を含むメッセージを管理サーバ100に送信する。
画面820は、LMスケジュールテーブル154(変更後のスケジュール)に基づいて、管理サーバ100から利用者端末500に対して提供される画面の例である。画面820は、画面810によるLM実施回避日時の選択に応じて再調整されたLMスケジュールを示す。画面820は、VMシンボル821,822、LMシンボル823,824、LM実施回避日時シンボル825およびボタン826を有する。
LMシンボル824は、仮想マシン名「mysql-67」の仮想マシンに対して、2018年6月20日10時00分~同日10時09分にLMを実施することを示す。
なお、画面810において、仮想マシン名「server-90」の仮想マシンに対しては、LM実施回避日時が選択されなかったため、仮想マシン名「server-90」の仮想マシンについては最初に決定されたLMスケジュールから更新されていない。ただし、仮想マシン名「server-90」の仮想マシンに対してLM実施日時が変更されることもある。
上記の例では、利用者端末500に提供される画面800,810,820を例示したが、利用者端末600にも当該利用者端末600の利用者が利用する仮想マシンに関してLMスケジュールを確認するための画面が提供される。
画面900は、メンテナンススケジュールテーブル153およびLMスケジュールテーブル154(変更後のスケジュール)に基づいて、管理サーバ100から運用者端末700に対して提供される画面の例である。画面900は、画面820で示される更新後のLMスケジュールテーブル154に対応する物理マシンのメンテナンススケジュールを示す。運用者端末700は、画面900を描画するための画面情報を管理サーバ100から受信し、当該画面情報に基づいて、運用者端末700に内蔵または接続されたディスプレイ(表示装置)により、画面900を表示する。ここで、運用者のユーザ名を「aaa」とする。
PMシンボル901,902は、メンテナンス対象の物理マシンを示す。例えば、PMシンボル901は、物理マシン名「PM01」の物理マシンを示す。また、PMシンボル902は、物理マシン名「PM02」の物理マシンを示す。画面900の例では、PMシンボル901,902それぞれの行の左側から右側へ向かう方向を時系列の正方向として、各物理マシン上の仮想マシンの稼働予定、LM予定およびメンテナンススケジュールを示す。
再スケジューリングの方法として、動的重み付き制約充足問題による再スケジューリングも考えられる。動的重み付き制約充足問題による再スケジューリングの方法には、例えば、下記の文献2,3が参考になる。
(文献3)Hattori,Ito,Ozono and Shintani, “A Nurse Scheduling System Based on Dynamic Constraint Satisfaction Problem,” In Proc. IEA/AIE 2005,pp.799-808,2005.
文献2,3の方法における再スケジューリングでは、制約に重みを付加し、違反する制約の重みの合計が最小化されるように解を求める動的な制約充足問題を扱う。しかし、文献2,3の方法では、制約に対する最適な重み値を一意に決めることは容易でない。重みは再スケジューリング問題に依存するからである。このため、文献2,3の方法では、最適な再スケジューリング結果を得るには、問題毎に重みの調整が必要となる。また、再スケジューリング失敗(充足不能)時に、適当な重み調整では充足可能になる保証がなく、大規模な問題での最適な重み探索は非現実的となる。
11 記憶部
12 処理部
20,30,40 物理マシン
21,31,41 仮想マシン
50 端末装置
61 既存スケジュール
62 変更情報
70 制約情報
71,72,73 準制約情報
N1 ネットワーク
U1 利用者
Claims (10)
- コンピュータに、
複数の物理マシンの間での複数の仮想マシンの移動の時間帯を示す既存スケジュールに対して、仮想マシンの移動の時間帯の変更に関する変更情報を取得し、
前記変更情報と前記既存スケジュールにおける前記仮想マシン以外の、前記変更の対象外である他の仮想マシンの移動の時間帯とに応じた制約群を含む制約情報を生成し、
前記制約情報のうち、前記制約群に含まれる制約を1つずつ除外した複数の準制約情報を生成し、
生成した複数の準制約情報それぞれに基づいて、前記複数の仮想マシンの移動の再スケジューリングを行うことで、準制約情報毎に再スケジューリング結果を生成し、
複数の再スケジューリング結果のうち、前記再スケジューリング結果および前記既存スケジュールにおける前記変更の対象外である前記他の仮想マシンの移動の予定時刻の差が小さくなる前記再スケジューリング結果を出力する、
処理を実行させるスケジュールプログラム。 - 前記複数の準制約情報の生成では、前記制約情報を充足する前記再スケジューリング結果を得られない場合に、前記制約群から抽出された極小充足不能コアに含まれる制約を除外対象として選択する、
請求項1記載のスケジュールプログラム。 - 前記除外対象の制約の選択では、前記極小充足不能コアに含まれる全制約のうちの一部の制約を、前記複数の仮想マシンそれぞれの優先度に基づいて選択する、
請求項2記載のスケジュールプログラム。 - 前記再スケジューリング結果の出力では、前記再スケジューリング結果および前記既存スケジュールにおける前記他の仮想マシンの移動の予定時刻の第1の差、または、前記変更情報および前記再スケジューリング結果における前記仮想マシンの移動の時間帯の第2の差が小さくなる前記再スケジューリング結果を出力する、
請求項1記載のスケジュールプログラム。 - 前記再スケジューリング結果の出力では、前記第1の差、または、前記第2の差の何れかが最小である前記再スケジューリング結果を出力する、
請求項4記載のスケジュールプログラム。 - 前記変更情報は、前記仮想マシンの移動を許容する時間帯、または、前記仮想マシンの移動を回避する時間帯を示す情報を含む、
請求項1乃至5の何れか1項に記載のスケジュールプログラム。 - 前記制約情報は、前記複数の物理マシンのメンテナンスの実施期間、前記複数の物理マシンおよび前記複数の仮想マシンの構成情報および物理マシン間の前記仮想マシンの移動の所要時間に関する制約を含む、
請求項1乃至6の何れか1項に記載のスケジュールプログラム。 - 前記再スケジューリング結果の生成では、準制約情報と、前記複数の物理マシンそれぞれのメンテナンスの所要時間とに基づいて、前記メンテナンスの実施期間のうち、前記複数の物理マシンそれぞれに対して前記メンテナンスを行う期間を決定する、
請求項1乃至7の何れか1項に記載のスケジュールプログラム。 - 複数の物理マシンの間での複数の仮想マシンの移動の時間帯を示す既存スケジュールの情報を記憶する記憶部と、
前記既存スケジュールに対して、仮想マシンの移動の時間帯の変更に関する変更情報を取得し、前記変更情報と前記既存スケジュールにおける前記仮想マシン以外の、前記変更の対象外である他の仮想マシンの移動の時間帯とに応じた制約群を含む制約情報を生成し、前記制約情報のうち、前記制約群に含まれる制約を1つずつ除外した複数の準制約情報を生成し、生成した複数の準制約情報それぞれに基づいて、前記複数の仮想マシンの移動の再スケジューリングを行うことで、準制約情報毎に再スケジューリング結果を生成し、複数の再スケジューリング結果のうち、前記再スケジューリング結果および前記既存スケジュールにおける前記変更の対象外である前記他の仮想マシンの移動の予定時刻の差が小さくなる前記再スケジューリング結果を出力する処理部と、
を有するスケジュール装置。 - コンピュータが、
複数の物理マシンの間での複数の仮想マシンの移動の時間帯を示す既存スケジュールに対して、仮想マシンの移動の時間帯の変更に関する変更情報を取得し、
前記変更情報と前記既存スケジュールにおける前記仮想マシン以外の、前記変更の対象外である他の仮想マシンの移動の時間帯とに応じた制約群を含む制約情報を生成し、
前記制約情報のうち、前記制約群に含まれる制約を1つずつ除外した複数の準制約情報を生成し、
生成した複数の準制約情報それぞれに基づいて、前記複数の仮想マシンの移動の再スケジューリングを行うことで、準制約情報毎に再スケジューリング結果を生成し、
複数の再スケジューリング結果のうち、前記再スケジューリング結果および前記既存スケジュールにおける前記変更の対象外である前記他の仮想マシンの移動の予定時刻の差が小さくなる前記再スケジューリング結果を出力する、
スケジュール方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019021387A JP7177349B2 (ja) | 2019-02-08 | 2019-02-08 | スケジュールプログラム、スケジュール装置およびスケジュール方法 |
US16/773,249 US11256541B2 (en) | 2019-02-08 | 2020-01-27 | Rescheduling of virtual machine migrations with less impact on an existing migration schedule |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019021387A JP7177349B2 (ja) | 2019-02-08 | 2019-02-08 | スケジュールプログラム、スケジュール装置およびスケジュール方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020129257A JP2020129257A (ja) | 2020-08-27 |
JP7177349B2 true JP7177349B2 (ja) | 2022-11-24 |
Family
ID=71945237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019021387A Active JP7177349B2 (ja) | 2019-02-08 | 2019-02-08 | スケジュールプログラム、スケジュール装置およびスケジュール方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11256541B2 (ja) |
JP (1) | JP7177349B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10715403B2 (en) * | 2017-04-11 | 2020-07-14 | Nerdio, Inc. | Scalable, standardized I.T. deployment platform |
US11366650B1 (en) | 2020-12-04 | 2022-06-21 | International Business Machines Corporation | Automatic generation of affinity and anti-affinity rules |
EP4064057B1 (en) | 2021-03-24 | 2023-07-26 | Mitsubishi Electric R&D Centre Europe B.V. | Method and system for correcting the operation of a target computer system by using timed requirements |
US11675518B2 (en) * | 2021-05-04 | 2023-06-13 | EMC IP Holding Company LLC | Determining migrations between geographically distributed data centers |
US20230315515A1 (en) * | 2022-03-29 | 2023-10-05 | Google Llc | Scheduling And Load-Balancing Replication-Based Migrations of Virtual Machines |
US12248795B2 (en) * | 2022-06-20 | 2025-03-11 | Google Llc | Cloud infrastructure management |
US20250080422A1 (en) * | 2022-11-18 | 2025-03-06 | Rakuten Symphony, Inc. | System and method for change request assisted policy state management |
CN117171140B (zh) * | 2023-10-25 | 2024-07-12 | 勾股科技(北京)有限公司 | 一种数据迁移方法及装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3833807B2 (ja) | 1998-01-23 | 2006-10-18 | 中部電力株式会社 | 電力系統の需給計画作成装置 |
JP2005267591A (ja) | 2004-03-19 | 2005-09-29 | Toramatsu Shintani | 再スケジューリング可能なナーススケジューリングシステム及び、これに用いるための動的重み付き制約充足問題解決方法 |
US8806480B2 (en) * | 2007-06-29 | 2014-08-12 | Microsoft Corporation | Virtual machine smart migration |
US20100161922A1 (en) * | 2008-12-19 | 2010-06-24 | Richard William Sharp | Systems and methods for facilitating migration of virtual machines among a plurality of physical machines |
US7975165B2 (en) * | 2009-06-25 | 2011-07-05 | Vmware, Inc. | Management of information technology risk using virtual infrastructures |
US8423646B2 (en) * | 2010-07-09 | 2013-04-16 | International Business Machines Corporation | Network-aware virtual machine migration in datacenters |
JP2013182303A (ja) | 2012-02-29 | 2013-09-12 | Nec Corp | 仮想マシン管理システム、方法、およびプログラム |
WO2013136502A1 (ja) * | 2012-03-16 | 2013-09-19 | 富士通株式会社 | 稼働管理装置、稼働管理方法、稼働管理プログラム及び記録媒体 |
JP6044131B2 (ja) * | 2012-06-25 | 2016-12-14 | 富士通株式会社 | プログラム、管理サーバおよび仮想マシン移動制御方法 |
EP2808796A4 (en) * | 2012-09-03 | 2016-04-13 | Hitachi Ltd | ADMINISTRATIVE SYSTEM FOR ADMINISTERING A COMPUTER SYSTEM WITH SEVERAL MONITORING DEVICES |
US8850434B1 (en) * | 2012-09-14 | 2014-09-30 | Adaptive Computing Enterprises, Inc. | System and method of constraining auto live migration of virtual machines using group tags |
JP2015011569A (ja) * | 2013-06-28 | 2015-01-19 | 株式会社東芝 | 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム |
US9720728B2 (en) * | 2013-12-06 | 2017-08-01 | Huawei Technologies Co., Ltd. | Migrating a VM when the available migration duration times of a source and destination node are greater than the VM's migration duration time |
US10205677B2 (en) * | 2015-11-24 | 2019-02-12 | Cisco Technology, Inc. | Cloud resource placement optimization and migration execution in federated clouds |
JP2018026042A (ja) * | 2016-08-12 | 2018-02-15 | 富士通株式会社 | 移動制御プログラム、移動制御装置及び移動制御方法 |
JP6741941B2 (ja) * | 2016-08-16 | 2020-08-19 | 富士通株式会社 | 仮想マシン管理プログラム、仮想マシン管理方法、及び、仮想マシン管理装置 |
JP6901683B2 (ja) * | 2017-09-22 | 2021-07-14 | 富士通株式会社 | 調整プログラム、調整装置および調整方法 |
US10860367B2 (en) * | 2018-03-14 | 2020-12-08 | Microsoft Technology Licensing, Llc | Opportunistic virtual machine migration |
US11579909B2 (en) * | 2018-07-31 | 2023-02-14 | Vmware, Inc. | Honoring resource scheduler constraints during maintenances |
US10977068B2 (en) * | 2018-10-15 | 2021-04-13 | Microsoft Technology Licensing, Llc | Minimizing impact of migrating virtual services |
JP7197776B2 (ja) * | 2018-11-01 | 2022-12-28 | 富士通株式会社 | スケジューリングプログラム、スケジューリング方法、およびスケジューリング装置 |
-
2019
- 2019-02-08 JP JP2019021387A patent/JP7177349B2/ja active Active
-
2020
- 2020-01-27 US US16/773,249 patent/US11256541B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20200257554A1 (en) | 2020-08-13 |
JP2020129257A (ja) | 2020-08-27 |
US11256541B2 (en) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7177349B2 (ja) | スケジュールプログラム、スケジュール装置およびスケジュール方法 | |
JP6901683B2 (ja) | 調整プログラム、調整装置および調整方法 | |
US11425194B1 (en) | Dynamically modifying a cluster of computing nodes used for distributed execution of a program | |
US9826031B2 (en) | Managing distributed execution of programs | |
JP6455035B2 (ja) | 負荷分散管理装置、制御方法およびプログラム | |
US8321558B1 (en) | Dynamically monitoring and modifying distributed execution of programs | |
US9276987B1 (en) | Identifying nodes already storing indicated input data to perform distributed execution of an indicated program in a node cluster | |
US8935404B2 (en) | Saving program execution state | |
US10705873B2 (en) | Predictive virtual server scheduling and optimization of dynamic consumable resources to achieve priority-based workload performance objectives | |
US8260840B1 (en) | Dynamic scaling of a cluster of computing nodes used for distributed execution of a program | |
Cheng et al. | Cross-platform resource scheduling for spark and MapReduce on YARN | |
US20170060707A1 (en) | High availability dynamic restart priority calculator | |
JP7197776B2 (ja) | スケジューリングプログラム、スケジューリング方法、およびスケジューリング装置 | |
JP2023509369A (ja) | マルチクラウド環境におけるワークロードの実施 | |
US20200065195A1 (en) | Space management for snapshots of execution images | |
US11336518B2 (en) | Staging configuration changes with deployment freeze options | |
US12190165B2 (en) | Computing environment pooling | |
JP2019061359A (ja) | プログラム及び情報処理装置 | |
JP5867238B2 (ja) | オートスケーリング方法,オートスケーリングプログラムおよびコンピュータノード | |
Leite et al. | Excalibur: An autonomic cloud architecture for executing parallel applications | |
JP2016167138A (ja) | 情報処理装置、ワークフロー生成方法、及びワークフロー生成プログラム | |
Sun et al. | Budget constraint bag-of-task based workflow scheduling in public clouds | |
JP2013080346A (ja) | 情報処理装置、保守作業支援方法および保守作業支援用プログラム | |
chandra Thota | Reduce the Customer’s Complaint Resolution Time in Migration of Oracle Database Servers in Vmware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211109 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20211111 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20211111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220929 |
|
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: 20221011 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221024 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7177349 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |