JP2007102666A - 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体 - Google Patents
並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体 Download PDFInfo
- Publication number
- JP2007102666A JP2007102666A JP2005294539A JP2005294539A JP2007102666A JP 2007102666 A JP2007102666 A JP 2007102666A JP 2005294539 A JP2005294539 A JP 2005294539A JP 2005294539 A JP2005294539 A JP 2005294539A JP 2007102666 A JP2007102666 A JP 2007102666A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- data
- allocation
- terminal device
- request
- 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
- Multi Processors (AREA)
Abstract
【課題】処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供する。
【解決手段】マスタ2は、スレーブ群6全体に対して並列処理への参加募集を行うと共に、保持している処理データの問い合わせを行う(ステップ42、51)。マスタ2は、参加応募したスレーブ7に処理を割付け、スレーブ7からの処理データの報告に基づいて、当該割付処理の処理データに対して、配布済みの処理データ、未配布の処理データを管理し、配布済みであれば処理実行依頼のみ送信し(ステップ53−1)、未配布であれば処理データ、処理実行依頼を送信する(ステップ54−2、53−2)。スレーブ7は、マスタ2から受け取った処理実行依頼の割付処理を実行する。
【選択図】図4
【解決手段】マスタ2は、スレーブ群6全体に対して並列処理への参加募集を行うと共に、保持している処理データの問い合わせを行う(ステップ42、51)。マスタ2は、参加応募したスレーブ7に処理を割付け、スレーブ7からの処理データの報告に基づいて、当該割付処理の処理データに対して、配布済みの処理データ、未配布の処理データを管理し、配布済みであれば処理実行依頼のみ送信し(ステップ53−1)、未配布であれば処理データ、処理実行依頼を送信する(ステップ54−2、53−2)。スレーブ7は、マスタ2から受け取った処理実行依頼の割付処理を実行する。
【選択図】図4
Description
本発明は、1の処理を複数の処理端末装置に分散して処理する並列処理システムに関する。より詳細には、処理端末装置に処理データを無駄なく配布する並列処理システムに関する。
従来、一般の並列処理システムは、並列処理専用の複数の処理端末装置を設け、これらの処理端末装置に並列処理を実行させるものである。また、一般OA用途に用いられているパーソナルコンピュータ等の端末装置の未使用時間等を利用するボランティア端末装置参加型の並列処理システム(例えば、バイオ計算等)が幾つか存在する(例えば、特許文献1)。
また、近年、処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システムの技術について開示されている(例えば、特許文献2)。
しかしながら、特許文献2に記載されている従来の並列処理システムでは、処理したいコンピュータから処理データの配布・実処理・結果の回収を行うもので、ネットワーク性能が飛躍的に向上しているが、既に、配布されているデータや、各コンピュータに保存されているデータ、更にはネットワーク上のストレージやデータベースに格納されているデータが存在しても、マスタからスレーブに処理指示を出す為、毎回、データをスレーブに転送する必要がある。
1つのデータに対して複数の処理を実行する、例えば、可視化アルゴリズムによる可視化処理を実行する場合、1つの可視化データに対して、可視化する領域や視点位置、可視化データの見せ方(温度分布、圧力分布等)等のパラメタを与えることによって複数の処理を実行する。これは、可視化データから可視化処理を行う際、パラメタを変化させることにより任意に可視化するものである。図17は、従来の並列処理システム1000(可視化処理の実行)の処理の流れを示す図である。
図17に示すように、従来の並列処理システム1000においては、(1)マスタは、可視化元データ90を分割し、(2)各遊休パーソナルコンピュータ(PC)であるスレーブ7−1、7−2、7−3に、それぞれ分割したデータ91−1、91−2、91−3を転送する。(3)各スレーブ7−1、7−2、7−3は、夫々、配布されたデータ91−1、91−2、91−3を用いて、可視化処理を行い1時刻の静止画像92−1、92−2、92−3を作成し、(4)実行結果である静止画像92−1、92−2、92−3を返信する。(5)マスタは、回収した静止画像92−1、92−2、92−3から動画像93を作成する。
この可視化アルゴリズムによる並列処理の流れで、(3)の1時刻の静止画像作成処理では、同じデータを用いて、視点情報等のパラメタのみを変更した画像を作成することが可能であり、可視化アルゴリズムの技術者が何度も試行する部分である。例えば、従来の並列処理システム1000においては、可視化元データサイズ:100Gbyte、スレーブPC数:20台、ネットワーク性能:100MBps(実効速度:1秒間に5Mbyteの転送が可能)の環境下で、データを20分割して転送すると、1台当り5Gbyte(5Mbyteの1000倍)、即ち、1台のスレーブへデータ転送する時間が1000秒(16分以上)必要で、20台全てにデータを配布するのに、20000秒(5.5時間)必要であった。
従来の並列処理システム1000では、(1)、(2)の処理を毎回実行する必要があり、既存のデータを転送するという無駄が生じていたという問題があった。
従来の並列処理システム1000では、(1)、(2)の処理を毎回実行する必要があり、既存のデータを転送するという無駄が生じていたという問題があった。
本発明は、以上の点に鑑みてなされたものであり、処理端末装置に稼働状況に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することを目的とする。
前述した目的を達成するために第1の発明は、複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、前記サーバは、前記処理端末装置に対して、保持する以前配布された処理データを問い合わせるデータ問い合わせ手段と、前記処理端末装置から送られた保持する処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理手段と、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、当該割付処理に係る処理データが配布済みの場合には当該割付処理の処理実行依頼を送信し、未配布の場合には当該割付処理に係る処理データと、その処理実行依頼を送信する処理割付手段と、を具備し、前記処理端末装置は、前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告手段と、前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、を具備することを特徴とする並列処理システムである。
また、前記サーバは、前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることが望ましい。
また、前記データ問い合わせ手段又は前記データ報告手段は、ブロードキャスト通信によりデータ問い合わせ又はデータ報告を行うことが望ましい。
また、前記サーバは、前記処理端末装置に対して、当該割付処理の処理データを送信する際、割付処理実行後に当該処理データを保持/破棄するかの後処理指示を送信する後処理指示手段を、具備し、前記処理端末装置は、前記割付処理実行後、前記サーバからの後処理指示に従い、当該割付処理に係る処理データを保持/破棄するデータ後処理手段と、を具備することが望ましい。
また、前記データ問い合わせ手段又は前記データ報告手段は、ブロードキャスト通信によりデータ問い合わせ又はデータ報告を行うことが望ましい。
また、前記サーバは、前記処理端末装置に対して、当該割付処理の処理データを送信する際、割付処理実行後に当該処理データを保持/破棄するかの後処理指示を送信する後処理指示手段を、具備し、前記処理端末装置は、前記割付処理実行後、前記サーバからの後処理指示に従い、当該割付処理に係る処理データを保持/破棄するデータ後処理手段と、を具備することが望ましい。
第1の発明による並列処理システムでは、サーバは、処理端末装置に対して、保持する以前配布された処理データの問い合わせを行い、処理端末装置から送られた保持する処理データの報告を基に、依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理し、依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、処理端末装置に対して、当該割付処理を割り付け、当該割付処理に係る処理データが配布済みの場合には当該割付処理の処理実行依頼を送信し、未配布の場合には当該割付処理に係る処理データと、その処理実行依頼を送信する。処理端末装置は、サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告し、サーバから送られた処理実行依頼の割付処理を実行する。
「サーバ」は、サーバコンピュータ等であり、処理端末装置としてのスレーブを制御する「マスタ」として機能する。サーバは、ネットワークを介してあるいは直接サーバに入力された処理(「依頼処理」)から「割付処理」を生成して処理端末装置に割り付け、実行させる。尚、サーバは、割付処理を生成する際、必要に応じて依頼処理を分割する。また、サーバは、分散化が可能である。
「処理端末装置」は、コンピュータ等であり、サーバから割り付けられた処理(割付処理)を実行する。処理端末装置は、サーバとしてのマスタにより制御される「スレーブ」として機能する。
「処理」(「依頼処理」あるいは「割付処理」)は、処理依頼要求、処理プログラム、処理データ等である。
「処理データ」は、「依頼処理」または「割付処理」の処理に係るデータであり、処理プログラムを包含したものであってもよい。
「処理データ」は、「依頼処理」または「割付処理」の処理に係るデータであり、処理プログラムを包含したものであってもよい。
第1の発明では、既に、配布済みのデータを利用可能となり、一度配布したデータを再配布するという無駄が生ずることがなくなり、データとパラメタを用いて即座に処理が開始可能となり、圧倒的に、効率的かつ高速な並列処理を実現することができる。
また、データが未配布の場合、マスタからのデータ転送指示により、スレーブ間でデータ転送を行うことにより、マスタとスレーブ間でデータ転送が行われないので、マスタPCの管理負荷低減、及びネットワーク負荷低減を図り、結果的に処理高速化を図ることを可能とする。
また、データが未配布の場合、マスタからのデータ転送指示により、スレーブ間でデータ転送を行うことにより、マスタとスレーブ間でデータ転送が行われないので、マスタPCの管理負荷低減、及びネットワーク負荷低減を図り、結果的に処理高速化を図ることを可能とする。
第2の発明は、複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、前記サーバは、前記処理端末装置に対して、保持している処理データを問い合わせるデータ問い合わせ手段と、前記処理端末装置から送られた保持している処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理手段と、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付けて、当該割付処理に係る処理データが配布済みの場合には処理実行依頼を、未配布の場合には前記処理データを保持する前記処理端末装置/前記ネットワークを介して接続される記憶装置からの転送指示と、処理実行依頼を送信する処理割付手段と、を具備し、前記処理端末装置は、前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告手段と、前記サーバから転送指示が送られると、前記処理データの転送指示に従い、他の処理端末装置/前記ネットワークを介して接続された記憶装置から当該割付処理の処理データを転送するデータ転送手段と、前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、を具備することを特徴とする並列処理システムである。
第2の発明による並列処理システムでは、サーバは、処理端末装置に対して、保持している処理データの問い合わせを行い、処理端末装置から送られた保持している処理データの報告を基に、依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理し、依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、処理端末装置に対して、当該割付処理を割り付けて、当該割付処理に係る処理データが配布済みの場合には処理実行依頼を、未配布の場合には処理データを保持する処理端末装置/ネットワークを介して接続される記憶装置からの転送指示と、処理実行依頼を送信する。処理端末装置は、サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告し、サーバから転送指示が送られると、処理データの転送指示に従い、他の処理端末装置/ネットワークを介して接続された記憶装置から当該割付処理の処理データを転送し、サーバから送られた処理実行依頼の割付処理を実行する。
第3の発明は、複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、前記サーバは、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、処理実行依頼を送信する処理割付手段と、を具備し、前記処理端末装置は、前記サーバから前記割付処理の処理実行依頼が送られると、自身が当該割付処理の処理データを保持していない場合、他の全ての処理端末装置に当該処理データの問い合わせを行うデータ問合せ手段と、他の処理端末装置から処理データの問い合わせが送られると、当該処理データを自身が保持している場合、処理データ保持を応答するデータ応答手段と、他の処理端末装置から処理データ保持の応答が送られると、応答してきた処理端末装置から当該処理データを転送するデータ転送手段と、前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、を具備することを特徴とする並列処理システムである。
第3の発明による並列処理システムでは、サーバは、依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、処理端末装置に対して、当該割付処理を割り付け、処理実行依頼を送信する。処理端末装置は、サーバから割付処理の処理実行依頼が送られると、自身が当該割付処理の処理データを保持していない場合、他の全ての処理端末装置に当該処理データの問い合わせを行い、他の処理端末装置から処理データの問い合わせが送られると、当該処理データを自身が保持している場合、処理データ保持を応答し、他の処理端末装置から処理データ保持の応答が送られると、応答してきた処理端末装置から当該処理データを転送し、サーバから送られた処理実行依頼の割付処理を実行する。
第4の発明は、複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバであって、前記処理端末装置に対して、保持する以前配布された処理データを問い合わせるデータ問い合わせ手段と、前記処理端末装置から送られた保持する処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理手段と、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、当該割付処理に係る処理データが配布済みの場合には当該割付処理の処理実行依頼を送信し、未配布の場合には当該割付処理に係る処理データと、その処理実行依頼を送信する処理割付手段と、を具備することを特徴とするサーバである。
第5の発明は、複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバであって、前記処理端末装置に対して、保持している処理データを問い合わせるデータ問い合わせ手段と、前記処理端末装置から送られた保持している処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理手段と、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付けて、当該割付処理に係る処理データが配布済みの場合には処理実行依頼を、未配布の場合には前記処理データを保持する前記処理端末装置/前記ネットワークを介して接続される記憶装置からの転送指示と、処理実行依頼を送信する処理割付手段と、を具備することを特徴とするサーバである。
第6の発明は、複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバであって、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、処理実行依頼を送信する処理割付手段と、を具備することを特徴とするサーバである。
第4の発明、第5の発明、第6の発明は、それぞれ、第1の発明、第2の発明、第3の発明の並列処理システムで用いられるサーバに関する発明である。
第7の発明は、1又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置であって、前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告手段と、前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、を具備することを特徴とする処理端末装置である。
第8の発明は、1又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置であって、前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告手段と、前記サーバから転送指示が送られると、前記処理データの転送指示に従い、他の処理端末装置/前記ネットワークを介して接続された記憶装置から当該割付処理の処理データを転送するデータ転送手段と、前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、を具備することを特徴とする処理端末装置である。
第9の発明は、1又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置であって、前記サーバから前記割付処理の処理実行依頼が送られると、自身が当該割付処理の処理データを保持していない場合、他の全ての処理端末装置に当該処理データの問い合わせを行うデータ問合せ手段と、他の処理端末装置から処理データの問い合わせが送られると、当該処理データを自身が保持している場合、処理データ保持を応答するデータ応答手段と、他の処理端末装置から処理データ保持の応答が送られると、応答してきた処理端末装置から当該処理データを転送するデータ転送手段と、前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、を具備することを特徴とする処理端末装置である。
第7の発明、第8の発明、第9の発明は、それぞれ、第1の発明、第2の発明、第3の発明の並列処理システムで用いられる処理端末装置に関する発明である。
第10の発明は、複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムにおける並列処理方法であって、前記サーバが実行する、前記処理端末装置に対して、保持する以前配布された処理データを問い合わせるデータ問い合わせ工程と、前記処理端末装置から送られた保持する処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理工程と、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、当該割付処理に係る処理データが配布済みの場合には当該割付処理の処理実行依頼を送信し、未配布の場合には当該割付処理に係る処理データと、その処理実行依頼を送信する処理割付工程と、を具備し、前記処理端末装置が実行する、前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告工程と、前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行工程と、を具備することを特徴とする並列処理方法である。
第11の発明は、複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムにおける並列処理方法であって、前記サーバが実行する、前記処理端末装置に対して、保持している処理データを問い合わせるデータ問い合わせ工程と、前記処理端末装置から送られた保持している処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理工程と、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付けて、当該割付処理に係る処理データが配布済みの場合には処理実行依頼を、未配布の場合には前記処理データを保持する前記処理端末装置/前記ネットワークを介して接続される記憶装置からの転送指示と、処理実行依頼を送信する処理割付工程と、を具備し、前記処理端末装置が実行する、前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告工程と、前記サーバから転送指示が送られると、前記処理データの転送指示に従い、他の処理端末装置/前記ネットワークを介して接続された記憶装置から当該割付処理の処理データを転送するデータ転送工程と、前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行工程と、を具備することを特徴とする並列処理方法である。
第12の発明は、複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムにおける並列処理方法であって、前記サーバが実行する、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、処理実行依頼を送信する処理割付工程と、を具備し、前記処理端末装置が実行する、前記サーバから前記割付処理の処理実行依頼が送られると、自身が当該割付処理の処理データを保持していない場合、他の全ての処理端末装置に当該処理データの問い合わせを行うデータ問合せ工程と、他の処理端末装置から処理データの問い合わせが送られると、当該処理データを自身が保持している場合、処理データ保持を応答するデータ応答工程と、他の処理端末装置から処理データ保持の応答が送られると、応答してきた処理端末装置から当該処理データを転送するデータ転送工程と、前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行工程と、を具備することを特徴とする並列処理方法である。
第10の発明、第11の発明、第12の発明は、それぞれ、第1の発明、第2の発明、第3の発明の並列処理システムのサーバ及び処理端末装置により実行される並列処理方法に関する発明である。
第13の発明は、コンピュータを第4の発明、第5の発明、第6の発明いずれかのサーバとして機能させるプログラムである。
第14の発明は、コンピュータを第4の発明、第5の発明、第6の発明いずれかのサーバとして機能させるプログラムを記録した記録媒体である。
第14の発明は、コンピュータを第4の発明、第5の発明、第6の発明いずれかのサーバとして機能させるプログラムを記録した記録媒体である。
第15の発明は、コンピュータを第7の発明、第8の発明、第9の発明いずれかの処理端末装置として機能させるプログラムである。
第16の発明は、コンピュータを第7の発明、第8の発明、第9の発明いずれかの処理端末装置として機能させるプログラムを記録した記録媒体である。
第16の発明は、コンピュータを第7の発明、第8の発明、第9の発明いずれかの処理端末装置として機能させるプログラムを記録した記録媒体である。
上述のプログラムをCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
本発明は、処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することができる。
以下に、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について詳細に説明する。なお、以下の説明および添付図面において、略同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略することにする。
図1は、本発明の第1の実施の形態に係る並列処理システム100の概略構成を示す図である。
図1に示すように、並列処理システム100は、管理者1のマスタ2、複数の依頼者4−1、4−2、…の端末装置5−1、5−2、…、スレーブ群6等が、ネットワーク9を介して接続されて構成される。
ネットワーク9は、インターネット、ローカルエリアネットワーク(LAN)、社内LAN等のネットワークであり、有線、無線を問わない。
管理者1は、並列処理システム100を管理する管理者であり、マスタ2を有する。マスタ2は、「サーバ」としてのサーバコンピュータ等であり、処理受付機能13、参加募集機能14、処理割付機能15、実行結果取得機能16、データ問い合わせ機能21、データ管理機能22、データ転送機能23、データ後処理指示機能24、データ転送指示機能25等を有する。マスタ2は、複数の分散マスタ3−1、3−2、…により構成することもできる。
処理受付機能13は、依頼者4−1、4−2、…の端末装置5−1、5−2、…から処理の依頼を受付ける。例えば、処理受付機能13は、WEB(World Wide Web)サーバとしての機能を有し、端末装置5からWEBページに入力された処理を依頼処理として受け付けることができる。また、処理受付機能13は、端末装置5からWEBページ等によりネットワーク9を介して依頼処理を受付けるだけでなく、マスタ2に直接入力された処理を依頼処理として受け付けることができる。
参加募集機能14は、スレーブ群6の各スレーブ7−1、7−2、…に対して、並列処理への参加を募集する。
処理割付機能15は、依頼された処理(依頼処理)から割付処理を生成してスレーブ7−1、7−2、…に割付ける。
実行結果取得機能16は、スレーブ7−1、7−2、…から割付処理の実行結果を取得する。
処理割付機能15は、依頼された処理(依頼処理)から割付処理を生成してスレーブ7−1、7−2、…に割付ける。
実行結果取得機能16は、スレーブ7−1、7−2、…から割付処理の実行結果を取得する。
データ問い合わせ機能21は、スレーブ群6の各スレーブ7−1、7−2、…に対して、保持している処理データを問い合わせる。尚、処理データとは、依頼処理、または依頼処理を分割して生成した割付処理に係るデータであり、処理プログラムを包含したものであってもよい。
データ管理機能22は、スレーブ7−1、7−2、…から送られた保持している処理データの報告に基づいて、依頼された依頼処理に対して、配布済みの処理データと、未配布の処理データを管理する。
データ転送機能23は、割付処理の処理データが未配布の場合、当該処理データをスレーブ7−1、7−2、…に転送する。
データ後処理指示機能24は、データ転送手段23により処理データを転送する際、割付処理実行後に当該処理データを保持/破棄するかの指示を送信する。
データ転送指示機能25は、スレーブ7−1、7−2、…に対して、当該割付処理の処理データが未配布の場合、処理データを保持するスレーブ7、又は処理データを保持するネットワーク9を介して接続されるコンピュータの記憶装置等のデータロケーション情報を有するデータ転送指示を送信する。
データ管理機能22は、スレーブ7−1、7−2、…から送られた保持している処理データの報告に基づいて、依頼された依頼処理に対して、配布済みの処理データと、未配布の処理データを管理する。
データ転送機能23は、割付処理の処理データが未配布の場合、当該処理データをスレーブ7−1、7−2、…に転送する。
データ後処理指示機能24は、データ転送手段23により処理データを転送する際、割付処理実行後に当該処理データを保持/破棄するかの指示を送信する。
データ転送指示機能25は、スレーブ7−1、7−2、…に対して、当該割付処理の処理データが未配布の場合、処理データを保持するスレーブ7、又は処理データを保持するネットワーク9を介して接続されるコンピュータの記憶装置等のデータロケーション情報を有するデータ転送指示を送信する。
依頼者4−1、4−2、…は、処理を依頼する依頼者であり、それぞれ、端末装置5−1、5−2、…を有する。端末装置5−1、5−2…は、ネットワーク9を介して、マスタ2に処理を依頼し、スレーブ群6から処理の実行結果を受信し取得する実行結果取得機能17を有する。尚、端末装置5−1、5−2、…は、パーソナルコンピュータ、携帯情報端末(Personal Digital Assistant)等である。
スレーブ群6は、複数の「処理端末装置」としてのスレーブ7−1、7−2…を有する。スレーブ7−1、7−2、…は、並列処理専用のコンピュータ等の端末装置、あるいは、未使用時間等に係る空き資源、リソースを有する場合に並列処理に参加するパーソナルコンピュータ等のボランティア端末装置である。スレーブ7−1、7−2、…は、パーソナルコンピュータ、携帯情報端末(Personal Digital Assistant)、携帯電話機、演算装置を有する機器等である。
スレーブ7−1、7−2、…は、USB(Universal Serial Bus)メモリ・キー等の外部メモリ8−1、8−2、…を有する。スレーブ7−1、7−2、…(又は、外部メモリ8−1、8−2、…)は、参加応募機能11、処理実行機能12、データ報告機能26、データ後処理機能27、(スレーブ間)データ転送機能28、データ取得機能29等を有する。
尚、スレーブ7には、参加応募機能11、処理実行機能12、データ報告機能26、データ後処理機能27、データ転送機能28、データ取得機能29等を有する外部メモリ8を設けてもよいし、外部メモリ8を設けずスレーブ7内に参加応募機能11、処理実行機能12、データ報告機能26、データ後処理機能27、データ転送機能28、データ取得機能29等を設けるようにしてもよい。
尚、スレーブ7には、参加応募機能11、処理実行機能12、データ報告機能26、データ後処理機能27、データ転送機能28、データ取得機能29等を有する外部メモリ8を設けてもよいし、外部メモリ8を設けずスレーブ7内に参加応募機能11、処理実行機能12、データ報告機能26、データ後処理機能27、データ転送機能28、データ取得機能29等を設けるようにしてもよい。
参加応募機能11は、マスタ2から並列処理への参加募集が行われると、自身の稼働状況等から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ2に対して参加応募の旨を応答する。尚、スレーブ7は、自身の稼働状況、利用状況等を常時監視することもできる。
処理実行機能12は、マスタ2から受け取った処理プログラム、処理データ等により所定の処理を実行する。
処理実行機能12は、マスタ2から受け取った処理プログラム、処理データ等により所定の処理を実行する。
データ報告機能26は、マスタ2から処理データの問い合わせが送られると、自身の記憶部302に保持している処理データを報告する。
データ後処理機能27は、割付処理実行後、マスタ2からの後処理指示に従い、当該割付処理の処理データの保持/破棄を行う。
(スレーブ間)データ転送機能28は、処理データの転送指示に基づいて、他のスレーブ7から当該割付処理の処理データを転送する。
データ取得機能29は、処理データの転送指示に基づいて、ネットワーク9を介して接続されたコンピュータの記憶装置から当該割付処理の処理データを取得する。
データ後処理機能27は、割付処理実行後、マスタ2からの後処理指示に従い、当該割付処理の処理データの保持/破棄を行う。
(スレーブ間)データ転送機能28は、処理データの転送指示に基づいて、他のスレーブ7から当該割付処理の処理データを転送する。
データ取得機能29は、処理データの転送指示に基づいて、ネットワーク9を介して接続されたコンピュータの記憶装置から当該割付処理の処理データを取得する。
次に、マスタ2のハードウェア構成を説明する。図2は、マスタ2のハードウェア構成図である。
図2に示すように、マスタ2は、制御部201、記憶部202(ハードディスク)、メディア入出力部203(ドライブ装置)、通信制御部204(通信制御装置、通信ポート等)、入力部205(キーボード、マウス等)、プリンタポート206、表示部207(ディスプレイ)等が、バス209を介して接続される。
制御部201は、CPU(Central Processing Unit )、ROM(Read Only Memory )、RAM(Random Access Memory)等で構成される。
CPUは、記憶部202、ROM、記録媒体等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、システムバス209を介して接続された各装置を駆動制御し、マスタ2が行う後述する各種処理(図4乃至9参照)を実現する。
ROMは、不揮発性メモリであり、コンピュータのブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。
RAMは、揮発性メモリであり、記憶部202、ROM、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部201が各種処理を行う為に使用するワークエリアを備える。
ROMは、不揮発性メモリであり、コンピュータのブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。
RAMは、揮発性メモリであり、記憶部202、ROM、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部201が各種処理を行う為に使用するワークエリアを備える。
記憶部202は、HDD(ハードディスクドライブ)であり、制御部201が実行するプログラム、プログラム実行に必要なデータ、OS(オペレーティングシステム)等が格納される。プログラムに関しては、OS(オペレーティングシステム)に相当する制御プログラムや、本コンピュータを適用するマスタ2が行う後述の処理に相当するアプリケーションプログラム等が格納されている。アプリケーションプログラムは、処理受付機能13、参加募集機能14、処理割付機能15、実行結果取得機能16、データ問い合わせ機能21、データ管理機能22、データ転送機能23、データ後処理指示機能24、データ転送指示機能25等に相当する並列処理マスタプログラムである。
これらの各プログラムコードは、制御部201により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
これらの各プログラムコードは、制御部201により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
メディア入出力部203(ドライブ装置)は、データの入出力を行い、例えば、フロッピディスクドライブ、PDドライブ、CDドライブ(−ROM、−R、−RW等)、DVDドライブ(−ROM、−R、−RW等)、MOドライブ等のメディア入出力装置等を有する。
通信制御部204は、通信制御装置、通信ポート等を有し、マスタ2とネットワーク9間の通信を媒介する通信インタフェースであり、ネットワーク9を介して、マスタ2と、スレーブ7−1、7−2、…や端末装置5−1、5−2、…間の通信制御を行う。
入力部205は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
表示部206は、CRTモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等(ビデオアダプタ等)を有する。
印刷部207は、プリンタであり、印刷出力処理を行う。
印刷部207は、プリンタであり、印刷出力処理を行う。
システムバス209は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
次に、スレーブ7のハードウェア構成を説明する。図3は、スレーブ7のハードウェア構成図である。
図3に示すように、スレーブ7は、制御部301、記憶部302(ハードディスク、外部メモリ)、メディア入出力部303、通信制御部304(通信制御装置、通信ポート等)、入力部305(キーボード、マウス等)、印刷部306(プリンタ)、表示部307(ディスプレイ)等が、バス309を介して接続される。
尚、スレーブ7のハードウェア構成は、図2について前述したマスタ2と同様の構成を採る。
尚、スレーブ7のハードウェア構成は、図2について前述したマスタ2と同様の構成を採る。
記憶部302(ハードディスク)には、各構成部分を駆動制御するプログラム、参加応募機能11、処理実行機能12、データ報告機能26、データ後処理機能27、データ転送機能28、データ取得機能29等に相当する並列処理スレーブプログラム等が格納されている。また、USBメモリ・キー等の外部メモリ8−1、8−2、…に、参加応募機能11、処理実行機能12、データ報告機能26、データ後処理機能27、データ転送機能28、データ取得機能29等からなる並列処理スレーブプログラム等を格納してもよい
また、依頼者4−1、4−2、…の端末装置5−1、5−2、…も、マスタ2と同様なハードウェア構成である。
次に、図4乃至図9を参照しながら、並列処理システム100の処理手順について説明する。
まず、図4及び図6、図7を参照しながら、マスタ2が有する処理受付機能13、参加募集機能14、処理割付機能15、データ問い合わせ機能21、データ管理機能22、データ転送機能23、データ後処理指示機能24及び、スレーブ7−1、7−2、…が有する参加応募機能11、データ報告機能26等による処理について説明する。
尚、「処理」の区別のため必要に応じて、端末装置5−1、5−2、…から依頼された処理を「依頼処理」と呼び、スレーブ7−1、7−2、…に分配、割り付けられた処理を「割付処理」と呼ぶ。
「処理データ」は、依頼処理、または依頼処理を分割して生成した割付処理に係るデータであり、処理プログラムを包含したものであってもよい。
「処理データ」は、依頼処理、または依頼処理を分割して生成した割付処理に係るデータであり、処理プログラムを包含したものであってもよい。
図4は、処理受付機能13、参加募集機能14、処理割付機能15、データ問い合わせ機能21、データ管理機能22、データ転送機能23、参加応募機能11、データ報告機能26等に係る処理の概略を示す図である。
図6、図7は、処理受付機能13、参加募集機能14、処理割付機能15、データ問い合わせ機能21、データ管理機能22、データ転送機能23、データ後処理指示機能24、参加応募機能11、データ報告機能26等に係る処理の手順を示すフローチャートである。
図6、図7は、処理受付機能13、参加募集機能14、処理割付機能15、データ問い合わせ機能21、データ管理機能22、データ転送機能23、データ後処理指示機能24、参加応募機能11、データ報告機能26等に係る処理の手順を示すフローチャートである。
図6に示すように、依頼者4−1、…の端末装置5−1…は、例えば、依頼処理A、…の処理依頼をマスタ2に行い、依頼処理A、…をマスタ2に送信する(ステップ601)。
尚、スレーブ7(又はその外部メモリ8)には、予め、参加応募機能11、データ報告機能26、データ後処理機能27等と共に、処理実行機能12に係る処理プログラム及び処理データを記憶させ、端末装置5−1、5−2、…は、処理プロクラム及び処理データを送ることなく、マスタ2に処理A、…の処理依頼のみ行ってもよい。あるいは、スレーブ7(又はその外部メモリ8)に、予め、参加応募機能11、データ報告機能26、データ後処理機能27と共に、処理実行機能12に係る処理プログラム及び処理データの一部を記憶させ、残りの処理プログラム及び処理データに関しては、端末装置5−1、5−2、…が依頼処理A、…の処理依頼を行う際にマスタ2に送信するようにしてもよい。
マスタ2は、各依頼者4−1、4−2、…の端末装置5−1、5−2、…からの依頼処理を受信し、受付ける(ステップ602)。尚、以降、ステップ602のように記述されている、マスタ2が行う処理内容は、マスタ2の制御部201が、実行可能プログラムである並列処理マスタプログラムを実行することにより、処理を行うものである。
図4に示すように、マスタ2は、例えば、依頼者4−1の端末装置5−1から依頼処理Aを受付け(ステップ41−1)、処理受付テーブル31を作成する。処理受付テーブル31は、端末装置と依頼処理とを対応付ける。
図4に示すように、マスタ2は、例えば、依頼者4−1の端末装置5−1から依頼処理Aを受付け(ステップ41−1)、処理受付テーブル31を作成する。処理受付テーブル31は、端末装置と依頼処理とを対応付ける。
ここで、処理受付機能13にWEBサーバとしての機能を設けることにより、マスタ2は、端末装置5からWEBページに入力された処理を依頼処理として受け付けることができる。
尚、ステップ601〜ステップ602の処理を随時行うようにすることができる。
尚、ステップ601〜ステップ602の処理を随時行うようにすることができる。
マスタ2は、ブロードキャスト通信で、スレーブ群6の全てのスレーブ7−1、7−2、…に対して並列処理への参加を募集し(ステップ603)、更にブロードキャスト通信で、スレーブ群6の全てのスレーブ7−1、7−2、…に対して、保持している処理データを問い合わせる(ステップ604)。
スレーブ7−1、7−2、…は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ2に対して参加応募の旨を応答し(ステップ605)、更に、記憶部302(又はその外部メモリ8)に保持している依頼処理に係る処理データを報告する(ステップ606)。
スレーブ7−1、7−2、…は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ2に対して参加応募の旨を応答し(ステップ605)、更に、記憶部302(又はその外部メモリ8)に保持している依頼処理に係る処理データを報告する(ステップ606)。
図4に示すように、例えば、マスタ2からの参加募集の打診があると(ステップ42)、スレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)は、それぞれ、参加応募を行う(ステップ43−1、43−2、43−4)。
マスタ2から処理データの問い合わせがあると(ステップ51)、スレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)は、それぞれ、保持している処理データの報告を行う(ステップ52−1、52−2、52−4)。例えば、スレーブ7−1は、記憶部302に割付処理A1の処理データA1を保持し、スレーブ7−2は、処理データを保持しておらず、スレーブ7−4は記憶部302に割付処理A3の処理データA3を保持している。スレーブ7−1、7−2、7−4は、それぞれ、その旨を、マスタ2に報告する。
マスタ2から処理データの問い合わせがあると(ステップ51)、スレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)は、それぞれ、保持している処理データの報告を行う(ステップ52−1、52−2、52−4)。例えば、スレーブ7−1は、記憶部302に割付処理A1の処理データA1を保持し、スレーブ7−2は、処理データを保持しておらず、スレーブ7−4は記憶部302に割付処理A3の処理データA3を保持している。スレーブ7−1、7−2、7−4は、それぞれ、その旨を、マスタ2に報告する。
マスタ2は、参加応募の旨の応答があったスレーブ7−1、7−2、…に対して、依頼処理に係る処理データの報告に基づいて、処理データ保持/未保持を管理する(ステップ607)。
図4に示すように、例えば、マスタ2は、端末装置5−1からの依頼処理Aから作成した処理データA1、処理データA2、処理データA3からなるジョブデータリスト33と、参加応募の旨の応答があったスレーブ7−1、7−2、…からの処理データの報告に基づいて、依頼処理Aのデータに対する、データ保持リスト34、データ未保持リスト35等を作成する。データ保持リスト34は、スレーブ7と保持している処理データとを対応付ける。データ未保持リスト35は、処理データを保持していないスレーブ7一覧である。
図4に示すように、例えば、マスタ2は、端末装置5−1からの依頼処理Aから作成した処理データA1、処理データA2、処理データA3からなるジョブデータリスト33と、参加応募の旨の応答があったスレーブ7−1、7−2、…からの処理データの報告に基づいて、依頼処理Aのデータに対する、データ保持リスト34、データ未保持リスト35等を作成する。データ保持リスト34は、スレーブ7と保持している処理データとを対応付ける。データ未保持リスト35は、処理データを保持していないスレーブ7一覧である。
マスタ2は、端末装置5−1、…から送られた依頼処理から割付処理を生成し、データ保持リスト34、データ未保持リスト35に基づいて、参加応募の旨の応答があったスレーブ7−1、7−2、…に割り付ける(ステップ608)。尚、マスタ2は、必要に応じて依頼処理を分割して割付処理を生成する。
図4に示すように、例えば、マスタ2は、依頼処理Aを割付処理A1、割付処理A2、割付処理A3に分割して、参加応募したスレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)に対して、それぞれ、割付処理A1、割付処理A2、割付処理A3を割り付け、処理割付テーブル32を作成する。処理割付テーブル32は、スレーブと割付処理とを対応付ける。
図4に示すように、例えば、マスタ2は、依頼処理Aを割付処理A1、割付処理A2、割付処理A3に分割して、参加応募したスレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)に対して、それぞれ、割付処理A1、割付処理A2、割付処理A3を割り付け、処理割付テーブル32を作成する。処理割付テーブル32は、スレーブと割付処理とを対応付ける。
マスタ2は、処理割付テーブル32、データ保持リスト34、データ未保持リスト35に基づいて、割り付けた割付処理の処理データに対して、配布済み処理データ、未配布処理データを管理する(ステップ609)。
図4に示すように、例えば、マスタ2は、処理割付テーブル32、データ保持リスト34、データ未保持リスト35に基づいて、参加応募したスレーブ7−1、7−2、7−4に割り付けた割付処理の処理データA1、処理データA2、処理データA3に対して、配布済み処理データ、未配布処理データを管理するデータ管理テーブル36を作成する。データ管理テーブル36は、スレーブ7と、割り付けた処理データと、配布有無等からなる。
図4に示すように、例えば、マスタ2は、処理割付テーブル32、データ保持リスト34、データ未保持リスト35に基づいて、参加応募したスレーブ7−1、7−2、7−4に割り付けた割付処理の処理データA1、処理データA2、処理データA3に対して、配布済み処理データ、未配布処理データを管理するデータ管理テーブル36を作成する。データ管理テーブル36は、スレーブ7と、割り付けた処理データと、配布有無等からなる。
マスタ2は、データ管理テーブル36から、割り付けた割付処理の処理データを配布済みか否か判定し、処理データが未配布の場合(ステップ610のYes)、割り付けた各スレーブ7−1、7−2、…に、割付処理に係る処理データを配布し(ステップ611)、処理実行後の後処理として、配布された処理データの保持/破棄を指示する(ステップ612)。
処理データが配布済みの場合、及びステップ611、612の新規配布後、マスタ2は、割り付けた各スレーブ7−1、7−2、…に、割付処理の処理実行依頼を送信する(ステップ613)。
図4に示すように、例えば、マスタ2は、スレーブ7−1には割り付けた割付処理A1に係る処理データA1は配布済みであり、割付処理A1の処理実行依頼を送信し(ステップ53−1)、スレーブ7−2には割付処理A2に係る処理データA2は未配布であり、処理データA2、データ後処理(保持/破棄)指示、割付処理A2の処理実行指示を送信し(ステップ54−2、55−2、53−2)、スレーブ7−4には割り付けた割付処理A3に係る処理データA3は配布済みであり、割付処理A3の処理実行指示を送信する(ステップ53−4)。
尚、端末装置5−1、5−2、…からの処理受付の状況に応じて、ステップ603〜ステップ613の処理を随時行うようにすることができる。
図4に示すように、例えば、マスタ2は、スレーブ7−1には割り付けた割付処理A1に係る処理データA1は配布済みであり、割付処理A1の処理実行依頼を送信し(ステップ53−1)、スレーブ7−2には割付処理A2に係る処理データA2は未配布であり、処理データA2、データ後処理(保持/破棄)指示、割付処理A2の処理実行指示を送信し(ステップ54−2、55−2、53−2)、スレーブ7−4には割り付けた割付処理A3に係る処理データA3は配布済みであり、割付処理A3の処理実行指示を送信する(ステップ53−4)。
尚、端末装置5−1、5−2、…からの処理受付の状況に応じて、ステップ603〜ステップ613の処理を随時行うようにすることができる。
尚、ブロードキャスト通信では、同一データリンク内の全ノード(ネットワークに接続されているコンピュータ等の機器)に対して情報を送信することができるので、マスタ2は、ブロードキャスト通信により同一データリンク内のスレーブ群6全体に対して、並列処理への参加募集を行い、スレーブ7は、ブロードキャスト通信により同一データリンク内のマスタ2(分散マスタ3)全体に対して、参加応募を行うことができる。
次に、図5及び図8を参照しながら、スレーブ7−1、7−2、…が有する処理実行機能12、データ後処理機能27、マスタ2が有する実行結果取得機能16、端末装置5−1、5−2、…が有する実行結果取得機能17等による処理について説明する。
図5は、処理実行機能12、データ後処理機能27、実行結果取得機能16、実行結果取得機能17等に係る処理の概略を示す図である。
図8は、処理実行機能12、データ後処理機能27、実行結果取得機能16、実行結果取得機能17等に係る処理の手順を示すフローチャートである。
図5は、処理実行機能12、データ後処理機能27、実行結果取得機能16、実行結果取得機能17等に係る処理の概略を示す図である。
図8は、処理実行機能12、データ後処理機能27、実行結果取得機能16、実行結果取得機能17等に係る処理の手順を示すフローチャートである。
スレーブ7−1、7−2…は、新規配布時に、マスタ2から割付処理に係る処理データ、及びデータ後処理指示(保持/破棄)等を受け取る(ステップ801)。
尚、以降、ステップ801のように記述されている、スレーブ7−1、7−2…が行う処理内容は、スレーブ7−1、7−2…の制御部301が、実行可能プログラムである並列処理スレーブプログラムを実行することにより、処理を行うものである。
図4に示すように、例えば、スレーブ7−2は、割付処理A2に係る処理データA2、及びデータ後処理指示等を受け取る(ステップ54−2、55−2)。
尚、以降、ステップ801のように記述されている、スレーブ7−1、7−2…が行う処理内容は、スレーブ7−1、7−2…の制御部301が、実行可能プログラムである並列処理スレーブプログラムを実行することにより、処理を行うものである。
図4に示すように、例えば、スレーブ7−2は、割付処理A2に係る処理データA2、及びデータ後処理指示等を受け取る(ステップ54−2、55−2)。
スレーブ7−1、7−2…は、処理データがスレーブ7−1、7−2、…内や外部メモリ8−1等に記憶されている場合、スレーブ7−1、7−2、…は、マスタ2から処理実行依頼のみを受信する(ステップ802)。
スレーブ7−1、7−2…は、処理実行依頼の割付処理を実行する(ステップ803)。
図5に示すように、例えば、スレーブ7−1、7−2、7−4は、それぞれ、割付処理A1、割付処理A2、割付処理A3を実行する(ステップ45−1、45−2、45−4)。
図5に示すように、例えば、スレーブ7−1、7−2、7−4は、それぞれ、割付処理A1、割付処理A2、割付処理A3を実行する(ステップ45−1、45−2、45−4)。
スレーブ7−1、7−2…は、割付処理終了後、割付処理の実行結果(割付処理の実行結果)をマスタ2に送信する(ステップ804)。
図5に示すように、例えば、スレーブ7−1、7−2、7−4は、それぞれ、実行結果a1、a2、a3(割付処理の実行結果)をマスタ2に送信する(ステップ46−1、46−2、46−4)。
図5に示すように、例えば、スレーブ7−1、7−2、7−4は、それぞれ、実行結果a1、a2、a3(割付処理の実行結果)をマスタ2に送信する(ステップ46−1、46−2、46−4)。
スレーブ7−1、7−2…は、割付処理終了後、処理データ配布した際、受け取ったデータ後処理指示に従って、処理データの保持/破棄を行う(ステップ805)。例えば、可視化アルゴリズムによる可視化処理を行う場合、1つの可視化データ(処理データ)に対して、可視化する領域や視点位置、可視化データの見せ方(温度分布、圧力分布等)等のパラメタを与えることによって複数の処理を実行する為、実行後、処理データを保持しておくことで、次回より、処理データを再配布する必要がなくなる。
マスタ2は、スレーブ7−1、7−2…から割付処理の実行結果を受信し、処理割付テーブル32に対応付けて記録する(ステップ806)。
マスタ2は、割付処理の実行結果を依頼処理毎に集約し、処理受付テーブル31に対応付けて記録する(ステップ807)。
図5に示すように、例えば、マスタ2は、割付処理毎の実行結果a1、a2、a3を依頼処理毎の実行結果Aに集約する(ステップ47)。
マスタ2は、割付処理の実行結果を依頼処理毎に集約し、処理受付テーブル31に対応付けて記録する(ステップ807)。
図5に示すように、例えば、マスタ2は、割付処理毎の実行結果a1、a2、a3を依頼処理毎の実行結果Aに集約する(ステップ47)。
マスタ2は、依頼処理毎に取得した実行結果を対応する依頼者4−1、4−2、…の端末装置5−1、5−2、…に送信し(ステップ808)、端末装置5−1、5−2、…は、依頼した処理の実行結果を受け取る(ステップ809)。
図5に示すように、例えば、マスタ2は、依頼処理Aの実行結果Aを端末装置5−1に送信する(ステップ48−1)。
図5に示すように、例えば、マスタ2は、依頼処理Aの実行結果Aを端末装置5−1に送信する(ステップ48−1)。
また、図5に示すように、スレーブ7−1、7−2、…は、マスタ2に実行結果を送信せずに、直接、依頼者4−1、4−2、…の端末装置5−1、5−2、…に実行結果を送信してもよい(ステップ49)。さらに、スレーブ7−1、7−2、…は、ブロードキャスト通信により、ネットワーク9に実行結果を送出し、マスタ2(分散マスタ3)もしくは端末装置5が必要に応じて当該実行結果を受信するようにしてもよい。
また、マスタ2は、並列処理を終了する時は、参加応募したスレーブ7−1、7−2、…に対して、終了指示を送り、当該終了指示を受けたスレーブ7−1、7−2、…は、参加応募、割付処理の実行等を終了する。
尚、上記のステップ601〜ステップ613、ステップ801〜ステップ809に係る処理は、依頼処理毎、割付処理毎に独立、平行して実行することができる。例えば、ステップ806の処理において、ある時点において、依頼処理Aに係る割付処理の実行結果の全てを受信した場合、他の依頼処理に係る割付処理の実行結果の全てを受信していない場合であっても、依頼処理Aに関しては、ステップ807以降の処理を進めることができる。
次に、図9を参照しながら、マスタ2が有するデータ転送指示機能25及び、スレーブ7−1、7−2、…が有する(スレーブ間)データ転送機能28、データ取得機能29等による処理について説明する。
図9は、データ転送指示機能25、(スレーブ間)データ転送機能28、データ取得機能29等に係る処理の概略を示す図である。
図9は、データ転送指示機能25、(スレーブ間)データ転送機能28、データ取得機能29等に係る処理の概略を示す図である。
マスタ2は、割付処理に係る処理データが未配布の場合、図6のステップ611では、データ転送機能23により、該当する各スレーブ7−1、7−2、…に対して、当該割付処理に係る処理データを送信したが、データ転送指示機能25により、データ管理テーブル36に基づき、該当する各スレーブ7−1、7−2、…に対して、割付処理に係る処理データを保持するスレーブ7を指定してスレーブ間での処理データ転送指示を送信すること、また、スレーブ7−1、7−2、…にデータが保持されていない場合、ネットワーク9を介して接続されているコンピュータのストレージ/データベース等を検索して、割付処理に係る処理データを保持するストレージ/データベースを指定して処理データ転送指示を送信することが可能である。
図9に示すように、例えば、マスタ2からの参加募集の打診、処理データの問い合わせがあると、スレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)は、それぞれ、参加応募を行い(ステップ43−1、43−2、43−4)、それぞれ、保持している処理データの報告を行う(ステップ52−1、52−2、52−4)。例えば、スレーブ7−1は、記憶部302に割付処理A1の処理データA1、割付処理A2の処理データA2を保持しているが、スレーブ7−2、7−4は、処理データを保持していない。スレーブ7−1、7−2、7−4は、それぞれ、その旨を、マスタ2に報告する。
マスタ2は、データ管理テーブル36から、スレーブ7−1に割り付けた割付処理A1に係る処理データA1は配布済みであり、割付処理A1、割付処理A2の処理実行依頼を送信する(ステップ53−1)。スレーブ7−2に割付処理A2に係る処理データA2は未配布であり、データ保持リスト34から検索し、処理データA2を保持するスレーブ7−1を指定しデータ転送指示を送信する(ステップ56−2)。スレーブ7−4に割り付けた割付処理A3に係る処理データA3は未配布であり、保持しているスレーブ7が存在せず、ネットワーク9を介して接続されているデータベースサーバ80のデータベース81内の処理データA3を検索し、そのデータロケーション情報を指定した割付処理A3の処理転送示を送信する(ステップ56−4)。
次に、スレーブ7−1、7−2…は、スレーブ間データ転送機能28、データ取得機能29により、新規配布時に、マスタ2から割付処理に係る処理データ転送指示を受け取り、処理データ転送指示に従って、指定されたスレーブ7から、該当する処理データを受信したり、指定されたネットワーク9を介して接続されているコンピュータのストレージ/データベースから該当する処理データを受信する。スレーブ7−1、7−2…は、マスタ2から送られた処理実行依頼の割付処理を実行する。
図9に示すように、例えば、スレーブ7−2は、割付処理A2に係る処理データ転送指示を受け取り(ステップ56−2)、処理データ転送指示に基づいて、スレーブ7−1から処理データA2を受信する(ステップ58−2)。また、スレーブ7−4は、割付処理A3に係る処理データ転送指示を受け取り(ステップ56−4)、処理データ転送指示に基づいて、ネットワーク9を介してデータベースサーバ80のデータベース81内の処理データA3を受信する(ステップ58−4)。
図9に示すように、例えば、スレーブ7−2は、割付処理A2に係る処理データ転送指示を受け取り(ステップ56−2)、処理データ転送指示に基づいて、スレーブ7−1から処理データA2を受信する(ステップ58−2)。また、スレーブ7−4は、割付処理A3に係る処理データ転送指示を受け取り(ステップ56−4)、処理データ転送指示に基づいて、ネットワーク9を介してデータベースサーバ80のデータベース81内の処理データA3を受信する(ステップ58−4)。
以上説明したように、本発明の第1の実施の形態によれば、マスタ2は、各依頼者4の端末装置5から処理の依頼(依頼処理)を受付け、ブロードキャスト通信によりスレーブ群6全体に対して並列処理への参加募集を行い、スレーブ自身が保持している処理データの問い合わせを行う。スレーブ7は、並列処理へ参加する場合は、マスタ2に対して参加応募の旨を応答し、自身が保持している処理データを報告する。マスタ2は、スレーブ7からの処理データの報告に基づき、スレーブ7に割り付けた割付処理に係る処理データが配布済みデータか、未配布データか管理する(データ管理テーブル36を作成)。マスタ2は、データ管理テーブル36から、処理データが配布済みの場合には処理実行依頼を送信し、処理データが未配布の場合には当該割付処理の処理データ、及びデータ後処理指示を送信し、処理実行依頼を送信する。スレーブ7は、マスタ2から受け取った処理実行依頼の割付処理を実行する。
また、マスタ2は、割付処理に係る処理データが未配布の場合、データ管理テーブル36に基づき、該当する各スレーブ7−1、7−2、…に対して、割付処理に係る処理データを保持する他のスレーブ7や、ネットワーク9上のストレージ/データベースからの処理データ転送指示を送信し、スレーブ7は、受け取った処理データ転送指示に従って、他のスレーブ7やネットワーク9上のストレージ/データベースからの処理データを取得する。
これにより、既に、配布済みのデータを利用可能となり、一度配布したデータを再配布するという無駄が生ずることがなくなり、データとパラメタを用いて即座に処理が開始可能となり、圧倒的に、効率的かつ高速な並列処理を実現することができる。
例えば、前述した、図17に示した従来の並列処理システム1000(可視化アルゴリズムによる可視化処理実行)においては、可視化元データサイズ:100Gbyte、スレーブPC数:20台、ネットワーク性能:100MBps(実効速度:1秒間に5Mbyteの転送が可能)の環境下で、データを20分割して転送すると、1台当り5Gbyte(5Mbyteの1000倍)、即ち、1台のスレーブへデータ転送する時間が1000秒(16分以上)必要で、20台全てにデータを配布するのに、20000秒(5.5時間)必要であったが、本発明を用いることにより、既にデータ配布済みであれば、5.5時間/回の処理時間を短縮でき、未配布であっても、2回目以降は5.5時間/回の処理時間を短縮できる。
例えば、前述した、図17に示した従来の並列処理システム1000(可視化アルゴリズムによる可視化処理実行)においては、可視化元データサイズ:100Gbyte、スレーブPC数:20台、ネットワーク性能:100MBps(実効速度:1秒間に5Mbyteの転送が可能)の環境下で、データを20分割して転送すると、1台当り5Gbyte(5Mbyteの1000倍)、即ち、1台のスレーブへデータ転送する時間が1000秒(16分以上)必要で、20台全てにデータを配布するのに、20000秒(5.5時間)必要であったが、本発明を用いることにより、既にデータ配布済みであれば、5.5時間/回の処理時間を短縮でき、未配布であっても、2回目以降は5.5時間/回の処理時間を短縮できる。
また、データが未配布の場合、マスタからのデータ転送指示により、スレーブ間でデータ転送を行うことにより、マスタとスレーブ間でデータ転送が行われないので、マスタPCの管理負荷低減、及びネットワーク負荷低減を図り、結果的に処理高速化を図ることを可能とする。
また、データが未配布の場合、マスタからのデータ転送指示により、スレーブは、ネットワーク上のストレージ/データベースからデータ転送を行うことにより、マスタと各スレーブ間でデータ転送が行われないので、マスタPCの管理負荷低減、及びネットワーク負荷低減を図り、結果的に処理高速化を図ることを可能とする。
また、処理端末装置として、ボランティア端末装置、すなわち、一般OA用途に用いられているパーソナルコンピュータ等の未使用時間等に係る空き資源を利用可能であり、膨大な計算量を要する処理等に係る並列処理を実現することができる。この場合、企業等のパーソナルコンピュータを多数抱えているサイトでは、安価に高速計算機環境を取得できると共に、ボランティア端末装置(スレーブ)の更新毎に計算機環境も自動更新されるため、新たに計算環境を構築することなく高速化が図られる。
尚、本実施の形態では、処理プログラムおよび処理データを依頼者4側の端末装置5からマスタ2に一旦送信し、各スレーブ7に送信したが、処理アプリケーションに応じて(例えば、画像データを入力とする画像生成処理等)、各スレーブ7−1、7−2、…の外部メモリ8−1、8−2、…に予め、それぞれ参加応募機能11等と共に、同じ処理プログラムを格納しておき、処理依頼の際に、異なる処理データを各スレーブ7−1、7−2、…に送信し、実行させてもよい。
また、スレーブ7が使用不可能になった場合や指示した処理結果がなかなか返ってこない場合、並列処理に参加応募している別のスレーブ7に再度、同一処理を割振ることで、期限付きの処理の実行を可能にする。また、ある決められた処理専用のシステムではなく、外部(依頼者4の端末装置5)からの複数の並列処理を実行することが容易に可能となる。
更に、命令変換機能を有するメモリをスレーブ7側又はマスタ2側に持たせることで、一般のパーソナルコンピュータだけではなく、情報家電等の異なる処理体系、演算体系を採る演算装置(CPU等)を有する機器や携帯電話機を用いた並列処理が可能となり、さらなる並列処理の高速化が可能となる。
尚、図4乃至図9等に示す処理を行うプログラムはCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
次に、本発明の第2の実施の形態について説明する。
図10は、本発明の第2の実施の形態に係る並列処理システム200の概略構成を示す図である。
図10は、本発明の第2の実施の形態に係る並列処理システム200の概略構成を示す図である。
前述の第1の実施の形態では、マスタ2は、参加応募可能なスレーブ群6の処理データの報告に基づいて、当該依頼処理の処理データに対して、配布済みの処理データか、未配布の処理データかを管理し、未配布の場合、各スレーブ7に割付処理の処理データを配布するか、処理データの転送指示を送信しスレーブ側で処理データ転送を行うが、第2の実施の形態では、マスタ2は、当該依頼処理の処理データに対して、配布済みの処理データか、未配布の処理データかを管理することはせずに、当該割付処理を割り付け、処理実行依頼のみを送信し、スレーブ自身が、マスタ2から依頼された割付処理の処理データを保持しているか否か判断し、保持していない場合、他のスレーブ7に問い合わせ、データ転送、取得を行う。
図10に示すように、並列処理システム200は、管理者1のマスタ2、複数の依頼者4−1、4−2、…の端末装置5−1、5−2、…、スレーブ群6等が、ネットワーク9を介して接続されて構成される。マスタ2は、「サーバ」としてのサーバコンピュータ等であり、処理受付機能13、参加募集機能14、処理割付機能15、実行結果取得機能16等を有する。マスタ2は、複数の分散マスタ3−1、3−2、…により構成することもできる。
スレーブ群6は、複数の「処理端末装置」としてのスレーブ7−1、7−2…を有する。スレーブ7−1、7−2、…は、並列処理専用のコンピュータ等の端末装置、あるいは、未使用時間等に係る空き資源、リソースを有する場合に並列処理に参加するパーソナルコンピュータ等のボランティア端末装置である。
スレーブ7−1、7−2、…は、USB(Universal Serial Bus)メモリ・キー等の外部メモリ8−1、8−2、…を有する。スレーブ7−1、7−2、…(又は、外部メモリ8−1、8−2、…)は、参加応募機能11、処理実行機能12、データ問い合わせ機能121、データ報告機能126、データ転送機能128等を有する。
スレーブ7−1、7−2、…は、USB(Universal Serial Bus)メモリ・キー等の外部メモリ8−1、8−2、…を有する。スレーブ7−1、7−2、…(又は、外部メモリ8−1、8−2、…)は、参加応募機能11、処理実行機能12、データ問い合わせ機能121、データ報告機能126、データ転送機能128等を有する。
データ問い合わせ機能121は、スレーブ7自身がマスタ2から送られた処理実行依頼された当該割付処理の処理データを保持していない場合、他のスレーブ7に当該割付処理の処理データの問い合わせを行う。
データ報告機能126は、他のスレーブ7から処理データの問い合わせが送られると、自身の記憶部302(又は、外部メモリ8)に保持している場合、保持の旨の処理データの報告を応答する。
データ転送機能128は、データ保持しているスレーブ7からの処理データ報告に基づいて、当該割付処理の処理データを転送、取得する。
データ報告機能126は、他のスレーブ7から処理データの問い合わせが送られると、自身の記憶部302(又は、外部メモリ8)に保持している場合、保持の旨の処理データの報告を応答する。
データ転送機能128は、データ保持しているスレーブ7からの処理データ報告に基づいて、当該割付処理の処理データを転送、取得する。
次に、図11乃至図13を参照しながら、並列処理システム200の処理手順について説明する。
まず、図11及び図13を参照しながら、マスタ2が有する処理受付機能13、参加募集機能14、処理割付機能15、実行結果取得機能16及び、スレーブ7−1、7−2、…が有する参加応募機能11、処理実行機能12、データ問い合わせ機能121、データ報告機能126、データ転送機能128等による処理について説明する。
図11は、処理受付機能13、参加募集機能14、処理割付機能15、参加応募機能11、処理実行機能12、データ問い合わせ機能121、データ報告機能126、データ転送機能128等に係る処理の概略を示す図である。
図12は、処理受付機能13、参加募集機能14、処理割付機能15、参加応募機能11等に係る処理の手順を示すフローチャートである。
図13は、処理実行機能12、実行結果取得機能16、データ問い合わせ機能121、データ報告機能126、データ転送機能128等に係る処理の手順を示すフローチャートである。
図12は、処理受付機能13、参加募集機能14、処理割付機能15、参加応募機能11等に係る処理の手順を示すフローチャートである。
図13は、処理実行機能12、実行結果取得機能16、データ問い合わせ機能121、データ報告機能126、データ転送機能128等に係る処理の手順を示すフローチャートである。
図12に示すように、依頼者4−1、…の端末装置5−1…は、例えば、依頼処理A、…の処理依頼をマスタ2に行い、依頼処理A(処理プログラム、処理データ等)、…をマスタ2に送信する(ステップ1101)。
マスタ2は、各依頼者4−1、4−2、…の端末装置5−1、5−2、…からの依頼処理を受信し、受付ける(ステップ1102)。
図11に示すように、マスタ2は、例えば、依頼者4−1の端末装置5−1から依頼処理Aを受付け(ステップ41−1)、処理受付テーブル31を作成する。
図11に示すように、マスタ2は、例えば、依頼者4−1の端末装置5−1から依頼処理Aを受付け(ステップ41−1)、処理受付テーブル31を作成する。
マスタ2は、ブロードキャスト通信で、スレーブ群6の全てのスレーブ7−1、7−2、…に対して並列処理への参加を募集し(ステップ1103)、
スレーブ7−1、7−2、…は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ2に対して参加応募の旨を応答する(ステップ1104)。
図11に示すように、例えば、マスタ2からの参加募集の打診があると(ステップ42)、スレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)は、それぞれ、参加応募を行う(ステップ43−1、43−2、43−4)。
スレーブ7−1、7−2、…は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ2に対して参加応募の旨を応答する(ステップ1104)。
図11に示すように、例えば、マスタ2からの参加募集の打診があると(ステップ42)、スレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)は、それぞれ、参加応募を行う(ステップ43−1、43−2、43−4)。
マスタ2は、端末装置5−1、5−2、…から送られた依頼処理から割付処理を生成し、参加応募の旨の応答があったスレーブ7−1、7−2、…に割り付ける(ステップ1105)。尚、マスタ2は、必要に応じて依頼処理を分割して割付処理を生成する。
図11に示すように、例えば、マスタ2は、依頼処理Aを割付処理A1、割付処理A2、割付処理A3に分割し、参加応募したスレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)に対して、それぞれ、割付処理A1、割付処理A2、割付処理A3を割り付け、処理割付テーブル32を作成する。
図11に示すように、例えば、マスタ2は、依頼処理Aを割付処理A1、割付処理A2、割付処理A3に分割し、参加応募したスレーブ7−1、7−2、7−4(スレーブ7−3は、参加応募せず)に対して、それぞれ、割付処理A1、割付処理A2、割付処理A3を割り付け、処理割付テーブル32を作成する。
マスタ2は、割付処理を割り付けた各スレーブ7−1、7−2、…に、割付処理の処理実行依頼を送信し、処理を分配する(ステップ1106)。
図11に示すように、例えば、マスタ2は、スレーブ7−1に割付処理A1に係る処理実行依頼を送信し、スレーブ7−2に割付処理A2に係る処理実行依頼を送信し、スレーブ7−4に割付処理A3に係る処理実行依頼を送信する(ステップ53−1、53−2、53−4)。
尚、端末装置5−1、5−2、…からの処理受付の状況に応じて、ステップ1103〜ステップ1106の処理を随時行うようにすることができる。
図11に示すように、例えば、マスタ2は、スレーブ7−1に割付処理A1に係る処理実行依頼を送信し、スレーブ7−2に割付処理A2に係る処理実行依頼を送信し、スレーブ7−4に割付処理A3に係る処理実行依頼を送信する(ステップ53−1、53−2、53−4)。
尚、端末装置5−1、5−2、…からの処理受付の状況に応じて、ステップ1103〜ステップ1106の処理を随時行うようにすることができる。
尚、ブロードキャスト通信では、同一データリンク内の全ノード(ネットワークに接続されているコンピュータ等の機器)に対して情報を送信することができるので、マスタ2は、ブロードキャスト通信により同一データリンク内のスレーブ群6全体に対して、並列処理への参加募集を行い、スレーブ7は、ブロードキャスト通信により同一データリンク内のマスタ2(分散マスタ3)全体に対して、参加応募を行うことができる。
スレーブ7−1、7−2…は、マスタ2から割付処理に係る処理実行依頼を受け取る(ステップ1201)。
図11に示すように、例えば、スレーブ7−1、7−2、7−4は、割付処理A1、A2、A3に係る処理実行依頼を受け取る(ステップ53−1、53−2、53−4)。
図11に示すように、例えば、スレーブ7−1、7−2、7−4は、割付処理A1、A2、A3に係る処理実行依頼を受け取る(ステップ53−1、53−2、53−4)。
スレーブ7−1、7−2…は、自身が処理実行依頼の割込処理に係る処理データを保持しているか否か判断し、保持していない場合(ステップ1202のYes)、スレーブ7−1、7−2…は、他のスレーブ7全体に対して、ブロードキャスト通信で、当該処理データを保持しているかの問い合わせを行う(ステップ1203)。スレーブ7−1、7−2…は、他のスレーブ7から送られた当該処理データの報告を受け取ると(ステップ1204)、処理データ報告を受けたスレーブ7から当該処理データを転送、取得する(ステップ1205)。
図11に示すように、例えば、スレーブ7−2は、スレーブ群6の全てのスレーブ7−1、7−2、…に対して処理実行依頼の割付処理A2に係る処理データA2のデータ問い合わせを行う(ステップ61−2)。
スレーブ7−1は、処理データA2を記憶部302に保持しており、処理データA2のデータ問い合わせを受け取ると、処理データA2保持のデータ報告を応答する(ステップ62−1)。
スレーブ7−2は、スレーブ7−1からデータ報告を受け取ると、スレーブ7−1から処理データA2を転送、取得する(ステップ63−2)。
スレーブ7−1は、処理データA2を記憶部302に保持しており、処理データA2のデータ問い合わせを受け取ると、処理データA2保持のデータ報告を応答する(ステップ62−1)。
スレーブ7−2は、スレーブ7−1からデータ報告を受け取ると、スレーブ7−1から処理データA2を転送、取得する(ステップ63−2)。
スレーブ7−1、7−2…は、処理実行依頼の割付処理を実行し(ステップ1206)、割付処理終了後、割付処理の実行結果(割付処理の実行結果)をマスタ2に送信する(ステップ1207)。
マスタ2は、スレーブ7−1、7−2…から割付処理の実行結果を受信し、処理割付テーブル32に対応付けて記録し(ステップ1208)、割付処理の実行結果を依頼処理毎に集約し、処理受付テーブル31に対応付けて記録する(ステップ1209)。マスタ2は、依頼処理毎に取得した実行結果を対応する依頼者4−1、4−2、…の端末装置5−1、5−2、…に送信し(ステップ1210)、端末装置5−1、5−2、…は、依頼した処理の実行結果を受け取る(ステップ1211)。
尚、上記のステップ1101〜ステップ1106、ステップ1201〜ステップ1211に係る処理は、依頼処理毎、割付処理毎に独立、平行して実行することができる。例えば、ステップ1208の処理において、ある時点において、依頼処理Aに係る割付処理の実行結果の全てを受信した場合、他の依頼処理に係る割付処理の実行結果の全てを受信していない場合であっても、依頼処理Aに関しては、ステップ1209以降の処理を進めることができる。
以上説明したように、本発明の第2の実施の形態によれば、マスタ2は、参加応募した各スレーブ7−1、7−2、…に対して、割り付けた割付処理に係る処理実行依頼を送信する。スレーブ7は、マスタ2から受け取った処理実行依頼の割付処理に係る処理データを自身が保持しているか否か判断し、保持していない場合、他のスレーブ全体にデータ問い合わせを行い、保持しているデータ報告を応答してきたスレーブ7から、処理データを転送、取得する。スレーブ7は、処理実行依頼の割付処理を実行し、処理終了後、マスタ2に送信する実行結果をマスタ2又は依頼者4側の端末装置5に送信する。マスタ2あるいは端末装置5は、実行結果を受け取る。
これにより、既に、配布済みのデータを利用可能となり、一度配布したデータを再配布するという無駄が生ずることがなくなり、データとパラメタを用いて即座に処理が開始可能となり、圧倒的に、効率的かつ高速な並列処理を実現することができる。
マスタが割付処理に係る処理データの管理をせずに、各スレーブで、自身に割り付けられた割付処理に係るデータのロケーション情報を扱う為、マスタへの情報問い合わせの負荷、ネットワーク負荷が削減され、処理高速化を図ることを可能とする。
マスタが割付処理に係る処理データの管理をせずに、各スレーブで、自身に割り付けられた割付処理に係るデータのロケーション情報を扱う為、マスタへの情報問い合わせの負荷、ネットワーク負荷が削減され、処理高速化を図ることを可能とする。
また、処理端末装置として、ボランティア端末装置、すなわち、一般OA用途に用いられているパーソナルコンピュータ等の未使用時間等に係る空き資源を利用可能であり、膨大な計算量を要する処理等に係る並列処理を実現することができる。この場合、企業等のパーソナルコンピュータを多数抱えているサイトでは、安価に高速計算機環境を取得できると共に、ボランティア端末装置(スレーブ)の更新毎に計算機環境も自動更新されるため、新たに計算環境を構築することなく高速化が図られる。
尚、本実施の形態では、処理プログラムおよび処理データを依頼者4側の端末装置5からマスタ2に一旦送信し、各スレーブ7に送信したが、処理アプリケーションに応じて(例えば、画像データを入力とする画像生成処理等)、各スレーブ7−1、7−2、…の外部メモリ8−1、8−2、…に予め、それぞれ参加応募機能11等と共に、同じ処理プログラムを格納しておき、処理依頼の際に、異なる処理データを各スレーブ7−1、7−2、…に送信し、実行させてもよい。
また、スレーブ7が使用不可能になった場合や指示した処理結果がなかなか返ってこない場合、並列処理に参加応募している別のスレーブ7に再度、同一処理を割振ることで、期限付きの処理の実行を可能にする。また、ある決められた処理専用のシステムではなく、外部(依頼者4の端末装置5)からの複数の並列処理を実行することが容易に可能となる。
更に、命令変換機能を有するメモリをスレーブ7側又はマスタ2側に持たせることで、一般のパーソナルコンピュータだけではなく、情報家電等の異なる処理体系、演算体系を採る演算装置(CPU等)を有する機器や携帯電話機を用いた並列処理が可能となり、さらなる並列処理の高速化が可能となる。
尚、図11乃至図13等に示す処理を行うプログラムはCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
第2の実施の形態では、割付処理及び割付処理毎の実行結果は、ネットワーク9上を流れるが、依頼処理全体及び依頼処理毎の実行結果は、ネットワーク9上を流れることがないので、安全性、機密性を向上することができる。
次に、本発明の第3の実施の形態について説明する。
図14は、本発明の第3の実施の形態に係る並列処理システム300の概略構成を示す図である。
図14は、本発明の第3の実施の形態に係る並列処理システム300の概略構成を示す図である。
前述の第1の実施の形態では、マスタ2は、端末装置5からネットワーク9を介して処理の依頼(依頼処理)を受付け、当該依頼処理を並列処理により処理するが、第3の実施の形態では、依頼処理は、直接マスタ2に入力される。すなわち、マスタ2の処理受付機能13は、WEBページ等によりネットワーク9を介して依頼処理を受付けるだけでなく、マスタ2に直接入力された処理を依頼処理として受け付けることができる。
第1の実施の形態では、端末装置5からネットワーク9を介してマスタ2に並列処理を依頼することができるので、リモートからの並列処理の依頼、処理実行結果の取得が可能となる。例えば、多数の並列処理専用コンピュータをセンタ内に構築し、リモートからの運用が可能となる。
一方、第3の実施の形態では、割付処理及び割付処理毎の実行結果は、ネットワーク9上を流れるが、依頼処理全体及び依頼処理毎の実行結果は、ネットワーク9上を流れることがないので、安全性、機密性を向上することができる。
一方、第3の実施の形態では、割付処理及び割付処理毎の実行結果は、ネットワーク9上を流れるが、依頼処理全体及び依頼処理毎の実行結果は、ネットワーク9上を流れることがないので、安全性、機密性を向上することができる。
次に、本発明の第4の実施の形態について説明する。
図15は、本発明の第4の実施の形態に係る並列処理システム400の概略構成を示す図である。
図15は、本発明の第4の実施の形態に係る並列処理システム400の概略構成を示す図である。
前述の第2の実施の形態では、マスタ2は、端末装置5からネットワーク9を介して処理の依頼(依頼処理)を受付け、当該依頼処理を並列処理により処理するが、第4の実施の形態では、依頼処理は、直接マスタ2に入力される。すなわち、マスタ2の処理受付機能13は、WEBページ等によりネットワーク9を介して依頼処理を受付けるだけでなく、マスタ2に直接入力された処理を依頼処理として受け付けることができる。
第2の実施の形態では、端末装置5からネットワーク9を介してマスタ2に並列処理を依頼することができるので、リモートからの並列処理の依頼、処理実行結果の取得が可能となる。例えば、多数の並列処理専用コンピュータをセンタ内に構築し、リモートからの運用が可能となる。
一方、第4の実施の形態では、割付処理及び割付処理毎の実行結果は、ネットワーク9上を流れるが、依頼処理全体及び依頼処理毎の実行結果は、ネットワーク9上を流れることがないので、安全性、機密性を向上することができる。
一方、第4の実施の形態では、割付処理及び割付処理毎の実行結果は、ネットワーク9上を流れるが、依頼処理全体及び依頼処理毎の実行結果は、ネットワーク9上を流れることがないので、安全性、機密性を向上することができる。
次に、並列処理システムにおける、ブロードキャスト通信による通信処理の詳細を説明する。
上記の第1の実施の形態及び第2の実施の形態に示した並列処理システムでは、マスタとスレーブとの間の通信に関しては、ブロードキャスト通信を用いて、通信データ、情報の授受(参加募集、参加応募、処理割付、実行結果の送信、実行結果の取得等)が行われる。
上記の第1の実施の形態及び第2の実施の形態に示した並列処理システムでは、マスタとスレーブとの間の通信に関しては、ブロードキャスト通信を用いて、通信データ、情報の授受(参加募集、参加応募、処理割付、実行結果の送信、実行結果の取得等)が行われる。
図16は、上述のマスタ2及びスレーブ7におけるブロードキャスト通信による通信処理の概略を示す図である。
尚、所定の通信処理に関する送信元と送信先のポート番号は、異なる場合があるが、説明の容易のため、所定の通信処理の種類毎にポート番号が設定され、送信元と送信先のポート番号は、同一であるものとして説明する。
尚、所定の通信処理に関する送信元と送信先のポート番号は、異なる場合があるが、説明の容易のため、所定の通信処理の種類毎にポート番号が設定され、送信元と送信先のポート番号は、同一であるものとして説明する。
図16に示すように、マスタ2には、2000番ポート、2001番ポート、2002番ポート、2003番ポート、2004番ポート、…が設定され、スレーブ7−1には、2000番ポート、2001番ポート、スレーブ7−2には、2000番ポート、2002番ポート、スレーブ7−3には、2000番ポート、2003番ポート、スレーブ7−4には、2000番ポート、2004番ポート、…が設定される。
2000番ポートは、マスタ2及び全てのスレーブ7の間の通信(例えば、参加募集)に関する通信ポートである。
2001番ポートは、マスタ2とスレーブ7−1との間の通信(例えば、参加応募)に関する通信ポートである。
2002番ポートは、マスタ2とスレーブ7−2との間の通信(例えば、参加応募)に関する通信ポートである。
2003番ポートは、マスタ2とスレーブ7−3との間の通信(例えば、参加応募)に関する通信ポートである。
2004番ポートは、マスタ2とスレーブ7−4との間の通信(例えば、参加応募)に関する通信ポートである。
2001番ポートは、マスタ2とスレーブ7−1との間の通信(例えば、参加応募)に関する通信ポートである。
2002番ポートは、マスタ2とスレーブ7−2との間の通信(例えば、参加応募)に関する通信ポートである。
2003番ポートは、マスタ2とスレーブ7−3との間の通信(例えば、参加応募)に関する通信ポートである。
2004番ポートは、マスタ2とスレーブ7−4との間の通信(例えば、参加応募)に関する通信ポートである。
マスタ2は、全てのスレーブ7に対して通信データを送信する場合(例えば、並列処理への参加募集を行う場合)、送信先ポート番号2000を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出する。スレーブ7−1、7−2、7−3、7−4、…は、ポート番号2000が設定されているので、当該通信データ(送信先ポート番号2000)を受信する(ステップ1601)。
スレーブ7−1は、マスタ2に対して通信データを送信する場合(例えば、並列処理への参加応募を行う場合)、送信先ポート番号2001を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出する。マスタ2は、ポート番号2001が設定されているので、当該通信データ(送信先ポート番号2001)を受信する(ステップ1602)。
同様にして、スレーブ7−2、7−4は、マスタ2に対して通信データを送信する場合、それぞれ、送信先ポート番号2002、2004を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク9に送出し、マスタ2は、ポート番号2002、2004が設定されているので、当該通信データ(送信先ポート番号2002、2004)を受信する(ステップ1603、ステップ1604)。
上記の説明では、参加募集、参加応募に関する通信処理を例としてあげたが、その他、割付処理の送受信、割付処理の実行結果の送受信、データ問い合わせ、データ報告等に関する通信処理に関しても、当該通信処理の種類毎に、必要に応じて、マスタ2、スレーブ7にポート番号を設定し、ポート番号を付加した通信データをブロードキャスト通信でネットワーク9に送出することにより、マスタ2及びスレーブ7の間で通信データの授受を行い、並列処理を実現することができる。
尚、マスタ2が分散化、多重化されている場合は、同一の指示、同一の応答であっても、早着優先で処理するようにすればよい。
尚、マスタ2が分散化、多重化されている場合は、同一の指示、同一の応答であっても、早着優先で処理するようにすればよい。
以上、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
100、200、300、400………並列処理システム
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………実行結果取得機能
21、121………データ問い合わせ機能
22………データ管理機能
23………データ転送機能
24………データ後処理指示機能
25………データ転送指示機能
26、126………データ報告機能
27………データ後処理機能
28、128………(スレーブ間)データ転送機能
29………データ取得機能
31………処理受付テーブル
32………処理割付テーブル
33………ジョブデータリスト
34………データ保持リスト
35………データ未保持リスト
36………データ管理テーブル
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………実行結果取得機能
21、121………データ問い合わせ機能
22………データ管理機能
23………データ転送機能
24………データ後処理指示機能
25………データ転送指示機能
26、126………データ報告機能
27………データ後処理機能
28、128………(スレーブ間)データ転送機能
29………データ取得機能
31………処理受付テーブル
32………処理割付テーブル
33………ジョブデータリスト
34………データ保持リスト
35………データ未保持リスト
36………データ管理テーブル
Claims (26)
- 複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、
前記サーバは、
前記処理端末装置に対して、保持する以前配布された処理データを問い合わせるデータ問い合わせ手段と、
前記処理端末装置から送られた保持する処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理手段と、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、当該割付処理に係る処理データが配布済みの場合には当該割付処理の処理実行依頼を送信し、未配布の場合には当該割付処理に係る処理データと、その処理実行依頼を送信する処理割付手段と、
を具備し、
前記処理端末装置は、
前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告手段と、
前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、
を具備することを特徴とする並列処理システム。 - 複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、
前記サーバは、
前記処理端末装置に対して、保持している処理データを問い合わせるデータ問い合わせ手段と、
前記処理端末装置から送られた保持している処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理手段と、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付けて、当該割付処理に係る処理データが配布済みの場合には処理実行依頼を、未配布の場合には前記処理データを保持する、前記処理端末装置/前記ネットワークを介して接続される記憶装置からの転送指示と、処理実行依頼を送信する処理割付手段と、
を具備し、
前記処理端末装置は、
前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告手段と、
前記サーバから転送指示が送られると、前記処理データの転送指示に従い、他の処理端末装置/前記ネットワークを介して接続された記憶装置から当該割付処理の処理データを転送するデータ転送手段と、
前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、
を具備することを特徴とする並列処理システム。 - 複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、
前記サーバは、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、処理実行依頼を送信する処理割付手段と、
を具備し、
前記処理端末装置は、
前記サーバから前記割付処理の処理実行依頼が送られると、自身が当該割付処理の処理データを保持していない場合、他の全ての処理端末装置に当該処理データの問い合わせを行うデータ問合せ手段と、
他の処理端末装置から処理データの問い合わせが送られると、当該処理データを自身が保持している場合、処理データ保持を応答するデータ応答手段と、
他の処理端末装置から処理データ保持の応答が送られると、応答してきた処理端末装置から当該処理データを転送するデータ転送手段と、
前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、
を具備することを特徴とする並列処理システム。 - 前記サーバは、
前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることを特徴とする請求項1乃至請求項3いずれかに記載の並列処理システム。 - 前記データ問い合わせ手段又は前記データ報告手段は、ブロードキャスト通信によりデータ問い合わせ又はデータ報告を行うことを特徴とする請求項1乃至請求項3いずれかに記載の並列処理システム。
- 前記サーバは、
前記処理端末装置に対して、当該割付処理の処理データを送信する際、割付処理実行後に当該処理データを保持/破棄するかの後処理指示を送信する後処理指示手段を、具備し、
前記処理端末装置は、
前記割付処理実行後、前記サーバからの後処理指示に従い、当該割付処理に係る処理データを保持/破棄するデータ後処理手段と、
を具備することを特徴とする請求項1乃至請求項3いずれかに記載の並列処理システム。 - 複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバであって、
前記処理端末装置に対して、保持する以前配布された処理データを問い合わせるデータ問い合わせ手段と、
前記処理端末装置から送られた保持する処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理手段と、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、当該割付処理に係る処理データが配布済みの場合には当該割付処理の処理実行依頼を送信し、未配布の場合には当該割付処理に係る処理データと、その処理実行依頼を送信する処理割付手段と、
を具備することを特徴とするサーバ。 - 複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバであって、
前記処理端末装置に対して、保持している処理データを問い合わせるデータ問い合わせ手段と、
前記処理端末装置から送られた保持している処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理手段と、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付けて、当該割付処理に係る処理データが配布済みの場合には処理実行依頼を、未配布の場合には前記処理データを保持する、前記処理端末装置/前記ネットワークを介して接続される記憶装置からの転送指示と、処理実行依頼を送信する処理割付手段と、
を具備することを特徴とするサーバ。 - 複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する1又は複数のサーバであって、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、処理実行依頼を送信する処理割付手段と、
を具備することを特徴とするサーバ。 - 前記処理端末装置に対して、当該割付処理の処理データを送信する際、割付処理実行後に当該処理データを保持/破棄するかの指示を送信する後処理指示手段を、
を具備することを特徴とする請求項7乃至請求項9いずれかに記載のサーバ。 - 前記処理端末装置に対して、ブロードキャスト通信により、前記並列処理への参加募集を行い、前記参加募集に対して参加応募している処理端末装置に前記割付処理を割り付け送信し実行させることを特徴とする請求項7乃至請求項9のいずれかに記載のサーバ。
- 前記データ問い合わせ手段は、ブロードキャスト通信によりデータ問い合わせを行うことを特徴とする請求項7乃至請求項9いずれかに記載のサーバ。
- 1又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置であって、
前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告手段と、
前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、
を具備することを特徴とする処理端末装置。 - 1又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置であって、
前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告手段と、
前記サーバから転送指示が送られると、前記処理データの転送指示に従い、他の処理端末装置/前記ネットワークを介して接続された記憶装置から当該割付処理の処理データを転送するデータ転送手段と、
前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、
を具備することを特徴とする処理端末装置。 - 1又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置であって、
前記サーバから前記割付処理の処理実行依頼が送られると、自身が当該割付処理の処理データを保持していない場合、他の全ての処理端末装置に当該処理データの問い合わせを行うデータ問合せ手段と、
他の処理端末装置から処理データの問い合わせが送られると、当該処理データを自身が保持している場合、処理データ保持を応答するデータ応答手段と、
他の処理端末装置から処理データ保持の応答が送られると、応答してきた処理端末装置から当該処理データを転送するデータ転送手段と、
前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行手段と、
を具備することを特徴とする処理端末装置。 - 前記サーバから前記並列処理への参加募集が送られると、参加可能な場合、参加応募の旨を応答する参加応募手段を具備することを特徴とする請求項13乃至請求項15いずれかに記載の処理端末装置。
- 前記参加応募手段は、ブロードキャスト通信により前記参加応募を行うことを特徴とする請求項13乃至請求項15いずれかに記載の処理端末装置。
- 前記データ問い合わせ手段又はデータ報告手段は、ブロードキャスト通信によりデータ問い合わせ又はデータ報告を行うことを特徴とする請求項13乃至請求項15いずれかに記載の処理端末装置。
- 前記割付処理実行後、前記サーバからの指示に従い、当該割付処理に係る処理データを保持/破棄するデータ後処理手段と、
を具備することを特徴とする請求項13乃至請求項15いずれかに記載の処理端末装置。 - 複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムにおける並列処理方法であって、
前記サーバが実行する、
前記処理端末装置に対して、保持する以前配布された処理データを問い合わせるデータ問い合わせ工程と、
前記処理端末装置から送られた保持する処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理工程と、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、当該割付処理に係る処理データが配布済みの場合には当該割付処理の処理実行依頼を送信し、未配布の場合には当該割付処理に係る処理データと、その処理実行依頼を送信する処理割付工程と、
を具備し、
前記処理端末装置が実行する、
前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告工程と、
前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行工程と、
を具備することを特徴とする並列処理方法。 - 複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムにおける並列処理方法であって、
前記サーバが実行する、
前記処理端末装置に対して、保持している処理データを問い合わせるデータ問い合わせ工程と、
前記処理端末装置から送られた保持している処理データの報告を基に、前記依頼処理に係る処理データに対して、配布済みの処理データか、未配布の処理データかを管理するデータ管理工程と、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付けて、当該割付処理に係る処理データが配布済みの場合には処理実行依頼を、未配布の場合には前記処理データを保持する前記処理端末装置/前記ネットワークを介して接続される記憶装置からの転送指示と、処理実行依頼を送信する処理割付工程と、
を具備し、
前記処理端末装置が実行する、
前記サーバから処理データの問い合わせが送られると、自身の保持している処理データを報告するデータ報告工程と、
前記サーバから転送指示が送られると、前記処理データの転送指示に従い、他の処理端末装置/前記ネットワークを介して接続された記憶装置から当該割付処理の処理データを転送するデータ転送工程と、
前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行工程と、
を具備することを特徴とする並列処理方法。 - 複数の処理端末装置と、1又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムにおける並列処理方法であって、
前記サーバが実行する、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、前記処理端末装置に対して、当該割付処理を割り付け、処理実行依頼を送信する処理割付工程と、
を具備し、
前記処理端末装置が実行する、
前記サーバから前記割付処理の処理実行依頼が送られると、自身が当該割付処理の処理データを保持していない場合、他の全ての処理端末装置に当該処理データの問い合わせを行うデータ問合せ工程と、
他の処理端末装置から処理データの問い合わせが送られると、当該処理データを自身が保持している場合、処理データ保持を応答するデータ応答工程と、
他の処理端末装置から処理データ保持の応答が送られると、応答してきた処理端末装置から当該処理データを転送するデータ転送工程と、
前記サーバから送られた処理実行依頼の前記割付処理を実行する割付処理実行工程と、
を具備することを特徴とする並列処理方法。 - コンピュータを請求項7乃至請求項9のいずれかに記載のサーバとして機能させるプログラム。
- コンピュータを請求項7乃至請求項9のいずれかに記載のサーバとして機能させるプログラムを記録した記録媒体。
- コンピュータを請求項13乃至請求項15のいずれかに記載の処理端末装置として機能させるプログラム。
- コンピュータを請求項13乃至請求項15のいずれかに記載の処理端末装置として機能させるプログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005294539A JP2007102666A (ja) | 2005-10-07 | 2005-10-07 | 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005294539A JP2007102666A (ja) | 2005-10-07 | 2005-10-07 | 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007102666A true JP2007102666A (ja) | 2007-04-19 |
Family
ID=38029522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005294539A Pending JP2007102666A (ja) | 2005-10-07 | 2005-10-07 | 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007102666A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011198122A (ja) * | 2010-03-19 | 2011-10-06 | Fujitsu Ltd | 処理割当装置、処理割当方法及びコンピュータプログラム |
CN102508720A (zh) * | 2011-11-29 | 2012-06-20 | 中能电力科技开发有限公司 | 一种提高前处理模块和后处理模块效率的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63317870A (ja) * | 1987-06-22 | 1988-12-26 | Nec Corp | 分散処理システムのデ−タ管理方式 |
JPH0496168A (ja) * | 1990-08-08 | 1992-03-27 | Nec Corp | プログラムの遠隔実行方式 |
JP2004062686A (ja) * | 2002-07-30 | 2004-02-26 | Dainippon Printing Co Ltd | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 |
JP2004102586A (ja) * | 2002-09-09 | 2004-04-02 | Mitsubishi Heavy Ind Ltd | 自律分散型システム及びその通信方法 |
JP2005070896A (ja) * | 2003-08-20 | 2005-03-17 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークシステム、分散処理方法およびプログラム |
JP2005208920A (ja) * | 2004-01-22 | 2005-08-04 | Nippon Telegr & Teleph Corp <Ntt> | グリッドシステムにおけるジョブ割付方法、グリッド仲介装置及びそのプログラム |
-
2005
- 2005-10-07 JP JP2005294539A patent/JP2007102666A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63317870A (ja) * | 1987-06-22 | 1988-12-26 | Nec Corp | 分散処理システムのデ−タ管理方式 |
JPH0496168A (ja) * | 1990-08-08 | 1992-03-27 | Nec Corp | プログラムの遠隔実行方式 |
JP2004062686A (ja) * | 2002-07-30 | 2004-02-26 | Dainippon Printing Co Ltd | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 |
JP2004102586A (ja) * | 2002-09-09 | 2004-04-02 | Mitsubishi Heavy Ind Ltd | 自律分散型システム及びその通信方法 |
JP2005070896A (ja) * | 2003-08-20 | 2005-03-17 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークシステム、分散処理方法およびプログラム |
JP2005208920A (ja) * | 2004-01-22 | 2005-08-04 | Nippon Telegr & Teleph Corp <Ntt> | グリッドシステムにおけるジョブ割付方法、グリッド仲介装置及びそのプログラム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011198122A (ja) * | 2010-03-19 | 2011-10-06 | Fujitsu Ltd | 処理割当装置、処理割当方法及びコンピュータプログラム |
CN102508720A (zh) * | 2011-11-29 | 2012-06-20 | 中能电力科技开发有限公司 | 一种提高前处理模块和后处理模块效率的方法及系统 |
CN102508720B (zh) * | 2011-11-29 | 2017-02-22 | 中能电力科技开发有限公司 | 一种提高前处理模块和后处理模块效率的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5022030B2 (ja) | コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム | |
US9075659B2 (en) | Task allocation in a computer network | |
TWI344090B (en) | Management of a scalable computer system | |
US20050188087A1 (en) | Parallel processing system | |
US9424096B2 (en) | Task allocation in a computer network | |
JP6055201B2 (ja) | サーバー装置、システム及びその制御方法 | |
JP2012079219A (ja) | ジョブ実行システム、ジョブ受付装置及びプログラム | |
JP2007048315A (ja) | リソース割り当てシステム、方法及びプログラム | |
KR20110083084A (ko) | 가상화를 이용한 서버 운영 장치 및 방법 | |
JPWO2005116832A1 (ja) | 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム | |
JP3983619B2 (ja) | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 | |
JP2013178710A (ja) | 画像形成装置、画像形成システムおよび情報処理装置用プログラム | |
JP2007102666A (ja) | 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体 | |
KR20080027113A (ko) | 자원 노드 결정 프로그램을 기록한 컴퓨터 판독가능한 기록매체, 자원 노드 제어 프로그램을 기록한 컴퓨터판독가능한 기록 매체, 자원 노드 결정 장치, 자원 노드,자원 노드 결정 방법 및 자원 노드 제어 방법 | |
US8521864B1 (en) | Systems and methods for managing the impact of monitoring processes | |
JP2007102332A (ja) | 負荷分散システム及び負荷分散方法 | |
JP2008009865A (ja) | 分散コンピュータシステム | |
JP6272080B2 (ja) | 情報処理装置及び分散印刷システム、印刷制御方法、プログラム | |
JP2008181298A (ja) | 作業状態復帰プログラム、作業状態復帰方法および作業状態復帰装置 | |
JP2004062603A (ja) | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 | |
JP3942979B2 (ja) | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 | |
JP2004054855A (ja) | 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体 | |
JP2005050131A (ja) | 並列処理システム、サーバ、処理端末装置、並列処理方法、プログラム、及び、記録媒体 | |
JP2000222316A (ja) | ツールの実行管理方法及び統合型運用管理システム | |
JP2019121081A (ja) | データ処理プログラム、データ処理方法、及びデータ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080709 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100713 |