(57)【要約】【課題】  大型化やコストの増大を抑制可能な並列計算機を提供する。【解決手段】  並列計算機１００及び並列計算機２００は、データを同時に入力して並列処理を可能としたＰＥ１〜５と、これらのＰＥ１〜５の各々の累積稼動時間を記録する累積稼動時間記録装置１３と、これらのＰＥ１〜５の数よりも少ないデータを入力するときに、累積稼動時間記録装置１３に記録された累積稼動時間に基づいて、ＰＥ１〜５の各々の累積稼動時間が互いに等しくなるように、ＰＥに対してデータの入力割り付けを行うＰＥ割付決定装置８と、を備える。また、並列計算機１００及び並列計算機２００は、各ＰＥの累積稼動時間同士が所定の範囲△ｔ内となったときに、累積稼動時間記録装置１３に記録された累積稼動時間をリセットする累積稼動時間監視装置１４をさらに備える。【選択図】図１
2012003593.tif 000002
【特許請求の範囲】
【請求項１】
データを同時に入力して並列処理を可能とした複数のプロセッサエレメントと、
前記プロセッサエレメントの各々の累積稼動時間を記録する累積稼動時間記録手段と、
前記プロセッサエレメントの数よりも少ないデータを入力するときに、前記累積稼動時間に基づいて、前記プロセッサエレメントの各々の前記累積稼動時間が互いに等しくなるように、前記プロセッサエレメントに対して前記データの入力割り付けを行うデータ割付手段と、
前記各プロセッサエレメントの前記累積稼動時間同士の差が所定の範囲内になったときに、前記累積稼動時間をリセットするリセット手段と、
を備えることを特徴とする並列計算機。
【請求項２】
前記データ割付手段は、前記累積稼動時間が短い前記プロセッサエレメントから順に前記データの入力割り付けを行う、請求項１に記載の並列計算機。
【請求項３】
一の前記プロセッサエレメントのレジスタに格納された情報を読み出して、該情報を他の前記プロセッサエレメントのレジスタに提供するレジスタ情報読出手段を更に備える、請求項１又は２に記載の並列計算機。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理等に好適に用いられる並列計算機に関する。
【背景技術】
【０００２】
従来、並列計算機として、例えば、複数個のプロセッサからなるプロセッサ群と、命令列から並列実行可能な複数種類の命令列を抽出してプロセッサ群に供給するプロセッサ群制御装置と、を備え、プロセッサ群制御装置が抽出した複数種類の命令列を、複数個のプロセッサで並列実行するものが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−６８０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記のような従来の並列計算機においては、並列実行可能な命令列の種類の数がプロセッサの数よりも小さい場合には、使用されるプロセッサと使用されないプロセッサとが生じる。このため、各プロセッサ間において累積稼動時間の差が生じる。その結果、累積稼動時間の長いプロセッサが累積稼動時間の短いプロセッサに比べて早く劣化することとなり、並列計算機全体の寿命が短くなってしまう。
【０００５】
このような問題を解決するためには、例えば、各プロセッサの累積稼動時間を記録するメモリを用意し、その累積稼動時間に基づいて使用するプロセッサを選択することが考えられる。このような場合には、当該並列計算機の使用時間が増大するにつれて、メモリに蓄積される累積稼動時間を示すデータが大きくなるため、大容量のメモリが必要となる。その結果、当該並列計算機の製造コストが増大したり、当該並列計算機が大型化したりするなどの問題が生じてしまう。
【０００６】
そこで、本発明は、大型化やコストの増大を抑制可能な並列計算機を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る並列計算機は、データを同時に入力して並列処理を可能とした複数のプロセッサエレメントと、プロセッサエレメントの各々の累積稼動時間を記録する累積稼動時間記録手段と、プロセッサエレメントの数よりも少ないデータを入力するときに、累積稼動時間に基づいて、プロセッサエレメントの各々の累積稼動時間が互いに等しくなるように、プロセッサエレメントに対してデータの入力割り付けを行うデータ割付手段と、各プロセッサエレメントの累積稼動時間同士の差が所定の範囲内になったときに、累積稼動時間をリセットするリセット手段と、を備えることを特徴とする。
【０００８】
この並列計算機では、累積稼動時間記録手段に記録された累積稼動時間に基づいて、各プロセッサエレメントの累積稼動時間が互いに等しくなるようにデータの入力割り付けを行う。そして、各プロセッサエレメントの累積稼動時間同士の差が所定の範囲内になったときに、累積稼動時間記録手段に記録された累積稼動時間をリセットする。このため、当該並列計算機の使用時間が増大しても、累積稼動時間記録手段に記録される累積稼動時間を示すデータが大きくなることが防止される。その結果、累積稼動時間記録手段を記憶容量が比較的小さなものとすることが可能となり、当該並列計算機の製造コストが増大したり、当該並列計算機が大型化したりすることが抑制される。
【０００９】
また、本発明に係る並列計算機は、データ割付手段は、累積稼動時間が短いプロセッサエレメントから順にデータの入力割り付けを行う態様とすることができる。この場合、プロセッサエレメントの累積稼動時間を容易に平準化することができる。
【００１０】
さらに、本発明に係る並列計算機は、一のプロセッサエレメントのレジスタに格納された情報を読み出して、該情報を他のプロセッサエレメントのレジスタに提供するレジスタ情報読出手段を更に備える態様とすることができる。
【００１１】
この場合、一のプロセッサエレメントのレジスタに格納された演算結果等を示す情報を、他のプロセッサエレメントのレジスタに提供することにより、プロセッサエレメント間において当該情報が共有されることとなる。このため、例えば一の命令の実行中であっても、最初にデータの入力割り付けが行われた一群のプロセッサエレメントと異なる他の一群のプロセッサエレメントに対して、データの入力割り付けを行うことができる。その結果、プロセッサエレメントの累積稼動時間が迅速に平準化されるので、より短い時間間隔でもって累積稼動時間記録手段に記録された累積稼動時間をリセットすることができる。
【発明の効果】
【００１２】
本発明によれば、大型化やコストの増大を抑制可能な並列計算機を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る並列計算機の第１実施形態の構成を示すブロック図である。
【図２】図１に示された並列計算機の詳細を示すブロック図である。
【図３】図１に示された並列計算機の動作を示すフローチャートである。
【図４】ＰＥと演算要等との関係を示す図である。
【図５】図１に示された並列計算機の効果を説明するための図である。
【図６】図１に示された並列計算機の効果を説明するための図である。
【図７】本発明に係る並列計算機の第２実施形態の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
［第１実施形態］
【００１５】
図１に示されるように、並列計算機１００は、データを同時に入力して並列処理を可能とした複数（ここでは５つ）のプロセッサエレメント（以下、ＰＥと称する）１〜５と、命令デコーダ６と、使用ＰＥ数検出装置７と、ＰＥ割付決定装置（データ割付手段）８と、実行ＰＥ選択装置９と、入力データＰＥ対応変換装置１０と、出力データＰＥ対応変換装置１１と、を備えている。このような並列計算機１００は、所謂ＳＩＭＤ型並列計算機であり、例えば、画像処理等に好適に使用できる。
【００１６】
命令デコーダ６は、ＰＥ１〜５で実行するための命令の入力を受け、入力された命令のデコードを行う。そして、命令デコーダ６は、デコードした命令を使用ＰＥ数検出装置７及び実行ＰＥ選択装置９へ出力する。
【００１７】
使用ＰＥ数検出装置７は、命令デコーダ６からの命令の入力を受け、当該命令中で並列使用可能なＰＥ数を検出する。そして、使用ＰＥ数検出装置７は、検出したＰＥ数を示すデータをＰＥ割付決定装置８へ送信する。
【００１８】
ＰＥ割付決定装置８は、使用ＰＥ数検出装置７により検出されたＰＥ数が、並列計算機１００が備えるＰＥの数よりも小さいとき（即ち５未満のとき）、ＰＥ１〜５の各々の累積稼動時間が互いに等しくなるように、命令に含まれる演算要素及び入力データを割り付けるＰＥを、ＰＥ１〜５から決定（選択）する。そして、ＰＥ割付決定装置８は、選択結果を示す信号を実行ＰＥ選択装置９、入力データＰＥ対応変換装置１０及び出力データＰＥ対応変換装置１１へ出力する。
【００１９】
実行ＰＥ選択装置９は、ＰＥ割付決定装置８から入力された信号に基づいて、信号ＰＥ割付決定装置８で選択されたＰＥに対して、命令デコーダ６から入力された命令に含まれる演算要素を与えると共にその実行を指示する。
【００２０】
入力データＰＥ対応変換装置１０は、ＰＥ割付決定装置８から入力された信号に基づいて、外部から入力された入力データＩ０，Ｉ１，Ｉ２，Ｉ３をＰＥ割付決定装置８で選択されたＰＥに対して入力する。
【００２１】
出力データＰＥ対応変換装置１１は、ＰＥから出力された演算処理済みのデータを、ＰＥ割付決定装置８から入力された信号に基づいて、入力データＰＥ対応変換装置１０が入力した入力データＩ０，Ｉ１，Ｉ２，Ｉ３に対応付けて、出力データＯ０，Ｏ１，Ｏ２，Ｏ３として外部に出力する。
【００２２】
ここで、並列計算機１００は、累積稼動時間記録装置（累積稼動時間記録手段）１３及び累積稼動時間監視装置（リセット手段）１４をさらに備えている。累積稼動時間記録装置１３は、所定のメモリ等から構成されており、ＰＥ１〜５の各々の累積稼動時間を記録する。
【００２３】
上述したＰＥ割付決定装置８は、累積稼動時間記録装置１３に記録された累積稼動時間に基づいて、ＰＥ１〜５の各々の累積稼動時間が互いに等しくなるように、命令に含まれる演算要素及び入力データを割り付けるＰＥを、ＰＥ１〜５から決定する。
【００２４】
累積稼動時間監視装置１４は、累積稼動時間記録装置１３に記録された累積稼動時間を監視し、各ＰＥの累積稼動時間同士の差が、所定の範囲△ｔ以内になったときに、累積稼動時間記録装置１３に記録された累積稼動時間をリセットする。
【００２５】
例えば、累積稼動時間監視装置１４は、各ＰＥの累積稼動時間同士の差が所定の範囲△ｔ以内になったときに、累積稼動時間記録装置１３に記録された、各ＰＥの累積稼動時間を示すデータを消去する。
【００２６】
続いて、図２を参照して並列計算機１００の詳細について説明する。図２に示されるように、並列計算機１００は、クロック・電源制御装置２１〜２５をさらに備えている。
【００２７】
クロック・電源制御装置２１〜２５は、ＰＥ１〜５にそれぞれ接続されており、ＰＥ割付決定装置８により選択されなかった（即ち演算処理を行わない）ＰＥのクロックや電源を停止する。
【００２８】
ここで、入力データＰＥ対応変換装置１０は、マルチプレクサ３１〜３５を有している。マルチプレクサ３１はＰＥ１に、マルチプレクサ３２はＰＥ２に、マルチプレクサ３３はＰＥ３に、マルチプレクサ３４はＰＥ４に、マルチプレクサ３５はＰＥ５に、それぞれ接続されている。
【００２９】
これらのマルチプレクサ３１〜３５の各々には、入力データＩ０，Ｉ１，Ｉ２，Ｉ３が入力される。また、マルチプレクサ３１〜３５の各々には、ＰＥ割付決定装置８からのＰＥの選択結果を示す信号が入力される。これにより、入力データＩ０，Ｉ１，Ｉ２，Ｉ３のうちの何れか一つが、ＰＥ１〜５のうちの何れか一つに入力されることとなる。
【００３０】
また、出力データＰＥ対応変換装置１１は、デマルチプレクサ４１〜４５を有している。デマルチプレクサ４１はＰＥ１に、デマルチプレクサ４２はＰＥ２に、デマルチプレクサ４３はＰＥ３に、デマルチプレクサ４４はＰＥ４に、デマルチプレクサ４５はＰＥ５に、それぞれ接続されている。
【００３１】
これらのデマルチプレクサ４１〜４５には、それぞれ、ＰＥ１〜５からの演算処理済みのデータが入力される。また、デマルチプレクサ４１〜４５の各々には、ＰＥ割付決定装置８からのＰＥの選択結果を示す信号が入力される。これにより、デマルチプレクサ４１〜４５では、ＰＥ１〜５からの演算処理済みのデータが、入力データＰＥ対応変換装置１０が入力した入力データＩ０，Ｉ１，Ｉ２，Ｉ３と対応付けられて、出力データＯ０，Ｏ１，Ｏ２，Ｏ３として外部に出力される。
【００３２】
次に、図３を参照して、並列計算機１００の動作について説明する。まず、並列計算機１００に接続された制御プロセッサ（不図示）において準備された入力データ及び命令が、並列計算機１００に入力される（ステップＳ１）。入力データは入力データＰＥ対応変換装置１０（マルチプレクサ３１〜３５）に入力され、命令は命令デコーダ６に入力される。ここでは、入力データＰＥ対応変換装置１０に入力される入力データは、Ｉ０，Ｉ１，Ｉ２，Ｉ３の４つとする（即ち、ＰＥの数よりも少ない数のデータが入力されるとする）。
【００３３】
続いて、命令デコーダ６は、入力された命令のデコードを行い、デコードした命令を使用ＰＥ数検出装置７及び実行ＰＥ選択装置９へ出力する（ステップＳ２）。
【００３４】
続いて、使用ＰＥ数検出装置７は、命令デコーダ６からの命令の入力を受け、当該命令中で並列使用可能なＰＥ数を検出すると共に、検出したＰＥ数を示す情報をＰＥ割付決定装置８へ送信する（ステップＳ３）。ここでは、使用ＰＥ数検出装置７が検出したＰＥ数は４とする（即ち、当該命令中で４つのＰＥを並列使用可能であるとする）。
【００３５】
続いて、ＰＥ割付決定装置８は、命令デコーダ６から入力される命令に含まれる演算要素及び入力データを割り付けるＰＥをＰＥ１〜５から選択し、選択結果を示す信号を、実行ＰＥ選択装置９、入力データＰＥ対応変換装置１０（マルチプレクサ３１〜３５）、出力データＰＥ対応変換装置１１（デマルチプレクサ４１〜４５）、及びクロック・電源制御装置２１〜２５に出力する（ステップＳ４）。
【００３６】
このとき、ＰＥ割付決定装置８は、累積稼動時間記録装置１３にアクセスし、ＰＥ１〜５の累積稼動時間を参照する。そして、ＰＥ割付決定装置８は、累積稼動時間の短い順に、４つのＰＥを選択する。
【００３７】
ここでは、ＰＥ１〜５のうちのＰＥ１、ＰＥ２、ＰＥ３及びＰＥ４のセットが、ＰＥ割付決定装置８により選択されたものとする（即ち、ＰＥ１〜４に入力データの割り付けを行うとする）。したがって、例えば、ＰＥ１には入力データＩ０が入力され、ＰＥ２には入力データＩ１が入力され、ＰＥ３には入力データＩ３が入力され、ＰＥ４には入力データＩ３が入力されることとなる。このとき、ＰＥ５には入力データが入力されない。このため、クロック・電源制御装置２５によってＰＥ５のクロック及び電源が停止される。なお、ＰＥと入力データとの対応は上記のものに限定されない。
【００３８】
続いて、実行ＰＥ選択装置９は、ＰＥ割付決定装置８から入力された信号に基づいて、信号ＰＥ割付決定装置８で選択されたＰＥ１〜４に対して演算要素を与えると共にその実行を指示する（ステップＳ５）。
【００３９】
そして、ＰＥ１〜ＰＥ４において、入力データＩ０〜Ｉ３の演算処理が行われ、演算処理済みのデータがＰＥ１〜ＰＥ４の各々から出力データＰＥ対応変換装置１１（デマルチプレクサ４１〜４４）へ出力される（ステップＳ６）。
【００４０】
その後、出力データＰＥ対応変換装置１１（デマルチプレクサ４１〜４４）は、ＰＥ１〜４から入力される演算処理済みのデータを、入力データＰＥ対応変換装置１０が入力した入力データＩ０，Ｉ１，Ｉ２，Ｉ３と対応付けて、出力データＯ０，Ｏ１，Ｏ２，Ｏ３として外部に出力する（ステップＳ７）。
【００４１】
そして、並列計算機１００は、新たな命令が命令デコーダ６に入力されると、上述したステップＳ１〜Ｓ７を再び実行する。
【００４２】
このとき、上述したステップＳ４において、ＰＥ割付決定装置８は、演算要素及び入力データを割り付けるＰＥをＰＥ１〜５から再び選択するが、その際、累積稼動時間記録装置１３に再びアクセスし、累積稼動時間の短い順にＰＥを選択する。例えば、累積稼動時間記録装置１３に記録された累積稼動時間を参照すると、前回選択されなかったＰＥ５が比較的累積稼動時間が短いので、今回は、ＰＥ５を含むＰＥのセット（例えば、ＰＥ２〜ＰＥ５）が選択される。
【００４３】
この一連の動作を、命令を実行する毎に行うと、ＰＥと演算要素（Ｆ１〜Ｆ４）との対応は、例えば図４に示されるようになる。即ち、命令が実行される毎に、稼動しないＰＥが、ＰＥ５、ＰＥ１、ＰＥ２、ＰＥ３と移り変わっていくこととなる。したがって、命令を繰り返し実行していくことで、図５（ａ）に示されるように、ＰＥ１〜５の累積稼動時間が平準化される（即ち、ＰＥ１〜５の各々の累積稼動時間が互いに等しくなる）。
【００４４】
このため、特定のＰＥのみが早く劣化することが防止されるので、図５（ｂ）に示されるように、ＰＥ１〜５の寿命も平準化される。その結果、並列計算機１００全体の長寿命化が実現される。
【００４５】
一方で、上述した一連の動作を繰り返していくと（並列計算機１００の使用を続けると）、ＰＥ１〜５の累積稼動時間が推移して、互いに等しくなっていく。並列計算機１００では、累積稼動時間監視装置１４が、累積稼動時間の推移を監視し、図６（ａ）に示されるように、各ＰＥの累積稼動時間同士の差が所定の範囲△ｔ内になったときに、図６（ｂ）に示されるように、累積稼動時間記録装置１３に記録された各ＰＥの累積稼動時間をリセットする。
【００４６】
その結果、並列計算機１００の使用時間が増大しても、累積稼動時間記録装置１３に記録される累積稼動時間を示すデータが大きくなることが防止される。よって、累積稼動時間記録装置１３を記憶容量が比較的小さなものとすることが可能となり、製造コストの増大や大型化が抑制される。
【００４７】
特に、並列計算機１００では、ＰＥの数よりも少ないデータを入力するときに、ＰＥ１〜５の各々の累積稼動時間が互いに等しくなるように、各ＰＥに対してデータの入力割り付けを行う。このような並列計算機においては、各ＰＥの累積稼動時間同士の差が所定の範囲△ｔ内になり易いため、累積稼動時間のリセットの頻度が高くなり、上記の効果が顕著である。
［第２実施形態］
【００４８】
図７に示されるように、並列計算機２００は、第１実施形態に係る並列計算機１００に対して、レジスタ情報読出装置５１〜５５をさらに備える点で異なっている。
【００４９】
これらのレジスタ情報読出装置は、一のＰＥのレジスタに格納された情報を読み出して、該情報を他のＰＥのレジスタに提供する。ここでは、レジスタ情報読出装置５１は、ＰＥ５のレジスタ５ｒのレジスタに格納された情報を読み出して、読出した情報をＰＥ１のレジスタ１ｒに提供する。また、レジスタ情報読出装置５２は、ＰＥ１のレジスタ１ｒに格納された情報を読み出して、読み出した情報をＰＥ２のレジスタ２ｒに提供する。また、レジスタ情報読出装置５３は、ＰＥ２のレジスタ２ｒに格納された情報を読み出して、読み出した情報をＰＥ３のレジスタ３ｒに提供する。また、レジスタ情報読出装置５４は、ＰＥ３のレジスタ３ｒに格納された情報を読み出して、読み出した情報をＰＥ４のレジスタ４ｒに提供する。さらに、レジスタ情報読出装置５５は、ＰＥ４のレジスタ４ｒに格納された情報を読み出して、読み出した情報をＰＥ５のレジスタ５ｒに提供する。
【００５０】
これにより、ＰＥ１はＰＥ５のレジスタに格納された情報を、ＰＥ２はＰＥ１のレジスタに格納された情報を、ＰＥ３はＰＥ２のレジスタに格納された情報を、ＰＥ４はＰＥ３のレジスタに格納された情報を、ＰＥ５はＰＥ４のレジスタに格納された情報を、それぞれ保持することとなる。なお、レジスタに格納された情報とは、各ＰＥにおける演算結果を示す情報や、フラグに関する情報等を含む。
【００５１】
したがって、並列計算機２００によれば、隣接するＰＥ同士がレジスタの情報を共有することとなるので、例えば一の命令の実行途中であっても、ＰＥ割付決定装置８によってＰＥのセットの変更を行うことができる（例えば、ＰＥ１〜４のセットからＰＥ２〜５のセットへ変更できる）。つまり、より短い間隔でもってＰＥの割り付けを変更できる。
【００５２】
その結果、ＰＥ割り付けの変更粒度が粗くなることが防止され、ＰＥの累積稼動時間の平準化が迅速に行える（即ち、各ＰＥの累積稼動時間同士が迅速に所定の範囲△ｔ内となる）。よって、より短い時間間隔でもって累積稼動時間記録装置１３に記録された累積稼動時間をリセットできるので、累積稼動時間記録装置１３の記憶容量をより小さく抑えることができる。
【００５３】
以上説明した並列計算機１００及び並列計算機２００においては、累積稼動時間監視装置１４は、必要に応じて、累積稼動時間記録装置１３に記録された累積稼動時間の全体をリセットするか、一部をリセットするかを選択できる。
【００５４】
換言すれば、累積稼動時間監視装置１４は、各ＰＥの累積稼動時間が所定の範囲△ｔ内となったときに、累積稼動時間記録装置１３に記録された累積稼動時間の全てを消去するように当該リセットを行ってもよいし、各ＰＥに一律の量（例えば図６（ａ）に示される△Ｔ）を消去するように当該リセットを行ってもよい。
【００５５】
なお、上述した各実施形態は本発明に係る並列計算機の一実施形態を説明したものであり、本発明に係る並列計算機は、本実施形態に記載したものに限られるものではない。本発明に係る並列計算機は、各請求項に記載した要旨を変更しないように本実施形態に係る並列計算機を変形し、又は他のものに適用したものであってもよい。
【００５６】
例えば、本発明は、累積稼動時間として、ＰＥの演算回数等の任意の累積稼動量を含むものである。
【符号の説明】
【００５７】
１〜５…ＰＥ、８…ＰＥ割付決定装置、１３…累積稼動時間記録装置、１４…累積稼動時間監視装置、５１〜５５…レジスタ情報読出装置、１００，２００…並列計算機。
【図１】
2012003593.tif 000003
【図２】
2012003593.tif 000004
【図３】
2012003593.tif 000005
【図４】
2012003593.tif 000006
【図５】
2012003593.tif 000007
【図６】
2012003593.tif 000008
【図７】
2012003593.tif 000009