JP2004062622A - 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 - Google Patents

並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 Download PDF

Info

Publication number
JP2004062622A
JP2004062622A JP2002221506A JP2002221506A JP2004062622A JP 2004062622 A JP2004062622 A JP 2004062622A JP 2002221506 A JP2002221506 A JP 2002221506A JP 2002221506 A JP2002221506 A JP 2002221506A JP 2004062622 A JP2004062622 A JP 2004062622A
Authority
JP
Japan
Prior art keywords
processing
allocation
terminal device
parallel
time
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
Application number
JP2002221506A
Other languages
English (en)
Inventor
Toru Nakazawa
中沢 亨
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2002221506A priority Critical patent/JP2004062622A/ja
Priority to PCT/JP2003/006551 priority patent/WO2003100648A1/ja
Priority to US10/513,089 priority patent/US20050188087A1/en
Priority to AU2003241771A priority patent/AU2003241771A1/en
Priority to TW092114376A priority patent/TWI325543B/zh
Publication of JP2004062622A publication Critical patent/JP2004062622A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供する。
【解決手段】マスタ2は、処理実行中のスレーブ7−1、7−2を含めた参加応募したスレーブ7に対して、処理能力に基づいた処理時間を設定し(ステップ50)、各スレーブ7に対して、次処理の終了予測時間=(処理時間)+(現処理の残り処理時間)を算出する(ステップ51)。マスタ2は、次処理の終了予測時間の小さい順に処理依頼順位を設定し、この処理依頼順位と、予め、入力した優先順位テーブル34の当該割付処理の優先レベルに基づいて(ステップ52)、優先レベルの高い割付処理を、処理依頼順位の高いスレーブ7に割り付ける(ステップ53)。
【選択図】 図3

Description

