JP2004062620A - 並列処理システム、処理端末装置、並列処理方法、プログラム、及び、記録媒体 - Google Patents

並列処理システム、処理端末装置、並列処理方法、プログラム、及び、記録媒体 Download PDF

Info

Publication number
JP2004062620A
JP2004062620A JP2002221476A JP2002221476A JP2004062620A JP 2004062620 A JP2004062620 A JP 2004062620A JP 2002221476 A JP2002221476 A JP 2002221476A JP 2002221476 A JP2002221476 A JP 2002221476A JP 2004062620 A JP2004062620 A JP 2004062620A
Authority
JP
Japan
Prior art keywords
processing
terminal device
allocation
shared data
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
Application number
JP2002221476A
Other languages
English (en)
Inventor
Kazunari Iyoda
伊豫田 一成
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 JP2002221476A priority Critical patent/JP2004062620A/ja
Priority to AU2003241771A priority patent/AU2003241771A1/en
Priority to US10/513,089 priority patent/US20050188087A1/en
Priority to PCT/JP2003/006551 priority patent/WO2003100648A1/ja
Priority to TW092114376A priority patent/TWI325543B/zh
Publication of JP2004062620A publication Critical patent/JP2004062620A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供する。
【解決手段】スレーブ7−1、7−2、7−4は、それぞれ、マスタ2から受け取った割付処理に係る処理プログラムA1、A2、A4を起動し、割付処理A1、A2、A4を実行する。スレーブ7−1は、メモリテーブル35−1の共有データXを「100」から「256」に更新し、ブロードキャスト通信で、更新した共有データXをネットワーク9に送出する。他のスレーブ7−2、7−4は、受信した当該共有データXを受信し、自身のメモリテーブル35−2、35−4の当該共有データX「100」を、それぞれ、メモリテーブル36−2、36−4の共有データX「256」に更新する。
【選択図】 図6

Description

