JP6229191B2 - クラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法 - Google Patents

クラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法 Download PDF

Info

Publication number
JP6229191B2
JP6229191B2 JP2014011625A JP2014011625A JP6229191B2 JP 6229191 B2 JP6229191 B2 JP 6229191B2 JP 2014011625 A JP2014011625 A JP 2014011625A JP 2014011625 A JP2014011625 A JP 2014011625A JP 6229191 B2 JP6229191 B2 JP 6229191B2
Authority
JP
Japan
Prior art keywords
load
calculation
server
program
information
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
Application number
JP2014011625A
Other languages
English (en)
Other versions
JP2015138520A (ja
Inventor
直哉 大西
直哉 大西
中谷 博司
博司 中谷
徹 高仲
徹 高仲
洋介 渡並
洋介 渡並
智 天木
智 天木
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.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
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 Toshiba Corp, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2014011625A priority Critical patent/JP6229191B2/ja
Publication of JP2015138520A publication Critical patent/JP2015138520A/ja
Application granted granted Critical
Publication of JP6229191B2 publication Critical patent/JP6229191B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明の実施形態は、クラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法に関する。
災害復旧を容易にするため、遠隔からネットワークを介して現場機器を制御する遠隔制御技術に注目が集まっている。遠隔に配置された複数のクラウドサーバから制御を行うシステムを、ここではクラウド制御システムと呼ぶ。
クラウド制御システムでは、制御プログラムを物理的に離れた複数のサーバに保持するので、被災時において、全ての制御プログラムが失われる恐れがないため、災害からの復旧の際、制御プログラムの再構築およびクラウドサーバの交換にかかる時間を短縮することができる。
このような背景から、クラウド制御システムにおいては、複数の制御プログラムを複数のサーバで並列実行させる制御プログラムのスケジューラ、または、スケジューリングシステムが求められている。
ところで、複数のタスクで構成される制御プログラムを複数の演算器に、各々の信頼性や緊急度を考慮して割り当てる情報処理装置がある(例えば、特許文献1参照。)。
特開2002−259147号公報
上述した特許文献1においては、演算器が故障した場合を想定して、複数のタスクを演算器に割り当てるようにしているが、タスクを割り当てられる演算器の負荷状態を計測していないので、負荷の高い演算器にさらに負荷が高くなるタスクを割り当てる恐れがある。そのため、予め設定される制御周期でプログラム処理が完了しない恐れがある。
本願は、複数のサーバのネットワークで構成されるクラウド制御システムにおいて、サーバの負荷状態を計測して、予め設定される制御周期内に、制御プログラムが実行できるようにしたクラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法を提供することを目的とする。
上記目的を達成するために、本実施の形態のクラウド制御システムの制御プログラムのスケジューリング方法は、複数のプログラムで構成される制御プログラムを複数の演算サーバに、予め定められる制御周期時間内で処理するようにスケジューリングする管理サーバと、前記管理サーバでスケジューリングされた1つ又は複数の前記プログラムを実行する、同一のプラットフォームで構成される複数の演算サーバと、前記管理サーバと複数の前記演算サーバとを接続するネットワークと、を備え、前記管理サーバは、並列実行可能な複数の前記プログラムと、予め計測された当該プログラム毎の処理時間情報と、予め設定される制御周期の処理時間内に、複数の前記プログラムの処理を複数の前記演算サーバに分散して割り当て、夫々の前記演算サーバの負荷を均等化する負荷均等化処理プログラムと、を記憶しておき、前記演算サーバは、複数の前記プログラムと、前記管理サーバから予めその種類を設定される負荷情報を計測する負荷計測プログラムと、当該負荷情報と、を記憶しておき、前記管理サーバは、最初の第1の制御周期の初期化処理として、前記負荷均等化処理プログラムに基づいて前記処理時間情報を参照して、複数の前記プログラムについて夫々の前記処理時間情報を大きい順に並べて複数の前記演算サーバに割り当て、次に、割り当てた結果、処理時間の少ない前記演算サーバに対して、残った前記プログラム前記処理時間情報の大きい順に割り当て、以後、この操作を繰り返して全ての前記プログラムを割り当てて、夫々の前記演算サーバのスケジュールを設定し、夫々の前記演算サーバは、スケジューリングされた前記プログラムを実行して、前記負荷計測プログラムに基づいて、自身の前記負荷情報を計測して前記管理サーバに送信し、次に、前記管理サーバは、前記第1の制御周期の次以降の制御周期においては、前記負荷均等化処理プログラムに基づいて、前記負荷情報から負荷に相当する負荷相当処理時間を求め、前記演算サーバに対して、前記負荷相当処理時間の少ない順に、前記処理時間情報が大きい順に前記プログラムを割り当て、割り当てた結果の残った前記プログラムがある場合には、さらに、前記処理時間情報と前記負荷相当処理時間の加算値を求め、加算値が少ない前記演算サーバの順に、前記処理時間情報が大きい順に、残った前記プログラム割り当て、次の前記制御周期で実行するスケジュールを生成して、前記演算サーバのスケジュールを更新し、予め設定される前記制御周期時間内で、前記制御プログラムの処理が最短の時間で終了するように、且つ、夫々の前記演算サーバの処理時間が均等となるように、前記制御プログラムのスケジュールを更新するようにしたことを特徴とする。
上記目的を達成するために、本実施の形態のクラウド制御システムは、複数のプログラムで構成される制御プログラムを複数の演算サーバに、予め定められる制御周期時間内で処理するようにスケジューリングする管理サーバと、前記管理サーバでスケジューリングされた1つ又は複数の前記プログラムを実行する、同一のプラットフォームで構成される複数の演算サーバと、前記管理サーバと複数の前記演算サーバとを接続するネットワークと、を備え、前記管理サーバは、並列実行可能な複数の前記プログラムと、当該プログラム毎の処理時間情報と、を予め記憶する記憶部と、夫々の前記演算サーバの負荷を均等化する負荷均等化処理プログラムを備え、夫々の前記演算サーバのスケジュールを設定するスケジュール設定部と、を備え、前記演算サーバは、複数の前記プログラムを記憶する記憶部と、前記スケジュール設定部で設定された複数の前記プログラムを実行する演算部と、前記管理サーバから予めその種類を設定される負荷情報を計測する負荷計測プログラムと、当該負荷情報と、を記憶し、計測した複数の前記プログラムの当該負荷情報の計測値を前記管理サーバに送信する負荷情報計測部と、を備え、前記スケジュール設定部は、最初の第1の制御周期の初期化処理として、前記負荷均等化処理プログラムに基づいて前記処理時間情報を参照し、複数の前記プログラムについて夫々の前記処理時間情報を大きい順に並べて複数の前記演算サーバに割り当て、次に、割り当てた結果、処理時間の少ない前記演算サーバに対して、残った前記プログラム前記処理時間情報の大きい順に割り当て、以後、この操作を繰り返して全ての前記プログラムを割り当てて、夫々の前記演算サーバのスケジュールを設定し、夫々の前記負荷情報計測部は、スケジューリングされた前記プログラムを実行し、前記負荷計測プログラムに基づいて、前記演算部の前記負荷情報を計測してその計測値を前記管理サーバに送信し、前記スケジュール設定部は、前記第1の制御周期の次以降の制御周期においては、前記負荷均等化処理プログラムに基づいて前記負荷情報の計測値から負荷に相当する負荷相当処理時間を求め、前記演算サーバに対して、前記負荷相当処理時間の少ない順に、前記処理時間情報が大きい順に前記プログラムを割り当て、割り当てた結果の残った複数の前記プログラムがある場合には、さらに、前記処理時間情報と前記負荷相当処理時間の加算値を求め、加算値が少ない前記演算サーバの順に、前記処理時間情報が大きい順に、残った前記プログラム割り当て、スケジュールを生成して、前記演算サーバのスケジュールを更新し、予め設定される前記制御周期時間内で、前記制御プログラムの処理が最短の時間で終了するように、且つ、夫々の前記演算サーバの処理時間が均等となるようにしたことを特徴とする。
第1の実施の形態のクラウド制御システムのブロック構成図。 前処理の動作説明図。 初期化処理の動作説明図。 制御プログラムのスケジューリング動作を説明するフローチャート。 初期化処理動作、プログラムの並べ替えの説明図 初期化処理動作のスケジューリングの例。 負荷均等化処理動作の説明図。 第2の実施の形態のクラウド制御システムのブロック構成図。 第3の実施の形態のクラウド制御システムのブロック構成図。 負荷情報とスケジューリング結果のモニタ例。 負荷情報とスケジューリング結果のモニタ例。 負荷情報、スケジューリングした時間のトレンドモニタの例。
以下、本発明の実施の形態について図面を参照して説明する。
(第1の実施の形態)
第1の実施の形態について図1乃至図7を参照して説明する。図1は、第1の実施の形態を説明するブロック構成図である。
図1において、本クラウド制御システムの構成は、複数のプログラムで構成される制御プログラムを演算サーバ2A、及び演算サーバ2B(以後、演算サーバ2と記す)に、予め定められる制御周期時間内で処理するようにスケジューリングする管理サーバ1と、管理サーバ1でスケジューリングされた制御プログラムを実行する、同一のプラットフォームで構成される演算サーバ2と、管理サーバ1と演算サーバ2とを接続するネットワーク3と、を備える。
ここでネットワーク3は、各サーバ結ぶコンピュータネットであって、一般的には、LAN(Local Area Network)、WAN(Wide Area Network)等の通信インフラが適用可能で、夫々のサーバは、災害対策上適当な離間した場所に設けられる。
このネットワーク3は、専用回線でも、また、パブリックなインターネットのいずれでも良い。
次に、各サーバの構成について説明する。管理サーバ1は、並列実行可能な複数のプログラムと、当該プログラム毎の予め計測される処理時間情報と、を予め記憶する記憶部12と、夫々の演算サーバ2の負荷を均等化する、詳細を後述する負荷均等化処理プログラムを備え、夫々の演算サーバ2のスケジュールを設定するスケジュール設定部11と、備える。
ここで、処理時間情報とは、予め計測される制御プログラムを構成する複数のプログラム(タスクでも良い)毎の処理時間であって、一般的な処理時間と識別するために、処理時間情報と称する。
また、適用するクラウド制御システムが使用される環境下において、この処理時間情報を異なる環境条件で種々計測して求め、求めた処理時間から、その平均的な値が記憶部12に記憶される。
この処理は制御プログラム実行前の前処理として実行され、図2に示すように、例えば、プログラム1、6ms、プログラム2、3msのように対応付けしてプログラム毎の平均的な処理時間が保存される。
次に、スケジュール設定部11では、最初の制御周期の初期化処理として、夫々の演算サーバ2に割付するプログラムのスケジュールが図示しない記憶部に記憶される。
例えば、図3に示すように、演算サーバ2Aにはプログラム3、プログラム6、演算サーバ2Bにはプログラム1、プログラム5、演算サーバ2Cにはプログラム4、プログラム2、と、割付けされ、また、この割り付けられたプログラムの処理時間を加算した処理時間(ms)は、演算サーバ2A、8ms、演算サーバ2B、8ms、演算サーバ2C、7ms、のように、夫々対応付けして記憶される。
次に、演算サーバ2は、複数のプログラムから構成される制御プログラムを記憶する記憶部22と、スケジュール設定部11で設定された複数のプログラムを実行する演算部21と、管理サーバ1から予め設定される負荷情報と、負荷情報を計測する負荷計測プログラムと、を記憶し、計測した複数の前記プログラムの当該負荷情報の計測値を管理サーバ1に送信する負荷情報計測部23と、を備える。
ここで、負荷情報と負荷計測プログラムについて説明する。負荷情報は、CPU使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度であり、
負荷情報計測部23では、設定された負荷情報を負荷計測プログラムに基づいて計測する。
CPU使用率、メモリ使用率、演算時間、及び応答時間、等の負荷計測プログラムは、市販されている診断プログラム、または、当該演算サーバ1の基本プログラム(OS)に付属する診断プログラムを使用することが可能である。演算サーバ2の温度の計測は、演算チップの表面温度を検出する温度センサとその検出回路とで行う。
次に、スケジュール設定部11が実行する負荷均等化処理プログラムの負荷均等化処理の構成について説明する。尚、この処理の詳細動作は後述する。
この負荷均等化処理には、制御プログラム実行前の最初の制御周期で実行する初期化処理と、制御プログラムを実行後の制御周期で、演算サーバ自身の負荷を予測して実行する初期化処理とがある。
また、スケジュール設定部11は、最初の制御周期以降の制御周期の初期化処理においては、演算サーバ2の負荷を予測するため、スケジューリングされたプログラムを実行し予め設定される負荷情報について、負荷情報計測部23で計測された演算サーバ2の計測値から、演算サーバ2の負荷を予測する負荷相当処理時間を求める予測処理がある。
そして、この計測値を制御周期での処理時間に変換する方法は、例えば、予め設定される負荷情報について、
負荷A=制御周期×α×(今回計測のCPU使用率−予め計測されたCPU使用率)、
負荷B=制御周期×β×(今回計測のメモリ使用率−予め計測されたメモリ使用率)、
負荷C=制御周期×γ×(今回計測の演算時間−予め計測された演算時間)、
負荷D=制御周期×δ×(今回計測の応答時間−予め計測された応答時間)、
負荷E=制御周期×ε×(今回計測の演算サーバの演算チップ温度−予め計測された前記演算サーバの演算チップ温度)、
(但し、α、β、γ、δ、εは、例えば、0〜1.0の範囲の補正計数である。)の、いずれか1つの演算式に基づいて、演算サーバ2の負荷を予測する負荷相当処理時間を求める。
即ち、負荷相当処理時間は、予め求められる初期の制御周期で計測された計測値と今回の制御周期での計測値の差を求め、この差分に対し補正計数を乗じて、制御周期に対する負荷時間の変動分を求める。
また、プログラム毎の処理時間情報と同様に、演算サーバ2では、設定される負荷情報について、想定される負荷環境での値を計測し、その平均的な値を初期値として記憶しておき、制御プログラムの実行段階では初期状態からの変化を各演算サーバの負荷状態の変化であると予測し、以降の制御周期での負荷の変動分を予測して、制御プログラムのスケジュールを更新する。
即ち、各演算サーバの全負荷は、負荷相当処理時間とスケジューリングされたプログラムの処理時間情報との加算値として予測できる。
尚、負荷相当処理時間は、以下に説明する方法を用いても良い。この方法では、負荷情報は、CPU使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度等であり、スケジュール設定部11は、負荷情報計測部で計測された複数の前荷情報の計測値から、
負荷F=(αc×負荷AC)+(βc×負荷BC)+(γc×負荷CC)+(δc×負荷DC)+(εc×負荷EC)、
(但し、
負荷AC=制御周期×(今回計測のCPU使用率−予め計測されたCPU使用率)、
負荷BC=制御周期×(今回計測のメモリ使用率−予め計測されたメモリ使用率)、
負荷CC=制御周期×(今回計測の演算時間−予め計測された演算時間)、
負荷DC=制御周期×(今回計測の応答時間−予め計測された応答時間)、
負荷EC=制御周期×(今回計測の演算サーバの演算チップ温度−予め計測された演算サーバの演算チップ温度
とする。また、補正係数αc、βc、γc、δc、εc、の夫々の値は、例えば、0〜1.0の範囲とし、その総和は1.0以下とする。)の、
演算式に基づいて、負荷相当処理時間を求めるようにし、スケジュール設定部11は、CPU使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度の全ての負荷情報の計測値の変化分から、夫々の負荷情報が負荷相当処理時間に対して均等に寄与する時間となるように補正係数を更新する。
尚この負荷相当処理時間Fは、負荷情報は2つ以上の場合であれば、いずれ負荷情報の組み合わせでも良い。
また、これらの負荷A〜負荷Eの演算式の補正係数は、夫々適当な初期値を与えて試行し、実験的に求めることが可能である。
また、負荷Fの演算式の補正係数は、先ず、同一の初期値を与え、数時間以上の負荷情報の計測値を収集して、バラツキの多い負荷情報の補正係数の値を大きくして、他の負荷情報の補正係数の値を小さくする。そして、この操作を一定時間ごとに繰り返しすることで、夫々の負荷Fの演算値が均等になるように調整される。
尚、負荷A〜負荷Fの補正係数を0〜1.0の範囲とする場合、制御周期での処理時間への変換する場合、夫々の演算式には、適宜変換定数を乗じるようにしても良い。
次に、このように構成されたクラウド制御システムの動作について、図4を参照して説明する。
先ず、システムの処理動作の構成について説明する。管理サーバ1の処理構成は、制御を実行する前に行う処理時間情報を取得する前処理s1、最初の第1の制御周期の開始時の初期化処理s2、s3、及び、演算サーバ2が求めた負荷情報の計測値を受信する負荷情報受信処理s4から構成される。
一方、演算サーバ2の処理構成は、制御を実行する前に予め負荷情報の取得する前処理(s11)、管理サーバ1からスケジューリングされる制御プログラム及び負荷情報の受信処理(s12)、制御プログラムの実行(s13)、負荷情報の計測処理(s14)、及び負荷情報の送信処理(s15)から構成される。
尚、前処理(s1)、前処理(s11)以外の次の制御周期以降での処理は、同じ処理構成であるであるのでその説明は省略する。
次に、各処理ステップの詳細動作について説明する。前処理(s1)、前処理(s11)は、既に説明したので省略する。
次に、管理サーバ1のスケジュール設定部11が負荷均等化処理プログラムに基づく初期化処理として実行する、スケジューリング処理(s2)の動作について説明する。
スケジューリング処理(s2)では、例えば、図5に示すような複数のプログラム1〜プログラム6について、予め取得したプログラム毎の処理時間情報を参照して、処理時間の長い順に並べ替え、プログラム3(処理時間7ms)、プログラム1(処理時間6ms)、・・・プログラム6(処理時間1ms)のように、記憶部12に一時記憶しておく。
そして、次に、図6に示すように、並び替えた複数のプログラムを複数の各演算サーバ2に割り付ける。例えば、演算サーバ2が、2A、2B、2Cの3台の場合、演算サーバ2Aにはプログラム3、演算サーバ2Bにはプログラム1、演算サーバ2Cには、プログラム4(処理時間4ms)を割付する。
次に、残ったプログラムは、今度は割付した各演算サーバ2の処理時間が少ない順に、残ったプログラムの処理時間情報が大きい値の順に割付する。
即ち、初回の割付で一番処理時間の短かった演算サーバ2Cには、一番処理時間情報の大きい値のプログラム2(処理時間3m)を、2番目に処理時間の短かった演算サーバ2Bには、プログラム5(処理時間2ms)、一番処理時間の大きい値が割り付けられた演算サーバ2Aには、プログラム6(1ms)が割り付けられる。
このような割付が繰り返された結果、演算サーバAの処理時間の合計値は8ms、演算サーバ3の処理時間の合計値は8ms、演算サーバCの処理時間の合計値は7msとなる。
そして、このように割付された制御プログラムは、選択した負荷情報の初期値と合わせて、管理サーバ1からネットワーク3を介して、夫々の演算サーバ2に送信される。
この制御プログラム実行の最初の第1の制御周期開始時点で行う負荷均等化処理プログラムによる初期化処理に拠れば、予め取得した複数のプログラム毎の処理時間情報に基づいて、クラウド制御システムの制御プログラムを複数の演算サーバ2で実行する場合に、処理時間が均等になるように割付することが出来る。
次に、スケジューリングされた制御プログラムを実行する演算サーバ2の処理動作について説明する。複数の演算サーバ2の処理(s12〜s15)は、同じ処理であるので、その1つである演算サーバ2Bの処理手順について説明し、他の演算サーバ2の説明を省略する。
演算サーバ2Bは、管理サーバ1から最初にスケジューリングされたさプログラムを受信(s12)して、制御プログラムを並列処理(s13)する。
そして、制御プログラムの実行が終了すると負荷計測プログラムに基づいて、自身の負荷情報を計測し(s14)、ネットワーク3を介して、管理サーバ1に送信する。
管理サーバ1は、送信された負荷情報を受信して(s4)その制御周期の処理を完了する。
次に、管理サーバ1は受信した負荷情報に基づいて、第2の制御周期のスケジューリング処理(s5)を実行する。
先ず、管理サーバ1のスケジュール設定部11は、負荷均等化処理プログラムに基づいて第2の制御周期の初期化処理(s5)として、予め設定される負荷A〜負荷Fのいずれか1つの負荷情報の初期値と今回の計測値との差を負荷に相当する負荷相当処理時間として求める。
そして、複数の演算サーバ2から送信された負荷情報に基づいて、夫々の負荷相当処理時間を求め、この値の少ない演算サーバ2の順に、複数のプログラムの処理時間情報が大きいものから順に割り当てる。
この動作について、図7を参照して説明する。前回の制御周期で求めた負荷相当処理時間は、例えば、演算サーバ2Aは5ms、演算サーバ2Bは6ms、演算サーバ2Cは4ms、であったとする。
すると、この値の最も小さい演算サーバ2Cにプログラム3(処理時間情報、7ms)を、次に小さかった演算サーバ2Aにプログラム1(処理時間情報6ms)を、この値が一番大きい演算サーバBにプログラム4(処理時間情報4ms)を割付する。
そして、次の割付は、割り当てた結果の残った複数のプログラムがある場合には、さらに、当該処理時間情報と負荷相当処理時間の加算値が少ない演算サーバ2の順に、残ったプログラムの処理時間情報が大きいものを順次割り当てる(s5)。
即ち、演算サーバBは、加算値が10msでもっとも小さいので、残ったプログラムの処理時間情報の最も大きいプログラム2(処理時間情報3ms)を、
次に、演算サーバA、Cは、加算値がいずれも11msなので、演算サーバAにプログラム5(処理時間情報2ms)、最後に、演算サーバCには残ったプログラム6(処理時間情報1ms)を割付して、夫々の負荷を均等になるように割付する。
このようにして作成したスケジュールを管理サーバ1から夫々の演算サーバ2にネットワーク3を介して送信する(s6)。
以後、制御プログラムを実行するとともに、第2の制御周期の処理を繰り返し実行してゆく。また、このスケジューリングを繰り返すことで、各演算サーバの負荷が均等になるように制御される。
尚、ここで説明した管理サーバ1、及び演算サーバ2は、同じ処理時間情報で管理するため同一仕様のプラットフォームで構成する必要がある。
但し、夫々が仮想サーバで構成する場合には、同一仕様のプラットフォームで構成することが容易となる。
また、ネットワーク3は、一般的なインターネットや専用回線でも良く、仮想サーバで構成する場合には、仮想ネットワークでも良い。
尚、管理サーバ1のスケジュール設定部11に備える負荷均等化処理プログラム、演算サーバ2の負荷情報計測部23に備える、負荷情報及び負荷計測プログラムは、夫々各サーバの記憶部12、記憶部22に備えるように構成しても良く、適宜変更することは可能である。
以上説明したように、本実施の形態のクラウド制御システムの負荷情報均等化処理に拠れば、演算サーバ2、及びネットワークの負荷状況が変化しても、予め設定される制御周期時間内で、制御プログラムの並列処理が最短の時間で終了するように、且つ、夫々の演算サーバの処理時間が、均等にすることができるクラウド制御システムを提供できる。
(第2の実施の形態)
図8を参照して、クラウド制御システムの第2の実施の形態を説明する。第2の実施の形態が、第1の実施の形態各部と同一の部分は同一の符号で示しその説明を省略する。
第2の実施の形態が、第1の実施の形態と異なる点は、第1の実施の形態では、制御プログラムは管理サーバ1の記憶部12、及び夫々の演算サーバ2の記憶部22に備え、管理サーバ1では各プログラムの処理時間情報を求める場合に、また、演算サーバ2スケジュールされた演算プログラムを実行する場合に、夫々記憶部22から制御プログラムを抽出して処理していたが、第2の実施の形態では、制御プログラムを専用の制御プログラムサーバ13を備え、制御プログラムの保守管理を一元的に行えるように構成したことにある。
このような構成の第2の実施の形態に拠れば、制御プログラムが一元的に管理できるので、保守性の良いクラウド制御システムを提供することができる。
(第3の実施の形態)
図9乃至図12を参照して、クラウド制御システムの第3の実施の形態を説明する。第3の実施の形態が、第1の実施の形態各部と同一の部分は同一の符号で示しその説明を省略する。
第3の実施の形態が、第1の実施の形態と異なる点は、制御プログラムをスケジューリングする場合の演算サーバ2の負荷情報、及びスケジューリングされた結果の負荷時間、及びこれらを時系列に監視する監視端末5を、ネットワーク3を介して接続する構成としたことにある。
監視端末5は、管理サーバ1がスケジューリングした制御プログラムのスケジューリング状態をモニタするスケジューリングモニタ処理部53と、演算サーバ2の負荷情報をモニタする演算サーバ負荷情報モニタ処理部52と、当該スケジューリングモニタ処理部53及び当該演算サーバ負荷情報モニタ処理部52が処理した結果をモニタするモニタ51と、を備える。
図10は、各演算サーバ2A、演算サーバ2B、演算サーバ2Cの負荷情報の予め計測された初期値と、処理時間情報と、に基づいてスケジューリングした処理時間のモニタ例を示す。
また、図11は、制御プログラムを実行して負荷情報から負荷相当処理時を求め、さらにその負荷相当処理時間に対して、スケジューリングした負荷時間のモニタ例を示す。
さらに、図12は、スケジューリングした負荷時間(割り当て時間)の結果、また、負荷情報の計測値のトレンドのモニタ例を示す。
このような監視端末5を備えることで、スケジューリング処理の状態や、演算サーバの負荷状態を、監視することができるので、クラウド制御システムの異常を素早く監視することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 管理サーバ
2A、2B 演算サーバ
3 ネットワーク
4 制御プログラムサーバ
5 監視端末
11 スケジュール設定部
12、13 記憶部
21 演算部
22 記憶部
23 負荷情報計測部
51 モニタ
52 負荷情報モニタ処理部
53 スケジューリングモニタ処理部

Claims (9)

  1. 複数のプログラムで構成される制御プログラムを複数の演算サーバに、予め定められる制御周期時間内で処理するようにスケジューリングする管理サーバと、前記管理サーバでスケジューリングされた1つ又は複数の前記プログラムを実行する、同一のプラットフォームで構成される複数の演算サーバと、前記管理サーバと複数の前記演算サーバとを接続するネットワークと、
    を備え、
    前記管理サーバは、並列実行可能な複数の前記プログラムと、予め計測された当該プログラム毎の処理時間情報と、予め設定される制御周期の処理時間内に、複数の前記プログラムの処理を複数の前記演算サーバに分散して割り当て、夫々の前記演算サーバの負荷を均等化する負荷均等化処理プログラムと、を記憶しておき、
    前記演算サーバは、複数の前記プログラムと、前記管理サーバから予めその種類を設定される負荷情報を計測する負荷計測プログラムと、当該負荷情報と、を記憶しておき、
    前記管理サーバは、最初の第1の制御周期の初期化処理として、前記負荷均等化処理プログラムに基づいて前記処理時間情報を参照して、複数の前記プログラムについて夫々の前記処理時間情報を大きい順に並べて複数の前記演算サーバに割り当て、
    次に、割り当てた結果、処理時間の少ない前記演算サーバに対して、残った前記プログラム前記処理時間情報の大きい順に割り当て、
    以後、この操作を繰り返して全ての前記プログラムを割り当てて、夫々の前記演算サーバのスケジュールを設定し、
    夫々の前記演算サーバは、スケジューリングされた前記プログラムを実行して、前記負荷計測プログラムに基づいて、自身の前記負荷情報を計測して前記管理サーバに送信し、
    次に、前記管理サーバは、前記第1の制御周期の次以降の制御周期においては、前記負荷均等化処理プログラムに基づいて、前記負荷情報から負荷に相当する負荷相当処理時間を求め、
    前記演算サーバに対して、前記負荷相当処理時間の少ない順に、前記処理時間情報が大きい順に前記プログラムを割り当て、
    割り当てた結果の残った前記プログラムがある場合には、さらに、前記処理時間情報と前記負荷相当処理時間の加算値を求め、加算値が少ない前記演算サーバの順に、前記処理時間情報が大きい順に、残った前記プログラム割り当て、
    次の前記制御周期で実行するスケジュールを生成して、前記演算サーバのスケジュールを更新し、
    予め設定される前記制御周期時間内で、前記制御プログラムの処理が最短の時間で終了するように、且つ、夫々の前記演算サーバの処理時間が均等となるように、前記制御プログラムのスケジュールを更新するようにしたことを特徴とするクラウド制御システムの制御プログラムのスケジューリング方法。
  2. 前記負荷情報は、CPU使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度であり、
    前記管理サーバは、前記負荷情報のいずれか1種類を予め前記演算サーバに設定しておき、前記演算サーバで計測された前記負荷情報の計測値から、
    負荷A=制御周期×α×(今回計測のCPU使用率−予め計測されるCPU使用率)、
    負荷B=制御周期×β×(今回計測のメモリ使用率−予め計測されるメモリ使用率)、
    負荷C=制御周期×γ×(今回計測の演算時間−予め計測される演算時間)、
    負荷D=制御周期×δ×(今回計測の応答時間−予め計測される応答時間)、
    負荷E=制御周期×ε×(今回計測の演算サーバの演算チップ温度−予め計測される前記演算サーバの演算チップ温度)、
    (但し、α、β、γ、δ、εは、0〜1.0の範囲の補正計数である。)の、
    予め設定されたいずれか1つの演算式に基づいて前記負荷相当処理時間を求めるようにしたことを特徴とする前記請求項1に記載のクラウド制御システムの制御プログラムのスケジューリング方法。
  3. 前記負荷情報は、CPU使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度であり、
    前記管理サーバは、前記負荷情報の種類を予め前記演算サーバに設定しておき、前記演算サーバで計測された前記負荷情報の計測値から、
    負荷F=(αc×負荷AC)+(βc×負荷BC)+(γc×負荷CC)+(δc×負荷DC)+(εc×負荷EC)、
    (但し、
    負荷AC=制御周期×(今回計測のCPU使用率−予め計測されるCPU使用率)、
    負荷BC=制御周期×(今回計測のメモリ使用率−予め計測されるメモリ使用率)、
    負荷CC=制御周期×(今回計測の演算時間−予め計測される演算時間)、
    負荷DC=制御周期×(今回計測の応答時間−予め計測される応答時間)、
    負荷EC=制御周期×(今回計測の演算サーバの演算チップ温度−予め計測される演算サーバの演算チップ温度
    とする。また、補正係数αc、βc、γc、δc、εc、の夫々の値は、
    0〜1.0の範囲とし、その総和は1.0以下とする。)の、
    演算式による前記負荷相当処理時間を求めるようにし、
    前記管理サーバは、前記CPU使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度の全ての前記負荷情報が均等となるように前記補正係数を調整するようにしたことを特徴とする前記請求項1に記載のクラウド制御システムの制御プログラムのスケジューリング方法。
  4. 複数のプログラムで構成される制御プログラムを複数の演算サーバに、予め定められる制御周期時間内で処理するようにスケジューリングする管理サーバと、前記管理サーバでスケジューリングされた1つ又は複数の前記プログラムを実行する、同一のプラットフォームで構成される複数の演算サーバと、前記管理サーバと複数の前記演算サーバとを接続するネットワークと、
    を備え、
    前記管理サーバは、並列実行可能な複数の前記プログラムと、当該プログラム毎の処理時間情報と、を予め記憶する記憶部と、夫々の前記演算サーバの負荷を均等化する負荷均等化処理プログラムを備え、夫々の前記演算サーバのスケジュールを設定するスケジュール設定部と、
    を備え、
    前記演算サーバは、複数の前記プログラムを記憶する記憶部と、前記スケジュール設定部で設定された複数の前記プログラムを実行する演算部と、前記管理サーバから予めその種類を設定される負荷情報を計測する負荷計測プログラムと、当該負荷情報と、を記憶し、計測した複数の前記プログラムの当該負荷情報の計測値を前記管理サーバに送信する負荷情報計測部と、
    を備え、
    前記スケジュール設定部は、最初の第1の制御周期の初期化処理として、前記負荷均等化処理プログラムに基づいて前記処理時間情報を参照し、複数の前記プログラムについて夫々の前記処理時間情報を大きい順に並べて複数の前記演算サーバに割り当て、
    次に、割り当てた結果、処理時間の少ない前記演算サーバに対して、残った前記プログラム前記処理時間情報の大きい順に割り当て、
    以後、この操作を繰り返して全ての前記プログラムを割り当てて、夫々の前記演算サーバのスケジュールを設定し、
    夫々の前記負荷情報計測部は、スケジューリングされた前記プログラムを実行し、前記負荷計測プログラムに基づいて、前記演算部の前記負荷情報を計測してその計測値を前記管理サーバに送信し、
    前記スケジュール設定部は、前記第1の制御周期の次以降の制御周期においては、前記負荷均等化処理プログラムに基づいて前記負荷情報の計測値から負荷に相当する負荷相当処理時間を求め、
    前記演算サーバに対して、前記負荷相当処理時間の少ない順に、前記処理時間情報が大きい順に前記プログラムを割り当て、
    割り当てた結果の残った複数の前記プログラムがある場合には、さらに、前記処理時間情報と前記負荷相当処理時間の加算値を求め、加算値が少ない前記演算サーバの順に、前記処理時間情報が大きい順に、残った前記プログラム割り当て、スケジュールを生成して、前記演算サーバのスケジュールを更新し、
    予め設定される前記制御周期時間内で、前記制御プログラムの処理が最短の時間で終了するように、且つ、夫々の前記演算サーバの処理時間が均等となるようにしたことを特徴とするクラウド制御システム。
  5. 前記負荷情報は、CPU使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度であり、
    前記スケジュール設定部は、前記負荷情報のいずれか1種類を予め前記演算サーバに設定しておき、前記負荷情報計測部で計測された前記負荷情報の計測値から、
    負荷A=制御周期×α×(今回計測のCPU使用率−予め計測されるCPU使用率)、
    負荷B=制御周期×β×(今回計測のメモリ使用率−予め計測されるメモリ使用率)、
    負荷C=制御周期×γ×(今回計測の演算時間−予め計測される演算時間)、
    負荷D=制御周期×δ×(今回計測の応答時間−予め計測される応答時間)、
    負荷E=制御周期×ε×(今回計測の演算サーバの演算チップ温度−予め計測される前記演算サーバの演算チップ温度)、
    (但し、α、β、γ、δ、εは、0〜1.0の範囲の補正計数である。)の、
    いずれか1つの演算式に基づいて前記負荷相当処理時間を求めるようにしたことを特徴とする前記請求項4に記載のクラウド制御システム。
  6. 前記負荷情報は、CPU使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度であり、
    前記スケジュール設定部は、前記負荷情報の種類を予め前記演算サーバに設定しておき、前記負荷情報計測部で計測された複数の前記負荷情報の計測値から、
    負荷F=(αc×負荷AC)+(βc×負荷BC)+(γc×負荷CC)+(δc×負荷DC)+(εc×負荷EC)、
    (但し、
    負荷AC=制御周期×(今回計測のCPU使用率−予め計測されるCPU使用率)、
    負荷BC=制御周期×(今回計測のメモリ使用率−予め計測されるメモリ使用率)、
    負荷CC=制御周期×(今回計測の演算時間−予め計測される演算時間)、
    負荷DC=制御周期×(今回計測の応答時間−計測される応答時間)、
    負荷EC=制御周期×(今回計測の演算サーバの演算チップ温度−予め計測される演算サーバの演算チップ温度
    とする。また、補正係数αc、βc、γc、δc、εc、の夫々の値は、0〜1.0の範囲とし、その総和は1.0以下とする。)の、
    演算式に基づいて、前記負荷相当処理時間を求めるようにし、
    前記スケジュール設定部は、前記CPU使用率、メモリ使用率、演算時間、応答時間、及び演算サーバ温度の全ての前記負荷情報の計測値が均等になるように前記補正係数を更新するようにしたことを特徴とする前記請求項4に記載のクラウド制御システム。
  7. 前記管理サーバと、前記演算サーバとは、同じプラットフォームの仮想サーバで構成し、前記ネットワークは、当該仮想サーバを接続する仮想ネットワークとし、前記クラウド制御システムが容易に構成できるようにした前記請求項4に記載のクラウド制御システム。
  8. さらに、前記ネットワークに接続され、前記制御プログラムを記憶する制御プログラムサーバを備え、制御プログラムの管理を当該制御プログラムサーバで一元化して管理するようにした前記請求項5に記載のクラウド制御システム。
  9. さらに、前記ネットワークに接続され、前記管理サーバがスケジューリングした前記制御プログラムのスケジューリング状態をモニタするスケジューリングモニタ処理部と、前記演算サーバの負荷状態をモニタする演算サーバ負荷情報モニタ処理部と、当該スケジューリングモニタ処理部及び当該演算サーバ負荷情報モニタ処理部が処理した結果をモニタするモニタと、を備える監視端末を備え、
    当該監視端末のモニタには、前記負荷情報と前記制御プログラムのスケジューリング結果とを時系列に表示させ、前記制御プログラムの負荷状態を視認監視可能に表示させるようにした前記請求項4に記載のクラウド制御システム。
JP2014011625A 2014-01-24 2014-01-24 クラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法 Active JP6229191B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014011625A JP6229191B2 (ja) 2014-01-24 2014-01-24 クラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014011625A JP6229191B2 (ja) 2014-01-24 2014-01-24 クラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法

Publications (2)

Publication Number Publication Date
JP2015138520A JP2015138520A (ja) 2015-07-30
JP6229191B2 true JP6229191B2 (ja) 2017-11-15

Family

ID=53769438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014011625A Active JP6229191B2 (ja) 2014-01-24 2014-01-24 クラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法

Country Status (1)

Country Link
JP (1) JP6229191B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6521784B2 (ja) * 2015-07-31 2019-05-29 三菱電機株式会社 サーバ
JP6547547B2 (ja) * 2015-09-25 2019-07-24 富士通株式会社 粒子シミュレーションプログラム、計算機資源配分方法、および粒子シミュレーション装置
JP6723951B2 (ja) * 2017-04-18 2020-07-15 日本電信電話株式会社 仮想資源割当装置及び仮想資源割当方法
JP7444566B2 (ja) * 2019-09-12 2024-03-06 ファナック株式会社 サーボ制御装置、サーボ制御システム及びサーボ制御方法
WO2022162787A1 (ja) * 2021-01-27 2022-08-04 三菱電機株式会社 数値制御システム、タスク割り当て変更装置及び数値制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895916A (ja) * 1994-09-27 1996-04-12 Hitachi Software Eng Co Ltd ジョブ実行監視方法
JPH1124949A (ja) * 1997-07-04 1999-01-29 Toshiba Corp 並列処理制御装置
JP4556554B2 (ja) * 2004-08-25 2010-10-06 セイコーエプソン株式会社 画像処理を並列処理で実行する際の負荷の割り付け
WO2012047654A1 (en) * 2010-09-27 2012-04-12 Fisher-Rosemount Systems, Inc. Methods and apparatus to virtualize a process control system

Also Published As

Publication number Publication date
JP2015138520A (ja) 2015-07-30

Similar Documents

Publication Publication Date Title
JP6229191B2 (ja) クラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法
Wang et al. Healthedge: Task scheduling for edge computing with health emergency and human behavior consideration in smart homes
JP2019036313A5 (ja)
JP6233413B2 (ja) タスク割り当て判定装置、制御方法、及びプログラム
EP4254199A3 (en) Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
JP6635895B2 (ja) 電力需要制御システム、電力需要制御方法、アグリゲータシステム、需要家電力管理システム、及びプログラム
US10048987B1 (en) Methods and apparatus for a resource sharing platform having resource quality estimation
JP6384321B2 (ja) ジョブ割当プログラム、方法及び装置
JP2016082519A5 (ja)
KR102746848B1 (ko) 정비 관리 장치, 정비 관리 방법 및 컴퓨터 판독 가능한 기억 매체
US20190275672A1 (en) Information processing apparatus and information processing method
CN111967917A (zh) 预测用户流失的方法以及设备
JP5794230B2 (ja) リソース管理システム、リソース管理方法およびリソース管理プログラム
CN109783236B (zh) 用于输出信息的方法和装置
KR101678181B1 (ko) 병렬 처리 시스템
US20130173067A1 (en) Smoothing device, smoothing system, and computer program product
JP2015200986A (ja) クラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法
CN111046091A (zh) 数据交换系统的运行方法、装置及设备
US9501321B1 (en) Weighted service requests throttling
JP7507098B2 (ja) 分散型マルチノード制御システム及び方法
US20160224378A1 (en) Method to control deployment of a program across a cluster of machines
JP5879117B2 (ja) 情報処理システムおよび運用管理方法
JP2015173570A (ja) 自動周波数制御装置および自動周波数制御方法
US9788085B2 (en) System and method of determining network locations for data analysis in a distributed ecosystem
CN114726860B (zh) 一种面向流媒体传输的负载均衡系统及负载均衡方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160317

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170421

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

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170922

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170922

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170922

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171018

R150 Certificate of patent or registration of utility model

Ref document number: 6229191

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350