JP2008234293A - グリッドシステム、グリッド処理方法、及び、コンピュータプログラム - Google Patents

グリッドシステム、グリッド処理方法、及び、コンピュータプログラム Download PDF

Info

Publication number
JP2008234293A
JP2008234293A JP2007072681A JP2007072681A JP2008234293A JP 2008234293 A JP2008234293 A JP 2008234293A JP 2007072681 A JP2007072681 A JP 2007072681A JP 2007072681 A JP2007072681 A JP 2007072681A JP 2008234293 A JP2008234293 A JP 2008234293A
Authority
JP
Japan
Prior art keywords
grid
job
processing
processing result
client
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
JP2007072681A
Other languages
English (en)
Other versions
JP4926774B2 (ja
Inventor
Takashi Suenaga
高志 末永
Hiroyori Taira
博順 平
Keiichiro Nakagawa
慶一郎 中川
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.)
NTT Data Group Corp
Original Assignee
NTT Data 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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2007072681A priority Critical patent/JP4926774B2/ja
Publication of JP2008234293A publication Critical patent/JP2008234293A/ja
Application granted granted Critical
Publication of JP4926774B2 publication Critical patent/JP4926774B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】同じ分析プログラムを複数の依頼者で共有して利用し、グリッド処理が完了する前であってもその時点の最適解を依頼者が取得可能とする。
【解決手段】グリッドサーバシステム3は、分析クライアントシステム1からグリッド処理要求を受信すると、受付番号を割り当てるとともに、ジョブを複数生成してジョブの実行をグリッドクライアント5へ分散して指示する。グリッドクライアント5は、ジョブを実行し、前回通知した当該ジョブよりよい処理結果が得られた場合は、グリッドサーバシステム3へ通知することを所定の時間毎に繰り返す。グリッドサーバシステム3は、ジョブの処理結果を受信して、当該ジョブの生成元となったグリッド処理の受付番号に対応して処理結果記憶部に記憶されている処理結果と比較し、受信した情報で示される処理結果のほうがよりよい処理結果であれば処理結果記憶部内の現在の処理結果を、受信した処理結果により更新する。
【選択図】図1

Description

