JP2015152987A - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP2015152987A
JP2015152987A JP2014023984A JP2014023984A JP2015152987A JP 2015152987 A JP2015152987 A JP 2015152987A JP 2014023984 A JP2014023984 A JP 2014023984A JP 2014023984 A JP2014023984 A JP 2014023984A JP 2015152987 A JP2015152987 A JP 2015152987A
Authority
JP
Japan
Prior art keywords
program
virtual control
execution
control server
executed
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
JP2014023984A
Other languages
English (en)
Other versions
JP6239400B2 (ja
Inventor
塚田 英一
Hidekazu Tsukada
英一 塚田
崇博 大平
Takahiro Ohira
崇博 大平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2014023984A priority Critical patent/JP6239400B2/ja
Publication of JP2015152987A publication Critical patent/JP2015152987A/ja
Application granted granted Critical
Publication of JP6239400B2 publication Critical patent/JP6239400B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Train Traffic Observation, Control, And Security (AREA)

Abstract

【課題】サーバ仮想化された環境において、複数の仮想化された仮想制御サーバを複数のホストサーバ上で動作させる際に、仮想制御サーバ同士が与える影響を排除し、制御のリアルタイム性を守る。
【解決手段】周期的に複数の仮想制御サーバ50を実行するハイパーバイザ40の仮想制御サーバスケジュール方式であって、仮想制御サーバ50を実行するハイパーバイザ40は、仮想制御サーバ50を追加する際に実行するCPU34と、前記周期で起動するタイミングを、他の仮想制御サーバ50との実行が重ならないように仮想制御サーバ50を起動し、各仮想制御サーバ50が互いに与える影響を排除する。
【選択図】図1

Description

本発明は、仮想化された制御サーバ管理方法、制御サーバ管理装置及びプログラムに係り、特に、各制御仮想サーバの制御周期・制御処理時間に合わせ、計算機資源の割当てを行う仮想制御サーバ管理方法、理装置及びプログラムに関する。
クラウドコンピューティングなどのサーバ仮想化技術を用いたシステムでは、メモリ、プロセッサなどのサーバリソースの利用効率を向上させ、また、時間や時期で変動する負荷に対しサービスレベルを維持するために、特開2011-258119号公報(特許文献1)に記載の技術がある。この公報には、「複数の仮想計算機で構成されたクラスタを制御する方法であって、クラスタに対する所定時間後の負荷情報の予測値を演算し、クラスタを構成する仮想計算機の現在の計算機資源の割り当て量と、所定時間後の計算機資源の割り当て量とを保持し、クラスタの構成を変更するために利用可能な計算機資源の変更手段を保持し、クラスタを構成する仮想計算機に割り当てた現在の計算機資源の割り当て量と、負荷情報の予測値と、から変更手段の組み合わせを選択し、変更手段の実行予定時刻を設定し、実行予定時刻に到達した変更手段を仮想化部に通知して実行させる。」という技術が開示されている。
特開2011-258119
制御システムにおいては、制御サーバは制御周期に基づき周期的にリアルタイム処理を行う。特許文献1では、計算機資源の割当、特にプロセッサ資源の割当については、プロセッサ使用率を監視しているが、制御サーバの周期的な動作におけるリアルタイム性を守るという観点での計算機資源割当がされていない。そのため、特許文献1の技術を制御サーバ仮想化装置に適用する場合においては、リアルタイム制御のためのサービスレベルを維持することが難しい。例えば、同じ時間に同じCPUコア上で、複数の仮想制御サーバが動作した場合、複数の仮想制御サーバで同一CPUコアを交互に使うため、動作時間が増大し、リアルタイム性を損なう。
そこで、本発明では、複数のホストサーバ上で、複数の仮想制御サーバを用いて、制御システムを動作させる際に、周期的なリアルタイム制御を維持するための技術を提供することを目的とする。
上記課題を解決するために、代表的な本発明の制御装置の一つは、サーバ仮想化環境で制御アプリケーションが稼動する仮想制御サーバへ新たにタスクを追加する際に、ユーザから受け付けたタスクの実行周期と最大実行時間を格納する、仮想制御サーバスケジュールテーブルを設ける。ハイパーバイザは仮想制御サーバスケジュールテーブルを参照し、既に稼動している仮想制御サーバの制御周期および最大処理時間をチェックし、新たに追加する仮想制御サーバの周期動作が同一プロセッサ上で他の仮想サーバと重複しないよう効率的に物理サーバに集約する仮想制御サーバ追加制御機構を備える。定期的に自動で、または、ユーザからの指示により、ホストサーバ内および、複数のホストサーバ間において、仮想制御サーバ再配置機構が、CPU空き時間が長くとれるよう、仮想制御サーバのデフラグメンテーション処理を実施する。
本発明によれば、周期的に実行されるプログラムをリアルタイム性を損なわずに実行することを容易にする。
本発明の実施例に係る複数のホストサーバと複数の仮想制御サーバと、制御対象装置からなる制御装置の構成を示すブロック図。 実施例における、仮想制御サーバスケジュールテーブルの構成を示す図。 実施例における、仮想制御サーバスケジュールテーブルの情報に基づく、ホストサーバでの仮想制御サーバスケジュール動作を示す図。 実施例仮想制御サーバを新たに追加する処理手順の実施の形態を示すフローチャート。 実施例における、仮想制御サーバスケジュールテーブルに、仮想制御サーバ「D」および「E」を新たに追加した時の仮想制御サーバスケジュールテーブルの構成を示す図。 実施例における、仮想制御サーバスケジュールテーブルの情報に基づく、ホストサーバでの仮想制御サーバスケジュール動作を示す図。 実施例における、仮想制御サーバスケジュールテーブルに、仮想制御サーバ「F」および「G」を追加した時の仮想制御サーバスケジュールテーブルの構成を示す図。 実施例における、仮想制御サーバスケジュールテーブルの情報に基づく、ホストサーバでの仮想制御サーバスケジュール動作を示す図。 実施例における、仮想制御サーバスケジュールテーブルで、仮想制御サーバデフラグ処理を行った後の仮想制御サーバスケジュールテーブルの構成を示す図。 実施例における、仮想制御サーバスケジュールテーブルの情報に基づく、ホストサーバでの仮想制御サーバスケジュール動作を示す図。 実施例における仮想制御サーバデフラグ処理手順を示すフローチャート。 実施例におけるホストサーバ間の仮想制御サーバデフラグ処理の動作例を示す図。 実施例における仮想制御サーバスケジュールテーブルに「付加情報」の項目を付加した仮想制御サーバスケジュールテーブルの構成を示す図。 実施例における、仮想制御サーバスケジュールテーブルの情報に基づく、ホストサーバでの仮想制御サーバスケジュール動作を示す図。
以下、実施例を、図面を用いて説明する。
図1は、実施例における制御装置の構成を示すブロック図である。制御装置10は複数のホストサーバ20から構成される。おのおののホストサーバは、物理サーバ30を備える。物理サーバ30はプログラムを動作させるメモリ32、および、CPUコア34を備える。CPUコア34は複数備えていても良い。ホストサーバ20は、物理サーバ30上で動作するハイパーバイザ40を備える。
ハイパーバイザ40は複数の仮想制御サーバ50をスケジュールするための仮想制御サーバスケジュールテーブル45を備える。ハイパーバイザ40は、仮想制御サーバスケジュールテーブル45に格納されているスケジュール情報を基に仮想制御サーバを動作させるCPUコア34および動作タイミングを決定する。また、ハイパーバイザ40は、仮想制御サーバ追加処理を実施する仮想制御サーバ追加制御機構46、および、仮想制御サーバデフラグメンテーション処理を実施する仮想制御サーバ再配置機構を備える。
仮想制御サーバ50は、制御アプリケーション52、および、タスクスケジューラ54を備える。制御アプリケーション52は、制御対象装置60を制御する。タスクスケジューラ54は、ハイパーバイザ40と連携し、制御アプリケーション52の実行をスケジュールする。 制御装置10は、通信装置70を介して、複数の制御対象装置60と接続されている。複数のホストサーバ20上で動作する、複数の仮想制御サーバが、周期的に動作し、制御対象装置60を制御している。
図2は、実施例における仮想制御サーバスケジュールテーブル45の具体例を示したものである。仮想制御サーバスケジュールテーブルは、「仮想制御サーバ名」、「状態」、「制御周期」、「最大実行時間」、「動作CPUコア番号」、「周期起動時間差」の項目より構成される。「状態」は仮想制御サーバの状態を示し、「稼動」または「停止」(一時停止を含む)の値をとりうる。「制御周期」は仮想制御サーバが起動する周期を示している。「最大実行時間」は仮想制御サーバが起動されてからの実行時間の最大時間を示している。
仮想制御サーバは一度起動されると、周期処理実行が終了するまで、処理を継続する。つまり、仮想制御サーバ内のタスクスケジューラが、ハイパーバイザと通信を行い、仮想制御サーバ内の制御アプリケーションが周期処理実行中である場合には、他の仮想制御サーバに実行が移らないよう実行順序を制御する。
仮想制御サーバ内の制御アプリケーションの周期処理が終了すると、タスクスケジューラはハイパーバイザと通信を行い、他の仮想制御サーバに制御を渡してよいことを通知する。「制御周期」および、「最大実行時間」は、仮想制御サーバの制御内容から決まるものであり、ユーザが入力する。
「動作CPUコア番号」は、仮想制御サーバが動作する物理サーバのCPUコアを示す。「周期起動時間差」は、仮想制御サーバ起動する時間差を示す。周期起動時間差は、おのおのの仮想制御サーバの制御周期の最小公倍数の周期における時間差である。「動作CPUコア番号」および、「周期起動時間差」は、ユーザからの、「制御周期」および「最大実行時間」の入力から、ハイパーバイザの仮想制御サーバ追加制御機構が仮想制御サーバ起動時に算出し、決定するものである。算出方法の詳細については、「仮想制御サーバの追加処理」において詳述する(図4)。
図3は、実施例におけるホストサーバ内のCPUコアでの仮想制御サーバの起動・動作のタイミングを示す図である。ここでは、ホストサーバ内に、二つのCPUコア(CPUコア1、CPUコア2)を備えるものとする。
図3は、図2の仮想制御サーバスケジュールテーブルと対応している。つまり、仮想制御サーバ、「A」、「B」、「C」がそれぞれのパラメータで稼動している状況を示している。仮想制御サーバの制御周期の最小公倍数である6秒の周期における、仮想制御サーバの起動および動作時間が見て取れる。最小公倍数を用いる理由は、それぞれの仮想制御サーバが周期的に動作するため、すべての仮想制御サーバは最小公倍数周期で同じ動作パターンを繰り返すためである。
この例では、仮想制御サーバAは、制御周期:1秒、最大実行時間:200ミリ秒、動作CPUコア番号:1、周期起動時間差:0ミリ秒であるため、最小公倍数周期において、0秒から200ミリ秒、1秒から1200ミリ秒、2秒から2200ミリ秒、3秒から3200ミリ秒、4秒から4200ミリ秒、5秒から5200ミリ秒、の間動作する。仮想制御サーバBおよびCにおいても同様である。
この例では仮想サーバの周期的な動作を例に説明しているが、仮想サーバの無いシステムにおいてはタスク等に置き換えることが可能である。
図4は、前記仮想制御サーバ追加制御機構の、追加処理手順を示すフローチャートである。フローチャートに基づく動作は以下のとおりである。
ステップ100:ユーザから、追加する仮想制御サーバの仮想制御サーバ名、制御周期、仮想サーバの最大実行時間の入力を受け付け、仮想制御サーバスケジュールテーブルに格納する。
ステップ101:仮想制御サーバスケジュールテーブルから、すべての仮想制御サーバの制御周期の最小公倍数を算出する。
ステップ102:ホストサーバに備わる全てのCPUコア(C)について、CPUコア番号が小さい順にステップ104を繰り返す。
ステップ104:CPUコア(C)で、ステップ101で計算した制御周期の最小公倍数を周期とする周期動作内に、他の仮想制御サーバと追加対象の仮想制御サーバの動作時間を重ねずに動作させられるかどうかを判定する。判定は、追加対象の仮想制御サーバの周期をT、最大動作時間をΔT、制御周期の最小公倍数をL、起動時間差をW、L/T より少ない最大の整数を N とすると、仮想制御サーバ動作する区間群、[W, W + ΔT ]、[W + T, W + T + ΔT]、[W + 2 * T, W + 2 * T + ΔT]、…、[W + N * T, W + N * T + ΔT] が、他の仮想制御サーバと重ならないかを判定することで実施する。
ステップ105:まだステップ104の処理を行っていない物理CPUコアがあるか判定し、ある場合は102にもどり、ない場合は106を実施する。
ステップ106:すべての物理CPUコアについて、ステップ104で、他の仮想制御サーバと動作時間を重ねずに動作させることが不可能な場合は、これ以上仮想制御サーバを追加できない旨を示すエラーメッセージを出力する。エラーメッセージには、追加対象の仮想制御サーバ名、ホストサーバ名を含むものとする。
ステップ108:ステップ104で他の仮想制御サーバと動作時間を重ねずに動作させることが出来る場合は、設定可能な起動時間差 W のうちで最も少ないものを選び、動作CPUコア(C)と合わせて仮想制御サーバスケジュールテーブルに格納する。
ステップ110:仮想制御サーバスケジュールテーブルに記録された起動時間差に合わせて仮想制御サーバを起動する。
上記の仮想制御サーバ追加処理により、仮想制御サーバ同士を、動作時間を重ねずに、かつ、おのおのの制御周期と実行時間を確保した上で動作させることができる。仮想制御サーバは他の仮想制御サーバからの干渉を受けないため、リアルタイム性を確保することができる。
以下、仮想制御サーバ追加処理について、具体例を挙げて、本発明の実施例を記載する。
図2には、仮想制御サーバ「A」、「B」、「C」を順に追加していった場合の仮想制御サーバスケジュールテーブルが記載されている。最初に仮想制御サーバ「A」を追加する場合、既に稼動している仮想制御サーバは存在しないため、仮想制御サーバの制御周期の最小公倍数は、仮想制御サーバ「A」の制御周期と同一、つまりこの場合では1秒となる。
周期起動時間差には、他の仮想制御サーバがないため、0秒が設定され、「A」が起動される。「A」に加え、「B」の仮想制御サーバを追加する場合、すべての仮想制御サーバの制御周期の最小公倍数は、2秒となる。2秒周期のうち、区間0秒から0.2秒、1秒から1.2秒の間には仮想制御サーバ「A」が動作しているため、「B」の周期起動時間差には 0.2秒が設定され、「B」が起動される。さらに、「C」の仮想制御サーバを追加する場合、仮想制御サーバの制御周期の最小公倍数は6秒となる。「C」の起動時間差には、「A」、「B」と動作時間が重ならないよう、0.4秒が設定され、起動される。
仮想制御サーバ「A」、「B」、「C」を順に追加していったときの、ホストサーバでの仮想マシンスケジューリングの動作は図3に示したようになっている。
図5は、前記仮想制御サーバ追加処理(図4)において、「A」、「B」、「C」の仮想制御サーバに加え、さらに、「D」および「E」の仮想制御サーバを順に追加した際の仮想制御サーバスケジュールテーブルを示している。仮想制御サーバ「D」を追加する場合、CPUコア1において、すでに稼動している仮想制御サーバと、制御周期の最小公倍数周期で重ならないように動作させるためには、「D」の周期起動時間差は1.2秒でなければならい。
他の値の周期起動時間差では、既に起動している仮想制御サーバと動作が重なる場合が出てくる。続いて「E」を追加する場合、CPUコア1で「E」を動作させようとしても、他の仮想制御サーバと動作を重ねずに動作させることのできる周期起動時間差は存在しない。このため、「E」はCPUコア2において稼動を試みる。CPUコア2においては、「E」が起動する前においては、既に起動している仮想制御サーバは存在しないため、周期起動時間差に0秒を設定し、「E」を起動することが出来る。ここで、CPUコア1および2に間では、制御周期の最小公倍数は共有されているものとする。
図6には、図3での状況に加え、仮想制御サーバ「D」、「E」を追加した時の、ホストサーバでの仮想マシンスケジューリング動作を示している。仮想制御サーバ「D」は、CPUコア1において、6秒周期のうち、1.2秒から1.4秒、3.2秒から3.4秒、5.2秒から5.4秒の間動作する。仮想制御サーバ「E」は、CPUコア2において、0秒から0.2秒、2秒から2.2秒、4秒から4.2秒の間動作する。
図7は、仮想制御サーバが稼動と停止を繰り返したときの仮想制御サーバスケジュールテーブルを表す。 仮想制御サーバ停止処理について説明する。稼動している仮想制御サーバを停止する場合、仮想制御サーバの動作を停止した後、仮想制御サーバスケジュールテーブルの、停止対象の仮想制御サーバの動作CPUコア番号、および、周期起動時間差に「-」を記録する。記号「-」は未定義を表す。
仮想制御サーバデフラグ処理について説明する。仮想制御サーバデフラグ処理は、仮想制御サーバが稼動と停止を繰り返した際、制御周期の最小公倍数周期において、仮想制御サーバの動作区間がフラグメンテーション状態になった場合に、デフラグメンテーションを行う処理である。デフラグメンテーションを行うことで、長く続く動作区間を確保しやすくなるため、新たな仮想制御サーバを追加し空いたCPU時間を有効に使うことが出来る。
図8は、図7の仮想制御サーバスケジュールテーブルに基づく、ホストサーバでの仮想制御サーバのスケジュールの様子を示したものである。図8を見て分かるとおり、空きCPU時間のフラグメンテーションが発生している。このような場合では、仮に、ホストサーバに新たに制御周期3秒、最大実行時間0.7秒の仮想制御サーバを追加しようとしても、連続した空きCPU時間がたりないため、追加できない。
仮想制御サーバデフラグ処理は、このような状況において、CPUコア2で動作する仮想制御サーバを、CPUコア1に集め、CPUコア2での連続した空きCPU時間を確保する処理である。
図9、は、図7および、図8の状況から、仮想制御サーバデフラグ処理を行った後、さらに、制御周期3秒、最大実行時間0.7秒の仮想制御サーバ「H」を追加した時の仮想制御サーバスケジュールテーブルである。
図10は、図9の仮想制御サーバスケジュールテーブルに基づく、ホストサーバでの仮想制御サーバのスケジュールの様子を示したものである。仮想制御サーバデフラグ処理により、CPUコア2で動作する仮想制御サーバがCPUコア1に移されたことで、CPUコア2に、仮想制御サーバ「H」を割り当てることができる。
図11は、前記仮想制御サーバ再配置機構47が、仮想制御サーバデフラグ処理を実施する際のフローチャートである。図11に基づき、仮想制御サーバデフラグ処理について詳しく説明する。
ステップ200:仮想制御サーバスケジュールテーブルから、すべての仮想制御サーバの制御周期の最小公倍数を算出する。
ステップ202:ホストサーバ内のすべての物理CPUコア(C)について、ステップ204、および、ステップ206を繰り返す。
ステップ204:物理CPUコア(C)上で動作するすべての仮想サーバ(V)について、ステップ206を繰り返す。
ステップ206:物理CPUコア(C)より小さいCPU番号を持つCPUコアのうち、最もCPU番号が小さいものから順に、そのCPUコア上で、他の仮想制御サーバと動作時間を重ねずに仮想制御サーバ(V)を、周期起動時間差を変更せずに動作させられるかどうかを判定する。動作させることが可能な場合は、ステップ208を実行する。動作させることが不可能な場合については、ステップ204を繰り返す。
ステップ208:仮想制御サーバの物理CPUコア間マイグレーション処理を実施する。物理CPUコア間マイグレーション処理では、一般のマルチコア対応マルチタスクOSが行っている、CPUコア間のタスクマイグレーション機構と同様に、仮想制御サーバをマイグレーションする。
ステップ210:仮想制御サーバスケジュールテーブルの、動作CPUコア項目を、マイグレーション元のCPU番号から、マイグレーション先のCPU番号に書き換える。以後、マイグレーションした仮想制御サーバは、マイグレーション先のCPUにて動作するようになる。
ステップ211:まだステップ206の処理を実施していない仮想制御サーバがあるかを判定し、ある場合はステップ204に戻り、ない場合は、ステップ212を実施する。
ステップ212:まだステップ206の処理を実施していない物理CPUコアがあるかどうかを判定し、ある場合はステップ202に戻り、ない場合は、処理を終了する。
図9を用いて、仮想マシンマイグレーション処理の具体例について説明する。図9は、図7の状況から、仮想制御サーバ「F」および「G」をCPUコア2からCPUコア1へとマイグレーションを行った後、仮想制御サーバ「H」を追加した状況を表している。図7の状況において、仮想制御サーバマイグレーション処理が開始されると、仮想制御サーバ「A」、「B」、「D」、「E」について、ステップ206が実施されるが、他の仮想制御サーバと動作時間を重ねずに動作させることはできない。「F」について、ステップ206が実施された場合、物理CPUコア1において、仮想制御サーバ「F」を、周期起動時間差を変更せずに動作させることが可能である。つまり、仮想制御サーバ「F」はCPUコア2において、制御周期の最小公倍数6秒のうち、0.4秒から0.7秒、3.4秒から3.7秒の区間で動作しているが、CPUコア1において、その区間内に動作している仮想制御サーバはないため、仮想制御サーバ「F」はCPUコア2からCPUコア1へとマイグレーション可能であると判定される。判定後はマイグレーションを実施し、以降、仮想制御サーバ「F」はCPUコア1で動作するようになる。同じように、仮想制御サーバ「G」についても、CPUコア2からCPUコア1へとマイグレーションを行い、仮想制御サーバデフラグ処理を終了する。仮想制御サーバでフラグ処理後には、CPUコア2において、長く続くCPU空き時間が増加しているため、新たに制御周期3秒、最大実行時間0.7秒の仮想制御サーバ「H」を追加することができる。
仮想制御サーバマイグレーション処理は、制御装置が動作している際に、ユーザからの指示、または、自動で定期的に実施される場合がある。
以上、同一ホストサーバ内での仮想制御サーバマイグレーション処理について説明したが、マイグレーション処理は、ホストサーバ間でも実施する形態がある。
図12は、ホストサーバ2、および、ホストサーバ3からホストサーバ1へのホストサーバ間マイグレーション処理による、仮想制御サーバのホストサーバ間マイグレーションの様子を示している。ホストサーバ間マイグレーション処理は、ユーザからの指示によるか、または、定期的に自動で実行される。この例では、ホストサーバ2のCPUコア2で動作する仮想制御サーバ「F」をホストサーバ1のCPUコア2にホストサーバ間マイグレーションしている。また、ホストサーバ3からは、CPUコア2で動作する仮想制御サーバ「G」を、ホストサーバ1のCPUコア2へホストサーバ間マイグレーションしている。ホストサーバ間マイグレーションは、仮想制御サーバを稼動させたままでも、停止状態でも行ってよいものとする。仮想制御サーバを稼動させたままホストサーバ間マイグレーションを行う場合は、仮想化環境で一般に知られた技術である、仮想サーバのライブマイグレーションにより行う。このように、ホストサーバ間でマイグレーション処理を実施することにより、マイグレーション移行先に仮想制御サーバを集約し、移行元のホストサーバにCPU時間の空きをつくることができる。
本実施例は、実施例1で扱った仮想制御サーバスケジュールテーブル45に新たに「付加情報」という列を追加したものである。
図13、14を用いて、前記仮想制御サーバ追加制御機構46の仮想制御サーバ追加処理について、実施例1との変更点のみ、以下に示す。
図13には、実施例1の仮想制御サーバスケジュールテーブルに、「付加情報」として、「制御対象地域」を付加してある。制御対象地域とは、該当する仮想制御サーバが制御する、制御対象が存在する地域区分を表している。付加情報として、制御対象地域を与えることで、同じ地域を制御する仮想制御サーバに一時的に負荷が生じ、設定した最大実行時間を越えて仮想制御サーバが実行され、連鎖的に仮想制御サーバに高負荷がかかる場合に備えることができる。
付加情報は、仮想制御サーバを新たに追加する場合に、ユーザが入力するものである。図13は、仮想制御サーバ「A」、「B」、「C」、「D」を順に追加していった時の状態となっている。ここで、仮想制御サーバ「A」を追加した後に、仮想制御サーバ「B」を追加する場合、付加情報である制御対象地域が同じであるため、「A」の仮想制御サーバと連続して動作しないように、余裕値として、「A」の最大実行時間を1.5倍し、「A」が0秒から0.6秒、3秒から3.6秒の区間で動作しているものと仮定して、「B」の周期起動時間差を0.6秒とする。
同じ付加情報をもつ「A」と「B」が連続して動作し、処理遅延が波及することを防ぐことができる。結果として、地域(a)を制御する仮想制御サーバに負荷が集中して掛かった場合でも、あらかじめマージンをとり、動作時間を設定してあるため、仮想制御サーバが最大実行時間を越えた場合であっても、同じ地域を制御する仮想制御サーバに影響が出にくいという効果がある。
図14には、図13に記載の仮想制御サーバスケジュールテーブルに基づく、ホストサーバでの仮想制御サーバのスケジュールの様子を示したものである。この図から、同じ制御対象地域の仮想制御サーバが連続して動作していないことが理解できる。
前記仮想制御サーバ追加制御機構46の仮想制御サーバ追加処理に関して、仮想制御サーバに付与する付加情報の利用方法について述べたが、付加情報の利用は、仮想制御サーバデフラグ処理においても同様の考え方が適用される。つまり、デフラグ処理において、同じ付加情報をもつ仮想制御サーバが連続して動作しないようデフラグ処理を行う。また、ホストサーバ間にまたがるデフラグ処理においても同様である。
以上、仮想制御サーバスケジュールテーブルにおける付加情報の利用方法について述べたが、付加情報は制御対象地域のみならず、仮想制御サーバに付加できる属性ならどのようなものでも付加可能である。例えば、仮想制御サーバが扱う制御情報の種類、制御対象の重要度、仮想制御サーバにかかる負荷パターンなどを含む。
例えば、本発明を鉄道の運行システムに適用した場合、付加情報として鉄道の路線や線区を指定することも考えられる。
この場合は路線毎に各々の仮想制御サーバが提供する処理が正しく行われなければ、当該路線の運航を行うことができないため、路線単位や線区単位で独立したCPUコアに割り当てることにより、ある路線や線区の処理を行おうとした仮想制御サーバの処理遅延が他の路線や線区の処理に波及することを防ぐことができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
10・・・制御装置、
20・・・ホストサーバ、
30・・・物理サーバ、
40・・・ハイパーバイザ、
45・・・仮想制御サーバスケジュールテーブル、
50・・・仮想制御サーバ、
60・・・制御対象装置

Claims (12)

  1. 周期的に複数のプログラムを実行するプログラム制御装置であって、
    新たに実行するプログラムの実行周期と実行するプログラムの実行時間を受け取る入力部と、
    入力された実行周期と実行時間に基づいて既に実行スケジュールされている他のプログラムの実行時間帯と新たに実行するプログラムの実行時間帯が重複しないよう新たに実行するプログラムを実行するCPUの識別子と、新たに実行するプログラムの周期上の実行タイミングを含む実行スケジュールを生成するスケジュール部と、
    前記実行スケジュールに基づいてプログラムの実行を制御する実行制御部とを備えることを特徴とするプログラム制御装置。
  2. 請求項1に記載のプログラム制御装置において、
    前記入力部は前記新たに実行するプログラムの付加情報を入力し、
    前記スケジュール部は前記付加情報に基づいて、予め定められた基準に基づいて前記新たに実行するプログラムと既に実行スケジュールされている他のプログラムを実行する間隔を決めることを特徴とするプログラム制御装置。
  3. 請求項2に記載のプログラム制御装置において、
    前記プログラムは鉄道の運行を制御するプログラムであり、前記プログラムに付与する付加情報は制御対象の鉄道の線区に関する情報であり、
    前記スケジュール部は線区単位で異なるCPUで実行されるようスケジュールすることを特徴とするプログラム制御装置。
  4. 請求項1に記載のプログラム制御装置において、
    前記スケジュール部は第一のCPUで実行スケジュールされているプログラムを第二の実行可能なCPUで実行されるよう実行スケジュール変更し、第一のCPUでプログラムを連続実行できる時間を長くするようスケジュールすることを特徴とするプログラム制御装置。
  5. 請求項4に記載のプログラム制御装置において、
    前記入力部は前記新たに実行するプログラムの付加情報を入力し、
    前記スケジュール部は前記付加情報に基づいて、予め定められた基準に基づいて前記新たに実行するプログラムと既に実行スケジュールされている他のプログラムを実行する間隔を決めることを特徴とするプログラム制御装置。
  6. 請求項1に記載のプログラム制御装置において、
    前記プログラムは仮想制御サーバであり、仮想制御サーバが実行を制御しているアプリケーションが処理中かどうかを判断し、処理が完了していれば実行制御部へ他の仮想制御サーバを実行できることを通知することを特徴とするプログラム制御装置。
  7. 周期的に複数のプログラムを実行するプログラム制御方法であって、
    入力部が新たに実行するプログラムの実行周期と実行するプログラムの実行時間を受け、
    スケジュール部が入力された実行周期と実行時間に基づいて既に実行スケジュールされている他のプログラムの実行時間帯と新たに実行するプログラムの実行時間帯が重複しないよう新たに実行するプログラムを実行するCPUの識別子と、新たに実行するプログラムの周期上の実行タイミングを含む実行スケジュールを生成し、
    実行制御部が前記実行スケジュールに基づいてプログラムの実行を制御することを特徴とするプログラム制御方法。
  8. 請求項7に記載のプログラム制御方法において、
    前記入力部は前記新たに実行するプログラムの付加情報を入力し、
    前記スケジュール部は前記付加情報に基づいて、予め定められた基準に基づいて前記新たに実行するプログラムと既に実行スケジュールされている他のプログラムを実行する間隔を決めることを特徴とするプログラム制御方法。
  9. 請求項8に記載のプログラム制御方法において、
    前記プログラムは鉄道の運行を制御するプログラムであり、前記プログラムに付与する付加情報は制御対象の鉄道の線区に関する情報であり、
    前記スケジュール部は線区単位で異なるCPUで実行されるようスケジュールすることを特徴とするプログラム制御方法。
  10. 請求項7に記載のプログラム制御方法において、
    前記スケジュール部は第一のCPUで実行スケジュールされているプログラムを第二の実行可能なCPUで実行されるよう実行スケジュール変更し、第一のCPUでプログラムを連続実行できる時間を長くするようスケジュールすることを特徴とするプログラム制御方法。
  11. 請求項10に記載のプログラム制御方法において、
    前記入力部は前記新たに実行するプログラムの付加情報を入力し、
    前記スケジュール部は前記付加情報に基づいて、予め定められた基準に基づいて前記新たに実行するプログラムと既に実行スケジュールされている他のプログラムを実行する間隔を決めることを特徴とするプログラム制御方法。
  12. 請求項7に記載のプログラム制御方法において、
    前記プログラムは仮想制御サーバであり、仮想制御サーバが実行を制御しているアプリケーションが処理中かどうかを判断し、処理が完了していれば実行制御部へ他の仮想制御サーバを実行できることを通知することを特徴とするプログラム制御方法。
JP2014023984A 2014-02-12 2014-02-12 制御装置 Active JP6239400B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014023984A JP6239400B2 (ja) 2014-02-12 2014-02-12 制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014023984A JP6239400B2 (ja) 2014-02-12 2014-02-12 制御装置

Publications (2)

Publication Number Publication Date
JP2015152987A true JP2015152987A (ja) 2015-08-24
JP6239400B2 JP6239400B2 (ja) 2017-11-29

Family

ID=53895206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014023984A Active JP6239400B2 (ja) 2014-02-12 2014-02-12 制御装置

Country Status (1)

Country Link
JP (1) JP6239400B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020230586A1 (ja) * 2019-05-10 2020-11-19 日立オートモティブシステムズ株式会社 ハイパーバイザおよび制御装置
JP2022070737A (ja) * 2020-10-27 2022-05-13 三菱電機株式会社 運行管理システム、制御装置、制御方法、および制御プログラム
CN116155965A (zh) * 2023-04-21 2023-05-23 天津洪荒科技有限公司 一种全方向amr的多级控制方法
WO2023112386A1 (ja) * 2021-12-13 2023-06-22 日立Astemo株式会社 シミュレーション方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01262251A (ja) * 1988-04-11 1989-10-19 Mitsubishi Electric Corp 運行管理方式
JP2001341645A (ja) * 2000-06-02 2001-12-11 Nippon Signal Co Ltd:The 列車運行管理装置、及び列車運行管理方法
JP2003011823A (ja) * 2001-07-04 2003-01-15 Hitachi Ltd 列車運行管理システム
JP2006268754A (ja) * 2005-03-25 2006-10-05 Toshiba Corp スケジューリング可能性判定方法、リアルタイムシステム及びプログラム
JP2008180753A (ja) * 2007-01-23 2008-08-07 Hitachi Ltd 訓練用鉄道運行管理システムおよび管理計算機
JP2009151375A (ja) * 2007-12-18 2009-07-09 Toshiba Corp ジョブスケジューリング方法
JP2010027062A (ja) * 2009-08-21 2010-02-04 Hitachi Ltd 分散制御システム
JP2011100338A (ja) * 2009-11-06 2011-05-19 Hitachi Automotive Systems Ltd 車載用マルチアプリ実行装置
JP2012185541A (ja) * 2011-03-03 2012-09-27 Denso Corp 車載装置、スケジューリングプログラム、及びスケジューリング方法
US20130036421A1 (en) * 2011-08-01 2013-02-07 Honeywell International Inc. Constrained rate monotonic analysis and scheduling

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01262251A (ja) * 1988-04-11 1989-10-19 Mitsubishi Electric Corp 運行管理方式
JP2001341645A (ja) * 2000-06-02 2001-12-11 Nippon Signal Co Ltd:The 列車運行管理装置、及び列車運行管理方法
JP2003011823A (ja) * 2001-07-04 2003-01-15 Hitachi Ltd 列車運行管理システム
JP2006268754A (ja) * 2005-03-25 2006-10-05 Toshiba Corp スケジューリング可能性判定方法、リアルタイムシステム及びプログラム
JP2008180753A (ja) * 2007-01-23 2008-08-07 Hitachi Ltd 訓練用鉄道運行管理システムおよび管理計算機
JP2009151375A (ja) * 2007-12-18 2009-07-09 Toshiba Corp ジョブスケジューリング方法
JP2010027062A (ja) * 2009-08-21 2010-02-04 Hitachi Ltd 分散制御システム
JP2011100338A (ja) * 2009-11-06 2011-05-19 Hitachi Automotive Systems Ltd 車載用マルチアプリ実行装置
JP2012185541A (ja) * 2011-03-03 2012-09-27 Denso Corp 車載装置、スケジューリングプログラム、及びスケジューリング方法
US20130036421A1 (en) * 2011-08-01 2013-02-07 Honeywell International Inc. Constrained rate monotonic analysis and scheduling

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
加藤真平,山崎信行: "RMd2-SIP:マルチプロセッサにおける実時間スケジューリングアルゴリズム", 情報処理学会論文誌, vol. Vol:48,No:SIG13(ACS19), JPN6017027140, 15 August 2007 (2007-08-15), JP, pages 270 - 286, ISSN: 0003603695 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020230586A1 (ja) * 2019-05-10 2020-11-19 日立オートモティブシステムズ株式会社 ハイパーバイザおよび制御装置
JPWO2020230586A1 (ja) * 2019-05-10 2020-11-19
CN113767367A (zh) * 2019-05-10 2021-12-07 日立安斯泰莫株式会社 虚拟机监视器及控制装置
JP7308937B2 (ja) 2019-05-10 2023-07-14 日立Astemo株式会社 ハイパーバイザおよび制御装置
CN113767367B (zh) * 2019-05-10 2024-05-31 日立安斯泰莫株式会社 虚拟机监视器及控制装置
JP2022070737A (ja) * 2020-10-27 2022-05-13 三菱電機株式会社 運行管理システム、制御装置、制御方法、および制御プログラム
JP7414690B2 (ja) 2020-10-27 2024-01-16 三菱電機株式会社 運行管理システム、制御装置、制御方法、および制御プログラム
WO2023112386A1 (ja) * 2021-12-13 2023-06-22 日立Astemo株式会社 シミュレーション方法
CN116155965A (zh) * 2023-04-21 2023-05-23 天津洪荒科技有限公司 一种全方向amr的多级控制方法
CN116155965B (zh) * 2023-04-21 2023-06-30 天津洪荒科技有限公司 一种全方向amr的多级控制方法

Also Published As

Publication number Publication date
JP6239400B2 (ja) 2017-11-29

Similar Documents

Publication Publication Date Title
Grandl et al. Altruistic scheduling in {Multi-Resource} clusters
US9916183B2 (en) Scheduling mapreduce jobs in a cluster of dynamically available servers
US8694644B2 (en) Network-aware coordination of virtual machine migrations in enterprise data centers and clouds
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
JP2011258119A5 (ja)
US20160196157A1 (en) Information processing system, management device, and method of controlling information processing system
JP6107801B2 (ja) 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム
WO2017106997A1 (en) Techniques for co-migration of virtual machines
US10671438B2 (en) Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex
JP6239400B2 (ja) 制御装置
JP2011186701A (ja) リソース割当装置、リソース割当方法、およびリソース割当プログラム
JP2008171293A (ja) 仮想計算機システムのスケジューリング方法
EP3274859B1 (en) Cluster computing service assurance apparatus and method
KR102376477B1 (ko) 데이터 교환 메커니즘을 포함하는 전자 시스템 및 그것의 동작 방법
JP6620609B2 (ja) 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置
Salehi et al. Resource provisioning based on preempting virtual machines in distributed systems
US20170132030A1 (en) Virtual machine system, control method thereof, and control program recording medium thereof
WO2018123456A1 (ja) プログラマブルコントローラ、管理装置および制御システム
JP5178778B2 (ja) 仮想計算機およびcpu割り当て方法
JP2012181578A (ja) 更新制御装置及びプログラム
Hsiao et al. A usage-aware scheduler for improving MapReduce performance in heterogeneous environments
US20220413941A1 (en) Computing clusters
JP2016506557A (ja) 異なる環境どうし間でのジョブ実行依頼のトランスペアレントなルーティング
Rodrigo Álvarez et al. A2l2: An application aware flexible hpc scheduling model for low-latency allocation
JP2014206805A (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160921

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170110

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171101

R150 Certificate of patent or registration of utility model

Ref document number: 6239400

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150