【0001】
【発明の属する技術分野】
本発明は、1の処理を複数の処理端末装置に分散して処理する並列処理システム等に関する。より詳細には、自身の負荷等に応じて並列処理に参加する、並列処理システムの処理端末装置等に関する。
【0002】
【従来の技術】
従来、一般の並列処理システムは、並列処理専用の複数の処理端末装置を設け、これらの処理端末装置に並列処理を実行させるものである。また、一般OA用途に用いられているパーソナルコンピュータ等の端末装置の未使用時間等を利用するボランティア端末装置参加型の並列処理システム(例えば、バイオ計算等)が幾つか存在する。
【0003】
【発明が解決しようとする課題】
しかしながら、このようなシステムでは、基本的に膨大な計算資源に対し、処理端末装置側から処理データを取りに行き、実行結果を返す仕組みであり、処理端末装置の状態、処理能力等とは無関係であり、指示した処理結果がいつ返って来るか分からないので、納期付きの処理実行はできないという問題点がある。また、決められた処理のみ実行可能で、外部からの並列処理実行依頼を容易に実行することはできないという問題点がある。
【0004】
また、従来の並列処理システムでは、同一の処理体系、演算体系を採るCPUを対象としたものしかなく、制御機器や携帯電話機、情報家電等、互いに異なる処理体系、演算体系を採る演算装置を有する機器を対象とした並列処理手段はない。
【0005】
本発明は、以上の点に鑑みてなされたものであり、処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することを目的とする。
【0006】
【課題を解決するための手段】
前述した目的を達成するために第1の発明は、複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、前記サーバは、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に当該割付処理を割り付け送信し実行させる処理割付手段と、を具備し、前記処理端末装置は、前記サーバから送られた前記割付処理を実行する割付処理実行手段と、他の処理端末装置に、ブロードキャスト通信により、更新した共有データを送信する共有データ送信手段と、他の処理端末装置から、ブロードキャスト通信により、受信した共有データを更新する共有データ受信手段と、前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、
を具備することを特徴とする並列処理システムである。
【0007】
また、前記サーバは、前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることが望ましい。
【0008】
第1の発明では、ネットワークを介してあるいは直接サーバに依頼処理が入力されると、サーバは、依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、処理端末装置に対して、当該割付処理を割り付け送信し実行させる。
処理端末装置は、処理端末装置は、サーバから送られた割付処理を実行し、実行結果をサーバに送信する。
【0009】
「サーバ」は、サーバコンピュータ等であり、処理端末装置としてのスレーブを制御する「マスタ」として機能する。サーバは、ネットワークを介してあるいは直接サーバに入力された処理(「依頼処理」)から「割付処理」を生成して処理端末装置に割り付け、実行させる。尚、サーバは、割付処理を生成する際、必要に応じて依頼処理を分割する。また、サーバは、分散化が可能である。
【0010】
「処理端末装置」は、コンピュータ等であり、サーバから割り付けられた処理(割付処理)を実行する。処理端末装置は、サーバとしてのマスタにより制御される「スレーブ」として機能する。
【0011】
「処理」(「依頼処理」あるいは「割付処理」)は、処理依頼要求、処理プログラム、処理データ等である。
【0012】
「共有データ」は、各割付処理の処理プログラムの演算結果、又は処理データである。
【0013】
第1の発明では、サーバは、必要に応じて随時並列処理への参加を募集し、処理端末装置は、自身の負荷、稼働状況等に応じて並列処理に参加するので、サーバは、処理端末装置の負荷、稼働状況等を管理する必要がなく、参加応募した処理端末装置に割付処理を割り当てることにより、効率的かつ高速な並列処理を実現することができる。従って、処理端末装置は、並列処理への途中参加が可能である。
【0014】
また、処理端末装置は、並列処理の処理プログラムの演算結果や、処理データ等の共有データを更新、作成すると、ブロードキャスト通信で、他のスレーブ7に送出し、また、他の処理端末装置から受け取った当該共有データを更新、作成することにより、処理端末装置間でのデータを共有することを可能とし、更に、ブロードキャスト通信を用いることにより、一度の通信でデータ転送が可能となり、高速な並列処理を実現することができる。
【0015】
また、サーバは、ブロードキャスト通信等により複数の処理端末装置全体に対して並列処理への参加募集を行い、また、サーバが複数の分散サーバから構成される場合、処理端末装置は、ブロードキャスト通信等により複数の分散サーバ全体に対して並列処理への参加応募を行うことができる。この場合、個々の処理端末装置の状態管理を行う必要がなく、また、サーバ(分散サーバ)、処理端末装置の双方共、相手を意識することなく指示、応答等を行うことが可能である
【0016】
第2の発明は、1又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置であって、前記サーバから送られた前記割付処理を実行する割付処理実行手段と、他の処理端末装置に、ブロードキャスト通信により、更新した共有データを送信する共有データ送信手段と、他の処理端末装置から、ブロードキャスト通信により、受信した共有データを更新する共有データ受信手段と、前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、を具備することを特徴とする処理端末装置である。
【0017】
第2の発明は、第1の発明の並列処理システムで用いられる処理端末装置に関する発明である。
【0018】
第3の発明は、1又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置が実行する並列処理方法であって、前記サーバから送られた前記割付処理を実行する割付処理実行工程と、他の処理端末装置に、ブロードキャスト通信により、更新した共有データを送信する共有データ送信工程と、他の処理端末装置から、ブロードキャスト通信により、受信した共有データを更新する共有データ受信工程と、前記割付処理の実行結果を前記サーバに送信する割付処理結果送信工程と、を具備することを特徴とする並列処理方法である。
【0019】
第3の発明は、第2の発明の処理端末装置により実行される並列処理方法に関する発明である。
【0020】
第4の発明は、コンピュータを第2の発明の処理端末装置として機能させるプログラムである。
第5の発明は、コンピュータを第2の発明の処理端末装置として機能させるプログラムを記録した記録媒体である。
【0021】
上述のプログラムをCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【0022】
【発明の実施の形態】
以下に、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について詳細に説明する。なお、以下の説明及び添付図面において、略同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略することにする。
【0023】
図1は、本発明の第1の実施の形態に係る並列処理システム100の概略構成を示す図である。
【0024】
図1に示すように、並列処理システム100は、管理者1のマスタ2、複数の依頼者4−1、4−2、…の端末装置5−1、5−2、…、スレーブ群6等が、ネットワーク9を介して接続されて構成される。
【0025】
ネットワーク9は、インターネット、ローカルエリアネットワーク(LAN)、社内LAN等のネットワークであり、有線、無線を問わない。
【0026】
管理者1は、並列処理システム100を管理する管理者であり、マスタ2を有する。マスタ2は、「サーバ」としてのサーバコンピュータ等であり、処理受付機能13、参加募集機能14、処理割付機能15、実行結果取得機能16等を有する。マスタ2は、複数の分散マスタ3−1、3−2、…により構成することもできる。
【0027】
処理受付機能13は、依頼者4−1、4−2、…の端末装置5−1、5−2、…から処理の依頼を受付ける。例えば、処理受付機能13は、WEB(World Wide Web)サーバとしての機能を有し、端末装置5からWEBページに入力された処理を依頼処理として受け付けることができる。また、処理受付機能13は、端末装置5からWEBページ等によりネットワーク9を介して依頼処理を受付けるだけでなく、マスタ2に直接入力された処理を依頼処理として受け付けることができる。
【0028】
参加募集機能14は、スレーブ群6の各スレーブ7−1、7−2、…に対して、並列処理への参加を募集する。処理割付機能15は、依頼された処理(依頼処理)から割付処理を生成してスレーブ7−1、7−2、…に割り付ける。実行結果取得機能16は、スレーブ7−1、7−2、…から割付処理の実行結果を取得する。
【0029】
依頼者4−1、4−2、…は、処理を依頼する依頼者であり、それぞれ、端末装置5−1、5−2、…を有する。端末装置5−1、5−2…は、ネットワーク9を介して、マスタ2に処理を依頼し、スレーブ群6から処理の実行結果を受信し取得する実行結果取得機能17を有する。尚、端末装置5−1、5−2、…は、パーソナルコンピュータ、携帯情報端末(Personal Digital
Assistant)等である。
【0030】
スレーブ群6は、複数の「処理端末装置」としてのスレーブ7−1、7−2…を有する。スレーブ7−1、7−2、…は、並列処理専用のコンピュータ等の端末装置、あるいは、未使用時間等に係る空き資源、リソースを有する場合に並列処理に参加するパーソナルコンピュータ等のボランティア端末装置である。スレーブ7−1、7−2、…は、パーソナルコンピュータ、携帯情報端末(Personal Digital Assistant)、携帯電話機、演算装置を有する機器等である。
【0031】
スレーブ7−1、7−2、…は、それぞれ、USB(Universal Serial Bus)メモリ・キー等の外部メモリ8−1、8−2、…を有するようにしてもよい。スレーブ7−1、7−2、…(又は、外部メモリ)は、参加応募機能11、処理実行機能12、データ共有機能23等を有する。
尚、スレーブ7には、参加応募機能11、処理実行機能12、負荷監視機能19等を有する外部メモリを設けてもよいし、外部メモリを設けずスレーブ7内に参加応募機能11、処理実行機能12、データ共有機能23等を設けるようにしてもよい。
【0032】
参加応募機能11は、マスタ2から並列処理への参加募集が行われると、自身の稼働状況等から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ2に対して参加応募の旨を応答する。尚、スレーブ7は、自身の稼働状況、利用状況等を常時監視することもできる。
処理実行機能12は、マスタ2等から受け取った処理プログラムにより所定の処理を実行する。
データ共有機能23は、スレーブ7間で、ブロードキャスト通信により、共有データを送受信する。
【0033】
スレーブ7として、例えば、情報家電、携帯電話等を用いる場合、CPUの処理体系の相違により、受け取った処理プログラム等をそのままスレーブ上では実行できないことがある。この場合、スレーブ上で実行可能な処理体系に演算コード等を変換する機能(CPU命令変換機能)をスレーブ7側(スレーブ7自身、外部メモリ等)またはマスタ2側に設けることにより、スレーブ上での当該処理プログラム等の実行を可能とすることができる。
【0034】
次に、図2乃至図7を参照しながら、並列処理システム100の処理手順について説明する。
【0035】
まず、図2及び図4を参照しながら、マスタ2が有する処理受付機能13、参加募集機能14、処理割付機能15、及び、スレーブ7−1、7−2、…が有する参加応募機能11等による処理について説明する。
【0036】
尚、「処理」の区別のため必要に応じて、端末装置5−1、5−2、…から依頼された処理を「依頼処理」と呼び、スレーブ7−1、7−2、…に分配、割り付けられた処理を「割付処理」と呼ぶ。
【0037】
図2は、処理受付機能13、参加募集機能14、処理割付機能15、参加応募機能11等に係る処理の概略を示す図である。
図4は、処理受付機能13、参加募集機能14、処理割付機能15、参加応募機能11等に係る処理の手順を示すフローチャートである。
【0038】
依頼者4−1、4−2、…の端末装置5−1、5−2、…は、依頼処理(依頼処理A、…)の処理依頼をマスタ2に行い、当該依頼処理の処理プログラム及び処理データをマスタ2に送信する(ステップ401)。
【0039】
尚、スレーブ7(又はその外部メモリ)には、予め、参加応募機能11、データ共有機能23と共に、処理実行機能12に係る処理プログラム及び処理データを記憶させ、端末装置5−1、5−2、…は、処理プロクラム及び処理データを送ることなく、マスタ2に処理A、B、…の処理依頼のみ行ってもよい。あるいは、スレーブ7(又はその外部メモリ)に、予め、参加応募機能11、データ共有機能23等と共に、処理実行機能12に係る処理プログラム及び処理データの一部を記憶させ、残りの処理プログラム及び処理データに関しては、端末装置5−1、5−2、…が依頼処理A、…の処理依頼を行う際にマスタ2に送信するようにしてもよい。
【0040】
マスタ2は、各依頼者4−1、4−2、…の端末装置5−1、5−2、…からの依頼処理を受信し、受付ける(ステップ402)。
図2に示すように、例えば、マスタ2は、依頼者4−1の端末装置5−1から依頼処理Aを受付け(ステップ41−1)、処理受付テーブル31を作成する。処理受付テーブル31は、端末装置と依頼処理とを対応付ける。
【0041】
ここで、処理受付機能13にWEBサーバとしての機能を設けることにより、マスタ2は、端末装置5からWEBページに入力された処理を依頼処理として受け付けることができる。
尚、ステップ401〜ステップ402の処理を随時行うようにすることができる。
【0042】
マスタ2は、ブロードキャスト通信で、スレーブ群6の全てのスレーブ7−1、7−2、…に対して並列処理への参加を募集する(ステップ403)。
【0043】
スレーブ7−1、7−2、…は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ2に対して参加応募の旨を応答する(ステップ404)。
図2に示すように、例えば、マスタ2からの参加募集の打診があると(ステップ42)、スレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)は、それぞれ、参加応募を行う(ステップ43−1、43−2、43−4)。
【0044】
マスタ2は、端末装置5−1、5−2、…から送られた依頼処理から割付処理を生成し、参加応募の旨の応答があったスレーブ7−1、7−2、…に割り付ける(ステップ405)。尚、マスタ2は、必要に応じて依頼処理を分割して割付処理を生成する。
図2に示すように、例えば、マスタ2は、依頼処理Aを割付処理A1と割付処理A2、A4に分割し、参加応募したスレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)に対して、それぞれ、割付処理A1、割付処理A2、割付処理A4を割り付け、処理割付テーブル32を作成する(ステップ44)。処理割付テーブル32は、スレーブと割付処理とを対応付ける。
【0045】
マスタ2は、割付処理を割り付けた各スレーブ7−1、7−2、…に、割付処理に係る処理プログラム、処理データ等を送信し、処理を分配する(ステップ406)。
図2に示すように、例えば、マスタ2は、スレーブ7−1に割付処理A1に係る処理プログラム、処理データ等を送信し、スレーブ7−2に割付処理A2に係る処理プログラム、処理データ等を送信し、スレーブ7−4に割付処理A4に係る処理プログラム、処理データ等を送信する(ステップ46−1、46−2、46−4)。
尚、端末装置5−1、5−2、…からの処理受付の状況に応じて、ステップ403〜ステップ406の処理を随時行うようにすることができる。
【0046】
尚、ブロードキャスト通信では、同一データリンク内の全ノード(ネットワークに接続されているコンピュータ等の機器)に対して情報を送信することができるので、マスタ2は、ブロードキャスト通信により同一データリンク内のスレーブ群6全体に対して、並列処理への参加募集を行い、スレーブ7は、ブロードキャスト通信により同一データリンク内のマスタ2(分散マスタ3)全体に対して、参加応募を行うことができる。
【0047】
次に、図3及び図5を参照しながら、スレーブ7−1、7−2、…が有する処理実行機能12、マスタ2が有する実行結果取得機能16、端末装置5−1、5−2、…が有する実行結果取得機能17等による処理について説明する。
【0048】
図3は、処理実行機能12、実行結果取得機能16、実行結果取得機能17等に係る処理の概略を示す図である。
図5は、処理実行機能12、実行結果取得機能16、実行結果取得機能17等に係る処理の手順を示すフローチャートである。
【0049】
スレーブ7−1、7−2…は、マスタ2から割付処理に係る処理プログラム、処理データを受け取る(ステップ501)。
図2に示すように、例えば、スレーブ7−1、7−2、7−4は、割付処理A1、A2、A4に係る処理プログラム、処理データ等を受け取る(ステップ46−1、46−2、46−4)。
尚、予め、処理プログラムや処理データがスレーブ7−1、7−2、…内や外部メモリ等に記憶されている場合には、スレーブ7−1、7−2、…は、マスタ2から処理実行依頼のみを受信する。
【0050】
スレーブ7−1、7−2…は、受け取った処理プログラムを起動し、割付処理を実行する(ステップ502)。
図3に示すように、例えば、スレーブ7−1、7−2、7−4は、それぞれ、割付処理に係る処理プログラムA1、A2、A4を起動し、割付処理A1、A2、A4を実行する(ステップ47−1、47−2、47−4)。
【0051】
スレーブ7−1、7−2…は、処理プログラム終了後、処理プログラムの実行結果(割付処理の実行結果)をマスタ2に送信する(ステップ503)。
図3に示すように、例えば、スレーブ7−1、7−2、7−4は、それぞれ、実行結果a1、a2,a4(割付処理の実行結果)をマスタ2に送信する(ステップ48−1、48−2、48−4)。
マスタ2は、スレーブ7−1、7−2…から割付処理の実行結果を受信し、処理割付テーブル32に対応付けて記録する(ステップ504)。
マスタ2は、割付処理の実行結果を依頼処理毎に集約し、処理受付テーブル31に対応付けて記録する(ステップ505)。
図3に示すように、例えば、マスタ2は、割付処理毎の実行結果a1、a2、a4を依頼処理毎の実行結果Aに集約する(ステップ49)。
【0052】
マスタ2は、依頼処理毎に取得した実行結果を対応する依頼者4−1、4−2、…の端末装置5−1、5−2、…に送信し(ステップ506)、端末装置5−1、5−2、…は、依頼した処理の実行結果を受け取る(ステップ507)。
図3に示すように、例えば、マスタ2は、依頼処理Aの実行結果Aを端末装置5−1に送信する(ステップ50−1)。
【0053】
マスタ2は、割付処理実行中のスレーブから所定の期限(例えば、処理実行開始後、1日経過、30秒経過)までに実行結果を受信しなかった場合、その他、割付処理実行中のスレーブが正常動作していないと認められる場合等、スレーブ群6に対して並列処理への参加募集を行い、参加応募した別のスレーブ7−1、7−2、…に、同じ処理を割振り、実行させる(ステップ403〜ステップ406)。
【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は、並列処理を終了する時は、参加応募したスレーブ7−1、7−2、…に対して、終了指示を送り、当該終了指示を受けたスレーブ7−1、7−2、…は、参加応募、割付処理の実行等を終了する。
【0056】
尚、上記のステップ401〜ステップ406、ステップ501〜ステップ507に係る処理は、依頼処理毎、割付処理毎に独立、平行して実行することができる。例えば、ステップ504の処理において、ある時点において、依頼処理Aに係る割付処理の実行結果の全てを受信した場合、別の依頼処理に係る割付処理の実行結果の全てを受信していない場合であっても、依頼処理Aに関しては、ステップ505以降の処理を進めることができる。
【0057】
次に、図6及び図7を参照しながら、スレーブ7−1、7−2、…が有する処理実行機能12、データ共有機能23等による処理について説明する。
図6は、処理実行機能12、データ共有機能23等に係る処理の概略を示す図である。
図7は、処理実行機能12、データ共有機能23等に係る処理の手順を示すフローチャートである。
【0058】
スレーブ7−1は、受け取った処理プログラムを起動し、割付処理を実行する(ステップ701)。同様に、スレーブ7−2、7−4も、受け取った処理プログラムを起動し、割付処理を実行する。
図7に示すように、例えば、スレーブ7−1、7−2、7−4は、それぞれ、割付処理に係る処理プログラムA1、A2、A4を起動し、割付処理A1、A2、A4を実行する(ステップ47−1、47−2、47−4)。
【0059】
スレーブ7−1は、割付処理A1実行中、共有データを更新、作成する(ステップ702)。共有データは、処理プログラムの演算結果や、処理データである。
図7に示すように、例えば、スレーブ7−1は、割付処理A1実行中、処理プログラムの演算結果、処理データ等を格納するメモリテーブル35−1の共有データXを「100」から「256」に更新し、更新後のメモリテーブル36−1の共有データXは「256」となる。
【0060】
スレーブ7−1は、ブロードキャスト通信で、共有データの更新内容、作成内容等をネットワーク9に送出する(ステップ703)。
図7に示すように、例えば、スレーブ7−1は、他の全てのスレーブ7−2、…に対して、共有データXを送信する場合、スレーブ7−1は、予め、設定した送信先ポート番号2100を共有データX(「100」―>「256」)に付加して、共有データXをブロードキャスト通信によりネットワーク9に送出する。
【0061】
他のスレーブ7−2、…は、受信した当該共有データを更新、作成する(ステップ704)。
図7に示すように、例えば、スレーブ7−2、7−3、7−4…は、ポート番号2100が設定されており、処理実行中のスレーブ7−2、7−4は、当該共有データX(「100」―>「256」)(送信先ポート番号2100)を受信し、自身のメモリテーブル35−2、35−4の当該共有データX「100」を、それぞれ、メモリテーブル36−2、36−4の共有データX「256」に更新する。
【0062】
スレーブ7−1は、割付処理A1を実行しながら、共有データの値を変更すると、ステップ702、703に係る処理を随時行う。
【0063】
また、スレーブ7−1も、他のスレーブ7−2、7−3、…のステップ704に係る処理に該当する、他のスレーブ7−2、7−3、…から受信した共有データの更新、作成処理を、割付処理A1の実行、及びステップ702、703に係る処理に独立、平行して実行できる。
図7に示すように、例えば、スレーブ7−2は、割付処理A2実行中、共有データXを受信し、自身のメモリテーブル35−2を更新する処理に平行して、割付処理A2実行中の演算結果等により、共有データY:「FLAG0」を「FLAG1」に変更すると、ブロードキャスト通信で共有データY(「FLAG0」―>「FLAG1」)を送出する。
【0064】
尚、並列処理の処理プログラムの共有データの有効範囲に応じて、ブロードキャスト通信でのポート番号が設定され、スレーブ7は、当該ポート番号を共有データに付加して、共有データをブロードキャスト通信でネットワーク9に送出することにより、並列処理上の共有データの有効範囲でのスレーブ7間でのデータ授受を可能とする。
図7に示すように、例えば、共有データXは、並列処理の処理プログラム全体での共有データであり、当該ポート番号2100を付けて、ブロードキャスト通信で全てのスレーブ7間のデータ通信を行い、共有データYは、割付処理A2、A4の処理プログラムでの共有データであり、当該ポート番号2102を付けて、スレーブ7−2、7−4間でのデータ通信を行う。
【0065】
以上説明したように、本発明の第1の実施の形態によれば、マスタ2は、各依頼者4の端末装置5から処理の依頼(依頼処理)を受付け、ブロードキャスト通信によりスレーブ群6全体に対して並列処理への参加募集を行う。スレーブ7は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、並列処理へ参加する場合は、マスタ2に対して参加応募の旨を応答する。マスタ2は、参加応募したスレーブ7に処理を割振り、割振った処理(割付処理)を送信する。スレーブ7は、マスタ2から受け取った割付処理を実行し、処理終了後、実行結果をマスタ2又は依頼者4側の端末装置5に送信し、マスタ2あるいは端末装置5は、実行結果を受け取る。
【0066】
このように、マスタ2(サーバ)は、必要に応じて随時並列処理への参加を募集し、スレーブ7(処理端末装置)は、稼働状況等に応じて並列処理に参加するので、マスタ2は、スレーブ7の稼働状況等を管理する必要がなく、参加応募したスレーブ7に割付処理を割り当てることにより、効率的かつ高速な並列処理を実現することができる。従って、スレーブ7は、並列処理への途中参加が可能である。
【0067】
スレーブ7−1、7−2、…は、並列処理の処理プログラムの演算結果や、処理データ等の共有データを更新、作成すると、ブロードキャスト通信で、他のスレーブ7に送出し、また、他のスレーブ7から受け取った当該共有データを更新、作成することにより、各スレーブ7間でのデータを共有することを可能とし、更に、ブロードキャスト通信を用いることにより、一度の通信でデータ転送が可能となり、高速な並列処理を実現することができる。
【0068】
また、処理端末装置として、ボランティア端末装置、すなわち、一般OA用途に用いられているパーソナルコンピュータ等の未使用時間等に係る空き資源を利用可能であり、膨大な計算量を要する処理等に係る並列処理を実現することができる。この場合、企業等のパーソナルコンピュータを多数抱えているサイトでは、安価に高速計算機環境を取得できると共に、ボランティア端末装置(スレーブ)の更新毎に計算機環境も自動更新されるため、新たに計算環境を構築することなく高速化が図られる。
【0069】
尚、図4、図5、図7等に示す処理を行うプログラムはCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【0070】
次に、本発明の第2の実施の形態について説明する。
図8は、本発明の第2の実施の形態に係る並列処理システム200の概略構成を示す図である。
【0071】
前述の第1の実施の形態では、マスタ2は、端末装置5からネットワーク9を介して処理の依頼(依頼処理)を受付け、当該依頼処理を並列処理により処理するが、第2の実施の形態では、依頼処理は、直接マスタ2に入力される。すなわち、マスタ2の処理受付機能13は、WEBページ等によりネットワーク9を介して依頼処理を受付けるだけでなく、マスタ2に直接入力された処理を依頼処理として受け付けることができる。
【0072】
第1の実施の形態では、端末装置5からネットワークを9を介してマスタ2に並列処理を依頼することができるので、リモートからの並列処理の依頼、処理実行結果の取得が可能となる。例えば、多数の並列処理専用コンピュータをセンタ内に構築し、リモートからの運用が可能となる。
一方、第2の実施の形態では、割付処理及び割付処理毎の実行結果は、ネットワーク9上を流れるが、依頼処理全体及び依頼処理毎の実行結果は、ネットワーク9上を流れることがないので、安全性、機密性を向上することができる。
【0073】
次に、並列処理システムにおける、ブロードキャスト通信による通信処理の詳細を説明する。
上記の第1の実施の形態及び第2の実施の形態に示した並列処理システムでは、マスタとスレーブとの間の通信に関しては、ブロードキャスト通信を用いて、通信データ、情報の授受(参加募集、参加応募、処理割付、実行結果の送信、実行結果の取得等)が行われる。
【0074】
図9は、上述のマスタ2及びスレーブ7におけるブロードキャスト通信による通信処理の概略を示す図である。
尚、所定の通信処理に関する送信元と送信先のポート番号は、異なる場合があるが、説明の容易のため、所定の通信処理の種類毎にポート番号が設定され、送信元と送信先のポート番号は、同一であるものとして説明する。
【0075】
図9に示すように、マスタ2には、2000番ポート、2001番ポート、2002番ポート、2003番ポート、2004番ポート、…が設定され、スレーブ7−1には、2000番ポート、2001番ポート、スレーブ7−2には、2000番ポート、2002番ポート、スレーブ7−3には、2000番ポート、2003番ポート、スレーブ7−4には、2000番ポート、2004番ポート、…が設定される。
【0076】
2000番ポートは、マスタ2及び全てのスレーブ7の間の通信(例えば、参加募集)に関する通信ポートである。
2001番ポートは、マスタ2とスレーブ7−1との間の通信(例えば、参加応募)に関する通信ポートである。
2002番ポートは、マスタ2とスレーブ7−2との間の通信(例えば、参加応募)に関する通信ポートである。
2003番ポートは、マスタ2とスレーブ7−3との間の通信(例えば、参加応募)に関する通信ポートである。
2004番ポートは、マスタ2とスレーブ7−4との間の通信(例えば、参加応募)に関する通信ポートである。
【0077】
マスタ2は、全てのスレーブ7に対して通信データを送信する場合(例えば、並列処理への参加募集を行う場合)、送信先ポート番号2000を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出する。スレーブ7−1、7−2、7−3、7−4、…は、ポート番号2000が設定されているので、当該通信データ(送信先ポート番号2000)を受信する(ステップ1001)。
【0078】
スレーブ7−1は、マスタ2に対して通信データを送信する場合(例えば、並列処理への参加応募を行う場合)、送信先ポート番号2001を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出する。マスタ2は、ポート番号2001が設定されているので、当該通信データ(送信先ポート番号2001)を受信する(ステップ1002)。
【0079】
同様にして、スレーブ7−2、7−4は、マスタ2に対して通信データを送信する場合、それぞれ、送信先ポート番号2002、2004を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出し、マスタ2は、ポート番号2002、2004が設定されているので、当該通信データ(送信先ポート番号2002、2004)を受信する(ステップ1003、ステップ1004)。
【0080】
上記の説明では、参加募集、参加応募に関する通信処理を例としてあげたが、その他、前述した共有データの送受信、割付処理の送受信、割付処理の実行結果の送受信等に関する通信処理に関しても、当該通信処理の種類毎に、必要に応じて、マスタ2、スレーブ7にポート番号を設定し、ポート番号を付加した通信データをブロードキャスト通信でネットワーク9に送出することにより、マスタ2及びスレーブ7の間で通信データの授受を行い、並列処理を実現することができる。
尚、マスタ2が分散化、多重化されている場合は、同一の指示、同一の応答であっても、早着優先で処理するようにすればよい。
【0081】
以上、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0082】
【発明の効果】
以上、詳細に説明したように本発明によれば、処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することができる。
【図面の簡単な説明】
【図1】第1の形態に係る並列処理システム100の概略構成を示す図
【図2】処理受付、参加募集、参加応募、処理割付等に係る処理の概略を示す図
【図3】処理実行、実行結果取得等に係る処理の概略を示す図
【図4】処理受付、参加募集、参加応募、処理割付等に係る処理の手順を示すフローチャート
【図5】処理実行、実行結果取得等に係る処理の手順を示すフローチャート
【図6】処理実行機能12、データ共有機能23等に係る処理の概略を示す図
【図7】処理実行機能12、データ共有機能23等に係る処理の手順を示すフローチャート
【図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………実行結果取得機能
23………データ共有機能
31………処理受付テーブル
32………処理割付テーブル