本発明は、グリッドシステム、グリッド処理方法、及び、コンピュータプログラムに関する。
従来、グリッドシステムは、単一のユーザによる処理の依頼を、システム内のグリッドクライアント、すなわち、ネットワークを介して接続されるコンピュータに分割し、それぞれのグリッドクライアントにおいて処理を実行させることによって処理の高速化を狙うものが一般的である(例えば、非特許文献1参照)。また、サービス提供サーバが、ユーザコンピュータから要求されたサービスを実行するための複数の処理ブロックそれぞれをユーザコンピュータに実行させ、サービスを要求した資源使用者に、使用した資源に応じて課金を行い、ユーザコンピュータ資源を提供した資源提供者への支払い金額を算出するグリッドシステムがある(例えば、特許文献1参照)。
特開2004−326452号公報 "ネットワークコンピューティングのためのバークレー・オープン・インフラストラクチャ",[online],2007年,[平成19年3月1日検索]、インターネット<http://boinc.oocp.org/indexj.php>
組み合わせ最適化問題を解く探索的なアルゴリズムは、多くの初期値を発生させて長い時間をかけて実行することにより、よい解が得られることが期待される。そこで、グリッドシステムを利用して、複数のパーソナルコンピュータ(PC)に処理を分散し、多くの初期値を用いて計算を実行することで、探索の効率化を図ることが実行されてきた。
一方で、このような組み合わせ最適化問題を実際に解く際に、何かしらの分析を実施したのち、その分析結果を入力として探索アルゴリズムを実行させる場合がある。そこで、このような場合に、分析アルゴリズムごとにプログラムが用意され、かつ、ユーザは用意されたプログラムを自在に組み合わせて利用したり、複数のユーザの同時利用が可能であったりするような分析システムが存在すれば、ユーザの利便性は向上する。しかし、このシステムに、グリッドの仕組みを取り入れたプログラムを統合することを考えた際には以下のような問題があった。
ひとつは、BOINCなどのグリッドプログラムのプラットフォームでは、同じ分析プログラムを複数人で共有して利用することは想定していないという問題である。そのため、複数人で利用する分析システムの場合に、グリッドで処理している分析プログラムが、どのユーザのどのデータの処理であるかを区分けできる仕組みを追加する必要がある。
もうひとつは、通常組み合わせ最適化問題を解く探索的なアルゴリズムを利用する場合、処理時間がかかり、なおかつどの程度処理時間をかければ十分な結果が得られるかが事前にはわからないという問題である。つまり、依頼元はグリッドサーバの実行状況を常に監視していなければならず、ひとつのグリッド処理が完了するまでは他の処理を行うことができなかった。
本発明は、このような事情に鑑みてなされたものであり、同じ分析プログラムを複数の依頼者で共有して利用することができ、かつ、グリッド処理が完了する前であってもその時点の最適解を依頼者が取得することができるグリッドシステム、グリッド処理方法、及び、コンピュータプログラムを提供することをその目的とする。
上記課題を解決するために、本発明は、グリッド処理依頼システムと、グリッドサーバシステムと、グリッドクライアントとからなるグリッドシステムにおいて、前記グリッドサーバシステムは、グリッド処理要求を一意に特定する受付番号と、当該受付番号により特定される実行中のグリッド処理の処理結果の情報とを対応付けて記憶する作業データ記憶部と、前記グリッド処理依頼システムからグリッド処理要求を受信するインタフェース部と、前記インタフェース部により受信したグリッド処理要求へ受付番号を割り当てるとともに、要求されたグリッド処理のジョブを複数生成して、生成した各ジョブの実行を前記グリッドクライアントへ分散して指示するジョブ起動制御部と、前記ジョブ起動制御部によりジョブの実行を指示したグリッドクライアントから当該ジョブの処理結果の情報を受信して、当該ジョブの生成元となったグリッド処理の受付番号に対応して前記作業データ記憶部に記憶されている処理結果と比較し、受信した情報で示される処理結果のほうがよりよい処理結果であれば前記作業データ記憶部内の現在の処理結果の情報を、受信した処理結果の情報により更新するグリッドアプリケーション実行部とを備え、前記グリッドクライアントは、前記グリッドサーバシステムからジョブの実行指示を受信し、当該ジョブを実行して処理結果を得、所定の時間毎に、前回通知を行った後に新たに得られた処理結果を通知することを繰り返す計算実行部を備える、ことを特徴とするグリッドシステムである。
また、本発明は、上述するグリッドシステムであって、前記グリッドサーバシステムのグリッドアプリケーション実行部は、前記グリッドクライアントから現在の最適な処理結果の問い合わせを受け、当該グリッドクライアントへ実行を指示したジョブの生成元となったグリッド処理の受付番号に対応して前記作業データ記憶部に記憶されている処理結果の情報を返送し、前記グリッドクライアントの計算実行部は、前記ジョブを実行する1サイクルの時間である最適化探索サイクル、前記最適化探索サイクルの途中においてジョブを継続するか否かを判断するチェックポイント時間、ジョブのサイクルを繰り返し行う上限の時間である総計算時間の情報の入力を受け、前記グリッドサーバシステムからジョブの実行指示を受信して最適化探索サイクルを開始し、入力値の初期値を発生させ、当該入力値を変化させながらチェックポイント時間に達するまで前記ジョブを実行し、チェックポイント時間内でジョブを実行して得た処理結果と、前記グリッドサーバシステムへ問い合わせを送信して得た現在の最適な処理結果とを比較し、チェックポイント時間内でジョブを実行して得た処理結果のほうがよければ最適化探索サイクルの終了まで前記入力値を変化させながらのジョブの実行を継続し、前記グリッドサーバシステムから受信した処理結果のほうがよければ、再び最適化サイクルを開始し、最適化探索サイクルが終了したときに、当該最適化探索サイクル内でジョブを実行して得た処理結果の情報をグリッドサーバシステムへ通知し、再び最適化探索サイクル開始することを、前記総計算時間に達するか、ジョブの停止指示が入力されるまで繰り返す、ことを特徴とする。
また、本発明は、上述するグリッドシステムであって、前記処理結果は、解とその評価値との情報を含み、前記グリッド処理依頼システムは、グリッド処理要求と、解の評価値の算出に用いる入力データとを前記グリッドサーバシステムへ通知し、前記グリッドサーバシステムのジョブ起動制御部は、前記分析クライアントから受信した入力データを、当該グリッド処理依頼システムから要求されたグリッド処理のジョブを実行する前記グリッドクライアントへ通知し、前記グリッドクライアントの計算実行部は、ジョブを実行して解を得ると、前記グリッドサーバシステムから受信した入力データを用いて当該解の評価値を算出し、前記グリッドアプリケーション実行部及び前記グリッドクライアントの計算実行部は、2つの処理結果の比較を、当該処理結果で示される評価値同士の大小によって行い、どちらの処理結果がよりよいかを判断する、ことを特徴とする。
また、本発明は、グリッド処理依頼システムと、グリッドサーバシステムと、グリッドクライアントとからなるグリッドシステムにおけるグリッド処理方法であって、前記グリッドサーバシステムは、グリッド処理要求を一意に特定する受付番号と、当該受付番号により特定される実行中のグリッド処理の処理結果の情報とを対応付けて記憶する作業データ記憶部とを備えており、前記グリッドサーバシステムにおいて、インタフェース部が、前記グリッド処理依頼システムからグリッド処理要求を受信し、ジョブ起動制御部が、前記インタフェース部により受信したグリッド処理要求へ受付番号を割り当てるとともに、要求されたグリッド処理のジョブを複数生成して、生成した各ジョブの実行を前記グリッドクライアントへ分散して指示し、前記グリッドクライアントにおいて、計算実行部が、前記グリッドサーバシステムからジョブの実行指示を受信し、当該ジョブを実行して処理結果を得、所定の時間毎に、前回通知を行った後に新たに得られた処理結果を通知することを繰り返し、前記グリッドサーバシステムにおいて、グリッドアプリケーション実行部が、前記ジョブ起動制御部によりジョブの実行を指示したグリッドクライアントから当該ジョブの処理結果の情報を受信して、当該ジョブの生成元となったグリッド処理の受付番号に対応して前記作業データ記憶部に記憶されている処理結果と比較し、受信した情報で示される処理結果のほうがよりよい処理結果であれば前記作業データ記憶部内の現在の処理結果の情報を、受信した処理結果の情報により更新する、ことを特徴とするグリッド処理方法である。
また、本発明は、グリッド処理依頼システムと、グリッドサーバシステムと、グリッドクライアントとからなるグリッドシステムの前記グリッドサーバシステムとして用いられるコンピュータを、グリッド処理要求を一意に特定する受付番号と、当該受付番号により特定される実行中のグリッド処理の処理結果の情報とを対応付けて記憶する作業データ記憶部、前記グリッド処理依頼システムからグリッド処理要求を受信するインタフェース部、前記インタフェース部により受信したグリッド処理要求へ受付番号を割り当てるとともに、要求されたグリッド処理のジョブを複数生成して、生成した各ジョブの実行を前記グリッドクライアントへ分散して指示するジョブ起動制御部、前記ジョブ起動制御部によりジョブの実行を指示したグリッドクライアントから当該ジョブの処理結果の情報を受信して、当該ジョブの生成元となったグリッド処理の受付番号に対応して前記作業データ記憶部に記憶されている処理結果と比較し、受信した情報で示される処理結果のほうがよりよい処理結果であれば前記作業データ記憶部内の現在の処理結果の情報を、受信した処理結果の情報により更新するグリッドアプリケーション実行部、として機能させることを特徴とするコンピュータプログラムである。
本発明によれば、グリッドサーバシステムは、依頼元からのグリッド処理の要求に対して受付番号を割り当て、この受付番号ごとに、当該グリッド処理のジョブを実行しているグリッドクライアントから所定の時間毎に通知される実行結果の中から最適解を選択して保持する。従って、同じ分析プログラムを複数の依頼者で共有して利用することができ、かつ、グリッド処理が完了する前であってもその時点の最適解を依頼者が取得することができる。また、依頼者は常にグリッド処理の実行状況を監視する必要がない。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は、本実施の形態によるグリッドシステムの機能ブロック図である。
同図において、グリッドシステムは、グリッドサーバシステム3と、分析クライアントシステム1、1、…と、グリッドクライアント5、5、…とを、IP(Internet Protocol)などを用いたネットワークを介して接続してなる。
グリッド処理依頼システムとしての分析クライアントシステム1は、1または複数のサーバ、コンピュータ端末などで実現することができ、制御部11、通信部12、記憶部13、分析処理部14を備える。制御部11は、各部の制御や、データの一時的な格納や、データの転送等を行う。通信部12は、ネットワークを介したデータの送受信を行う。記憶部13は、各種データを記憶する。分析処理部14は、処理受付部15と分析プログラム実行部16を備える。処理受付部15は、分析処理の実行、分析処理実行中に起動されたグリッド処理の処理結果やステータスの表示、グリッド処理の停止等の指示の入力を受け付け、分析プログラム実行部16のプログラムを起動する。分析プログラム実行部16は、処理受付部15から起動された分析プログラムや、グリッド処理の処理結果取得、テータス表示、グリッド処理の停止などのプログラムなどを実行し、グリッドサーバシステム3へ各種コマンドを発行する。
グリッドサーバシステム3は、1または複数のサーバで実現することができ、制御部31、通信部32、ジョブ作成部33、ジョブ記憶部37、処理結果記憶部38、作業データ記憶部39を備える。制御部31は、各部の制御や、データの一時的な格納や、データの転送等を行う。通信部32は、ネットワークを介したデータの送受信を行う。ジョブ作成部33は、インタフェース部34、グリッドアプリケーション実行部35、ジョブ起動制御部36を備える。インタフェース部34は、分析クライアントシステム1から発行された各種コマンドに応じて、各部への指示を発行したり、分析クライアントシステム1へ各種コマンドの実行結果、例えば、グリッド処理の処理結果やステータスを通知したりする。グリッドアプリケーション実行部35は、グリッド処理のジョブを作成するとともに、グリッドクライアント5から受信したジョブの処理結果に基づき処理結果記憶部38内に保持しているグリッド処理の処理結果を更新する。ジョブ起動制御部36は、グリッドクライアント5へのジョブの送信や、ジョブの停止指示を行うとともに、グリッドクライアント5からジョブのステータスの情報を取得する。ジョブ記憶部37は、ジョブの管理に関する情報を記憶する。処理結果記憶部38は、グリッド処理の処理結果を記憶する。作業データ記憶部39は、現在実行中のグリッド処理の最適解の情報を保持する。
グリッドクライアント5は、コンピュータ端末であり、制御部51、通信部52、記憶部53、計算実行部54を備える。制御部51は、各部の制御や、データの一時的な格納や、データの転送等を行う。通信部52は、ネットワークを介したデータの送受信を行う。記憶部53は、各種データを記憶する。計算実行部54は、クライアントプログラム実行部55及びジョブアプリケーション実行部56を備える。クライアントプログラム実行部55は、グリッドサーバシステム3からジョブの起動や停止の指示を受けるとともに、ジョブの処理結果やステータスをグリッドサーバシステム3へ通知するためのグリッド処理クライアントプログラムを実行する。ジョブアプリケーション実行部56は、クライアントプログラム実行部55からの指示によりジョブの実行プログラムであるジョブアプリケーションプログラムを実行する。
図2は、グリッドサーバシステム3のジョブ記憶部37が記憶する受付番号管理テーブルのデータ構成を示す図である。受付番号管理テーブルは、分析クライアントシステム1から要求されたグリッド処理を特定するための受付番号、当該グリッド処理を要求した分析クライアントシステム1を特定するID(要求分析クライアントID)、当該グリッド処理要求の受付時刻、当該グリッド処理の処理結果を記憶している記憶領域のアドレスの情報を含む。分析クライアントシステム1のIDとしては、例えば、IPアドレスを用いることができる。
図3は、グリッドサーバシステム3のジョブ記憶部37が記憶するジョブ管理テーブルのデータ構成を示す図である。ジョブ管理テーブルは、ジョブを特定するジョブ番号、当該ジョブがどのグリッド処理から発生したのかを特定する受付番号、当該ジョブを割り当てたグリッドクライアント5を特定するID(実行グリッドクライアントID)、当該ジョブのステータスの情報を含む。グリッドクライアント5のIDとしては、例えば、IPアドレスを用いることができる。
次に、グリッドシステムの動作を説明する。
図4は、グリッドシステムにおける概要処理のフローチャートである。
同図において、グリッドサーバシステム3は、ユーザから依頼されたグリッド処理要求を分析クライアントシステム1から受け、ユーザ毎に受付番号を発行してグリッド処理のジョブを生成し、依頼元から指定された条件等に基づいたジョブの実行条件をグリッド用計算資源であるグリッドクライアント5に通知してジョブを実行させる(ステップS11)。
グリッドクライアント5は、ある初期値から入力値を変えながらジョブを実行して当該ジョブの処理結果を得る処理を、実行条件で示される、処理結果をチェックすべき時間(チェックポイント時間)に達するまで繰り返し実行する。グリッドクライアント5は、チェックポイント時間に達すると、そのとき得られている処理結果がこれまでよりよい処理結果であれば、実行条件で示される探索時間(最適化探索サイクル)まで探索を継続し、最適化探索サイクルが終了すると、受付番号とともにその時点で当該グリッドクライアント5が保持する最もよい処理結果をグリッドサーバシステム3へ通知する。グリッドサーバシステム3は、受付番号に対応した作業データ記憶部39の作業領域を参照し、現在グリッドサーバシステム3が保持する最適な処理結果よりもよい処理結果を得られたと判断した場合に、現在の保持している最適な処理結果を新たに受信した当該処理結果に書き換え、グリッドクライアント5に再度ジョブを実行させる(ステップS12)。
分析クライアントシステム1は、グリッド処理の受付番号をグリッドサーバシステム3へ通知することにより、依頼元のユーザは、全てのグリッド処理が完了していなくても、その時点での最適な処理結果を取得することができる(ステップS13)。グリッドクライアント5は、実行条件で示される総計算時間に達するか、停止の指示があるまでジョブを実行する。
次に、グリッドシステムにおける各処理の詳細な動作について説明する。
なお、以下に示す図5〜図9のシーケンスでは、グリッドサーバシステム3のジョブ起動制御部36及び作業データ記憶部39の機能をグリッドサーバ41が実現し、ジョブ記憶部37及び処理結果記憶部38の機能をDBサーバ42が実現するものとする。
図5は、図4に示すジョブ作成処理(ステップS11)におけるシーケンスを示す図である。
分析クライアントシステム1の処理受付部15は、ユーザから分析プログラム実行の指示を受けると(ステップS110)、分析プログラムをコールする(ステップS115)。分析プログラム実行部16は、コールされた分析プログラムを起動して分析処理を実行する。分析プログラム実行部16は、実行している分析処理の中に、例えば最適化問題等の所定のグリッド処理の実行が含まれている場合、その所定のグリッド処理を実行するためのグリッド処理プログラムをコールする。これにより、分析プログラム実行部16は、グリッドサーバシステム3のIPアドレスをあて先として、通信部12を介してグリッドサーバシステム3へ受付番号発行コマンドを送信し、受付番号の発行を依頼する(ステップS120)。
グリッドサーバシステム3のインタフェース部34が、通信部32を介して受付番号発行依頼を受信すると、DBサーバ42内のジョブ記憶部37が保持するジョブ管理テーブルを参照し、このジョブ管理テーブル内に登録されておらず、受信した受付番号依頼を一意に識別可能な受付番号を発行する(ステップS125)。この受付番号は、例えば、連番で発行する。インタフェース部34は、DBサーバ42内のジョブ記憶部37の受付番号管理テーブルに、発行した受付番号、受付番号発行依頼元の分析クライアントシステム1のID(IPアドレス)、受付番号発行依頼の受付時刻の情報からなるレコードを追加する(ステップS130)。インタフェース部34は、さらに、グリッドサーバ41の作業データ記憶部39内に作業領域を確保すると、ステップS130においてジョブ記憶部37内の受付番号管理テーブルへ追加したレコードに、確保した作業領域のメモリアドレスの情報を処理結果記憶アドレスとして追加する(ステップS135)。インタフェース部34は、分析クライアントシステム1へ発行した受付番号の情報を返送する(ステップS140)。
分析クライアントシステム1の分析プログラム実行部16は、グリッドサーバシステム3から受信した受付番号の情報を記憶部13に記憶すると、グリッドサーバシステム3へ受付番号、実行を要求するグリッド処理、グリッド処理の入力データ及び設定情報を記述したジョブ作成依頼データと、ジョブ作成依頼コマンドを送信する(ステップS145)。
図10に、ジョブ作成依頼データに含まれる内容を示す。ジョブ作成依頼データには、グリッドクライアント5で動作させるグリッド処理のジョブアプリケーション、設定情報ファイル、入力データ、受付番号の情報などが含まれる。ジョブアプリケーションの情報には、実行されるべき最適化プログラムの情報、つまり、最適化問題を解くためのモデル(制約式や解の評価関数式)のプログラム名が設定される。また、設定情報ファイルには、作成すべきジョブ数を示す作成クライアント数、最適化探索サイクル、総計算時間、チェックポイント時間の情報が含まれており、これらは、ステップS110にてユーザが実行を指示する前あるいは指示するときに、分析クライアントシステム1内に登録されたものである。最適化探索サイクルとは、1回の探索にかける時間、すなわち、初期値を発生してから探索をやめるまでの時間である。総計算時間とは、探索(ジョブ)のサイクルを繰り返し行う時間の上限である。また、チェックポイント時間とは、1サイクルの探索の途中で、グリッドサーバシステム3で集められた処理結果の中で最もよい値の処理結果と比較をし、探索の継続の判定処理を行う時間である。このとき、新たに得られた処理結果のほうがよく、継続と判定された場合は最適化探索まで探索を行い、そうでなければ初期値を発生して探索をやりなおす。入力データは、最適化プログラムにおける最適化処理の実行、及び、その処理結果の解の評価の算出に利用するデータを記述したファイルであり、入力データ、入力データを記述したファイルの数は最適化プログラムに依存して任意である。
図5において、グリッドサーバシステム3のインタフェース部34は、分析クライアントシステム1から受付番号、実行を要求するグリッド処理、グリッド処理の入力データ及び設定情報を記述したジョブ作成依頼データを受信すると、グリッドサーバ41へ当該ジョブ作成依頼データの書き込みを指示する。グリッドサーバ41のジョブ起動制御部36は、受付番号に対応した作業データ記憶部39内の作業領域に受信したジョブ作成依頼データを書き込む(ステップS150)。
分析クライアントシステム1の分析プログラム実行部16は、さらに、受付番号とジョブ登録コマンドをグリッドサーバシステム3へ送信し、ジョブ登録アプリケーションを起動する(ステップS155)。グリッドサーバシステム3のインタフェース部34は、受付番号、ジョブ作成コマンド、受付番号に対応したジョブ作成依頼データにより示される入力ファイル名、設定情報ファイル名をグリッドアプリケーション実行部35へ通知する(ステップS160)。ジョブ作成コマンドには、受付番号に対応したジョブ作成依頼データにより示される、起動すべきジョブアプリケーション名(最適化プログラム名)が含まれる。
グリッドアプリケーション実行部35は、ジョブ起動制御部36へ受付番号、ジョブ作成コマンドにより示されるジョブアプリケーション名、入力ファイル名、設定情報ファイル名を通知し、ジョブの作成及び登録を指示する(ステップS165)。ジョブ起動制御部36は、受付番号及び設定情報ファイル名に対応した設定情報を作業データ記憶部39内の作業領域から読み出し、設定情報で示される作成クライアント数により、今回作成するジョブの数を決定し、DBサーバ42内のジョブ管理テーブルを参照して、各ジョブにまだ未割り当てのジョブ番号を割り当てる(ステップS170)。なお、ジョブの数だけグリッドクライアント5へ最適化処理が配られることになる。ジョブ起動制御部36は、生成したジョブ番号をグリッドアプリケーション実行部35へ通知する(ステップS175)。
グリッドアプリケーション実行部35は、受付番号と、当該受付番号について生成したジョブ番号とからなるレコードを、DBサーバ42内のジョブ記憶部37が保持するジョブ管理テーブルに追加する(ステップS180)。グリッドサーバ41のジョブ起動制御部36は、それぞれのジョブ番号についてジョブを実行させるべきグリッドクライアント5を選択する。なお、グリッドクライアント5は、ジョブの実行が可能である場合には、その旨をグリッドサーバシステム3へ通知しているため、ジョブ起動制御部36は、現在ジョブ記憶部37内のジョブ管理テーブル内にジョブ実行中として登録されておらず、かつ、ジョブの実行が可能である旨を通知してきたグリッドクライアント5を、ジョブを実行させるべきグリッドクライアント5として選択する。なお、グリッドサーバシステム3は、使用可能リソース量の情報を記憶する構成を備えていてもよい。
ジョブ起動制御部36は、選択したグリッドクライアント5それぞれへ、当該グリッドクライアント5へ割り当てるべきジョブのデータを送信する(ステップS185)。つまりジョブ起動制御部36は、送信先のグリッドクライアント5に対応したジョブ番号と、実行するジョブアプリケーションプログラム(最適化プログラム)と、作業領域から読み出した入力ファイルと、設定情報ファイルを示す起動ジョブデータを通知する。このときの設定情報ファイルには、作成クライアント数の情報は含まれなくともよい。また、ジョブアプリケーションは、あらかじめグリッドサーバ41内あるいは他の記憶装置から読み出した、設定情報ファイルに記述されるプログラム名のジョブアプリケーションプログラムである。グリッドクライアント5の計算実行部54は、入力された情報に従ってジョブを実行する(ステップS190)。
なお、上記においては、分析クライアントシステム1からグリッドサーバシステム3へ送信する設定情報の中には、ジョブアプリケーション名を設定し、グリッドサーバシステム3において当該ジョブアプリケーション名のアプリケーションプログラムを取得してグリッドクライアント5へ送信しているが、分析クライアントシステム1からジョブアプリケーションプログラム自体を送信してもよい。
図6は、図4に示す計算実行処理(ステップS12)におけるシーケンスを示す図である。
グリッドクライアント5のクライアントプログラム実行部55は、グリッドサーバシステム3から送信されたジョブデータをジョブアプリケーション実行部56へ通知し、ジョブの実行を指示する(ステップS210)。ジョブアプリケーション実行部56は、以下の様に起動ジョブデータで通知されたジョブアプリケーション(最適化プログラム)を実行する(ステップS215)。なお、最適化プログラムの実行の詳細については、後述する。
まず、ジョブアプリケーション実行部56は、ジョブアプリケーションの最適化処理を行うに当たり、初期値を決定する。これは、各グリッドクライアント5がランダムに発生する乱数に基づく。次に、ジョブアプリケーション実行部56は、最適化探索サイクルで設定された時間まで最適化処理の探索アルゴリズムを繰り返す。探索アルゴリズムは、複数の変数の中から1つずつ値を変えていき、その変数を用いたときの評価値がよくなった場合はその変更された値を解として採用することにより、解の改善を図る。よって、探索アルゴリズムを実行するたびによりよい解が得られる。
ジョブアプリケーション実行部56は、探索を実行する途中で、設定情報により示されるチェックポイント時間になると、ジョブ番号とともに、グリッドサーバの記憶部53内に記憶された現在の最適解について問い合わせ依頼を送信して、現在、グリッドサーバシステム3に記憶されている最適解の評価値を取得し、チェックポイント時間までに自身の得た最適解の評価値と比較する。そして、チェックポイント時間までに自身が得た最適解の評価値より、グリッドサーバシステムから通知された最適解の評価値のほうがよいと判断された場合は、探索を中止して、新たに乱数により初期値を発生させて、探索処理をやり直す。一方、チェックポイント時間までに自身が得た最適解の評価値のほうがよいと判断された場合は、最適化探索サイクルまで探索を継続する。
ジョブアプリケーション実行部56は、最適化探索サイクル内で得られた解が、グリッドサーバシステム3に記憶された最適解の値よりよりよい解であると判断した場合、得られた解及びその評価値を示す結果データと、ジョブ番号をグリッドサーバシステム3へ送信するようクライアントプログラム実行部55へ指示する(ステップS220)。
グリッドクライアント5は、この処理を総計算時間に達するまで繰り返し実行する。
上記のように、入力値に対する解の評価値を算定し、処理結果がよいか否かについては、その算定した評価値を比較することによって行う。よって、値の大小のみの比較により簡易にどちらが最適解であるかを容易に判断することができる。
なお、グリッドサーバシステム3が、グリッドクライアント5から最適解の問い合わせを受けたときには、以下のように動作する。
グリッドサーバ41内のジョブ起動制御部36は、グリッドクライアント5から最適解の問い合わせと、ジョブ番号を受信すると、受信したジョブ番号をグリッドアプリケーション実行部35へ通知する。グリッドアプリケーション実行部35は、DBサーバ42のジョブ記憶部37内に保持されているジョブ管理テーブルから、受信したジョブ番号に対応した受付番号を取得する。さらに、グリッドアプリケーション実行部35は、DBサーバ42のジョブ記憶部37内に保持されている受付番号管理テーブルから、受付番号に対応した処理結果記憶アドレスを読み出すと、グリッドサーバ41へアクセスし、当該アドレスで示される作業データ記憶部39内の作業領域に記憶されている、現在の最適解及びその評価値を読み出す。グリッドサーバ41のジョブ起動制御部36は読み出された最適解及び評価値の情報をグリッドクライアント5へ返送する。
グリッドクライアント5のクライアントプログラム実行部55は、ジョブアプリケーション実行部56からジョブ番号と、最適解及び当該最適解の評価値とを示す処理結果データを受信し、グリッドサーバシステム3へ通知する(ステップS225)。グリッドサーバ41内のジョブ起動制御部36は、受信したジョブ番号をグリッドアプリケーション実行部35へ通知する(ステップS230)。グリッドアプリケーション実行部35は、受信したジョブ番号をDBサーバ42へ通知し、受付番号の取得を要求する(ステップS235)。DBサーバ42は、ジョブ記憶部37を参照し、受信したジョブ番号に対応した受付番号をジョブ管理テーブルから読み出してグリッドアプリケーション実行部35へ通知し、さらに、読み出した受付番号に対応した処理結果記憶アドレスを受付番号管理テーブルから読み出してグリッドアプリケーション実行部35へ通知する(ステップS240)。グリッドアプリケーション実行部35は、グリッドサーバ41へアクセスし、受信した処理結果記憶アドレスで特定される作業領域から現在の最適解の評価値を読み出す。そして、作業領域から読み出した評価値とグリッドクライアント5から通知された評価値とを比較し、グリッドクライアント5から通知された処理結果データで示される評価値のほうがよければ、作業領域内の最適解及びその評価値を、グリッドクライアント5から通知された処理結果データで示される解とその評価値に更新する。
図7は、図4に示す処理結果取得処理(ステップS13)におけるシーケンスを示す図である。
組み合わせ最適化問題など、処理時間をかけることでよりよい結果が得られる問題では、総計算時間が終了する前に途中経過を取得することが行われる。これは、分析クライアントシステム1で求めた最適化式や、初期設定条件が適切なものであるか判断するためである。
分析クライアントシステム1の処理受付部15は、ユーザから結果表示の指示の入力を受けると(ステップS310)、結果取得プログラムをコールし、受付番号の情報を分析プログラム実行部16へ通知する(ステップS315)。分析プログラム実行部16は、コールされた結果取得プログラムを起動し、グリッドサーバシステム3へ結果要求コマンドと、受付番号の情報とを送信する(ステップS320)。
グリッドサーバシステム3のインタフェース部34は、結果要求コマンドと受付番号の情報を受信すると、DBサーバ42内のジョブ記憶部37が保持する受付番号管理テーブルから受付番号に対応した処理結果記憶アドレスを読み出す。DBサーバ42は、グリッドサーバ41へアクセスし、読み出した処理結果記憶アドレスで特定される作業領域から、最適解を結果データとして読み出す(ステップS325)。インタフェース部34は、受信した受付番号と、グリッドサーバ41から読み出した結果データを分析クライアントシステム1へ返送する(ステップS330)。
分析クライアントシステム1の分析プログラム実行部16は、グリッドサーバシステム3から受付番号及び結果データを受信すると、結果データを処理受付部15へ通知する。処理受付部15は、結果データをディスプレイに表示したり、プリンタに印刷するなどして、現在の最適解を出力する(ステップS335)。
図8は、ステータス管理処理のシーケンスを示す図である。
各グリッドクライアント5において、クライアントプログラム実行部55は、定期的にジョブアプリケーション実行部56からジョブの実行状況の情報を取得して記憶部53に書き込んでいる。ジョブの実行状況には、実行中、計算終了、計算エラー、停止中などがあり、計算エラーの場合にはそのエラー項目の情報が含まれうる(ステップS410)。
一方、グリッドサーバシステム3において、グリッドサーバ41のジョブ起動制御部36は、ステータスを監視するために、グリッドクライアント5へジョブを実行させた後、所定の時間ごとにグリッドクライアント5に対して、ステータス取得要求と、ジョブ番号を送信する(ステップS415)。グリッドクライアント5のクライアントプログラム実行部55は、受信したジョブ番号、当該ジョブ番号に対応して記憶部53から読み出したジョブの実行状況の情報と、当該ジョブの実行時間の情報とをグリッドサーバシステム3へ返送する(ステップS420)。グリッドサーバ41のジョブ起動制御部36は、DBサーバ42へアクセスし、ジョブ記憶部37が保持するジョブ管理テーブルにおいて、ジョブ番号と、グリッドクライアント5のIDとで特定されるレコードを特定し、特定されたレコードへ実行状況と実行時間の情報を書き込む(ステップS425)。
一方、分析クライアントシステム1の処理受付部15は、ユーザからステータス表示の指示受けると(ステップS450)、ステータス表示プログラムをコールし、分析プログラム実行部16へ受付番号の情報を通知する(ステップS455)。分析プログラム実行部16は、コールされたステータス表示プログラムを起動し、グリッドサーバシステム3へステータス要求コマンドと、受付番号の情報とを送信する(ステップS460)。
グリッドサーバシステム3のインタフェース部34は、ステータス要求コマンドと受付番号の情報を受信すると、DBサーバ42内のジョブ記憶部37が保持するジョブ管理テーブルから、受付番号に対応したジョブ番号を取得し(ステップS465)、さらに、取得したジョブ番号に対応したステータス情報を、ジョブ管理テーブルから読み出す(ステップS470)。ステータス情報には、実行グリッドクライアント5の数(ジョブ数)、各ジョブの実行状況の情報などが含まれる。インタフェース部34は、読み出したステータス情報を分析クライアントシステム1へ返送する(ステップS475)。分析クライアントシステム1の処理受付部15は、受信したステータス情報をディスプレイに表示したり、プリンタに印刷したりする(ステップS480)。
図9は、ジョブ停止処理のシーケンスを示す図である。
分析クライアントシステム1の処理受付部15は、ユーザからジョブの停止指示の入力を受けると(ステップS510)、ジョブ停止プログラムをコールし、受付番号を分析プログラム実行部16へ通知する(ステップS515)。分析プログラム実行部16は、コールされたジョブ停止プログラムを起動し、グリッドサーバシステム3へジョブ停止コマンドと、受付番号の情報とを送信する(ステップS520)。
グリッドサーバシステム3のインタフェース部34は、ジョブ停止コマンドを受信すると(ステップS525)、DBサーバ42内のジョブ記憶部37が保持する受付番号管理テーブルから、受付番号に対応したジョブ番号と、当該ジョブ番号のジョブを実行しているグリッドクライアント5のIDを読み出す(ステップS530)。グリッドサーバ41のジョブ起動制御部36は、読み出されたIDにより示されるグリッドクライアント5に、当該グリッドクライアント5に対応したジョブ番号と、停止命令とを送信する(ステップS535)。また、グリッドサーバ41のジョブ起動制御部36は、受付番号と、作業データ記憶部39の作業領域内に当該受付番号に対応して保持している解とその評価値をDBサーバ42の処理結果記憶部38へ書き込む。グリッドクライアント5のクライアントプログラム実行部55は、ジョブアプリケーション実行部56へ、受信したジョブに対応したジョブアプリケーションの停止を指示し、ジョブアプリケーション実行部56は指示されたジョブアプリケーションの実行を停止する(ステップS540)。
図11は、グリッドクライアント5におけるジョブ実行フローを示す図である。
なお、ここでは、評価値が小さいほどよい解である場合を想定する。
まず、ジョブアプリケーション実行部56は、現在の処理時間tが、設定情報ファイルに示される総計算時間timeoutを越えているか否かを判断する(ステップS610)。ジョブアプリケーション実行部56は、現在の処理時間tが、総計算時間timeoutを越えていないと判断した場合(ステップS610:NO)、乱数にて変数の初期値を発生させるとともに、探索処理時間search_tを0クリアする(ステップS615)。ジョブアプリケーション実行部56は、探索処理時間search_tが、設定情報ファイルに示される最適化探索サイクルcycleに達しているか否かを判断し(ステップS620)、達していないと判断した場合は(ステップS620:NO)、変数を初期値から1ずつ変化させながら探索処理(ジョブアプリケーション)を実行して、変数から得られる評価値evalを更新するとともに、探索処理時間search_tを更新する(ステップS625)。
そして、ジョブアプリケーション実行部56は、初めて探索処理時間search_tが、チェックポイント時間checkpointを満たしたかを判断する(ステップS630)。初めて探索処理時間search_tが、チェックポイント時間checkpointを満たしたと判断した場合は(ステップS630:YES)、現在の評価値evalと、最適結果のチェックポイント時間での評価値opt_cとを比較する(ステップS635)。現在の評価値evalが、最適結果のチェックポイント時間での評価値opt_cよりも悪いと判断した場合(ステップS635:NO)、ジョブアプリケーションの実行を開始してからの処理時間tを更新してステップS610に戻り、新たな初期値を発生させて探索処理を行う。
一方、現在の評価値evalより、最適結果のチェックポイント時間での評価値opt_cがよい場合(ステップS635:YES)、ジョブアプリケーション実行部56は、再びステップS625からの処理を行って初期値を1ずつ変化させながら探索処理を継続する。そして、ステップS630において、2回目以降に探索処理時間search_tが、チェックポイント時間checkpointを満たした場合(ステップS630:NO)、ステップS620に戻り、探索処理時間search_tが、設定情報ファイルに示される最適化探索サイクルcycleに達したか否かを判断する。
ジョブアプリケーション実行部56は、探索処理時間search_tが、設定情報ファイルに示される最適化探索サイクルcycleに達したと判断した場合(ステップS620:YES)、現在の評価値evalと最適結果のチェックポイント時間での評価値opt_cとを比較し(ステップS645)、現在の評価値evalが、最適結果のチェックポイント時間での評価値opt_cよりよい場合は(ステップS645:NO)、現在の評価値evalをグリッドサーバシステム3へ送信する。これにより、グリッドサーバシステム3から、現在の最適結果optと、最適結果のチェックポイント時間での評価値opt_cが返送される(ステップS650)。そして、ジョブアプリケーション実行部56は、処理時間tを更新し(ステップS640)、再びステップS610からの処理を実行する。
一方、現在の評価値evalが最適結果のチェックポイント時間での評価値opt_cと同じか悪い場合には(ステップS645:NO)、グリッドサーバシステム3へ処理結果の送信は行わずに、処理時間tを更新し(ステップS650)、再びステップS610からの処理を実行する。
上記処理を繰り返し、ステップS610において、現在の処理時間tが、総計算時間timeoutを越えたと判断した場合(ステップS610:YES)、処理を終了する。
続いて、具体的な最適化探索処理を例にして、評価値をどのように算出するかの例を説明する。
図12は、最適化問題の例を示す図である。ここでは、最適化処理として、お客様の希望に沿うように座席の割り当てを行う処理を想定する。この最適化問題では、お客様を各座席に割り当てた組み合わせそれぞれについて、お客様の希望に沿わない席の割り当てが発生しているかを調べ、お客様の希望に沿わない席の割り当てが発生している場合にはペナルティ値を加算していく。そして、ペナルティ値の総和を評価値とし、なるべくペナルティが小さくなるように配置を行う。
図13は設定情報ファイルの具体例を示す図である。
同図において、設定情報は、クライアント数(cilent)が10、総計算時間(timeout)が3600秒、最適化探索サイクル(cycle)が60秒、チェックポイント時間(checkpoint)が10秒であることを示すデータが設定されている。
図14及び図15は、入力データの具体例を示す図である。
図14の入力データは、お客様の希望が満たされなかったときのペナルティ値を示す。同図において、顧客1に前方の席が割り当てられた場合のペナルティ値は100であり、顧客2に通路側の席が割り当てられた場合のペナルティ値は80、左列の席が割り当てられた場合のペナルティ値は10であり、顧客3に前方の席が割り当てられた場合のペナルティ値は10、通路側の席が割り当てられた場合のペナルティ値は40、中央列の席が割り当てられた場合のペナルティ値は100、…であることを示している。これは、各顧客が希望する席の情報から導かれるものである。
図15の入力データは、座席の特性を示す。同図においては、座席番号に対応して「1」が設定されている特性が、その座席番号で特定される座席の有する特性を示す。つまり、座席A1は、前方、左列の席、座席A2は前方、通路側、左列の席、座席A3は、前方、通路側、中央列の席、…であることを示している。
次に、分析クライアントシステム1から指定される最適化プログラムに含まれる評価値の計算式等について説明する。
同図において、変数は以下のように指定される。つまり、顧客i、座席j、座席特性pとしたとき、座席変数place(i,j)={0,1}であり、顧客iが座席jに座る場合「1」、そうでない場合「0」をとる。顧客情報customer(i,p)は、顧客iが座席特性pの席に座れない場合のペナルティ値である。また、座席情報seat(j,p)={0,1}であり、座席jが座席特性pを有する場合「1」、そうでない場合「0」をとる。
また、制約には以下がある。式1によれば、一席には一人しか座れないことを示し、式2によれば、一人に割り当てる席は一席以下でなければならないことを示している。
Figure 2008234293
また、評価値の計算式は以下の式3のように示される。これは、ペナルティをなるべく小さくするように座席変数place(i,j)を選ぶことを示している。
Figure 2008234293
上述した変数、制約式、評価値の算出式が、最適化プログラムに含まれる。
図16は、グリッドクライアント5のジョブアプリケーション実行部56が実行する最適化処理を説明する図である。同図において、行がお客様を示し、列が座席を示す。そして、お客様に対応した行において、「1」のフラグがたっている座席が、当該お客様に割り当てられた座席を示す。そして、制約条件に従い、フラグは、縦横それぞれの和が必ず1以下になるようにする。
上記において、ジョブアプリケーション実行部56は、制約条件下でランダムにフラグを立てることにより、初期値を設定する。なお、ランダムにフラグを立てるため、複数のグリッドクライアント5が同じ初期値を発生させる確率は低い。ジョブアプリケーション実行部56は、初期値について、指示されたペナルティ値の算出式と条件、つまり、最適化プログラムと入力データに基づいて、各お客様のペナルティ値を算出して合計し、評価値とする。ジョブアプリケーション実行部56は、ペナルティ値の合計値が少なくなるように座席を交換して再び評価値を算出することを繰り返す。
上記により、評価値のみを考慮することにより、そのときの解がその時点の最適解であるか否かを簡易に判断することが可能となる。
なお、上記実施形態においては、グリッドサーバシステム3の受付番号管理テーブルに分析クライアントシステム1のIDを記憶しているが、グリッドサーバシステム3が分析クライアントシステム1から受付番号を受信したときのみジョブの処理結果やステータスを通知する場合には、IDを保持しておかなくともよい。
なお、上述の分析クライアントシステム1、グリッドサーバシステム3、及び、グリッドクライアント5は、内部にコンピュータシステムを有している。そして、分析クライアントシステム1の制御部11及び分析処理部14、グリッドサーバシステム3の制御部31及びジョブ作成部33、グリッドクライアント5の制御部51及び計算実行部54の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、CPU及び各種メモリやOS、周辺機器等のハードウェアを含むものである。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
本発明の一実施の形態によるグリッドシステムの機能ブロック図である。 同実施の形態による受付番号管理テーブルのデータ構成を示す図である。 同実施の形態によるジョブ管理テーブルのデータ構成を示す図である。 同実施の形態によるグリッドシステムにおける概要処理のフローチャートである。 同実施の形態によるグリッドシステムにおけるジョブ作成処理のシーケンスを示す図である。 同実施の形態によるグリッドシステムにおける計算実行処理のシーケンスを示す図である。 同実施の形態によるグリッドシステムにおける処理結果取得処理のシーケンスを示す図である。 同実施の形態によるグリッドシステムにおけるステータス管理処理のシーケンスを示す図である。 同実施の形態によるグリッドシステムにおけるジョブ停止処理のシーケンスを示す図である。 同実施の形態によるジョブ作成依頼データに含まれる内容を示す。 同実施の形態によるグリッドクライアントにおけるジョブ実行フローを示す図である。 同実施の形態による最適化問題の例を示す図である。 同実施の形態による最適化問題の例を示す図である。 同実施の形態による入力データの具体例を示す図である。 同実施の形態による入力データの具体例を示す図である。 同実施の形態による最適化処理の例を説明する図である。
符号の説明
1…分析クライアントシステム(グリッド処理依頼システム)
3…グリッドサーバシステム
5…グリッドクライアント
11、31、51…制御部
12、32、52…通信部
13、53…記憶部
14…分析処理部
15…処理受付部
16…分析プログラム実行部
33…ジョブ作成部
34…インタフェース部
35…グリッドアプリケーション実行部
36…ジョブ起動制御部
37…ジョブ記憶部
38…処理結果記憶部
39…作業データ記憶部
54…計算実行部
55…クライアントプログラム実行部
56…ジョブアプリケーション実行部

