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