JP2004062603A - 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 - Google Patents
並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 Download PDFInfo
- Publication number
- JP2004062603A JP2004062603A JP2002221297A JP2002221297A JP2004062603A JP 2004062603 A JP2004062603 A JP 2004062603A JP 2002221297 A JP2002221297 A JP 2002221297A JP 2002221297 A JP2002221297 A JP 2002221297A JP 2004062603 A JP2004062603 A JP 2004062603A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- allocation
- terminal device
- parallel
- server
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供する。
【解決手段】マスタ2は、割付処理を割り付ける際、スレーブ7毎に処理制限時間(タイムアウト時間)を設定し、当該処理制限時間内に割付処理の実行結果が送信されなかった場合、他のスレーブ7に当該割付処理を割り付け実行させる。また、マスタ2は、スレーブ7毎の処理履歴等を保持し、この処理履歴等を参照して、あるいは、事前に入力されたスレーブ7毎の処理能力(CPU能力等)に応じて、スレーブ7毎に処理制限時間を設定する。マスタ2は、スレーブ7毎に処理能力に応じて処理制限時間(タイムアウト時間)を設定するので、一律の処理制限時間を設定する場合と比較して、無駄な待ち時間を減ずることができる。
【選択図】 図3
【解決手段】マスタ2は、割付処理を割り付ける際、スレーブ7毎に処理制限時間(タイムアウト時間)を設定し、当該処理制限時間内に割付処理の実行結果が送信されなかった場合、他のスレーブ7に当該割付処理を割り付け実行させる。また、マスタ2は、スレーブ7毎の処理履歴等を保持し、この処理履歴等を参照して、あるいは、事前に入力されたスレーブ7毎の処理能力(CPU能力等)に応じて、スレーブ7毎に処理制限時間を設定する。マスタ2は、スレーブ7毎に処理能力に応じて処理制限時間(タイムアウト時間)を設定するので、一律の処理制限時間を設定する場合と比較して、無駄な待ち時間を減ずることができる。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
本発明は、1の処理を複数の処理端末装置に分散して処理する並列処理システム等に関する。より詳細には、処理端末装置に並列処理への参加を募集する並列処理システム等に関する。
【0002】
【従来の技術】
従来、一般の並列処理システムは、並列処理専用の複数の処理端末装置を設け、これらの処理端末装置に並列処理を実行させるものである。また、一般OA用途に用いられているパーソナルコンピュータ等の端末装置の未使用時間等を利用するボランティア端末装置参加型の並列処理システム(例えば、バイオ計算等)が幾つか存在する。
【0003】
【発明が解決しようとする課題】
しかしながら、このようなシステムでは、基本的に膨大な計算資源に対し、処理端末装置側から処理データを取りに行き、実行結果を返す仕組みであり、処理端末装置の状態、処理能力等とは無関係であり、指示した処理結果がいつ返って来るか分からないので、納期付きの処理実行はできないという問題点がある。また、決められた処理のみ実行可能で、外部からの並列処理実行依頼を容易に実行することはできないという問題点がある。
【0004】
また、従来の並列処理システムでは、同一の処理体系、演算体系を採るCPUを対象としたものしかなく、制御機器や携帯電話機、情報家電等、互いに異なる処理体系、演算体系を採る演算装置を有する機器を対象とした並列処理手段はない。
【0005】
本発明は、以上の点に鑑みてなされたものであり、処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することを目的とする。
【0006】
【課題を解決するための手段】
前述した目的を達成するために第1の発明は、複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、前記サーバは、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に当該割付処理を割り付け送信し実行させる処理割付手段と、前記処理端末装置から所定の制限時間内に前記割付処理の実行結果が返信されなかった場合、別の処理端末装置に当該割付処理を割り付け送信し実行させる再割付手段と、を具備し、前記処理端末装置は、前記サーバから送られた前記割付処理を実行する割付処理実行手段と、前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、を具備することを特徴とする並列処理システムである。
【0007】
また、前記サーバは、さらに、前記処理端末装置毎の処理能力に基づいて、前記制限時間を設定する制限時間設定手段と、を具備することが望ましい。
また、前記サーバは、さらに、前記処理端末装置毎の処理の履歴を保持する保持手段と、前記処理の履歴に基づいて前記処理能力を算出する処理能力算出手段と、を具備することが望ましい。
また、前記サーバは、前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることが望ましい。
【0008】
第1の発明では、ネットワークを介してあるいは直接サーバに依頼処理が入力されると、サーバは、依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、処理端末装置に対して、当該割付処理を割り付け送信し実行させ、処理端末装置から所定の制限時間内に割付処理の実行結果が返信されなかった場合、別の処理端末装置に当該割付処理を割り付け送信し実行させる。
処理端末装置は、当該割付処理を実行し、実行結果をサーバに送信する。サーバは、割付処理の実行結果を依頼処理毎の実行結果に集約する。
【0009】
「サーバ」は、サーバコンピュータ等であり、処理端末装置としてのスレーブを制御する「マスタ」として機能する。サーバは、ネットワークを介してあるいは直接サーバに入力された処理(「依頼処理」)から「割付処理」を生成して処理端末装置に割り付け、実行させる。尚、サーバは、割付処理を生成する際、必要に応じて依頼処理を分割する。また、サーバは、分散化が可能である。
【0010】
「処理端末装置」は、コンピュータ等であり、サーバから割り付けられた処理(割付処理)を実行する。処理端末装置は、サーバとしてのマスタにより制御される「スレーブ」として機能する。
【0011】
「処理」(「依頼処理」あるいは「割付処理」)は、処理依頼要求、処理プログラム、処理データ等である。
「制限時間」は、処理端末装置に割付処理を割り付け実行させる際、サーバが設定する処理制限時間、タイムアウト時間である。
「処理の履歴」は、処理端末装置における処理実績、処理時間、平均処理時間等である。サーバは、この処理の履歴を処理端末装置毎に処理履歴テーブル等としてデータベースに保持する。サーバは、この処理の履歴に基づいて上記の制限時間を算出することができる。
【0012】
第1の発明では、処理端末装置から所定の制限時間内に割付処理の実行結果が返信されない場合、サーバは、別の処理端末装置に当該割付処理を割り付け実行させるので、処理端末装置が処理途中で利用不可になった場合、あるいは、故障等により処理実行不可能になった場合であっても、並列処理を継続することが可能であり、耐障害性が向上する。また、処理端末装置の個々の状態、処理の状況等を管理する必要がない。
【0013】
また、サーバは、予め調査、記録した処理端末装置の処理能力(CPU能力等)、あるいは、処理の履歴から算出した処理端末装置の処理能力(CPU能力等)に基づいて、処理端末装置毎に制限時間を設定する。すなわち、サーバは、処理端末装置毎に処理能力に応じて処理制限時間(タイムアウト時間)を設定するので、一律の処理制限時間(タイムアウト時間)を設定する場合と比較して、無駄な待ち時間を減じて、並列処理全体として処理の高速化が可能である。
【0014】
また、サーバは、ブロードキャスト通信等により複数の処理端末装置全体に対して並列処理への参加募集を行い、また、サーバが複数の分散サーバから構成される場合、処理端末装置は、ブロードキャスト通信等により複数の分散サーバ全体に対して並列処理への参加応募を行うことができる。この場合、個々の処理端末装置の状態管理を行う必要がなく、また、サーバ(分散サーバ)、処理端末装置の双方共、相手を意識することなく指示、応答等を行うことが可能である
【0015】
第2の発明は、複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバであって、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に当該割付処理を割り付け送信し実行させる処理割付手段と、前記処理端末装置から所定の制限時間内に前記割付処理の実行結果が返信されなかった場合、別の処理端末装置に当該割付処理を割り付け送信し実行させる再割付手段と、を具備することを特徴とするサーバである。
【0016】
第2の発明は、第1の発明の並列処理システムで用いられるサーバに関する発明である。
【0017】
第3の発明は、複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバが、実行する並列処理方法であって、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に当該割付処理を割り付け送信し実行させる処理割付工程と、前記処理端末装置から所定の制限時間内に前記割付処理の実行結果が返信されなかった場合、別の処理端末装置に当該割付処理を割り付け送信し実行させる再割付工程と、を具備することを特徴とする並列処理方法である。
【0018】
第3の発明は、第2の発明のサーバにより実行される並列処理方法に関する発明である。
【0019】
第4の発明は、コンピュータを第2の発明のサーバとして機能させるプログラムである。
第5の発明は、コンピュータを第2の発明のサーバとして機能させるプログラムを記録した記録媒体である。
【0020】
上述のプログラムをCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【0021】
【発明の実施の形態】
以下に、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について詳細に説明する。なお、以下の説明及び添付図面において、略同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略することにする。
【0022】
図1は、本発明の第1の実施の形態に係る並列処理システム100の概略構成を示す図である。
【0023】
図1に示すように、並列処理システム100は、管理者1のマスタ2、複数の依頼者4−1、4−2、…の端末装置5−1、5−2、…、スレーブ群6等が、ネットワーク9を介して接続されて構成される。
【0024】
ネットワーク9は、インターネット、ローカルエリアネットワーク(LAN)、社内LAN等のネットワークであり、有線、無線を問わない。
【0025】
管理者1は、並列処理システム100を管理する管理者であり、マスタ2を有する。マスタ2は、「サーバ」としてのサーバコンピュータ等であり、処理受付機能13、参加募集機能14、処理割付機能15、実行結果取得機能16、処理履歴管理機能18等を有する。マスタ2は、複数の分散マスタ3−1、3−2、…により構成することもできる。
【0026】
処理受付機能13は、依頼者4−1、4−2、…の端末装置5−1、5−2、…から処理の依頼を受付ける。例えば、処理受付機能13は、WEB(World Wide Web)サーバとしての機能を有し、端末装置5からWEBページに入力された処理を依頼処理として受け付けることができる。また、処理受付機能13は、端末装置5からWEBページ等によりネットワーク9を介して依頼処理を受付けるだけでなく、マスタ2に直接入力された処理を依頼処理として受け付けることができる。
【0027】
参加募集機能14は、スレーブ群6の各スレーブ7−1、7−2、…に対して、並列処理への参加を募集する。処理割付機能15は、依頼された処理(依頼処理)から割付処理を生成してスレーブ7−1、7−2、…に割付ける。実行結果取得機能16は、スレーブ7−1、7−2、…から割付処理の実行結果を取得する。処理履歴管理機能18は、処理割付の履歴、スレーブ群6の各スレーブ7−1、7−2、…における処理履歴(割付処理の種類、処理開始日時、処理終了日時等)及び当該処理履歴から導出される情報等(処理実績、処理時間、平均処理時間等)を有する処理履歴テーブルを保持する。
【0028】
依頼者4−1、4−2、…は、処理を依頼する依頼者であり、それぞれ、端末装置5−1、5−2、…を有する。端末装置5−1、5−2…は、ネットワーク9を介して、マスタ2に処理を依頼し、スレーブ群6から処理の実行結果を受信し取得する実行結果取得機能17を有する。尚、端末装置5−1、5−2、…は、パーソナルコンピュータ、携帯情報端末(Personal Digital
Assistant)等である。
【0029】
スレーブ群6は、複数の「処理端末装置」としてのスレーブ7−1、7−2…を有する。スレーブ7−1、7−2、…は、並列処理専用のコンピュータ等の端末装置、あるいは、未使用時間等に係る空き資源、リソースを有する場合に並列処理に参加するパーソナルコンピュータ等のボランティア端末装置である。スレーブ7−1、7−2、…は、パーソナルコンピュータ、携帯情報端末(Personal Digital Assistant)、携帯電話機、演算装置を有する機器等である。
【0030】
スレーブ7−1、7−2、…は、それぞれ、USB(Universal Serial Bus)メモリ・キー等の外部メモリ8−1、8−2、…を有するようにしてもよい。スレーブ7−1、7−2、…(又は、外部メモリ)は、参加応募機能11、処理実行機能12等を有する。
尚、スレーブ7には、参加応募機能11、処理実行機能12等を有する外部メモリを設けてもよいし、外部メモリを設けずスレーブ7内に参加応募機能11、処理実行機能12等を設けるようにしてもよい。
【0031】
参加応募機能11は、マスタ2から並列処理への参加募集が行われると、自身の稼働状況等から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ2に対して参加応募の旨を応答する。尚、スレーブ7は、自身の稼働状況、利用状況等を常時監視することもできる。
処理実行機能12は、マスタ2等から受け取った処理プログラムにより所定の処理を実行する。
【0032】
スレーブ7として、例えば、情報家電、携帯電話等を用いる場合、CPUの処理体系の相違により、受け取った処理プログラム等をそのままスレーブ上では実行できないことがある。この場合、スレーブ上で実行可能な処理体系に演算コード等を変換する機能(CPU命令変換機能)をスレーブ7側またはマスタ2側に設けることにより、スレーブ上での当該処理プログラム等の実行を可能とすることができる。
【0033】
次に、図2乃至図5を参照しながら、並列処理システム100の処理手順について説明する。
【0034】
まず、図2及び図4を参照しながら、マスタ2が有する処理受付機能13、参加募集機能14、処理割付機能15、及び、スレーブ7−1、7−2、…が有する参加応募機能11等による処理について説明する。
【0035】
尚、「処理」の区別のため必要に応じて、端末装置5−1、5−2、…から依頼された処理を「依頼処理」と呼び、スレーブ7−1、7−2、…に分配、割り付けられた処理を「割付処理」と呼ぶ。
【0036】
図2は、処理受付機能13、参加募集機能14、処理割付機能15、処理履歴管理機能18、参加応募機能11等に係る処理の概略を示す図である。
図4は、処理受付機能13、参加募集機能14、処理割付機能15、処理履歴管理機能18、参加応募機能11等に係る処理の手順を示すフローチャートである。
【0037】
依頼者4−1、4−2、…の端末装置5−1、5−2、…は、依頼処理(依頼処理A、B、…)の処理依頼をマスタ2に行い、当該依頼処理の処理プログラム及び処理データをマスタ2に送信する(ステップ401)。
【0038】
尚、スレーブ7(又はその外部メモリ)には、予め、参加応募機能11等と共に、処理実行機能12に係る処理プログラム及び処理データを記憶させ、端末装置5−1、5−2、…は、処理プロクラム及び処理データを送ることなく、マスタ2に処理A、B、…の処理依頼のみ行ってもよい。あるいは、スレーブ7(又はその外部メモリ)に、予め、参加応募機能11等と共に、処理実行機能12に係る処理プログラム及び処理データの一部を記憶させ、残りの処理プログラム及び処理データに関しては、端末装置5−1、5−2、…が依頼処理A、B、…の処理依頼を行う際にマスタ2に送信するようにしてもよい。
【0039】
マスタ2は、各依頼者4−1、4−2、…の端末装置5−1、5−2、…からの依頼処理を受信し、受付ける(ステップ402)。
図2に示すように、例えば、マスタ2は、依頼者4−1の端末装置5−1から依頼処理Aを受付け(ステップ41−1)、依頼者4−2の端末装置5−2から依頼処理Bを受付け(ステップ41−2)、処理受付テーブル31を作成する。処理受付テーブル31は、端末装置と依頼処理とを対応付ける。
【0040】
ここで、処理受付機能13にWEBサーバとしての機能を設けることにより、マスタ2は、端末装置5からWEBページに入力された処理を依頼処理として受け付けることができる。
尚、ステップ401〜ステップ402の処理を随時行うようにすることができる。
【0041】
マスタ2は、ブロードキャスト通信で、スレーブ群6の全てのスレーブ7−1、7−2、…に対して並列処理への参加を募集する(ステップ403)。
スレーブ7−1、7−2、…は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ2に対して参加応募の旨を応答する(ステップ404)。
図2に示すように、例えば、マスタ2からの参加募集の打診があると(ステップ42)、スレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)は、それぞれ、参加応募を行う(ステップ43−1、43−2、43−4)。
【0042】
マスタ2は、端末装置5−1、5−2、…から送られた依頼処理から割付処理を生成し、参加応募の旨の応答があったスレーブ7−1、7−2、…に割り付ける(ステップ405)。尚、マスタ2は、必要に応じて依頼処理を分割して割付処理を生成する。
図2に示すように、例えば、マスタ2は、依頼処理Aを割付処理A1と割付処理A2に分割し、依頼処理Bを割付処理Bとして、参加応募したスレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)に対して、それぞれ、割付処理A1、割付処理A2、割付処理Bを割り付け、処理割付テーブル32を作成する(ステップ44)。処理割付テーブル32は、スレーブと割付処理とを対応付ける。
【0043】
マスタ2は、処理を割り付けたスレーブ7毎に、処理制限時間(タイムアウト時間)を設定する(ステップ406)。
図2に示すように、例えば、マスタ2は、処理履歴テーブル33(スレーブ7毎の処理実績、処理時間、平均処理時間等)を参照して、あるいは、事前調査により入力されたスレーブ7毎の処理能力(CPU能力等)に基づいて、処理制限時間の設定時間を定め、処理割付テーブル32に対応付けて記録する(ステップ45)。
【0044】
マスタ2は、割付処理を割り付けた各スレーブ7−1、7−2、…に、割付処理に係る処理プログラム、処理データ等を送信し、処理を分配する(ステップ407)。
図2に示すように、例えば、マスタ2は、スレーブ7−1に割付処理A1に係る処理プログラム、処理データ等を送信し、スレーブ7−2に割付処理A2に係る処理プログラム、処理データ等を送信し、スレーブ7−4に割付処理Bに係る処理プログラム、処理データ等を送信する(ステップ46−1、46−2、46−4)。
尚、端末装置5−1、5−2、…からの処理受付の状況に応じて、ステップ403〜ステップ407の処理を随時行うようにすることができる。
【0045】
尚、ブロードキャスト通信では、同一データリンク内の全ノード(ネットワークに接続されているコンピュータ等の機器)に対して情報を送信することができるので、マスタ2は、ブロードキャスト通信により同一データリンク内のスレーブ群6全体に対して、並列処理への参加募集を行い、スレーブ7は、ブロードキャスト通信により同一データリンク内のマスタ2(分散マスタ3)全体に対して、参加応募を行うことができる。
【0046】
次に、図3及び図5を参照しながら、スレーブ7−1、7−2、…が有する処理実行機能12、マスタ2が有する実行結果取得機能16、処理履歴管理機能18、端末装置5−1、5−2、…が有する実行結果取得機能17等による処理について説明する。
図3は、処理実行機能12、実行結果取得機能16、実行結果取得機能17、処理履歴管理機能18等に係る処理の概略を示す図である。
図5は、処理実行機能12、実行結果取得機能16、実行結果取得機能17、処理履歴管理機能18等に係る処理の手順を示すフローチャートである。
【0047】
スレーブ7−1、7−2…は、マスタ2から割付処理に係る処理プログラム、処理データを受け取る(ステップ501)。
図2に示すように、例えば、スレーブ7−1、7−2、7−4は、割付処理A1、A2、Bに係る処理プログラム、処理データ等を受け取る(ステップ46−1、46−2、46−4)。
尚、予め、処理プログラムや処理データがスレーブ7−1、7−2、…内や外部メモリ等に記憶されている場合には、スレーブ7−1、7−2、…は、マスタ2から処理実行依頼のみを受信する。
【0048】
スレーブ7−1、7−2…は、受け取った処理プログラムを起動し、割付処理を実行する(ステップ502)。
図3に示すように、例えば、スレーブ7−1、7−2、7−4は、それぞれ、割付処理に係る処理プログラムA1、A2、Bを起動し、割付処理A1、A2、Bを実行する(ステップ47−1、47−2、47−4)。
【0049】
スレーブ7−1、7−2…は、処理プログラム終了後、処理プログラムの実行結果(割付処理の実行結果)をマスタ2に送信する(ステップ503)。
図3に示すように、例えば、スレーブ7−1、7−2、7−4は、それぞれ、実行結果a1、a2,b(割付処理の実行結果)をマスタ2に送信する(ステップ48−1、48−2、48−4)。
マスタ2は、スレーブ7−1、7−2…から割付処理の実行結果を受信し、処理割付テーブル32に対応付けて記録する(ステップ504)。
【0050】
マスタ2は、依頼処理毎に、処理制限時間(タイムアウト時間)を経過し、スレーブ7から実行結果を受信していない割付処理があるかどうかを判定し(ステップ505)、該当する割付処理が残存している場合(ステップ505のYes)、スレーブ群6に対して並列処理への参加募集を行い、参加応募した別のスレーブ7−1、7−2、…に、同じ処理を割振り、実行させる(ステップ403〜ステップ407)。
例えば、図3に示すように、処理制限時間(タイムアウト時間)70秒を経過した時点で、スレーブ7−2に割り付けた割付処理A2の実行結果を受信しなかった場合、マスタ2は、スレーブ群6に対して並列処理への参加募集を行う(ステップ53)。
【0051】
尚、スレーブ7から実行結果を受信することなく処理制限時間(タイムアウト時間)が経過した場合とは、割付処理実行中のスレーブから所定の期限(例えば、処理実行開始後、1日経過、30秒経過、70秒経過、50秒経過)までに実行結果を受信しなかった場合、その他、割付処理実行中のスレーブが正常動作していないと認められる場合、スレーブが利用できなくなった場合等である。
【0052】
マスタ2は、依頼処理毎に、処理制限時間(タイムアウト時間)を経過し、スレーブ7から実行結果を受信していない割付処理があるかどうかを判定し(ステップ505)、該当する割付処理がない場合(ステップ505のNo)、割付処理の実行結果を依頼処理毎に集約し、処理受付テーブル31に対応付けて記録する(ステップ506)。
図3に示すように、例えば、マスタ2は、割付処理毎の実行結果a1、a2、bを依頼処理毎の実行結果A、Bに集約する(ステップ49)。
【0053】
マスタ2は、依頼処理毎に取得した実行結果を対応する依頼者4−1、4−2、…の端末装置5−1、5−2、…に送信し(ステップ507)、端末装置5−1、5−2、…は、依頼した処理の実行結果を受け取る(ステップ508)。
図3に示すように、例えば、マスタ2は、依頼処理Aの実行結果Aを端末装置5−1に送信し(ステップ50−1)、依頼処理Bの実行結果Bを端末装置5−2に送信する(ステップ50−2)。
【0054】
また、図3に示すように、スレーブ7−1、7−2、…は、マスタ2に実行結果を送信せずに、直接、依頼者4−1、4−2、…の端末装置5−1、5−2、…に実行結果を送信してもよい(ステップ51)。さらに、スレーブ7−1、7−2、…は、ブロードキャスト通信により、ネットワーク9に実行結果を送出し、マスタ2(分散マスタ3)もしくは端末装置5が必要に応じて当該実行結果を受信するようにしてもよい。
【0055】
マスタ2は、処理割付の履歴、スレーブ群6の各スレーブ7−1、7−2、…における処理履歴(割付処理の種類、処理開始日時、処理終了日時等)及び当該処理履歴から導出される情報等(処理実績、処理時間、平均処理時間等)を有する処理履歴テーブル33を更新する(ステップ509)
例えば、図3に示すように、マスタ2は、スレーブ7−1、7−4から実行結果を受信した場合、処理履歴テーブル33の当該スレーブに対応する処理履歴を更新する(ステップ52)。
【0056】
マスタ2は、並列処理を終了する時は、参加応募したスレーブ7−1、7−2、…に対して、終了指示を送り、当該終了指示を受けたスレーブ7−1、7−2、…は、参加応募、割付処理の実行等を終了する。
【0057】
尚、上記のステップ401〜ステップ407、ステップ501〜ステップ509に係る処理は、依頼処理毎、割付処理毎に独立、平行して実行することができる。例えば、ステップ505の処理において、ある時点において、依頼処理Aに係る割付処理の実行結果の全てを受信した場合、依頼処理Bに係る割付処理の実行結果の全てを受信していない場合であっても、依頼処理Aに関しては、ステップ506以降の処理を進めることができる。
【0058】
以上説明したように、本発明の第1の実施の形態によれば、マスタ2は、各依頼者4の端末装置5から処理の依頼(依頼処理)を受付け、ブロードキャスト通信によりスレーブ群6全体に対して並列処理への参加募集を行う。スレーブ7は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、並列処理へ参加する場合は、マスタ2に対して参加応募の旨を応答する。マスタ2は、参加応募したスレーブ7に処理を割振り、割振った処理(割付処理)を送信する。スレーブ7は、マスタ2から受け取った割付処理を実行し、処理終了後、実行結果をマスタ2又は依頼者4側の端末装置5に送信し、マスタ2あるいは端末装置5は、実行結果を受け取る。
【0059】
このように、マスタ2(サーバ)は、必要に応じて随時並列処理への参加を募集し、スレーブ7(処理端末装置)は、稼働状況等に応じて並列処理に参加するので、マスタ2は、スレーブ7の稼働状況等を管理する必要がなく、参加応募したスレーブ7に割付処理を割り当てることにより、効率的かつ高速な並列処理を実現することができる。従って、スレーブ7は、並列処理への途中参加が可能である。
【0060】
マスタ2は、割付処理を割り付ける際、スレーブ7毎に処理制限時間(タイムアウト時間)を設定し、当該処理制限時間内に割付処理の実行結果が送信されなかった場合、他のスレーブ7に当該割付処理を割り付け実行させる。
従って、スレーブ7が処理途中で利用不可になった場合、あるいは、故障等により処理実行不可能になった場合であっても、並列処理を継続することが可能であり、耐障害性が向上する。すなわち、マスタ2は、処理途中において、スレーブを処理から脱落させることが可能である。
【0061】
また、処理制限時間内に実行結果を送信しなかったスレーブ7(以下、「先に割り付けたスレーブ7」という)の割付処理を他のスレーブ7(以下、「後に割り付けたスレーブ7」という)に割り付けた場合、マスタ2は、先に割り付けたスレーブ7に対して割付処理の実行を終了するように指示してもよいし、あるいは、そのまま放置し、先に割り付けたスレーブ7、後に割り付けたスレーブ7のいずれかから先に送信された実行結果を受信し、後に他方の実行結果が送信された場合はこれを捨象するようにしてもよい。この場合、マスタ2は、スレーブ7の状態、処理の状況等を管理する必要がない。
【0062】
また、マスタ2は、スレーブ7毎の処理履歴等を保持し、この処理履歴等を参照して、あるいは、事前に入力されたスレーブ7毎の処理能力(CPU能力等)に応じて、スレーブ7毎に処理制限時間(タイムアウト時間)を設定する。
従って、マスタ2は、スレーブ7毎に処理能力に応じて処理制限時間(タイムアウト時間)を設定するので、一律の処理制限時間(タイムアウト時間)を設定する場合と比較して、無駄な待ち時間を減ずることができる。
【0063】
例えば、ある割付処理を実行するのに、高性能CPUを有するスレーブでは10秒で終了するが、低性能CPUを有するスレーブでは60秒を要する場合、仮に、処理制限時間(タイムアウト時間)を一律に70秒とした場合、高性能CPUを有するスレーブが割付処理の処理開始後15秒経過した時点で処理不可となると、マスタ2は、55秒間の待ち時間を経てから、ようやく、他のスレーブに対して当該割付処理を割り付けることになる。
しかしながら、高性能CPUを有するスレーブの処理制限時間(タイムアウト時間)を15秒、低性能CPUを有するスレーブの処理制限時間(タイムアウト時間)を70秒とすることで、無駄な待ち時間を減じて、並列処理全体として処理の高速化が可能である。
【0064】
また、処理端末装置として、ボランティア端末装置、すなわち、一般OA用途に用いられているパーソナルコンピュータ等の未使用時間等に係る空き資源を利用可能であり、膨大な計算量を要する処理等に係る並列処理を実現することができる。この場合、企業等のパーソナルコンピュータを多数抱えているサイトでは、安価に高速計算機環境を取得できると共に、ボランティア端末装置(スレーブ)の更新毎に計算機環境も自動更新されるため、新たに計算環境を構築することなく高速化が図られる。
【0065】
尚、図4、図5等に示す処理を行うプログラムはCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【0066】
次に、本発明の第2の実施の形態について説明する。
図6は、本発明の第2の実施の形態に係る並列処理システム200の概略構成を示す図である。
【0067】
前述の第1の実施の形態では、マスタ2は、端末装置5からネットワーク9を介して処理の依頼(依頼処理)を受付け、当該依頼処理を並列処理により処理するが、第2の実施の形態では、依頼処理は、直接マスタ2に入力される。すなわち、マスタ2の処理受付機能13は、WEBページ等によりネットワーク9を介して依頼処理を受付けるだけでなく、マスタ2に直接入力された処理を依頼処理として受け付けることができる。
【0068】
第1の実施の形態では、端末装置5からネットワークを9を介してマスタ2に並列処理を依頼することができるので、リモートからの並列処理の依頼、処理実行結果の取得が可能となる。例えば、多数の並列処理専用コンピュータをセンタ内に構築し、リモートからの運用が可能となる。
一方、第2の実施の形態では、割付処理及び割付処理毎の実行結果は、ネットワーク9上を流れるが、依頼処理全体及び依頼処理毎の実行結果は、ネットワーク9上を流れることがないので、安全性、機密性を向上することができる。
【0069】
次に、並列処理システムにおける、ブロードキャスト通信による通信処理の詳細を説明する。
上記の第1の実施の形態及び第2の実施の形態に示した並列処理システムでは、マスタとスレーブ、端末装置等との間の通信に関しては、ブロードキャスト通信を用いて、通信データ、情報の授受(参加募集、参加応募、処理割付、実行結果の送信、実行結果の取得等)が行われる。
【0070】
図7は、上述のマスタ2及びスレーブ7におけるブロードキャスト通信による通信処理の概略を示す図である。
尚、所定の通信処理に関する送信元と送信先のポート番号は、異なる場合があるが、説明の容易のため、所定の通信処理の種類毎にポート番号が設定され、送信元と送信先のポート番号は、同一であるものとして説明する。
【0071】
図7に示すように、マスタ2には、2000番ポート、2001番ポート、2002番ポート、2003番ポート、2004番ポート、…が設定され、スレーブ7−1には、2000番ポート、2001番ポート、スレーブ7−2には、2000番ポート、2002番ポート、スレーブ7−3には、2000番ポート、2003番ポート、スレーブ7−4には、2000番ポート、2004番ポート、…が設定される。
【0072】
2000番ポートは、マスタ2及び全てのスレーブ7の間の通信(例えば、参加募集)に関する通信ポートである。
2001番ポートは、マスタ2とスレーブ7−1との間の通信(例えば、参加応募)に関する通信ポートである。
2002番ポートは、マスタ2とスレーブ7−2との間の通信(例えば、参加応募)に関する通信ポートである。
2003番ポートは、マスタ2とスレーブ7−3との間の通信(例えば、参加応募)に関する通信ポートである。
2004番ポートは、マスタ2とスレーブ7−4との間の通信(例えば、参加応募)に関する通信ポートである。
【0073】
マスタ2は、全てのスレーブ7に対して通信データを送信する場合(例えば、並列処理への参加募集を行う場合)、送信先ポート番号2000を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出する。スレーブ7−1、7−2、7−3、7−4、…は、ポート番号2000が設定されているので、当該通信データ(送信先ポート番号2000)を受信する(ステップ1001)。
【0074】
スレーブ7−1は、マスタ2に対して通信データを送信する場合(例えば、並列処理への参加応募を行う場合)、送信先ポート番号2001を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出する。マスタ2は、ポート番号2001が設定されているので、当該通信データ(送信先ポート番号2001)を受信する(ステップ1002)。
【0075】
同様にして、スレーブ7−2、7−4は、マスタ2に対して通信データを送信する場合、それぞれ、送信先ポート番号2002、2004を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出し、マスタ2は、ポート番号2002、2004が設定されているので、当該通信データ(送信先ポート番号2002、2004)を受信する(ステップ1003、ステップ1004)。
【0076】
上記の説明では、参加募集、参加応募に関する通信処理を例としてあげたが、その他、割付処理の送受信、割付処理の実行結果の送受信等に関する通信処理に関しても、当該通信処理の種類毎に、必要に応じて、マスタ2、スレーブ7、端末装置5にポート番号を設定し、ポート番号を付加した通信データをブロードキャスト通信でネットワーク9に送出することにより、マスタ2及びスレーブ7、端末装置5の間で通信データの授受を行い、並列処理を実現することができる。尚、マスタ2が分散化、多重化されている場合は、同一の指示、同一の応答であっても、早着優先で処理するようにすればよい。
【0077】
以上、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0078】
【発明の効果】
以上、詳細に説明したように本発明によれば、処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することができる。
【図面の簡単な説明】
【図1】第1の形態に係る並列処理システム100の概略構成を示す図
【図2】処理受付、参加募集、参加応募、処理割付、処理履歴管理等に係る処理の概略を示す図
【図3】処理実行、実行結果取得、処理履歴管理等に係る処理の概略を示す図
【図4】処理受付、参加募集、参加応募、処理割付、処理履歴管理等に係る処理の手順を示すフローチャート
【図5】処理実行、実行結果取得、処理履歴管理等に係る処理の手順を示すフローチャート
【図6】第2の実施の形態に係る並列処理システム200の概略構成を示す図
【図7】ブロードキャスト通信による通信処理の概略を示す図
【符号の説明】
100………並列処理システム
200………並列処理システム
1………管理者
2………マスタ
3(3−1、3−2、…)………分散マスタ
4(4−1、4−2、…)………依頼者
5(5−1、5−2、…)………端末装置
6………スレーブ群
7(7−1、7−2、…)………スレーブ
9………ネットワーク
11………参加応募機能
12………処理実行機能
13………処理受付機能
14………参加募集機能
15………処理割付機能
16………実行結果取得機能(マスタ)
17………実行結果取得機能(端末装置)
18………処理履歴管理機能
31………処理受付テーブル
32………処理割付テーブル
33………処理履歴テーブル
【発明の属する技術分野】
本発明は、1の処理を複数の処理端末装置に分散して処理する並列処理システム等に関する。より詳細には、処理端末装置に並列処理への参加を募集する並列処理システム等に関する。
【0002】
【従来の技術】
従来、一般の並列処理システムは、並列処理専用の複数の処理端末装置を設け、これらの処理端末装置に並列処理を実行させるものである。また、一般OA用途に用いられているパーソナルコンピュータ等の端末装置の未使用時間等を利用するボランティア端末装置参加型の並列処理システム(例えば、バイオ計算等)が幾つか存在する。
【0003】
【発明が解決しようとする課題】
しかしながら、このようなシステムでは、基本的に膨大な計算資源に対し、処理端末装置側から処理データを取りに行き、実行結果を返す仕組みであり、処理端末装置の状態、処理能力等とは無関係であり、指示した処理結果がいつ返って来るか分からないので、納期付きの処理実行はできないという問題点がある。また、決められた処理のみ実行可能で、外部からの並列処理実行依頼を容易に実行することはできないという問題点がある。
【0004】
また、従来の並列処理システムでは、同一の処理体系、演算体系を採るCPUを対象としたものしかなく、制御機器や携帯電話機、情報家電等、互いに異なる処理体系、演算体系を採る演算装置を有する機器を対象とした並列処理手段はない。
【0005】
本発明は、以上の点に鑑みてなされたものであり、処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することを目的とする。
【0006】
【課題を解決するための手段】
前述した目的を達成するために第1の発明は、複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、前記サーバは、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に当該割付処理を割り付け送信し実行させる処理割付手段と、前記処理端末装置から所定の制限時間内に前記割付処理の実行結果が返信されなかった場合、別の処理端末装置に当該割付処理を割り付け送信し実行させる再割付手段と、を具備し、前記処理端末装置は、前記サーバから送られた前記割付処理を実行する割付処理実行手段と、前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、を具備することを特徴とする並列処理システムである。
【0007】
また、前記サーバは、さらに、前記処理端末装置毎の処理能力に基づいて、前記制限時間を設定する制限時間設定手段と、を具備することが望ましい。
また、前記サーバは、さらに、前記処理端末装置毎の処理の履歴を保持する保持手段と、前記処理の履歴に基づいて前記処理能力を算出する処理能力算出手段と、を具備することが望ましい。
また、前記サーバは、前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることが望ましい。
【0008】
第1の発明では、ネットワークを介してあるいは直接サーバに依頼処理が入力されると、サーバは、依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、処理端末装置に対して、当該割付処理を割り付け送信し実行させ、処理端末装置から所定の制限時間内に割付処理の実行結果が返信されなかった場合、別の処理端末装置に当該割付処理を割り付け送信し実行させる。
処理端末装置は、当該割付処理を実行し、実行結果をサーバに送信する。サーバは、割付処理の実行結果を依頼処理毎の実行結果に集約する。
【0009】
「サーバ」は、サーバコンピュータ等であり、処理端末装置としてのスレーブを制御する「マスタ」として機能する。サーバは、ネットワークを介してあるいは直接サーバに入力された処理(「依頼処理」)から「割付処理」を生成して処理端末装置に割り付け、実行させる。尚、サーバは、割付処理を生成する際、必要に応じて依頼処理を分割する。また、サーバは、分散化が可能である。
【0010】
「処理端末装置」は、コンピュータ等であり、サーバから割り付けられた処理(割付処理)を実行する。処理端末装置は、サーバとしてのマスタにより制御される「スレーブ」として機能する。
【0011】
「処理」(「依頼処理」あるいは「割付処理」)は、処理依頼要求、処理プログラム、処理データ等である。
「制限時間」は、処理端末装置に割付処理を割り付け実行させる際、サーバが設定する処理制限時間、タイムアウト時間である。
「処理の履歴」は、処理端末装置における処理実績、処理時間、平均処理時間等である。サーバは、この処理の履歴を処理端末装置毎に処理履歴テーブル等としてデータベースに保持する。サーバは、この処理の履歴に基づいて上記の制限時間を算出することができる。
【0012】
第1の発明では、処理端末装置から所定の制限時間内に割付処理の実行結果が返信されない場合、サーバは、別の処理端末装置に当該割付処理を割り付け実行させるので、処理端末装置が処理途中で利用不可になった場合、あるいは、故障等により処理実行不可能になった場合であっても、並列処理を継続することが可能であり、耐障害性が向上する。また、処理端末装置の個々の状態、処理の状況等を管理する必要がない。
【0013】
また、サーバは、予め調査、記録した処理端末装置の処理能力(CPU能力等)、あるいは、処理の履歴から算出した処理端末装置の処理能力(CPU能力等)に基づいて、処理端末装置毎に制限時間を設定する。すなわち、サーバは、処理端末装置毎に処理能力に応じて処理制限時間(タイムアウト時間)を設定するので、一律の処理制限時間(タイムアウト時間)を設定する場合と比較して、無駄な待ち時間を減じて、並列処理全体として処理の高速化が可能である。
【0014】
また、サーバは、ブロードキャスト通信等により複数の処理端末装置全体に対して並列処理への参加募集を行い、また、サーバが複数の分散サーバから構成される場合、処理端末装置は、ブロードキャスト通信等により複数の分散サーバ全体に対して並列処理への参加応募を行うことができる。この場合、個々の処理端末装置の状態管理を行う必要がなく、また、サーバ(分散サーバ)、処理端末装置の双方共、相手を意識することなく指示、応答等を行うことが可能である
【0015】
第2の発明は、複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバであって、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に当該割付処理を割り付け送信し実行させる処理割付手段と、前記処理端末装置から所定の制限時間内に前記割付処理の実行結果が返信されなかった場合、別の処理端末装置に当該割付処理を割り付け送信し実行させる再割付手段と、を具備することを特徴とするサーバである。
【0016】
第2の発明は、第1の発明の並列処理システムで用いられるサーバに関する発明である。
【0017】
第3の発明は、複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバが、実行する並列処理方法であって、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に当該割付処理を割り付け送信し実行させる処理割付工程と、前記処理端末装置から所定の制限時間内に前記割付処理の実行結果が返信されなかった場合、別の処理端末装置に当該割付処理を割り付け送信し実行させる再割付工程と、を具備することを特徴とする並列処理方法である。
【0018】
第3の発明は、第2の発明のサーバにより実行される並列処理方法に関する発明である。
【0019】
第4の発明は、コンピュータを第2の発明のサーバとして機能させるプログラムである。
第5の発明は、コンピュータを第2の発明のサーバとして機能させるプログラムを記録した記録媒体である。
【0020】
上述のプログラムをCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【0021】
【発明の実施の形態】
以下に、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について詳細に説明する。なお、以下の説明及び添付図面において、略同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略することにする。
【0022】
図1は、本発明の第1の実施の形態に係る並列処理システム100の概略構成を示す図である。
【0023】
図1に示すように、並列処理システム100は、管理者1のマスタ2、複数の依頼者4−1、4−2、…の端末装置5−1、5−2、…、スレーブ群6等が、ネットワーク9を介して接続されて構成される。
【0024】
ネットワーク9は、インターネット、ローカルエリアネットワーク(LAN)、社内LAN等のネットワークであり、有線、無線を問わない。
【0025】
管理者1は、並列処理システム100を管理する管理者であり、マスタ2を有する。マスタ2は、「サーバ」としてのサーバコンピュータ等であり、処理受付機能13、参加募集機能14、処理割付機能15、実行結果取得機能16、処理履歴管理機能18等を有する。マスタ2は、複数の分散マスタ3−1、3−2、…により構成することもできる。
【0026】
処理受付機能13は、依頼者4−1、4−2、…の端末装置5−1、5−2、…から処理の依頼を受付ける。例えば、処理受付機能13は、WEB(World Wide Web)サーバとしての機能を有し、端末装置5からWEBページに入力された処理を依頼処理として受け付けることができる。また、処理受付機能13は、端末装置5からWEBページ等によりネットワーク9を介して依頼処理を受付けるだけでなく、マスタ2に直接入力された処理を依頼処理として受け付けることができる。
【0027】
参加募集機能14は、スレーブ群6の各スレーブ7−1、7−2、…に対して、並列処理への参加を募集する。処理割付機能15は、依頼された処理(依頼処理)から割付処理を生成してスレーブ7−1、7−2、…に割付ける。実行結果取得機能16は、スレーブ7−1、7−2、…から割付処理の実行結果を取得する。処理履歴管理機能18は、処理割付の履歴、スレーブ群6の各スレーブ7−1、7−2、…における処理履歴(割付処理の種類、処理開始日時、処理終了日時等)及び当該処理履歴から導出される情報等(処理実績、処理時間、平均処理時間等)を有する処理履歴テーブルを保持する。
【0028】
依頼者4−1、4−2、…は、処理を依頼する依頼者であり、それぞれ、端末装置5−1、5−2、…を有する。端末装置5−1、5−2…は、ネットワーク9を介して、マスタ2に処理を依頼し、スレーブ群6から処理の実行結果を受信し取得する実行結果取得機能17を有する。尚、端末装置5−1、5−2、…は、パーソナルコンピュータ、携帯情報端末(Personal Digital
Assistant)等である。
【0029】
スレーブ群6は、複数の「処理端末装置」としてのスレーブ7−1、7−2…を有する。スレーブ7−1、7−2、…は、並列処理専用のコンピュータ等の端末装置、あるいは、未使用時間等に係る空き資源、リソースを有する場合に並列処理に参加するパーソナルコンピュータ等のボランティア端末装置である。スレーブ7−1、7−2、…は、パーソナルコンピュータ、携帯情報端末(Personal Digital Assistant)、携帯電話機、演算装置を有する機器等である。
【0030】
スレーブ7−1、7−2、…は、それぞれ、USB(Universal Serial Bus)メモリ・キー等の外部メモリ8−1、8−2、…を有するようにしてもよい。スレーブ7−1、7−2、…(又は、外部メモリ)は、参加応募機能11、処理実行機能12等を有する。
尚、スレーブ7には、参加応募機能11、処理実行機能12等を有する外部メモリを設けてもよいし、外部メモリを設けずスレーブ7内に参加応募機能11、処理実行機能12等を設けるようにしてもよい。
【0031】
参加応募機能11は、マスタ2から並列処理への参加募集が行われると、自身の稼働状況等から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ2に対して参加応募の旨を応答する。尚、スレーブ7は、自身の稼働状況、利用状況等を常時監視することもできる。
処理実行機能12は、マスタ2等から受け取った処理プログラムにより所定の処理を実行する。
【0032】
スレーブ7として、例えば、情報家電、携帯電話等を用いる場合、CPUの処理体系の相違により、受け取った処理プログラム等をそのままスレーブ上では実行できないことがある。この場合、スレーブ上で実行可能な処理体系に演算コード等を変換する機能(CPU命令変換機能)をスレーブ7側またはマスタ2側に設けることにより、スレーブ上での当該処理プログラム等の実行を可能とすることができる。
【0033】
次に、図2乃至図5を参照しながら、並列処理システム100の処理手順について説明する。
【0034】
まず、図2及び図4を参照しながら、マスタ2が有する処理受付機能13、参加募集機能14、処理割付機能15、及び、スレーブ7−1、7−2、…が有する参加応募機能11等による処理について説明する。
【0035】
尚、「処理」の区別のため必要に応じて、端末装置5−1、5−2、…から依頼された処理を「依頼処理」と呼び、スレーブ7−1、7−2、…に分配、割り付けられた処理を「割付処理」と呼ぶ。
【0036】
図2は、処理受付機能13、参加募集機能14、処理割付機能15、処理履歴管理機能18、参加応募機能11等に係る処理の概略を示す図である。
図4は、処理受付機能13、参加募集機能14、処理割付機能15、処理履歴管理機能18、参加応募機能11等に係る処理の手順を示すフローチャートである。
【0037】
依頼者4−1、4−2、…の端末装置5−1、5−2、…は、依頼処理(依頼処理A、B、…)の処理依頼をマスタ2に行い、当該依頼処理の処理プログラム及び処理データをマスタ2に送信する(ステップ401)。
【0038】
尚、スレーブ7(又はその外部メモリ)には、予め、参加応募機能11等と共に、処理実行機能12に係る処理プログラム及び処理データを記憶させ、端末装置5−1、5−2、…は、処理プロクラム及び処理データを送ることなく、マスタ2に処理A、B、…の処理依頼のみ行ってもよい。あるいは、スレーブ7(又はその外部メモリ)に、予め、参加応募機能11等と共に、処理実行機能12に係る処理プログラム及び処理データの一部を記憶させ、残りの処理プログラム及び処理データに関しては、端末装置5−1、5−2、…が依頼処理A、B、…の処理依頼を行う際にマスタ2に送信するようにしてもよい。
【0039】
マスタ2は、各依頼者4−1、4−2、…の端末装置5−1、5−2、…からの依頼処理を受信し、受付ける(ステップ402)。
図2に示すように、例えば、マスタ2は、依頼者4−1の端末装置5−1から依頼処理Aを受付け(ステップ41−1)、依頼者4−2の端末装置5−2から依頼処理Bを受付け(ステップ41−2)、処理受付テーブル31を作成する。処理受付テーブル31は、端末装置と依頼処理とを対応付ける。
【0040】
ここで、処理受付機能13にWEBサーバとしての機能を設けることにより、マスタ2は、端末装置5からWEBページに入力された処理を依頼処理として受け付けることができる。
尚、ステップ401〜ステップ402の処理を随時行うようにすることができる。
【0041】
マスタ2は、ブロードキャスト通信で、スレーブ群6の全てのスレーブ7−1、7−2、…に対して並列処理への参加を募集する(ステップ403)。
スレーブ7−1、7−2、…は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ2に対して参加応募の旨を応答する(ステップ404)。
図2に示すように、例えば、マスタ2からの参加募集の打診があると(ステップ42)、スレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)は、それぞれ、参加応募を行う(ステップ43−1、43−2、43−4)。
【0042】
マスタ2は、端末装置5−1、5−2、…から送られた依頼処理から割付処理を生成し、参加応募の旨の応答があったスレーブ7−1、7−2、…に割り付ける(ステップ405)。尚、マスタ2は、必要に応じて依頼処理を分割して割付処理を生成する。
図2に示すように、例えば、マスタ2は、依頼処理Aを割付処理A1と割付処理A2に分割し、依頼処理Bを割付処理Bとして、参加応募したスレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)に対して、それぞれ、割付処理A1、割付処理A2、割付処理Bを割り付け、処理割付テーブル32を作成する(ステップ44)。処理割付テーブル32は、スレーブと割付処理とを対応付ける。
【0043】
マスタ2は、処理を割り付けたスレーブ7毎に、処理制限時間(タイムアウト時間)を設定する(ステップ406)。
図2に示すように、例えば、マスタ2は、処理履歴テーブル33(スレーブ7毎の処理実績、処理時間、平均処理時間等)を参照して、あるいは、事前調査により入力されたスレーブ7毎の処理能力(CPU能力等)に基づいて、処理制限時間の設定時間を定め、処理割付テーブル32に対応付けて記録する(ステップ45)。
【0044】
マスタ2は、割付処理を割り付けた各スレーブ7−1、7−2、…に、割付処理に係る処理プログラム、処理データ等を送信し、処理を分配する(ステップ407)。
図2に示すように、例えば、マスタ2は、スレーブ7−1に割付処理A1に係る処理プログラム、処理データ等を送信し、スレーブ7−2に割付処理A2に係る処理プログラム、処理データ等を送信し、スレーブ7−4に割付処理Bに係る処理プログラム、処理データ等を送信する(ステップ46−1、46−2、46−4)。
尚、端末装置5−1、5−2、…からの処理受付の状況に応じて、ステップ403〜ステップ407の処理を随時行うようにすることができる。
【0045】
尚、ブロードキャスト通信では、同一データリンク内の全ノード(ネットワークに接続されているコンピュータ等の機器)に対して情報を送信することができるので、マスタ2は、ブロードキャスト通信により同一データリンク内のスレーブ群6全体に対して、並列処理への参加募集を行い、スレーブ7は、ブロードキャスト通信により同一データリンク内のマスタ2(分散マスタ3)全体に対して、参加応募を行うことができる。
【0046】
次に、図3及び図5を参照しながら、スレーブ7−1、7−2、…が有する処理実行機能12、マスタ2が有する実行結果取得機能16、処理履歴管理機能18、端末装置5−1、5−2、…が有する実行結果取得機能17等による処理について説明する。
図3は、処理実行機能12、実行結果取得機能16、実行結果取得機能17、処理履歴管理機能18等に係る処理の概略を示す図である。
図5は、処理実行機能12、実行結果取得機能16、実行結果取得機能17、処理履歴管理機能18等に係る処理の手順を示すフローチャートである。
【0047】
スレーブ7−1、7−2…は、マスタ2から割付処理に係る処理プログラム、処理データを受け取る(ステップ501)。
図2に示すように、例えば、スレーブ7−1、7−2、7−4は、割付処理A1、A2、Bに係る処理プログラム、処理データ等を受け取る(ステップ46−1、46−2、46−4)。
尚、予め、処理プログラムや処理データがスレーブ7−1、7−2、…内や外部メモリ等に記憶されている場合には、スレーブ7−1、7−2、…は、マスタ2から処理実行依頼のみを受信する。
【0048】
スレーブ7−1、7−2…は、受け取った処理プログラムを起動し、割付処理を実行する(ステップ502)。
図3に示すように、例えば、スレーブ7−1、7−2、7−4は、それぞれ、割付処理に係る処理プログラムA1、A2、Bを起動し、割付処理A1、A2、Bを実行する(ステップ47−1、47−2、47−4)。
【0049】
スレーブ7−1、7−2…は、処理プログラム終了後、処理プログラムの実行結果(割付処理の実行結果)をマスタ2に送信する(ステップ503)。
図3に示すように、例えば、スレーブ7−1、7−2、7−4は、それぞれ、実行結果a1、a2,b(割付処理の実行結果)をマスタ2に送信する(ステップ48−1、48−2、48−4)。
マスタ2は、スレーブ7−1、7−2…から割付処理の実行結果を受信し、処理割付テーブル32に対応付けて記録する(ステップ504)。
【0050】
マスタ2は、依頼処理毎に、処理制限時間(タイムアウト時間)を経過し、スレーブ7から実行結果を受信していない割付処理があるかどうかを判定し(ステップ505)、該当する割付処理が残存している場合(ステップ505のYes)、スレーブ群6に対して並列処理への参加募集を行い、参加応募した別のスレーブ7−1、7−2、…に、同じ処理を割振り、実行させる(ステップ403〜ステップ407)。
例えば、図3に示すように、処理制限時間(タイムアウト時間)70秒を経過した時点で、スレーブ7−2に割り付けた割付処理A2の実行結果を受信しなかった場合、マスタ2は、スレーブ群6に対して並列処理への参加募集を行う(ステップ53)。
【0051】
尚、スレーブ7から実行結果を受信することなく処理制限時間(タイムアウト時間)が経過した場合とは、割付処理実行中のスレーブから所定の期限(例えば、処理実行開始後、1日経過、30秒経過、70秒経過、50秒経過)までに実行結果を受信しなかった場合、その他、割付処理実行中のスレーブが正常動作していないと認められる場合、スレーブが利用できなくなった場合等である。
【0052】
マスタ2は、依頼処理毎に、処理制限時間(タイムアウト時間)を経過し、スレーブ7から実行結果を受信していない割付処理があるかどうかを判定し(ステップ505)、該当する割付処理がない場合(ステップ505のNo)、割付処理の実行結果を依頼処理毎に集約し、処理受付テーブル31に対応付けて記録する(ステップ506)。
図3に示すように、例えば、マスタ2は、割付処理毎の実行結果a1、a2、bを依頼処理毎の実行結果A、Bに集約する(ステップ49)。
【0053】
マスタ2は、依頼処理毎に取得した実行結果を対応する依頼者4−1、4−2、…の端末装置5−1、5−2、…に送信し(ステップ507)、端末装置5−1、5−2、…は、依頼した処理の実行結果を受け取る(ステップ508)。
図3に示すように、例えば、マスタ2は、依頼処理Aの実行結果Aを端末装置5−1に送信し(ステップ50−1)、依頼処理Bの実行結果Bを端末装置5−2に送信する(ステップ50−2)。
【0054】
また、図3に示すように、スレーブ7−1、7−2、…は、マスタ2に実行結果を送信せずに、直接、依頼者4−1、4−2、…の端末装置5−1、5−2、…に実行結果を送信してもよい(ステップ51)。さらに、スレーブ7−1、7−2、…は、ブロードキャスト通信により、ネットワーク9に実行結果を送出し、マスタ2(分散マスタ3)もしくは端末装置5が必要に応じて当該実行結果を受信するようにしてもよい。
【0055】
マスタ2は、処理割付の履歴、スレーブ群6の各スレーブ7−1、7−2、…における処理履歴(割付処理の種類、処理開始日時、処理終了日時等)及び当該処理履歴から導出される情報等(処理実績、処理時間、平均処理時間等)を有する処理履歴テーブル33を更新する(ステップ509)
例えば、図3に示すように、マスタ2は、スレーブ7−1、7−4から実行結果を受信した場合、処理履歴テーブル33の当該スレーブに対応する処理履歴を更新する(ステップ52)。
【0056】
マスタ2は、並列処理を終了する時は、参加応募したスレーブ7−1、7−2、…に対して、終了指示を送り、当該終了指示を受けたスレーブ7−1、7−2、…は、参加応募、割付処理の実行等を終了する。
【0057】
尚、上記のステップ401〜ステップ407、ステップ501〜ステップ509に係る処理は、依頼処理毎、割付処理毎に独立、平行して実行することができる。例えば、ステップ505の処理において、ある時点において、依頼処理Aに係る割付処理の実行結果の全てを受信した場合、依頼処理Bに係る割付処理の実行結果の全てを受信していない場合であっても、依頼処理Aに関しては、ステップ506以降の処理を進めることができる。
【0058】
以上説明したように、本発明の第1の実施の形態によれば、マスタ2は、各依頼者4の端末装置5から処理の依頼(依頼処理)を受付け、ブロードキャスト通信によりスレーブ群6全体に対して並列処理への参加募集を行う。スレーブ7は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、並列処理へ参加する場合は、マスタ2に対して参加応募の旨を応答する。マスタ2は、参加応募したスレーブ7に処理を割振り、割振った処理(割付処理)を送信する。スレーブ7は、マスタ2から受け取った割付処理を実行し、処理終了後、実行結果をマスタ2又は依頼者4側の端末装置5に送信し、マスタ2あるいは端末装置5は、実行結果を受け取る。
【0059】
このように、マスタ2(サーバ)は、必要に応じて随時並列処理への参加を募集し、スレーブ7(処理端末装置)は、稼働状況等に応じて並列処理に参加するので、マスタ2は、スレーブ7の稼働状況等を管理する必要がなく、参加応募したスレーブ7に割付処理を割り当てることにより、効率的かつ高速な並列処理を実現することができる。従って、スレーブ7は、並列処理への途中参加が可能である。
【0060】
マスタ2は、割付処理を割り付ける際、スレーブ7毎に処理制限時間(タイムアウト時間)を設定し、当該処理制限時間内に割付処理の実行結果が送信されなかった場合、他のスレーブ7に当該割付処理を割り付け実行させる。
従って、スレーブ7が処理途中で利用不可になった場合、あるいは、故障等により処理実行不可能になった場合であっても、並列処理を継続することが可能であり、耐障害性が向上する。すなわち、マスタ2は、処理途中において、スレーブを処理から脱落させることが可能である。
【0061】
また、処理制限時間内に実行結果を送信しなかったスレーブ7(以下、「先に割り付けたスレーブ7」という)の割付処理を他のスレーブ7(以下、「後に割り付けたスレーブ7」という)に割り付けた場合、マスタ2は、先に割り付けたスレーブ7に対して割付処理の実行を終了するように指示してもよいし、あるいは、そのまま放置し、先に割り付けたスレーブ7、後に割り付けたスレーブ7のいずれかから先に送信された実行結果を受信し、後に他方の実行結果が送信された場合はこれを捨象するようにしてもよい。この場合、マスタ2は、スレーブ7の状態、処理の状況等を管理する必要がない。
【0062】
また、マスタ2は、スレーブ7毎の処理履歴等を保持し、この処理履歴等を参照して、あるいは、事前に入力されたスレーブ7毎の処理能力(CPU能力等)に応じて、スレーブ7毎に処理制限時間(タイムアウト時間)を設定する。
従って、マスタ2は、スレーブ7毎に処理能力に応じて処理制限時間(タイムアウト時間)を設定するので、一律の処理制限時間(タイムアウト時間)を設定する場合と比較して、無駄な待ち時間を減ずることができる。
【0063】
例えば、ある割付処理を実行するのに、高性能CPUを有するスレーブでは10秒で終了するが、低性能CPUを有するスレーブでは60秒を要する場合、仮に、処理制限時間(タイムアウト時間)を一律に70秒とした場合、高性能CPUを有するスレーブが割付処理の処理開始後15秒経過した時点で処理不可となると、マスタ2は、55秒間の待ち時間を経てから、ようやく、他のスレーブに対して当該割付処理を割り付けることになる。
しかしながら、高性能CPUを有するスレーブの処理制限時間(タイムアウト時間)を15秒、低性能CPUを有するスレーブの処理制限時間(タイムアウト時間)を70秒とすることで、無駄な待ち時間を減じて、並列処理全体として処理の高速化が可能である。
【0064】
また、処理端末装置として、ボランティア端末装置、すなわち、一般OA用途に用いられているパーソナルコンピュータ等の未使用時間等に係る空き資源を利用可能であり、膨大な計算量を要する処理等に係る並列処理を実現することができる。この場合、企業等のパーソナルコンピュータを多数抱えているサイトでは、安価に高速計算機環境を取得できると共に、ボランティア端末装置(スレーブ)の更新毎に計算機環境も自動更新されるため、新たに計算環境を構築することなく高速化が図られる。
【0065】
尚、図4、図5等に示す処理を行うプログラムはCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【0066】
次に、本発明の第2の実施の形態について説明する。
図6は、本発明の第2の実施の形態に係る並列処理システム200の概略構成を示す図である。
【0067】
前述の第1の実施の形態では、マスタ2は、端末装置5からネットワーク9を介して処理の依頼(依頼処理)を受付け、当該依頼処理を並列処理により処理するが、第2の実施の形態では、依頼処理は、直接マスタ2に入力される。すなわち、マスタ2の処理受付機能13は、WEBページ等によりネットワーク9を介して依頼処理を受付けるだけでなく、マスタ2に直接入力された処理を依頼処理として受け付けることができる。
【0068】
第1の実施の形態では、端末装置5からネットワークを9を介してマスタ2に並列処理を依頼することができるので、リモートからの並列処理の依頼、処理実行結果の取得が可能となる。例えば、多数の並列処理専用コンピュータをセンタ内に構築し、リモートからの運用が可能となる。
一方、第2の実施の形態では、割付処理及び割付処理毎の実行結果は、ネットワーク9上を流れるが、依頼処理全体及び依頼処理毎の実行結果は、ネットワーク9上を流れることがないので、安全性、機密性を向上することができる。
【0069】
次に、並列処理システムにおける、ブロードキャスト通信による通信処理の詳細を説明する。
上記の第1の実施の形態及び第2の実施の形態に示した並列処理システムでは、マスタとスレーブ、端末装置等との間の通信に関しては、ブロードキャスト通信を用いて、通信データ、情報の授受(参加募集、参加応募、処理割付、実行結果の送信、実行結果の取得等)が行われる。
【0070】
図7は、上述のマスタ2及びスレーブ7におけるブロードキャスト通信による通信処理の概略を示す図である。
尚、所定の通信処理に関する送信元と送信先のポート番号は、異なる場合があるが、説明の容易のため、所定の通信処理の種類毎にポート番号が設定され、送信元と送信先のポート番号は、同一であるものとして説明する。
【0071】
図7に示すように、マスタ2には、2000番ポート、2001番ポート、2002番ポート、2003番ポート、2004番ポート、…が設定され、スレーブ7−1には、2000番ポート、2001番ポート、スレーブ7−2には、2000番ポート、2002番ポート、スレーブ7−3には、2000番ポート、2003番ポート、スレーブ7−4には、2000番ポート、2004番ポート、…が設定される。
【0072】
2000番ポートは、マスタ2及び全てのスレーブ7の間の通信(例えば、参加募集)に関する通信ポートである。
2001番ポートは、マスタ2とスレーブ7−1との間の通信(例えば、参加応募)に関する通信ポートである。
2002番ポートは、マスタ2とスレーブ7−2との間の通信(例えば、参加応募)に関する通信ポートである。
2003番ポートは、マスタ2とスレーブ7−3との間の通信(例えば、参加応募)に関する通信ポートである。
2004番ポートは、マスタ2とスレーブ7−4との間の通信(例えば、参加応募)に関する通信ポートである。
【0073】
マスタ2は、全てのスレーブ7に対して通信データを送信する場合(例えば、並列処理への参加募集を行う場合)、送信先ポート番号2000を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出する。スレーブ7−1、7−2、7−3、7−4、…は、ポート番号2000が設定されているので、当該通信データ(送信先ポート番号2000)を受信する(ステップ1001)。
【0074】
スレーブ7−1は、マスタ2に対して通信データを送信する場合(例えば、並列処理への参加応募を行う場合)、送信先ポート番号2001を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出する。マスタ2は、ポート番号2001が設定されているので、当該通信データ(送信先ポート番号2001)を受信する(ステップ1002)。
【0075】
同様にして、スレーブ7−2、7−4は、マスタ2に対して通信データを送信する場合、それぞれ、送信先ポート番号2002、2004を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出し、マスタ2は、ポート番号2002、2004が設定されているので、当該通信データ(送信先ポート番号2002、2004)を受信する(ステップ1003、ステップ1004)。
【0076】
上記の説明では、参加募集、参加応募に関する通信処理を例としてあげたが、その他、割付処理の送受信、割付処理の実行結果の送受信等に関する通信処理に関しても、当該通信処理の種類毎に、必要に応じて、マスタ2、スレーブ7、端末装置5にポート番号を設定し、ポート番号を付加した通信データをブロードキャスト通信でネットワーク9に送出することにより、マスタ2及びスレーブ7、端末装置5の間で通信データの授受を行い、並列処理を実現することができる。尚、マスタ2が分散化、多重化されている場合は、同一の指示、同一の応答であっても、早着優先で処理するようにすればよい。
【0077】
以上、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0078】
【発明の効果】
以上、詳細に説明したように本発明によれば、処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することができる。
【図面の簡単な説明】
【図1】第1の形態に係る並列処理システム100の概略構成を示す図
【図2】処理受付、参加募集、参加応募、処理割付、処理履歴管理等に係る処理の概略を示す図
【図3】処理実行、実行結果取得、処理履歴管理等に係る処理の概略を示す図
【図4】処理受付、参加募集、参加応募、処理割付、処理履歴管理等に係る処理の手順を示すフローチャート
【図5】処理実行、実行結果取得、処理履歴管理等に係る処理の手順を示すフローチャート
【図6】第2の実施の形態に係る並列処理システム200の概略構成を示す図
【図7】ブロードキャスト通信による通信処理の概略を示す図
【符号の説明】
100………並列処理システム
200………並列処理システム
1………管理者
2………マスタ
3(3−1、3−2、…)………分散マスタ
4(4−1、4−2、…)………依頼者
5(5−1、5−2、…)………端末装置
6………スレーブ群
7(7−1、7−2、…)………スレーブ
9………ネットワーク
11………参加応募機能
12………処理実行機能
13………処理受付機能
14………参加募集機能
15………処理割付機能
16………実行結果取得機能(マスタ)
17………実行結果取得機能(端末装置)
18………処理履歴管理機能
31………処理受付テーブル
32………処理割付テーブル
33………処理履歴テーブル
Claims (14)
- 複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、
前記サーバは、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に当該割付処理を割り付け送信し実行させる処理割付手段と、
前記処理端末装置から所定の制限時間内に前記割付処理の実行結果が返信されなかった場合、別の処理端末装置に当該割付処理を割り付け送信し実行させる再割付手段と、
を具備し、
前記処理端末装置は、
前記サーバから送られた前記割付処理を実行する割付処理実行手段と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、
を具備することを特徴とする並列処理システム。 - 前記サーバは、さらに、
前記処理端末装置毎の処理能力に基づいて、前記制限時間を設定する制限時間設定手段と、
を具備することを特徴とする請求項1に記載の並列処理システム。 - 前記サーバは、さらに、
前記処理端末装置毎の処理の履歴を保持する保持手段と、
前記処理の履歴に基づいて前記処理能力を算出する処理能力算出手段と、
を具備することを特徴とする請求項2に記載の並列処理システム。 - 前記サーバは、
前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることを特徴とする請求項1から請求項3のいずれかに記載の並列処理システム。 - 複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバであって、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に当該割付処理を割り付け送信し実行させる処理割付手段と、
前記処理端末装置から所定の制限時間内に前記割付処理の実行結果が返信されなかった場合、別の処理端末装置に当該割付処理を割り付け送信し実行させる再割付手段と、
を具備することを特徴とするサーバ。 - 前記処理端末装置毎の処理能力に基づいて、前記制限時間を設定する制限時間設定手段を具備することを特徴とする請求項5に記載のサーバ。
- 前記処理端末装置毎の処理の履歴を保持する保持手段と、
前記処理の履歴に基づいて前記処理能力を算出する処理能力算出手段と、
を具備することを特徴とする請求項6に記載のサーバ。 - 前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることを特徴とする請求項5から請求項7のいずれかに記載のサーバ。
- 複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバが、実行する並列処理方法であって、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に当該割付処理を割り付け送信し実行させる処理割付工程と、
前記処理端末装置から所定の制限時間内に前記割付処理の実行結果が返信されなかった場合、別の処理端末装置に当該割付処理を割り付け送信し実行させる再割付工程と、
を具備することを特徴とする並列処理方法。 - 前記処理端末装置毎の処理能力に基づいて、前記制限時間を設定する制限時間設定工程を具備することを特徴とする請求項9に記載の並列処理方法。
- 前記処理端末装置毎の処理の履歴を保持する保持工程と、
前記処理の履歴に基づいて前記処理能力を算出する処理能力算出工程と、
を具備することを特徴とする請求項10に記載の並列処理方法。 - 前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることを特徴とする請求項9から請求項11のいずれかに記載の並列処理方法。
- コンピュータを請求項5から請求項8のいずれかに記載のサーバとして機能させるプログラム。
- コンピュータを請求項5から請求項8のいずれかに記載のサーバとして機能させるプログラムを記録した記録媒体。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002221297A JP2004062603A (ja) | 2002-07-30 | 2002-07-30 | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 |
AU2003241771A AU2003241771A1 (en) | 2002-05-28 | 2003-05-26 | Parallel processing system |
US10/513,089 US20050188087A1 (en) | 2002-05-28 | 2003-05-26 | Parallel processing system |
PCT/JP2003/006551 WO2003100648A1 (en) | 2002-05-28 | 2003-05-26 | Parallel processing system |
TW092114376A TWI325543B (en) | 2002-05-28 | 2003-05-28 | Parallel processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002221297A JP2004062603A (ja) | 2002-07-30 | 2002-07-30 | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004062603A true JP2004062603A (ja) | 2004-02-26 |
Family
ID=31941654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002221297A Pending JP2004062603A (ja) | 2002-05-28 | 2002-07-30 | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004062603A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006203386A (ja) * | 2005-01-19 | 2006-08-03 | Yokogawa Electric Corp | 固体撮像素子検査システム |
WO2006100752A1 (ja) * | 2005-03-22 | 2006-09-28 | Fujitsu Limited | 分散処理管理装置、分散処理管理方法、分散処理管理プログラム |
JP2009527056A (ja) * | 2006-02-15 | 2009-07-23 | ソニー・コンピュータ・エンタテインメント・アメリカ・インク | サーバ管理システムおよび方法 |
JP2010277349A (ja) * | 2009-05-28 | 2010-12-09 | Toshiba Corp | 情報処理装置および環境設定方法 |
US8732162B2 (en) | 2006-02-15 | 2014-05-20 | Sony Computer Entertainment America Llc | Systems and methods for server management |
JP2014109800A (ja) * | 2012-11-30 | 2014-06-12 | Fujitsu Ltd | 分散処理方法、情報処理装置、及びプログラム |
US8769132B2 (en) | 2000-03-16 | 2014-07-01 | Sony Computer Entertainment America Llc | Flexible failover policies in high availability computing systems |
JP2020052550A (ja) * | 2018-09-25 | 2020-04-02 | オムロン株式会社 | Cpuユニット、cpuユニットの制御方法、情報処理プログラム、および記録媒体 |
-
2002
- 2002-07-30 JP JP2002221297A patent/JP2004062603A/ja active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8769132B2 (en) | 2000-03-16 | 2014-07-01 | Sony Computer Entertainment America Llc | Flexible failover policies in high availability computing systems |
US9405640B2 (en) | 2000-03-16 | 2016-08-02 | Sony Interactive Entertainment America Llc | Flexible failover policies in high availability computing systems |
JP2006203386A (ja) * | 2005-01-19 | 2006-08-03 | Yokogawa Electric Corp | 固体撮像素子検査システム |
JP4605451B2 (ja) * | 2005-01-19 | 2011-01-05 | 横河電機株式会社 | 固体撮像素子検査システム |
WO2006100752A1 (ja) * | 2005-03-22 | 2006-09-28 | Fujitsu Limited | 分散処理管理装置、分散処理管理方法、分散処理管理プログラム |
JP2009527056A (ja) * | 2006-02-15 | 2009-07-23 | ソニー・コンピュータ・エンタテインメント・アメリカ・インク | サーバ管理システムおよび方法 |
US9886508B2 (en) | 2006-02-15 | 2018-02-06 | Sony Interactive Entertainment America Llc | Systems and methods for server management |
US8732162B2 (en) | 2006-02-15 | 2014-05-20 | Sony Computer Entertainment America Llc | Systems and methods for server management |
JP2010277349A (ja) * | 2009-05-28 | 2010-12-09 | Toshiba Corp | 情報処理装置および環境設定方法 |
US8074233B2 (en) | 2009-05-28 | 2011-12-06 | Kabushiki Kaisha Toshiba | Information processing apparatus and configuring method |
JP4660604B2 (ja) * | 2009-05-28 | 2011-03-30 | 株式会社東芝 | 情報処理装置および環境設定方法 |
JP2014109800A (ja) * | 2012-11-30 | 2014-06-12 | Fujitsu Ltd | 分散処理方法、情報処理装置、及びプログラム |
JP2020052550A (ja) * | 2018-09-25 | 2020-04-02 | オムロン株式会社 | Cpuユニット、cpuユニットの制御方法、情報処理プログラム、および記録媒体 |
JP7028124B2 (ja) | 2018-09-25 | 2022-03-02 | オムロン株式会社 | Cpuユニット、cpuユニットの制御方法、情報処理プログラム、および記録媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2003100648A1 (en) | Parallel processing system | |
US8589885B2 (en) | Debugger launch and attach on compute clusters | |
US8898274B2 (en) | Grid proxy architecture for network resources | |
CN108021435B (zh) | 一种基于截止时间的具有容错能力的云计算任务流调度方法 | |
US8903981B2 (en) | Method and system for achieving better efficiency in a client grid using node resource usage and tracking | |
JP3983619B2 (ja) | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 | |
TW202131171A (zh) | 程式設計平台的使用者代碼運行方法、電子設備和電腦可讀儲存介質 | |
WO2005116832A1 (ja) | 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
JP2004062603A (ja) | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 | |
US20050125314A1 (en) | Resource usage metering of network services | |
CN109413117B (zh) | 分布式数据计算方法、装置、服务器及计算机存储介质 | |
WO2019111411A1 (ja) | 協調分散システム、協調分散管理装置、協調分散方法、及びプログラム | |
CN111835809B (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
JP3942979B2 (ja) | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 | |
JP2004062620A (ja) | 並列処理システム、処理端末装置、並列処理方法、プログラム、及び、記録媒体 | |
JP2007102332A (ja) | 負荷分散システム及び負荷分散方法 | |
KR20190035592A (ko) | 분산 클라우드 환경에서의 분산 브로커 코디네이터 시스템 및 방법 | |
JP2004054855A (ja) | 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体 | |
JP2004062606A (ja) | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 | |
JP2004062622A (ja) | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 | |
JP4021684B2 (ja) | 並列処理システム、サーバ及び記録媒体 | |
Khanli et al. | Grid-JQA: Grid Java based Quality of service management by Active database | |
JP2003256386A (ja) | 並列処理システム、サーバ、処理端末装置及び記録媒体 | |
JP2007102666A (ja) | 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060606 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061017 |