Claims (5)

  1. グリッド処理依頼システムと、グリッドサーバシステムと、グリッドクライアントとからなるグリッドシステムにおいて、
    前記グリッドサーバシステムは、
    グリッド処理要求を一意に特定する受付番号と、当該受付番号により特定される実行中のグリッド処理の処理結果の情報とを対応付けて記憶する作業データ記憶部と、
    前記グリッド処理依頼システムからグリッド処理要求を受信するインタフェース部と、
    前記インタフェース部により受信したグリッド処理要求へ受付番号を割り当てるとともに、要求されたグリッド処理のジョブを複数生成して、生成した各ジョブの実行を前記グリッドクライアントへ分散して指示するジョブ起動制御部と、
    前記ジョブ起動制御部によりジョブの実行を指示したグリッドクライアントから当該ジョブの処理結果の情報を受信して、当該ジョブの生成元となったグリッド処理の受付番号に対応して前記作業データ記憶部に記憶されている処理結果と比較し、受信した情報で示される処理結果のほうがよりよい処理結果であれば前記作業データ記憶部内の現在の処理結果の情報を、受信した処理結果の情報により更新するグリッドアプリケーション実行部とを備え、
    前記グリッドクライアントは、
    前記グリッドサーバシステムからジョブの実行指示を受信し、当該ジョブを実行して処理結果を得、所定の時間毎に、前回通知を行った後に新たに得られた処理結果を通知することを繰り返す計算実行部を備える、
    ことを特徴とするグリッドシステム。
  2. 前記グリッドサーバシステムのグリッドアプリケーション実行部は、
    前記グリッドクライアントから現在の最適な処理結果の問い合わせを受け、当該グリッドクライアントへ実行を指示したジョブの生成元となったグリッド処理の受付番号に対応して前記作業データ記憶部に記憶されている処理結果の情報を返送し、
    前記グリッドクライアントの計算実行部は、
    前記ジョブを実行する1サイクルの時間である最適化探索サイクル、前記最適化探索サイクルの途中においてジョブを継続するか否かを判断するチェックポイント時間、ジョブのサイクルを繰り返し行う上限の時間である総計算時間の情報の入力を受け、
    前記グリッドサーバシステムからジョブの実行指示を受信して最適化探索サイクルを開始し、入力値の初期値を発生させ、当該入力値を変化させながらチェックポイント時間に達するまで前記ジョブを実行し、チェックポイント時間内でジョブを実行して得た処理結果と、前記グリッドサーバシステムへ問い合わせを送信して得た現在の最適な処理結果とを比較し、チェックポイント時間内でジョブを実行して得た処理結果のほうがよければ最適化探索サイクルの終了まで前記入力値を変化させながらのジョブの実行を継続し、前記グリッドサーバシステムから受信した処理結果のほうがよければ、再び最適化サイクルを開始し、
    最適化探索サイクルが終了したときに、当該最適化探索サイクル内でジョブを実行して得た処理結果の情報をグリッドサーバシステムへ通知し、再び最適化探索サイクル開始することを、前記総計算時間に達するか、ジョブの停止指示が入力されるまで繰り返す、
    ことを特徴とする請求項1に記載のグリッドシステム。
  3. 前記処理結果は、解とその評価値との情報を含み、
    前記グリッド処理依頼システムは、
    グリッド処理要求と、解の評価値の算出に用いる入力データとを前記グリッドサーバシステムへ通知し、
    前記グリッドサーバシステムのジョブ起動制御部は、
    前記分析クライアントから受信した入力データを、当該グリッド処理依頼システムから要求されたグリッド処理のジョブを実行する前記グリッドクライアントへ通知し、
    前記グリッドクライアントの計算実行部は、
    ジョブを実行して解を得ると、前記グリッドサーバシステムから受信した入力データを用いて当該解の評価値を算出し、
    前記グリッドアプリケーション実行部及び前記グリッドクライアントの計算実行部は、
    2つの処理結果の比較を、当該処理結果で示される評価値同士の大小によって行い、どちらの処理結果がよりよいかを判断する、
    ことを特徴とする請求項1または請求項2に記載のグリッドシステム。
  4. グリッド処理依頼システムと、グリッドサーバシステムと、グリッドクライアントとからなるグリッドシステムにおけるグリッド処理方法であって、
    前記グリッドサーバシステムは、
    グリッド処理要求を一意に特定する受付番号と、当該受付番号により特定される実行中のグリッド処理の処理結果の情報とを対応付けて記憶する作業データ記憶部とを備えており、
    前記グリッドサーバシステムにおいて、
    インタフェース部が、前記グリッド処理依頼システムからグリッド処理要求を受信し、
    ジョブ起動制御部が、前記インタフェース部により受信したグリッド処理要求へ受付番号を割り当てるとともに、要求されたグリッド処理のジョブを複数生成して、生成した各ジョブの実行を前記グリッドクライアントへ分散して指示し、
    前記グリッドクライアントにおいて、
    計算実行部が、前記グリッドサーバシステムからジョブの実行指示を受信し、当該ジョブを実行して処理結果を得、所定の時間毎に、前回通知を行った後に新たに得られた処理結果を通知することを繰り返し、
    前記グリッドサーバシステムにおいて、
    グリッドアプリケーション実行部が、前記ジョブ起動制御部によりジョブの実行を指示したグリッドクライアントから当該ジョブの処理結果の情報を受信して、当該ジョブの生成元となったグリッド処理の受付番号に対応して前記作業データ記憶部に記憶されている処理結果と比較し、受信した情報で示される処理結果のほうがよりよい処理結果であれば前記作業データ記憶部内の現在の処理結果の情報を、受信した処理結果の情報により更新する、
    ことを特徴とするグリッド処理方法。
  5. グリッド処理依頼システムと、グリッドサーバシステムと、グリッドクライアントとからなるグリッドシステムの前記グリッドサーバシステムとして用いられるコンピュータを、
    グリッド処理要求を一意に特定する受付番号と、当該受付番号により特定される実行中のグリッド処理の処理結果の情報とを対応付けて記憶する作業データ記憶部、
    前記グリッド処理依頼システムからグリッド処理要求を受信するインタフェース部、
    前記インタフェース部により受信したグリッド処理要求へ受付番号を割り当てるとともに、要求されたグリッド処理のジョブを複数生成して、生成した各ジョブの実行を前記グリッドクライアントへ分散して指示するジョブ起動制御部、
    前記ジョブ起動制御部によりジョブの実行を指示したグリッドクライアントから当該ジョブの処理結果の情報を受信して、当該ジョブの生成元となったグリッド処理の受付番号に対応して前記作業データ記憶部に記憶されている処理結果と比較し、受信した情報で示される処理結果のほうがよりよい処理結果であれば前記作業データ記憶部内の現在の処理結果の情報を、受信した処理結果の情報により更新するグリッドアプリケーション実行部、
    として機能させることを特徴とするコンピュータプログラム。