Claims (13)

  1. 複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、
    前記サーバは、
    前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に当該割付処理を割り付け送信し実行させる処理割付手段と、
    を具備し、
    前記処理端末装置は、
    前記サーバから送られた前記割付処理を実行する割付処理実行手段と、
    他の処理端末装置に、ブロードキャスト通信により、更新した共有データを送信する共有データ送信手段と、
    他の処理端末装置から、ブロードキャスト通信により、受信した共有データを更新する共有データ受信手段と、
    前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、
    を具備することを特徴とする並列処理システム。
  2. 前記共有データは、割付処理の処理プログラムの演算結果、又は処理データであることを特徴とする請求項1に記載の並列処理システム。
  3. 前記サーバは、
    前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることを特徴とする請求項1に記載の並列処理システム。
  4. 1又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置であって、
    前記サーバから送られた前記割付処理を実行する割付処理実行手段と、
    他の処理端末装置に、ブロードキャスト通信により、更新した共有データを送信する共有データ送信手段と、
    他の処理端末装置から、ブロードキャスト通信により、受信した共有データを更新する共有データ受信手段と、
    前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、
    を具備することを特徴とする処理端末装置。
  5. 前記共有データは、割付処理の処理プログラムの演算結果、又は処理データであることを特徴とする請求項4に記載の処理端末装置。
  6. 前記サーバから前記並列処理への参加募集が送られると、参加可能な場合、参加応募の旨を応答する参加応募手段を具備することを特徴とする請求項4に記載の処理端末装置。
  7. 前記参加応募手段は、ブロードキャスト通信により前記参加応募を行うことを特徴とする請求項6に記載の処理端末装置。
  8. 1又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置が実行する並列処理方法であって、
    前記サーバから送られた前記割付処理を実行する割付処理実行工程と、
    他の処理端末装置に、ブロードキャスト通信により、更新した共有データを送信する共有データ送信工程と、
    他の処理端末装置から、ブロードキャスト通信により、受信した共有データを更新する共有データ受信工程と、
    前記割付処理の実行結果を前記サーバに送信する割付処理結果送信工程と、
    を具備することを特徴とする並列処理方法。
  9. 前記共有データは、割付処理の処理プログラムの演算結果、又は処理データであることを特徴とする請求項8に記載の並列処理方法。
  10. 前記サーバから前記並列処理への参加募集が送られると、参加可能な場合、参加応募の旨を応答する参加応募工程を具備することを特徴とする請求項8または請求項9に記載の並列処理方法。
  11. 前記参加応募工程は、ブロードキャスト通信により前記参加応募を行うことを特徴とする請求項10に記載の並列処理方法。
  12. コンピュータを請求項4から請求項7のいずれかに記載の処理端末装置として機能させるプログラム。
  13. コンピュータを請求項4から請求項7のいずれかに記載の処理端末装置として機能させるプログラムを記録した記録媒体。
