(57)【要約】【課題】  ＰＣクラスタリングシステムにおいて、外部条件を考慮したジョブスケジューリングを行うサーバ等を提供する。【解決手段】  外部条件に基づいてジョブスケジューリングを行い、ＰＣクラスタリングシステムの各ＰＣに投入するプログラムを調節、または、各ＰＣの電源のＯＮ／ＯＦＦを制御するサーバ１００において、利用者端末３００より投入されたプログラムに対して前記ジョブスケジューリングを行うジョブスケジューリング手段１１０と、消費電力センサ５００、室温センサ６００より取得した前記外部条件を前記ジョブスケジューリング手段１１０に通知する外部状況通知手段１２０と、運用管理者端末４００より入力された前記外部条件に関する制御ポリシーを登録する制御ポリシー登録手段１３０を有する。【選択図】  図２
2007072768.tif 000002
【特許請求の範囲】
【請求項１】
外部条件に基づいてジョブスケジューリングを行い、ＰＣクラスタリングシステムの各ＰＣに投入するプログラムを調節、または、各ＰＣの電源のＯＮ／ＯＦＦを制御するサーバ。
【請求項２】
端末より投入されたプログラムに対して前記ジョブスケジューリングを行うジョブスケジューリング手段と、
前記外部条件を前記ジョブスケジューリング手段に通知する外部状況通知手段と、
端末より入力された前記外部条件に関する制御ポリシーを登録する制御ポリシー登録手段を有する請求項１に記載のサーバ。
【請求項３】
外部条件に関する制御ポリシーを登録する登録工程と、
前記外部条件を検出する検出工程を有し、
前記外部条件に基づいてジョブスケジューリングを行い、ＰＣクラスタリングシステムの各ＰＣに投入するプログラムを調節、または、各ＰＣの電源のＯＮ／ＯＦＦを制御するジョブスケジューリング方法。
【請求項４】
前記ジョブスケジューリングにより前記ＰＣクラスタリングシステムのＰＣが休止状態または停止状態にある場合、前記検出工程において前記外部条件を検出し、前記外部条件が前記制御ポリシーに従えば、当該休止状態または停止状態のＰＣを起動することを特徴とする請求項３に記載のジョブスケジューリング方法。
【請求項５】
コンピュータに、外部条件に基づいてジョブスケジューリングを行い、ＰＣクラスタリングシステムの各ＰＣに投入するプログラムを調節、または、各ＰＣの電源のＯＮ／ＯＦＦを制御するサーバとして機能させるプログラム。
【請求項６】
請求項５に記載のプログラムを格納する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大多数のＰＣ(Personal Computer)が連結したＰＣクラスタリングシステムのジョブスケジューリングを行うサーバ、及び、その方法、プログラム、記録媒体に関するものである。
【背景技術】
【０００２】
近年、汎用のＰＣの性能が向上し、そのＰＣを高性能ネットワークハードウェアで多数連結するＰＣクラスタリングシステムが、ＨＰＣ(High Perfomance Computing)システムとして普及し、その認知度は全世界で加速されつつある。それに伴い、自動車の設計などにおいても計算機シミュレーションが実用されるようになってきた。このようなＰＣクラスタリングシステムは、何十、あるいは何千というＰＣを、ある部屋に高密度で設置することになる。
【０００３】
このような大多数のＰＣを稼動させれば、その消費電力は非常に大きなものとなり、利用可能な電力を超えてしまう可能性がある。また、ＰＣクラスタリングシステム全体の発熱も非常に大きなものとなり、部屋の室温が上昇する。そしてその熱によりＣＰＵ(Central Processing Unit)に負荷がかかり、ＰＣが故障する場合がある。なお、部屋に設けられている空調を働かせて室温を下げようとする行為は、消費電力が増大するという結果を招くため有効な策とはいえない。
【０００４】
上記事情を考慮すれば、ＣＰＵの負荷を一定以下に抑え、ＰＣの稼動条件を逸脱しないように消費電力と室温上昇を一定の範囲内に抑えることが重要な課題となる。勿論、消費電力と室温を確認しながら、手動でそれらのジョブスケジューリングを行うことはできる。しかし、常時それらを監視する必要があり、運用上それは非常に困難である。従って、それらのジョブスケジューリングは自動で行われることが必要である。
【０００５】
特許文献１の「ジョブスケジューリング方式」は、スケジューリング更新ルールを設定しておくことによりシステム（上記ＣＰＵに相当）の負荷状態に合わせて自動的にジョブスケジューリングルールを変更し、容易に効率的なシステム運用を行う技術について開示している。
【０００６】
しかし、この技術を上記ＰＣクラスタリングシステムという環境に適用することは困難である。大規模なＰＣクラスタリングシステムでは個々のＣＰＵの負荷だけでなく、他のＣＰＵの負荷状態も考慮してジョブスケジューリングを行う必要がある。しかし、この技術では単に、一のＣＰＵの負荷状態による更新ルールの設定を行うだけであり、多数のＣＰＵに単純に適用できるものではないからである。
【０００７】
また、上述したようにＣＰＵの負荷状態は消費電力や室温の上昇といった外部の条件（以下、「外部条件」という。）に影響を受ける。ＰＣクラスタリングシステムのジョブスケジューリングを行うときは外部条件も考慮する必要がある。しかし、特許文献１には外部条件については何ら開示されていない。
【特許文献１】特開平５−８８９１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記事情を鑑みて、本発明はＰＣクラスタリングシステムにおいて、外部条件を考慮したジョブスケジューリングを行うサーバ等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成する本発明の態様は、外部条件に基づいてジョブスケジューリングを行い、ＰＣクラスタリングシステムの各ＰＣに投入するプログラムを調節、または、各ＰＣの電源のＯＮ／ＯＦＦを制御するサーバに関するものである。
【００１０】
このサーバは、端末より投入されたプログラムに対して前記ジョブスケジューリングを行うジョブスケジューリング手段と、前記外部条件を前記ジョブスケジューリング手段に通知する外部状況通知手段と、端末より入力された前記外部条件に関する制御ポリシーを登録する制御ポリシー登録手段を有するものである。
【００１１】
本発明の他の態様は、外部条件に関する制御ポリシーを登録する登録工程と、前記外部条件を検出する検出工程を有し、前記外部条件に基づいてジョブスケジューリングを行い、ＰＣクラスタリングシステムの各ＰＣに投入するプログラムを調節、または、各ＰＣの電源のＯＮ／ＯＦＦを制御するジョブスケジューリング方法に関するものである。
【００１２】
ここで、前記ジョブスケジューリングにより前記ＰＣクラスタリングシステムのＰＣが休止状態または停止状態にある場合、前記検出工程において前記外部条件を検出し、前記外部条件が前記制御ポリシーに従えば、当該休止状態または停止状態のＰＣを起動することを特徴とする。
【００１３】
また、本発明の他の態様は、コンピュータに、外部条件に基づいてジョブスケジューリングを行い、ＰＣクラスタリングシステムの各ＰＣに投入するプログラムを調節、または、各ＰＣの電源のＯＮ／ＯＦＦを制御するサーバとして機能させるプログラムに関するものであり、または、そのプログラムを格納する記録媒体に関するものである。
【発明の効果】
【００１４】
本発明により、室温や消費電力といった外部条件に従ったプログラムのスケジューリングを行うことにより、自動で、外部条件を一定範囲内に維持でき、ひいては、ＰＣクラスタリングシステムの各ＰＣの故障率を下げることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明のサーバによるジョブスケジューリングを実施するための最良の形態について説明する。説明する際には、本明細書と同時に提出する図面を適宜参照することにする。
【００１６】
図１は本形態のサーバとＰＣクラスタリングシステムを有して構成されるネットワークシステムの構成を図示したものである。このネットワークシステムはサーバ１００、ＰＣクラスタリングシステム２００、利用者端末３００、運用管理者端末４００を有し構成されている。また、サーバ１００には消費電力センサ５００と室温センサ６００が接続されている。
【００１７】
サーバ１００はＰＣクラスタリングシステム２００を管理する情報処理装置である。その管理を行うための中央処理制御を行うＣＰＵと、当該中央処理制御を行うために読み出すプログラムを格納するＲＯＭ(Read Only Memory)と、他の情報処理装置と送受信される種々の情報を記憶するＲＡＭ(Random Access Memory)を有している。
【００１８】
ＰＣクラスタリングシステム２００は大規模な計算を要するシミュレーションなどを行うために多数のＰＣが連結されて構成される情報処理システムである。サーバ１００より受信するプログラムが投入されることにより、対応する計算処理を実行する。
【００１９】
利用者端末３００はＰＣクラスタリングシステム２００に所望の計算を実行させるために利用者がプログラムを投入するための情報処理装置である。このネットワークシステムには多数の利用者端末３００が接続されており、各利用者端末から種々のプログラムが投入されるものとする。運用管理者端末４００はＰＣクラスタリングシステム２００による処理を調節するために運用管理者がポリシー制御を行うための情報処理装置である。適当な制御ポリシーをサーバ１００に登録することによりＰＣクラスタリングシステム２００に対するプログラムの投入を調節することができる。詳しくは後述する。
【００２０】
消費電力センサ５００はＰＣクラスタリングシステム２００を運用することにより消費される電力を測定する機能を有するセンサである。その測定結果はサーバ１００に送信される。室温センサ６００はＰＣクラスタリングシステム２００が配置されている部屋の室温を測定する機能を有するセンサである。その測定結果はサーバ１００に送信される。
【００２１】
なお、ＰＣクラスタリングシステム２００の各ＰＣ、利用者端末３００、運用管理者端末４００は何れもサーバ１００と同様にＣＰＵ、ＲＯＭ、ＲＡＭを有している。
【００２２】
次に、本形態のサーバ１００におけるソフトウェアの構成について説明する。図２はサーバ１００におけるソフトウェアの構成及びサーバ１００にて送受信される種々の情報を図示したものである。サーバ１００のソフトウェアはジョブスケジューリング手段１１０、外部状況通知手段１２０、制御ポリシー登録手段１３０、制御ポリシーデータベース１４０を有して構成されている。
【００２３】
ジョブスケジューリング手段１１０は利用者端末３００からのプログラムの投入に従ってキュー１１１に一時的に投入する。キュー１１１に投入されたプログラムを「APi」（ｉ＝０、１、…）と表記する。そして、ＰＣクラスタリングシステム２００の各ＰＣのＣＰＵのリソースの空き状況に応じて、キュー１１１に投入されたプログラムをリソースの空いたＰＣに投入する機能を有する。また、ＰＣクラスタリングシステム２００の消費電力、部屋の室温に応じて各ＰＣの電源のＯＮ／ＯＦＦ（シャットダウン）を制御する。つまり、ＰＣクラスタリングシステム２００のスケジューラとして機能する。
【００２４】
外部状況通知手段１２０は消費電力センサ５００よりＰＣクラスタリングシステム２００における消費電力を電力情報として受信し、ジョブスケジューリング手段１１０に現在の消費電力を通知する。また、室温センサ６００よりＰＣクラスタリングシステム２００の部屋の室温を温度情報として受信し、ジョブスケジューリング手段１１０に現在の室温を通知する。
【００２５】
制御ポリシー登録手段１３０は運用管理者端末４００より設定される制御ポリシーをサーバ１００に登録する。また、制御ポリシーデータベース１４０は制御ポリシー登録手段１３０にて設定される制御ポリシーを記録する。この制御ポリシーはＰＣクラスタリングシステム２００の消費電力、ＰＣクラスタリングシステム２００の部屋の室温などの外部条件に基づいてＰＣクラスタリングシステム２００の運用を制御するためのポリシーを主にいう。設定される制御ポリシーとしては、例えば、「室温が３０℃以上になった場合には、ＰＣの１割をシャットダウンする」といったものがある。
【００２６】
本形態でなされるジョブスケジューリングはＰＣクラスタリングシステム２００の消費電力と室温に連動して、各ＰＣへのプログラムの投入を制御し、または、電源のＯＮ／ＯＦＦを制御する。
【００２７】
つまり、外部状況通知手段１２０は消費電力センサ５００、室温センサ６００より測定された消費電力、室温をジョブスケジューリング手段１１０に通知する。一方、制御ポリシー登録手段１３０は事前に、どのような外部条件において、ＰＣへのジョブ投入をどのように制御するか、ＰＣのシャットダウンと起動をどのように制御するか、といった制御ポリシーを登録する。登録された制御ポリシーは制御ポリシーデータベース１４０に記録される。
【００２８】
そして、ジョブスケジューリング手段１１０は通知された消費電力、室温と設定された制御ポリシーに従って、利用者端末３００により投入されたプログラムをＰＣクラスタリングシステム２００の各ＰＣに投入する。必要に応じてＰＣの電源をＯＦＦする場合もある。これにより、自動的に消費電力、室温などの外部状況を一定範囲内に維持する。
【００２９】
ＰＣクラスタリングシステム２００の各ＰＣに対しプログラムを投入するときの具体的なジョブスケジューリングの動作について説明する。図３は実行中のプログラムが終了する時のジョブスケジューリングを示すフローチャートである。また、図４はジョブスケジューリング手段１１０へプログラムが投入される時のジョブスケジューリングを示すフローチャートである。
【００３０】
まず、図３のジョブスケジューリングについて説明する。
【００３１】
ジョブスケジューリング手段１１０はＰＣクラスタリングシステム２００のあるＰＣで実行中のプログラムが終了した場合には、キュー１１１に溜まったプログラムを順次、空いたＰＣに投入する。その際、外部状況通知手段１２０によって通知された消費電力状態をチェックし（Ｓ０１）、また、室温状態をチェックする（Ｓ０２）。消費電力および室温ともに制限範囲内であれば（Ｓ０１でＹｅｓ、Ｓ０２でＹｅｓ）、キュー１１１にプログラムが在るか否かをチェックする（Ｓ０３）。キュー１１１にプログラムがあれば（Ｓ０３でＹｅｓ）、キュー１１１の先頭のプログラムを、今、プログラムが終了したばかりで空き状態となったＰＣに投入する（Ｓ０４）。キューが空であれば（Ｓ０３でＮｏ）、待ち状態になる（Ｓ０６）。
【００３２】
また、消費電力または室温が制限範囲外である場合には（Ｓ０１でＮｏまたはＳ０２でＮｏ）、制御ポリシー登録手段１３０によって、制御ポリシーデータベース１４０に登録された制御ポリシーに従って、プログラムのＰＣへの投入を抑止し、または、ＰＣをシャットダウンするなどの処理を実施し、外部条件が制限範囲内に収まるのを待つ（Ｓ０５）。
【００３３】
次に、図４のジョブスケジューリングについて説明する。
【００３４】
ジョブスケジューリング手段１１０はスケジューラとして利用者端末３００からプログラムが投入されたとき、そのプログラムをキュー１１１に積む。キュー１１１にプログラムがあれば（Ｓ０２でＹｅｓ）、待機する（Ｓ０７）。キュー１１１が空で（Ｓ０２でＮｏ）、かつ、空きＰＣがあれば（Ｓ０３でＹｅｓ）、そのＰＣにプログラムを投入する（Ｓ０８）。
【００３５】
空きＰＣが無く（Ｓ０３でＮｏ）、外部状況通知手段１２０によって通知された消費電力状態および室温ともに制限範囲内でもなく、ジョブスケジューリング手段１１０によりプログラムの投入を抑止された休止中または停止中のＰＣも無ければ（Ｓ０４でＮｏ）、待機する。空きＰＣがない場合にも（Ｓ０３でＮｏ）、外部状況通知手段１２０によって通知された消費電力状態および室温ともに制限範囲内となっているか、休止中または停止中のＰＣがあれば（Ｓ０４でＹｅｓ）、そのＰＣを起動して（Ｓ０５）、そのＰＣにキュー１１１から取り出したプログラムを投入する（Ｓ０６）。なお、ＰＣが休止中であるとは、電源は投入されているが、稼動状態を保存して消費電力を抑えている状態をいい、ＰＣが停止中であるとは電源が投入されていない状態、つまり、シャットダウンの状態をいう。
【００３６】
このように過負荷により、一旦、ＰＣの稼動を抑止した場合にも、キュー１１１にプログラムが投入された場合には、外部条件を考慮して可能な範囲で、自動でＰＣを再稼動させ、プログラムを実行することが可能となる。
【００３７】
以上のように本形態のジョブスケジューリングを実施することにより、外部状況通知手段１２０によって通知された室温と消費電力、および、制御ポリシー登録手段１３０により事前に登録された制御ポリシーに従って、ＰＣの稼動の抑止、電源のＯＮ／ＯＦＦ（シャットダウン）を自動的に行うことができる。これによって、自動的に室温や消費電力を一定範囲内に抑えることができる。また、一旦、稼動を抑止したＰＣも、室温や消費電力が一定範囲内に戻り、キュー１１１にプログラムが投入された際には、稼動を抑止されたＰＣは再稼動され、プログラムがそのＰＣ上でも実行することができる。
【００３８】
なお、上述した形態は本発明を実施するための最良のものであるがこれに限定する趣旨ではない。従って、本発明の要旨を変更しない範囲においてその実施形式を種々変形することが可能である。
【００３９】
上記ではＰＣクラスタリングシステムのＰＣ単位でジョブスケジューリングを行っていたが、例えば、１台のＰＣに複数ＣＰＵを搭載できるマシンもある。従って、そのようなＰＣがＰＣクラスタリングシステムに属しているのであれば、ＣＰＵ単位でポリシー制御を行うほうがプログラムの投入をより精度よく制御できる。
【００４０】
また、室温センサ６００は、ＰＣクラスタリングシステム２００が配置されている部屋に一つだけ設けても良いが、複数個設けることにより各ＰＣに対するジョブスケジューリングをより細かく行うことができる。例えば、ＰＣクラスタリングシステムの各ＰＣは約２０台程度を１単位として扱い、１つのラックに収容されている。このラックの各々に室温センサ６００を設置する。そして、ジョブスケジューリング手段１１０によって温度の低いラックに搭載されたＰＣに優先的にプログラムを投入するように調節することができる。このような処理により、一部のＰＣの温度が上昇し、その周辺のＰＣの故障を引き起こすといった事態を解消することができる。
【図面の簡単な説明】
【００４１】
【図１】本形態のサーバとＰＣクラスタリングシステムを有して構成されるネットワークシステムの構成を図示したものである。
【図２】サーバ１００におけるソフトウェアの構成及びサーバ１００にて送受信される種々の情報を図示したものである。
【図３】実行中のプログラムが終了する時のジョブスケジューリングを示すフローチャートである。
【図４】ジョブスケジューリング手段１１０へプログラムが投入される時のジョブスケジューリングを示すフローチャートである。
【符号の説明】
【００４２】
１００    サーバ
２００    ＰＣクラスタリングシステム
３００    利用者端末
４００    運用管理者端末
５００    消費電力センサ
６００    室温センサ
１１０    ジョブスケジューリング手段
１１１    キュー
１２０    外部情報通知手段
１３０    制御ポリシー登録手段
１４０    制御ポリシーデータベース
【図１】
2007072768.tif 000003
【図２】
2007072768.tif 000004
【図３】
2007072768.tif 000005
【図４】
2007072768.tif 000006