JP2007072681A 2007-03-20 2007-03-20 グリッドシステム、グリッド処理方法、及び、コンピュータプログラム Expired - Fee Related JP4926774B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007072681A JP4926774B2 (ja) 2007-03-20 2007-03-20 グリッドシステム、グリッド処理方法、及び、コンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007072681A JP4926774B2 (ja) 2007-03-20 2007-03-20 グリッドシステム、グリッド処理方法、及び、コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2008234293A true JP2008234293A (ja) 2008-10-02
JP4926774B2 JP4926774B2 (ja) 2012-05-09

Family

ID=39906991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007072681A Expired - Fee Related JP4926774B2 (ja) 2007-03-20 2007-03-20 グリッドシステム、グリッド処理方法、及び、コンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4926774B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011059884A (ja) * 2009-09-08 2011-03-24 Nomura Research Institute Ltd クラウドコンピューティングシステム
JP2015064746A (ja) * 2013-09-25 2015-04-09 富士通株式会社 情報処理システム、情報処理システムの制御方法及び制御プログラム
US11765242B2 (en) 2021-11-05 2023-09-19 Honda Motor Co., Ltd. File exchange system, communication support device, file exchange support device, file exchange method, and computer-readable non-transitory storage medium with program stored therein

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03220660A (ja) * 1990-01-26 1991-09-27 Kokusai Denshin Denwa Co Ltd <Kdd> 並列計算処理装置
JPH05111798A (ja) * 1991-10-23 1993-05-07 Murata Mach Ltd 油圧パンチプレス機
JP2003006171A (ja) * 2001-06-21 2003-01-10 National Agricultural Research Organization インターネットを介する並列処理計算委託システム
JP2004530182A (ja) * 2000-12-28 2004-09-30 シーエヌエイ コーポレイション 並行して共同作業を行う複数のコンピュータを用いる仮想スーパコンピュータを構築するためのシステムおよび方法
JP2004295887A (ja) * 2003-03-27 2004-10-21 Internatl Business Mach Corp <Ibm> グリッド内の状況情報を入手するための方法および装置
JP2005208920A (ja) * 2004-01-22 2005-08-04 Nippon Telegr & Teleph Corp <Ntt> グリッドシステムにおけるジョブ割付方法、グリッド仲介装置及びそのプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03220660A (ja) * 1990-01-26 1991-09-27 Kokusai Denshin Denwa Co Ltd <Kdd> 並列計算処理装置
JPH05111798A (ja) * 1991-10-23 1993-05-07 Murata Mach Ltd 油圧パンチプレス機
JP2004530182A (ja) * 2000-12-28 2004-09-30 シーエヌエイ コーポレイション 並行して共同作業を行う複数のコンピュータを用いる仮想スーパコンピュータを構築するためのシステムおよび方法
JP2003006171A (ja) * 2001-06-21 2003-01-10 National Agricultural Research Organization インターネットを介する並列処理計算委託システム
JP2004295887A (ja) * 2003-03-27 2004-10-21 Internatl Business Mach Corp <Ibm> グリッド内の状況情報を入手するための方法および装置
JP2005208920A (ja) * 2004-01-22 2005-08-04 Nippon Telegr & Teleph Corp <Ntt> グリッドシステムにおけるジョブ割付方法、グリッド仲介装置及びそのプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011059884A (ja) * 2009-09-08 2011-03-24 Nomura Research Institute Ltd クラウドコンピューティングシステム
JP2015064746A (ja) * 2013-09-25 2015-04-09 富士通株式会社 情報処理システム、情報処理システムの制御方法及び制御プログラム
US11765242B2 (en) 2021-11-05 2023-09-19 Honda Motor Co., Ltd. File exchange system, communication support device, file exchange support device, file exchange method, and computer-readable non-transitory storage medium with program stored therein