JP2002221476A 2002-05-28 2002-07-30 並列処理システム、処理端末装置、並列処理方法、プログラム、及び、記録媒体 Pending JP2004062620A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2002221476A JP2004062620A (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
JP2002221476A JP2004062620A (ja) 2002-07-30 2002-07-30 並列処理システム、処理端末装置、並列処理方法、プログラム、及び、記録媒体

Publications (1)

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

Family

ID=31941775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002221476A Pending JP2004062620A (ja) 2002-05-28 2002-07-30 並列処理システム、処理端末装置、並列処理方法、プログラム、及び、記録媒体

Country Status (1)

Country Link
JP (1) JP2004062620A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219699A (ja) * 2006-02-15 2007-08-30 Toru Nakazawa 並列処理システム、描画システム、画像表示システム、音響システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体
KR100782857B1 (ko) 2006-10-13 2007-12-06 삼성전자주식회사 복수의 모델들이 공유하는 공유모듈을 이용하여 소프트웨어를 갱신하기 위한 방법, 디지털 방송 수신기 및 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
WO2013005322A1 (ja) * 2011-07-06 2013-01-10 富士通株式会社 制御端末、および制御方法
JPWO2013005322A1 (ja) * 2011-07-06 2015-02-23 富士通株式会社 制御端末、および制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219699A (ja) * 2006-02-15 2007-08-30 Toru Nakazawa 並列処理システム、描画システム、画像表示システム、音響システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体
JP4647513B2 (ja) * 2006-02-15 2011-03-09 亨 中沢 並列処理システム、処理端末装置、並列処理方法、描画システム、画像表示システム、音響システム、プログラム、及び、記録媒体
KR100782857B1 (ko) 2006-10-13 2007-12-06 삼성전자주식회사 복수의 모델들이 공유하는 공유모듈을 이용하여 소프트웨어를 갱신하기 위한 방법, 디지털 방송 수신기 및 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
WO2013005322A1 (ja) * 2011-07-06 2013-01-10 富士通株式会社 制御端末、および制御方法
JPWO2013005322A1 (ja) * 2011-07-06 2015-02-23 富士通株式会社 制御端末、および制御方法

Similar Documents

Publication Publication Date Title
US8589885B2 (en) Debugger launch and attach on compute clusters
US20050188087A1 (en) Parallel processing system
US8341257B1 (en) Grid proxy architecture for network resources
TW202131171A (zh) 程式設計平台的使用者代碼運行方法、電子設備和電腦可讀儲存介質
JP3983619B2 (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
CN112104679B (zh) 处理超文本传输协议请求的方法、装置、设备和介质
JP2004062603A (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
JP6721800B2 (ja) 協調分散システム、協調分散管理装置、協調分散方法、及びプログラム
JP2004062620A (ja) 並列処理システム、処理端末装置、並列処理方法、プログラム、及び、記録媒体
JP3942979B2 (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
KR20050078395A (ko) 그리드 컴퓨팅 시스템에서 파일기반의 mpi초기화방법을 이용한 그리드 mpi 작업 할당 시스템 및그리드 mpi 작업 할당방법
KR101262849B1 (ko) 가상화 시스템 상에서 영상장치를 할당 및 해제하기 위한 장치 및 방법
WO2023184917A1 (zh) 算力信息的处理方法、处理系统及算力网关
Mann et al. Engineering an interoperable computational collaboratory on the Grid
JP2004054855A (ja) 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体
JP2004062606A (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
JP2004062622A (ja) 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
JP4021684B2 (ja) 並列処理システム、サーバ及び記録媒体
TW201405321A (zh) 雲端模擬運算方法與系統
Poellabauer et al. KECho—Event Communication for Distributed Kernel Services
WO2023238284A1 (ja) 管理システム、管理方法、及び、管理プログラム
US11659445B2 (en) Device coordination for distributed edge computations
JP2007102666A (ja) 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体
JP2004362430A (ja) アプリケーション生成装置
Wenzel MetaEdge: an interoperable framework for the integration of edge computing platforms

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