【0001】
【発明の属する技術分野】
本発明は、1の処理を複数の処理端末装置に分散して処理する並列処理システム等に関する。より詳細には、処理端末装置に並列処理への参加を募集する並列処理システム等に関する。
【0002】
【従来の技術】
従来、一般の並列処理システムは、並列処理専用の複数の処理端末装置を設け、これらの処理端末装置に並列処理を実行させるものである。また、一般OA用途に用いられているパーソナルコンピュータ等の端末装置の未使用時間等を利用するボランティア端末装置参加型の並列処理システム(例えば、バイオ計算等)が幾つか存在する。
【0003】
【発明が解決しようとする課題】
しかしながら、このようなシステムでは、基本的に膨大な計算資源に対し、処理端末装置側から処理データを取りに行き、実行結果を返す仕組みであり、処理端末装置の状態、処理能力等とは無関係であり、指示した処理結果がいつ返って来るか分からないので、納期付きの処理実行はできないという問題点がある。また、決められた処理のみ実行可能で、外部からの並列処理実行依頼を容易に実行することはできないという問題点がある。
【0004】
また、従来の並列処理システムでは、同一の処理体系、演算体系を採るCPUを対象としたものしかなく、制御機器や携帯電話機、情報家電等、互いに異なる処理体系、演算体系を採る演算装置を有する機器を対象とした並列処理手段はない。
【0005】
本発明は、以上の点に鑑みてなされたものであり、処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することを目的とする。
【0006】
【課題を解決するための手段】
前述した目的を達成するために第1の発明は、複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、前記サーバは、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記割付処理の優先順位に基づいて、前記優先順位の高い割付処理を、優先的に当該割付処理の終了予測時間の早い処理端末装置に割り付け送信し実行させる処理割付手段と、を具備し、前記処理端末装置は、前記サーバから送られた前記割付処理を実行する割付処理実行手段と、前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、を具備することを特徴とする並列処理システムである。
【0007】
また、前記サーバは、さらに、前記処理端末装置毎の処理能力に基づいて、前記割付処理の処理時間を設定する処理時間設定手段と、前記処理時間と、処理中の処理端末装置の場合には残り処理時間を加え、前記割付処理の終了予測時間を算出する終了予測時間算出手段と、を具備することが望ましい。
また、前記サーバは、さらに、前記処理端末装置毎の処理の履歴を保持する保持手段と、前記処理の履歴に基づいて前記処理能力を算出する処理能力算出手段と、を具備することが望ましい。
また、前記サーバは、前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることが望ましい。
【0008】
第1の発明では、ネットワークを介して、あるいは直接サーバに依頼処理が入力されると、サーバは、依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、割付処理の優先順位に基づいて、優先順位の高い割付処理を、優先的に当該割付処理の終了予測時間の早い処理端末装置に割り付け送信し実行させる。
処理端末装置は、サーバから送られた割付処理を実行し、前記割付処理の実行結果をサーバに送信する。サーバは、割付処理の実行結果を依頼処理毎の実行結果に集約する。
【0009】
「サーバ」は、サーバコンピュータ等であり、処理端末装置としてのスレーブを制御する「マスタ」として機能する。サーバは、ネットワークを介してあるいは直接サーバに入力された処理(「依頼処理」)から「割付処理」を生成して処理端末装置に割り付け、実行させる。尚、サーバは、割付処理を生成する際、必要に応じて依頼処理を分割する。また、サーバは、分散化が可能である。
【0010】
「処理端末装置」は、コンピュータ等であり、サーバから割り付けられた処理(割付処理)を実行する。処理端末装置は、サーバとしてのマスタにより制御される「スレーブ」として機能する。
【0011】
「処理」(「依頼処理」あるいは「割付処理」)は、処理依頼要求、処理プログラム、処理データ等である。
「処理能力」は、処理端末装置に割付処理を割り付け実行させる際、サーバが設定するCPU能力である。
「優先順位」は、複数段階を表す優先順位レベルであり、予め、各割付処理毎に対応付けて設定する。
「処理時間」は、1割付処理の平均処理時間である。
「終了予測時間」は、割付処理の実行終了予測時間である。
「処理の履歴」は、処理端末装置における処理実績、処理時間、平均処理時間等である。サーバは、この処理の履歴を処理端末装置毎に処理履歴テーブル等としてデータベースに保持する。サーバは、この処理の履歴に基づいて上記の処理能力を算出することができる。
【0012】
第1の発明では、サーバは、並列処理への参加を募集し、処理端末装置は、稼働状況に応じて並列処理に参加する。従って、サーバは、処理端末装置の稼働状況を管理する必要がなく、参加応募した処理端末装置に割付処理を割り当てることにより、効率的かつ高速な並列処理を実現することができる。
【0013】
また、サーバは、割付処理の優先順位に基づいて、優先順位の高い割付処理を、優先的に当該割付処理の終了予測時間の早い処理端末装置に割り付け送信し実行させ、優先順位の高い処理を優先スケジュールし、処理の高速化が可能となる。
【0014】
また、サーバは、ブロードキャスト通信等により複数の処理端末装置全体に対して並列処理への参加募集を行い、また、サーバが複数の分散サーバから構成される場合、処理端末装置は、ブロードキャスト通信等により複数の分散サーバ全体に対して並列処理への参加応募を行うことができる。この場合、個々の処理端末装置の状態管理を行う必要がなく、また、サーバ(分散サーバ)、処理端末装置の双方共、相手を意識することなく指示、応答等を行うことが可能である
【0015】
第3の発明は、複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバであって、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記割付処理の優先順位に基づいて、前記優先順位の高い割付処理を、優先的に当該割付処理の終了予測時間の早い処理端末装置に割り付け送信し実行させる処理割付手段と、を具備することを特徴とするサーバである。
【0016】
第3の発明は、第1の発明の並列処理システムで用いられるサーバに関する発明である。
【0017】
第4の発明は、複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバが、実行する並列処理方法であって、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記割付処理の優先順位に基づいて、前記優先順位の高い割付処理を、優先的に当該割付処理の終了予測時間の早い処理端末装置に割り付け送信し実行させる処理割付工程と、を具備することを特徴とする並列処理方法である。
【0018】
第4の発明は、第2の発明のサーバにより実行される並列処理方法に関する発明である。
【0019】
第5の発明は、コンピュータを第2の発明のサーバとして機能させるプログラムである。
第6の発明は、コンピュータを第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、優先スケジュール機能19等を有する。マスタ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、…における処理履歴(割付処理の種類、処理開始日時、処理終了日時等)及び当該処理履歴から導出される情報等(処理実績、処理時間、平均処理時間等)を有する処理履歴テーブルを保持する。優先スケジュール機能19は、割付処理の終了予測時間を算出し、終了予測時間の小さい順に処理依頼順位を設定し、割付処理の優先順位テーブル34に基づいて、優先順位の高い割付処理を優先的にスケジュールする。
【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乃至図7を参照しながら、並列処理システム100の処理手順について説明する。
【0034】
まず、図2及び図5を参照しながら、マスタ2が有する処理受付機能13、参加募集機能14、処理割付機能15、処理履歴管理機能18、優先スケジュール機能19及び、スレーブ7−1、7−2、…が有する参加応募機能11等による処理について説明する。
【0035】
尚、「処理」の区別のため必要に応じて、端末装置5−1、5−2、…から依頼された処理を「依頼処理」と呼び、スレーブ7−1、7−2、…に分配、割り付けられた処理を「割付処理」と呼ぶ。
【0036】
図2は、処理受付機能13、参加募集機能14、処理割付機能15、処理履歴管理機能18、優先スケジュール機能19、参加応募機能11等に係る処理の概略を示す図である。
図5は、処理受付機能13、参加募集機能14、処理割付機能15、処理履歴管理機能18、優先スケジュール機能19、参加応募機能11等に係る処理の手順を示すフローチャートである。
【0037】
依頼者4−1、4−2、…の端末装置5−1、5−2、…は、依頼処理(依頼処理A、…)の処理依頼をマスタ2に行い、当該依頼処理の処理プログラム及び処理データをマスタ2に送信する(ステップ401)。
【0038】
尚、スレーブ7(又はその外部メモリ)には、予め、参加応募機能11等と共に、処理実行機能12に係る処理プログラム及び処理データを記憶させ、端末装置5−1、5−2、…は、処理プロクラム及び処理データを送ることなく、マスタ2に処理A、…の処理依頼のみ行ってもよい。あるいは、スレーブ7(又はその外部メモリ)に、予め、参加応募機能11等と共に、処理実行機能12に係る処理プログラム及び処理データの一部を記憶させ、残りの処理プログラム及び処理データに関しては、端末装置5−1、5−2、…が依頼処理A、…の処理依頼を行う際にマスタ2に送信するようにしてもよい。
【0039】
マスタ2は、各依頼者4−1、4−2、…の端末装置5−1、5−2、…からの依頼処理を受信し、受付ける(ステップ402)。
図2に示すように、例えば、マスタ2は、依頼者4−1の端末装置5−1から依頼処理Aを受付け(ステップ41−1)、処理受付テーブル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−3、7−4は、参加応募せず)は、それぞれ、参加応募を行う(ステップ43−1、43−2)。
【0042】
マスタ2は、端末装置5−1、5−2、…から送られた依頼処理から割付処理を生成し、参加応募したスレーブ7(処理実行中のスレーブも含む)毎に、当該割付処理の終了時間を予測し、優先順位テーブル34の処理の優先順位に応じて、割り付ける(ステップ405)。尚、マスタ2は、必要に応じて依頼処理を分割して割付処理を生成する。
図2に示すように、例えば、マスタ2は、依頼処理Aを割付処理A1、A2、A3、A4に分割し、参加応募したスレーブ7−1、7−2(スレーブ7−3、7−4は、参加応募せず)に対して、優先順位テーブル34の当該割付処理の優先レベルに応じて、それぞれ、優先レベル”高”の割付処理A1、割付処理A2を割り付け、処理割付テーブル32を作成する(ステップ44)。処理割付テーブル32は、スレーブと割付処理とを対応付ける。優先順位テーブル34は、予め、各割付処理と複数段階に分けた優先レベル(例えば、”高”、”低”等)を設定したものである。
【0043】
マスタ2は、割付処理を割り付けた各スレーブ7−1、7−2、…に、割付処理に係る処理プログラム、処理データ等を送信し、処理を分配する(ステップ406)。
図2に示すように、例えば、マスタ2は、スレーブ7−1に割付処理A1に係る処理プログラム、処理データ等を送信し、スレーブ7−2に割付処理A2に係る処理プログラム、処理データ等を送信する(ステップ46−1、46−2)。
尚、端末装置5−1、5−2、…からの処理受付の状況に応じて、ステップ403〜ステップ406の処理を随時行うようにすることができる。
【0044】
尚、ブロードキャスト通信では、同一データリンク内の全ノード(ネットワークに接続されているコンピュータ等の機器)に対して情報を送信することができるので、マスタ2は、ブロードキャスト通信により同一データリンク内のスレーブ群6全体に対して、並列処理への参加募集を行い、スレーブ7は、ブロードキャスト通信により同一データリンク内のマスタ2(分散マスタ3)全体に対して、参加応募を行うことができる。
【0045】
次に、図3及び図6を参照しながら、ステップ405の優先スケジュール機能19の処理について詳しく説明する。
【0046】
図3は、処理割付機能15、処理履歴管理機能18、優先スケジュール機能19等に係る処理の概略を示す図である。
図6は、優先スケジュール機能19に係る処理の手順を示すフローチャートである。
【0047】
マスタ2は、参加応募したスレーブ7、及び処理実行中のスレーブ7に対して、それぞれ、処理の平均処理時間を処理時間として設定する(ステップ501)。
図3に示すように、例えば、マスタ2は、処理実行中のスレーブ7−1、7−2を含めた参加応募したスレーブ7に対して、処理履歴テーブル33(スレーブ7毎の処理実績、処理時間、平均処理時間等)を参照して、あるいは、事前調査により入力されたスレーブ7毎のCPU能力、メモリ量等に基づいて、処理能力を定め、この処理能力に基づいて、平均処理時間を定め、処理割付テーブル32に対応付けて処理時間として記録する(ステップ50)。
【0048】
マスタ2は、各スレーブ7に対して、それぞれ、次処理の終了予測時間=(処理時間)+(現処理の残り処理時間)を算出し、設定する(ステップ502)。図3に示すように、例えば、割付処理A1実行中であるスレーブ7−1の次処理の終了予測時間=処理時間(50秒)+現処理の残り処理時間(30秒)=80秒を算出する(ステップ51)。すなわち、スレーブ7−1は、現処理(割付処理A1)を30秒後に終了し、続いて、次処理を割り付けると、80秒後に終了することになる。同様に、割付処理A2実行中であるスレーブ7−2の次処理の終了予測時間=処理時間(80秒)+現処理の残り処理時間(10秒)=90秒を算出する(ステップ51)。すなわち、スレーブ7−2は、現処理(割付処理A2)を10秒後に終了し、続いて、次処理を割り付けると、90秒後に終了することになる。
【0049】
マスタ2は、次処理の終了予測時間に基づいて、小さい順に処理依頼順位を設定する(ステップ503)。
図3に示すように、スレーブ7−1の次処理の終了予測時間は80秒後、スレーブ7−2は90秒後であるので、処スレーブ7−1が処理依頼順位1番、スレーブ7−2が処理依頼順位2番と設定する。
【0050】
マスタ2は、処理依頼順位と優先順位テーブル34の当該割付処理の優先レベルに基づいて、優先レベルの高い割付処理を、処理依頼順位の高いスレーブ7に割り付ける(ステップ504)。尚、処理実行中のスレーブ7に対しては、次処理として割り付ける。
図3に示すように、予め、優先順位テーブル34の優先レベルを入力し(ステップ52)、処理依頼順序と優先レベルに応じて、処理依頼順位1番のスレーブ7−1に、次処理として優先レベル“高”の割付処理A3を割り付け、処理依頼順位2番のスレーブ7−2に、次処理として優先レベル“低”の割付処理A4を割り付ける(ステップ53)。
【0051】
次に、図4及び図7を参照しながら、スレーブ7−1、7−2、…が有する処理実行機能12、マスタ2が有する実行結果取得機能16、処理履歴管理機能18、端末装置5−1、5−2、…が有する実行結果取得機能17等による処理について説明する。
【0052】
図4は、処理実行機能12、実行結果取得機能16、実行結果取得機能17、処理履歴管理機能18等に係る処理の概略を示す図である。
図7は、処理実行機能12、実行結果取得機能16、実行結果取得機能17、処理履歴管理機能18等に係る処理の手順を示すフローチャートである。
【0053】
スレーブ7−1、7−2…は、マスタ2から割付処理に係る処理プログラム、処理データを受け取る(ステップ601)。
図2に示すように、例えば、スレーブ7−1は割付処理A1、スレーブ7−2は割付処理A2に係る処理プログラム、処理データ等を受け取る(ステップ46−1、46−2)。
尚、予め、処理プログラムや処理データがスレーブ7−1、7−2、…内や外部メモリ等に記憶されている場合には、スレーブ7−1、7−2、…は、マスタ2から処理実行依頼のみを受信する。
【0054】
スレーブ7−1、7−2…は、受け取った1、又は複数の処理プログラムを起動し、1、又は複数の割付処理を実行する(ステップ602)。
図4に示すように、例えば、スレーブ7−1は、割付処理に係る処理プログラムA1を起動し、割付処理A1を実行する(ステップ47−1)。スレーブ7−2は、割付処理に係る処理プログラムA2を起動し、割付処理A2を実行する(ステップ47−2)。
【0055】
スレーブ7−1、7−2…は、処理プログラム終了後、処理プログラムの実行結果(割付処理の実行結果)をマスタ2に送信する(ステップ603)。
図4に示すように、例えば、スレーブ7−1、7−2は、それぞれ、実行結果a1、a2(割付処理の実行結果)をマスタ2に送信する(ステップ48−1、48−2)。
【0056】
マスタ2は、随時、スレーブ7−1、7−2…から割付処理の実行結果を受信し、処理割付テーブル31に対応付けて記録する(ステップ604)。
マスタ2は、割付処理の実行結果を依頼処理毎に集約し、処理受付テーブル21に対応付けて記録する(ステップ605)。
図4に示すように、例えば、マスタ2は、スレーブ7−1、7−2から受信した割付処理毎の実行結果a1、a2を、続いて、次処理としてスレーブ7−1、7−2に割り付けた割付処理A3、A4の実行結果を、依頼処理毎の実行結果Aに集約する(ステップ55)。
【0057】
マスタ2は、依頼処理毎に取得した実行結果を対応する依頼者4−1、4−2、…の端末装置5−1、5−2、…に送信し(ステップ606)、端末装置5−1、5−2、…は、依頼した処理の実行結果を受け取る(ステップ607)。
図4に示すように、例えば、マスタ2は、依頼処理Aの実行結果Aを端末装置5−1に送信する(ステップ56−1)。
【0058】
また、図4に示すように、スレーブ7−1、7−2、…は、マスタ2に実行結果を送信せずに、直接、依頼者4−1、4−2、…の端末装置5−1、5−2、…に実行結果を送信してもよい(ステップ57)。さらに、スレーブ7−1、7−2、…は、ブロードキャスト通信により、ネットワーク9に実行結果を送出し、マスタ2(分散マスタ3)もしくは端末装置5が必要に応じて当該実行結果を受信するようにしてもよい。
【0059】
マスタ2は、処理割付の履歴、スレーブ群6の各スレーブ7−1、7−2、…における処理履歴(割付処理の種類、処理開始日時、処理終了日時等)及び当該処理履歴から導出される情報等(処理実績、処理時間、平均処理時間等)を有する処理履歴テーブル33を更新する(ステップ608)
例えば、図4に示すように、マスタ2は、スレーブ7−1、7−2、7−4から実行結果を受信した場合、処理履歴テーブル33の当該スレーブに対応する処理履歴を更新する(ステップ58)。
【0060】
マスタ2は、並列処理を終了する時は、参加応募したスレーブ7−1、7−2、…に対して、終了指示を送り、当該終了指示を受けたスレーブ7−1、7−2、…は、参加応募、割付処理の実行等を終了する。
【0061】
以上説明したように、本発明の第1の実施の形態によれば、マスタ2は、各依頼者4の端末装置5から処理の依頼(依頼処理)を受付け、ブロードキャスト通信によりスレーブ群6全体に対して並列処理への参加募集を行う。スレーブ7は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、並列処理へ参加する場合は、マスタ2に対して参加応募の旨を応答する。マスタ2は、参加応募したスレーブ7に処理を割振り、割振った処理(割付処理)を送信する。スレーブ7は、マスタ2から受け取った割付処理を実行し、処理終了後、実行結果をマスタ2又は依頼者4側の端末装置5に送信し、マスタ2あるいは端末装置5は、実行結果を受け取る。
【0062】
このように、マスタ2(サーバ)は、必要に応じて随時並列処理への参加を募集し、スレーブ7(処理端末装置)は、稼働状況等に応じて並列処理に参加するので、マスタ2は、スレーブ7の稼働状況等を管理する必要がなく、参加応募したスレーブ7に割付処理を割り当てることにより、効率的かつ高速な並列処理を実現することができる。従って、スレーブ7は、並列処理への途中参加が可能である。
【0063】
マスタ2は、処理に付加する優先順位テーブル34に基づいて、優先順位の高い処理を、優先的に当該処理の終了予測時間の早い処理端末装置に割り付け送信し実行させる。また、マスタ2は、スレーブ7毎の処理履歴等を保持し、この処理履歴等を参照して、あるいは、事前に入力されたスレーブ7毎のCPU能力、メモリ量等に応じて、スレーブ7毎に処理能力を定め、処理能力に応じた処理時間を設定する。
従って、優先順位の高い処理をスレーブ7(処理端末装置)に優先的にスケジュールし、処理の高速化が可能となる。
【0064】
また、処理端末装置として、ボランティア端末装置、すなわち、一般OA用途に用いられているパーソナルコンピュータ等の未使用時間等に係る空き資源を利用可能であり、膨大な計算量を要する処理等に係る並列処理を実現することができる。この場合、企業等のパーソナルコンピュータを多数抱えているサイトでは、安価に高速計算機環境を取得できると共に、ボランティア端末装置(スレーブ)の更新毎に計算機環境も自動更新されるため、新たに計算環境を構築することなく高速化が図られる。
【0065】
また、図5、図6、図7等に示す処理を行うプログラムはCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【0066】
次に、本発明の第2の実施の形態について説明する。
図8は、本発明の第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】
図9は、上述のマスタ2及びスレーブ7におけるブロードキャスト通信による通信処理の概略を示す図である。
尚、所定の通信処理に関する送信元と送信先のポート番号は、異なる場合があるが、説明の容易のため、所定の通信処理の種類毎にポート番号が設定され、送信元と送信先のポート番号は、同一であるものとして説明する。
【0071】
図9に示すように、マスタ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にポート番号を設定し、ポート番号を付加した通信データをブロードキャスト通信でネットワーク9に送出することにより、マスタ2及びスレーブ7の間で通信データの授受を行い、並列処理を実現することができる。
尚、マスタ2が分散化、多重化されている場合は、同一の指示、同一の応答であっても、早着優先で処理するようにすればよい。
【0077】
以上、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0078】
【発明の効果】
以上、詳細に説明したように本発明によれば、処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することができる。
【図面の簡単な説明】
【図1】第1の形態に係る並列処理システム100の概略構成を示す図
【図2】処理受付、参加募集、参加応募、処理割付、処理履歴管理、通信負荷監視等に係る処理の概略を示す図
【図3】処理割付機能、処理履歴管理機能、優先スケジュール機能等に係る処理の概略を示す図
【図4】処理実行、実行結果取得、処理履歴管理等に係る処理の概略を示す図
【図5】処理受付、参加募集、参加応募、処理割付、処理履歴管理、通信負荷監視等に係る処理の手順を示すフローチャート
【図6】優先スケジュール機能等に係る処理の手順を示すフローチャート
【図7】処理実行、実行結果取得、処理履歴管理等に係る処理の手順を示すフローチャート
【図8】第2の実施の形態に係る並列処理システム200の概略構成を示す図
【図9】ブロードキャスト通信による通信処理の概略を示す図
【符号の説明】
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………処理履歴管理機能
19………優先スケジュール機能
31………処理受付テーブル
32………処理割付テーブル
33………処理履歴テーブル
34………優先順位テーブル

Claims (17)

  1. 複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、
    前記サーバは、
    前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記割付処理の優先順位に基づいて、前記優先順位の高い割付処理を、優先的に当該割付処理の終了予測時間の早い処理端末装置に割り付け送信し実行させる処理割付手段と、
    を具備し、
    前記処理端末装置は、
    前記サーバから送られた前記割付処理を実行する割付処理実行手段と、
    前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、
    を具備することを特徴とする並列処理システム。
  2. 前記サーバは、さらに、
    前記処理端末装置毎の処理能力に基づいて、前記割付処理の処理時間を設定する処理時間設定手段と、
    前記処理時間と、処理中の処理端末装置の場合には残り処理時間を加え、前記割付処理の終了予測時間を算出する終了予測時間算出手段と、
    を具備することを特徴とする請求項1に記載の並列処理システム。
  3. 前記サーバは、さらに、
    前記処理端末装置毎の処理の履歴を保持する保持手段と、
    前記処理の履歴に基づいて前記処理能力を算出する処理能力算出手段と、
    を具備することを特徴とする請求項2に記載の並列処理システム。
  4. 前記サーバは、
    前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることを特徴とする請求項1から請求項3のいずれかに記載の並列処理システム。
  5. 前記優先順位は、複数段階を表す優先順位レベルであり、予め、各割付処理に対応付けて設定することを特徴とする請求項1に記載の並列処理システム。
  6. 複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバであって、
    前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記割付処理の優先順位に基づいて、前記優先順位の高い割付処理を、優先的に当該割付処理の終了予測時間の早い処理端末装置に割り付け送信し実行させる処理割付手段と、
    を具備することを特徴とするサーバ。
  7. 前記処理端末装置毎の処理能力に基づいて、前記割付処理の処理時間を設定する処理時間設定手段と、
    前記処理時間と、処理中の処理端末装置の場合には残り処理時間を加え、前記割付処理の終了予測時間を算出する実行終了時間算出手段と、
    を具備することを特徴とする請求項6に記載のサーバ。
  8. 前記処理端末装置毎の処理の履歴を保持する保持手段と、
    前記処理の履歴に基づいて前記処理能力を算出する処理能力算出手段と、
    を具備することを特徴とする請求項7に記載のサーバ。
  9. 前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることを特徴とする請求項6から請求項8のいずれかに記載のサーバ。
  10. 前記優先順位は、複数段階を表す優先順位レベルであり、予め、各割付処理毎に対応付けて設定することを特徴とする請求項6に記載のサーバ。
  11. 複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバが、実行する並列処理方法であって、
    前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記割付処理の優先順位に基づいて、前記優先順位の高い割付処理を、優先的に当該割付処理の終了予測時間の早い処理端末装置に割り付け送信し実行させる処理割付工程と、
    を具備することを特徴とする並列処理方法。
  12. 前記処理端末装置毎の処理能力に基づいて、前記割付処理の処理時間を設定する処理時間設定工程と、
    前記処理時間と、処理中の処理端末装置の場合には残り処理時間を加え、前記割付処理の終了予測時間を算出する終了予測時間算出工程と、
    を具備することを特徴とする請求項11に記載の並列処理方法。
  13. 前記処理端末装置毎の処理の履歴を保持する保持工程と、
    前記処理の履歴に基づいて前記処理能力を算出する処理能力算出工程と、
    を具備することを特徴とする請求項12に記載の並列処理方法。
  14. 前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることを特徴とする請求項11から請求項13のいずれかに記載の並列処理方法。
  15. 前記優先順位は、複数段階を表す優先レベルであり、予め、各割付処理毎に対応付けて設定することを特徴とする請求項11に記載の並列処理方法。
  16. コンピュータを請求項6から請求項10のいずれかに記載のサーバとして機能させるプログラム。
  17. コンピュータを請求項6から請求項10のいずれかに記載のサーバとして機能させるプログラムを記録した記録媒体。
JP2002221506A 2002-05-28 2002-07-30 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 Pending JP2004062622A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2002221506A JP2004062622A (ja) 2002-07-30 2002-07-30 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
PCT/JP2003/006551 WO2003100648A1 (en) 2002-05-28 2003-05-26 Parallel processing system
US10/513,089 US20050188087A1 (en) 2002-05-28 2003-05-26 Parallel processing system
AU2003241771A AU2003241771A1 (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
JP2002221506A JP2004062622A (ja) 2002-07-30 2002-07-30 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体

Publications (1)

Publication Number Publication Date
JP2004062622A true JP2004062622A (ja) 2004-02-26

Family

ID=31941797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002221506A Pending JP2004062622A (ja) 2002-05-28 2002-07-30 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体

Country Status (1)

Country Link
JP (1) JP2004062622A (ja)

Similar Documents

Publication Publication Date Title
US20050188087A1 (en) Parallel processing system
CN110351384B (zh) 大数据平台资源管理方法、装置、设备及可读存储介质
US8589885B2 (en) Debugger launch and attach on compute clusters
WO2013104217A1 (zh) 基于云基础设施的针对应用系统维护部署的管理系统和方法
CN109117252B (zh) 基于容器的任务处理的方法、系统及容器集群管理系统
WO2021159831A1 (zh) 编程平台的用户代码运行方法及平台、节点、设备、介质
CN111930525A (zh) Gpu资源使用方法、电子设备及计算机可读介质
JP3983619B2 (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
CN112104679B (zh) 处理超文本传输协议请求的方法、装置、设备和介质
US7707080B2 (en) Resource usage metering of network services
CN113220459B (zh) 一种任务处理方法及装置
WO2024140119A1 (zh) 主动网络管理方法、装置、设备及存储介质
RU2696299C2 (ru) Управление при инициировании элементарных задач на серверной платформе
JP2004062603A (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
JP3942979B2 (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
JP2007102332A (ja) 負荷分散システム及び負荷分散方法
JP2004062620A (ja) 並列処理システム、処理端末装置、並列処理方法、プログラム、及び、記録媒体
JP2004062622A (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
CN112653571B (zh) 一种基于虚拟机与容器的混合调度方法
Mokhtari et al. Multi-objective task scheduling using smart MPI-based cloud resources
JP2004054855A (ja) 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体
CN117009063A (zh) 一种任务执行方法和装置
JP2004062606A (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
JP4021684B2 (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: 20061010

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070227