Also Published As

Publication number Publication date
JP4926774B2 (ja) 2012-05-09

Similar Documents

Publication Publication Date Title
CN108984784B (zh) 基于区块链网络的应用实现方法、装置、设备和存储介质
JP3861087B2 (ja) 仮想マシン管理装置及びプログラム
CN105159782B (zh) 基于云主机为订单分配资源的方法和装置
JP4722973B2 (ja) リクエスト処理方法及び計算機システム
CN111897638B (zh) 分布式任务调度方法及系统
JP6638088B2 (ja) 多数のラウンドドライバ選択のためのシステム及び方法
CN110083455B (zh) 图计算处理方法、装置、介质及电子设备
CN101401079A (zh) 用于响应输出高速缓存的多高速缓存协作
JP2008544339A5 (ja)
CN1647058A (zh) 协作服务器、协作系统和会话管理方法
CN110020061B (zh) 一种智慧城市时空信息云平台服务引擎
CN113590146B (zh) 服务器及容器升级方法
AU2020277977A1 (en) Efficient freshness crawl scheduling
JP4926774B2 (ja) グリッドシステム、グリッド処理方法、及び、コンピュータプログラム
CN111090511A (zh) 任务处理方法、装置及计算机可读存储介质
JP6793498B2 (ja) データストア装置およびデータ管理方法
US9178960B2 (en) Recovering resource connections
US8266634B2 (en) Resource assignment system with recovery notification
US20140234823A1 (en) Assignment sharing device, assignment sharing method, and non-transitory computer-readable recording medium
JP2007087256A (ja) 画面提供装置、画面提供方法、およびプログラム
CN111507852B (zh) 基于大数据的保险方案的确定方法、装置、介质及设备
JP2004287889A (ja) 分散処理システム、分散処理用装置、方法及びコンピュータプログラム
JP2011013711A (ja) サービスシステム、クラウドコンピューティングシステム及びサービスプログラム
US20210090355A1 (en) Information processing system, and non-transitory computer readable medium storing program
CN113761420A (zh) 一种页面展示方法、装置、业务服务器及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111104

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4926774

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees