説明

並列計算機

【課題】 長寿命化を実現可能な並列計算機を提供する。
【解決手段】 並列計算機100及び並列計算機200は、データを同時に入力して並列処理を可能とした複数のプロセッサエレメント1〜5と、これらのプロセッサエレメント1〜5の数よりも少ないデータを入力するときに、プロセッサエレメント1〜5の各々の稼動時間が互いに等しくなるように、プロセッサエレメントに対してデータの入力割り付けを行うPE割付決定装置8と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば画像処理等に好適に用いられる並列計算機に関する。
【背景技術】
【0002】
従来、並列計算機として、例えば、複数個のプロセッサからなるプロセッサ群と、命令列から並列実行可能な複数種類の命令列を抽出してプロセッサ群に供給するプロセッサ群制御装置と、を備え、プロセッサ群制御装置が抽出した複数種類の命令列を、複数個のプロセッサで並列実行するものが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−68053号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記のような従来の並列計算機においては、並列実行可能な命令列の種類の数がプロセッサの数よりも小さい場合には、使用されるプロセッサと使用されないプロセッサとが生じる。このため、各プロセッサ間において稼動時間の差が生じる。その結果、稼動時間の長いプロセッサが稼動時間の短いプロセッサに比べて早く劣化することとなり、並列計算機全体の寿命が短くなってしまう。
【0005】
そこで、本発明は、長寿命化を実現可能な並列計算機を提供することを課題とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る並列計算機は、データを同時に入力して並列処理を可能とした複数のプロセッサエレメントと、プロセッサエレメントの数よりも少ないデータを入力するときに、プロセッサエレメントの各々の稼動時間が互いに等しくなるように、プロセッサエレメントに対してデータの入力割り付けを行うデータ割付手段と、を備えることを特徴とする。
【0007】
この並列計算機では、各プロセッサエレメントの稼動時間が互いに等しくなるようにデータの入力割り付けを行う。つまり、各プロセッサエレメントの稼動時間が互いに等しくなるように、各プロセッサエレメントが稼動されることなる。したがって、各プロセッサ間における稼動時間が平準化される。その結果、特定のプロセッサのみが早く劣化することが防止されるので、並列計算機全体の長寿命化が実現される。
【0008】
また、本発明に係る並列計算機は、プロセッサエレメントの各々には、当該プロセッサエレメントを一意に識別するための識別番号が付されており、データ割付手段は、識別番号に基づいてデータの入力割り付けを行う態様とすることができる。この場合、プロセッサエレメントに対するデータの入力割り付けが、プロセッサエレメントの識別番号に基づいて行われるので、各プロセッサエレメントの稼動時間を確実に平準化することができる。
【0009】
また、本発明に係る並列計算機は、データ割付手段は、プロセッサエレメントの各々の識別番号を変更することにより、データの入力割り付けを行う態様とすることができる。この場合、識別番号を変更することにより、プロセッサエレメントに対するデータの入力割り付けを行うので、各プロセッサエレメントの稼動時間を確実に平準化することができる。
【0010】
また、本発明に係る並列計算機は、プロセッサエレメントの各々の累積稼動時間を記録する累積稼動時間記録手段を更に備え、データ割付手段は、累積稼動時間に基づいてデータの入力割り付けを行う態様とすることができる。この場合、プロセッサエレメントに対するデータの入力割り付けが、各プロセッサエレメントの累積稼動時間に基づいて行われるので、各プロセッサエレメントの稼動時間を一層確実に平準化することができる。
【0011】
また、本発明に係る並列計算機は、データ割付手段は、累積稼動時間が短いプロセッサエレメントから順にデータの入力割り付けを行う態様とすることができる。この場合、各プロセッサの稼動時間をより一層確実に平準化することができる。
【0012】
さらに、本発明に係る並列計算機は、一のプロセッサエレメントのレジスタに格納された情報を読み出して、該情報を他のプロセッサエレメントのレジスタに提供するレジスタ情報読出手段を更に備える態様とすることができる。この場合、一のプロセッサエレメントのレジスタに格納された演算結果等を示す情報を、他のプロセッサエレメントのレジスタに提供することにより、プロセッサエレメント間において当該情報が共有されることとなる。このため、例えば一の命令の実行中であっても、最初にデータの入力割り付けが行われた一群のプロセッサエレメントと異なる他の一群のプロセッサエレメントに対して、データの入力割り付けを行うことができる。
【発明の効果】
【0013】
本発明によれば、長寿命化を実現可能な並列計算機を提供することができる。
【図面の簡単な説明】
【0014】
【図1】本発明に係る並列計算機の第1実施形態の構成を示すブロック図である。
【図2】図1に示された並列計算機の詳細を示すブロック図である。
【図3】図1に示された並列計算機の動作を示すフローチャートである。
【図4】PEと演算要等との関係を示す図である。
【図5】図1に示された並列計算機の効果を説明するための図である。
【図6】本発明に係る並列計算機の第2実施形態の構成を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
[第1実施形態]
【0016】
図1に示されるように、並列計算機100は、データを同時に入力して並列処理を可能とした複数(ここでは5つ)のプロセッサエレメント(以下、PEと称する)1〜5と、命令デコーダ6と、使用PE数検出装置7と、PE割付決定装置(データ割付手段)8と、実行PE選択装置9と、入力データPE対応変換装置10と、出力データPE対応変換装置11と、を備えている。このような並列計算機100は、所謂SIMD型並列計算機であり、例えば、画像処理等に好適に使用できる。
【0017】
命令デコーダ6は、PE1〜5で実行するための命令の入力を受け、入力された命令のデコードを行う。そして、命令デコーダ6は、デコードした命令を使用PE数検出装置7及び実行PE選択装置9へ出力する。
【0018】
使用PE数検出装置7は、命令デコーダ6からの命令の入力を受け、当該命令中で並列使用可能なPE数を検出する。そして、使用PE数検出装置7は、検出したPE数を示すデータをPE割付決定装置8へ送信する。
【0019】
PE割付決定装置8は、使用PE数検出装置7により検出されたPE数が、並列計算機100が備えるPEの数よりも小さいとき(即ち5未満のとき)、PE1〜5の各々の稼動時間が互いに等しくなるように、命令に含まれる演算要素及び入力データを割り付けるPEを、PE1〜5から決定(選択)する。そして、PE割付決定装置8は、選択結果を示す信号を実行PE選択装置9、入力データPE対応変換装置10及び出力データPE対応変換装置11へ出力する。
【0020】
実行PE選択装置9は、PE割付決定装置8から入力された信号に基づいて、信号PE割付決定装置8で選択されたPEに対して、命令デコーダ6から入力された命令に含まれる演算要素を与えると共にその実行を指示する。
【0021】
入力データPE対応変換装置10は、PE割付決定装置8から入力された信号に基づいて、外部から入力された入力データI,I,I,IをPE割付決定装置8で選択されたPEに対して入力する。
【0022】
出力データPE対応変換装置11は、PEから出力された演算処理済みのデータを、PE割付決定装置8から入力された信号に基づいて、入力データPE対応変換装置10が入力した入力データI,I,I,Iに対応付けて、出力データO,O,O,Oとして外部に出力する。
【0023】
続いて、図2を参照して並列計算機100の詳細について説明する。図2に示されるように、並列計算機100は、PE割付決定記録装置12と、クロック・電源制御装置21〜25と、をさらに備えている。
【0024】
PE割付決定記録装置12は、PE割付決定装置8が選択したPEのセットを記録する。具体的には、PE割付決定記録装置12は、PE割付決定装置8が演算要素及び入力データを割り付けるPEとしてPE1〜PE4のセットを選択した場合、このPE1〜PE4のセットがPE割付決定装置8により選択されたことを記録する。
【0025】
クロック・電源制御装置21〜25は、PE1〜5にそれぞれ接続されており、PE割付決定装置8により選択されなかった(即ち演算処理を行わない)PEのクロックや電源を停止する。
【0026】
ここで、入力データPE対応変換装置10は、マルチプレクサ31〜35を有している。マルチプレクサ31はPE1に、マルチプレクサ32はPE2に、マルチプレクサ33はPE3に、マルチプレクサ34はPE4に、マルチプレクサ35はPE5に、それぞれ接続されている。
【0027】
これらのマルチプレクサ31〜35の各々には、入力データI,I,I,Iが入力される。また、マルチプレクサ31〜35の各々には、PE割付決定装置8からのPEの選択結果を示す信号が入力される。これにより、入力データI,I,I,Iのうちの何れか一つが、PE1〜5のうちの何れか一つに入力されることとなる。
【0028】
また、出力データPE対応変換装置11は、デマルチプレクサ41〜45を有している。デマルチプレクサ41はPE1に、デマルチプレクサ42はPE2に、デマルチプレクサ43はPE3に、デマルチプレクサ44はPE4に、デマルチプレクサ45はPE5に、それぞれ接続されている。
【0029】
これらのデマルチプレクサ41〜45には、それぞれ、PE1〜5からの演算処理済みのデータが入力される。また、デマルチプレクサ41〜45の各々には、PE割付決定装置8からのPEの選択結果を示す信号が入力される。これにより、デマルチプレクサ41〜45では、PE1〜5からの演算処理済みのデータが、入力データPE対応変換装置10が入力した入力データI,I,I,Iと対応付けられて、出力データO,O,O,Oとして外部に出力される。
【0030】
次に、図3を参照して、並列計算機100の動作について説明する。まず、並列計算機100に接続された制御プロセッサ(不図示)において準備がされた入力データ及び命令が、並列計算機100に入力される(ステップS1)。入力データは入力データPE対応変換装置10(マルチプレクサ31〜35)に入力され、命令は命令デコーダ6に入力される。ここでは、入力データPE対応変換装置10に入力される入力データは、I,I,I,Iの4つとする。
【0031】
続いて、命令デコーダ6は、入力された命令のデコードを行い、デコードした命令を使用PE数検出装置7及び実行PE選択装置9へ出力する(ステップS2)。
【0032】
続いて、使用PE数検出装置7は、命令デコーダ6からの命令の入力を受け、当該命令中で並列使用可能なPE数を検出すると共に、検出したPE数を示す情報をPE割付決定装置8へ送信する(ステップS3)。ここでは、使用PE数検出装置7が検出したPE数は4とする(即ち、当該命令中で4つのPEを並列使用可能であるとする)。
【0033】
続いて、PE割付決定装置8は、命令デコーダ6から入力される命令に含まれる演算要素及び入力データを割り付けるPEをPE1〜5から選択し、選択結果を示す信号を、実行PE選択装置9、入力データPE対応変換装置10(マルチプレクサ31〜35)、出力データPE対応変換装置11(デマルチプレクサ41〜45)、及びクロック・電源制御装置21〜25に出力する(ステップS4)。
【0034】
ここでは、PE1〜5のうちのPE1、PE2、PE3及びPE4のセットが、PE割付決定装置8により選択されたものとする。したがって、例えば、PE1には入力データIが入力され、PE2には入力データIが入力され,PE3には入力データIが入力され、PE4には入力データIが入力されることとなる。このとき、PE5には入力データが入力されない。このため、クロック・電源制御装置25によってPE5のクロック及び電源が停止される。なお、PEと入力データとの対応は上記のものに限定されない。
【0035】
続いて、PE割付決定記録装置12は、PE割付決定装置8が選択したPEのセットを記録する(ステップS5)。即ち、PE割付決定記録装置12は、P1〜P5のうちP1〜P4のセットがPE割付決定装置8により選択されたことを記録する。
【0036】
続いて、実行PE選択装置9は、PE割付決定装置8から入力された信号に基づいて、信号PE割付決定装置8で選択されたPE1〜4に対して演算要素を与えると共にその実行を指示する(ステップS6)。
【0037】
そして、PE1〜PE4において、入力データI〜Iの演算処理が行われ、演算処理済みのデータがPE1〜PE4の各々から出力データPE対応変換装置11(デマルチプレクサ41〜44)へ出力される(ステップS7)。
【0038】
その後、出力データPE対応変換装置11(デマルチプレクサ41〜44)は、PE1〜4から入力される演算処理済みのデータを、入力データPE対応変換装置10が入力した入力データI,I,I,Iと対応付けて、出力データO,O,O,Oとして外部に出力する(ステップS8)。
【0039】
そして、並列計算機100は、新たな命令が命令デコーダ6に入力されると、上述したステップS1〜S8を再び実行する。
【0040】
このとき、上述したステップS4において、PE割付決定装置8は、演算要素及び入力データを割り付けるPEをPE1〜5から再び選択するが、その際、PE割付決定記録装置12にアクセスし、前回選択したPEのセットと異なるセットを選択する。例えば、PE割付決定記録装置12には、PE割付決定装置8がPE1〜4を前回選択したことが記録されているので、PE割付決定装置8は、例えば、今回はP2〜5を選択することができる。そして、PE割付決定記録装置12は、PE2〜5のセットがPE割付決定装置8により今回選択されたことを記録する。
【0041】
この一連の動作を、命令を実行する毎に行うと、PEと演算要素(F〜F)との対応は、図4に示されるようになる。即ち、命令が実行される毎に、稼動しないPEが、PE5、PE1、PE2、PE3と移り変わっていくこととなる。したがって、命令を繰り返し実行していくことで、図5(a)に示されるように、PE1〜PE5の稼動時間が平準化される(即ち、PE1〜PE5の各々の稼動時間が互いに等しくなる)。
【0042】
以上説明したように、並列計算機100では、PEの数よりも少ないデータを入力するときに、PE割付決定装置8が各PEの稼動時間が互いに等しくなるように入力データ及び演算要素の入力割り付けを行う(PEを選択する)。より具体的には、PEの数よりも少ないデータが入力される場合、PE割付決定装置8によって、稼動しないPEが順次入れ替えられていく。したがって、各PE間における稼動時間が平準化され、特定のPEのみが早く劣化することが防止されるので、図5(b)に示されるように、PE1〜5の寿命も平準化される。その結果、並列計算機100全体の長寿命化が実現される。
【0043】
なお、PE割付決定装置8によるPEの選択は、図4に示されるような順番に限定されない。命令を実行する毎に、前回と異なったPEのセットを選択すれば、命令を繰り返し実行していくことで、PE1〜PE5の稼動時間が平準化される。
【0044】
また、PE割付決定装置8は、例えばPE1〜5の各々に、当該PEを一意に識別するための識別番号を付して、その識別番号に基づいて入力データ及び演算要素の入力割り付けを行うこともできる。
【0045】
或いは、PE割付決定装置8は、PE1〜5に付された識別番号を、命令を実行する毎に変更することによって、入力データ及び演算要素の入力割り付けを行うこともできる。何れの場合においても、命令が実行される毎に異なるPEのセットが選択されることとなるので、各PE間における稼動時間が平準化される。
[第2実施形態]
【0046】
図6に示されるように、並列計算機200は、第1実施形態に係る並列計算機100に対して、レジスタ情報読出装置51〜55をさらに備える点で異なっている。
【0047】
これらのレジスタ情報読出装置は、一のPEのレジスタに格納された情報を読み出して、該情報を他のPEのレジスタに提供する。ここでは、レジスタ情報読出装置51は、PE5のレジスタ5rのレジスタに格納された情報を読み出して、読出した情報をPE1のレジスタ1rに提供する。また、レジスタ情報読出装置52は、PE1のレジスタ1rに格納された情報を読み出して、読み出した情報をPE2のレジスタ2rに提供する。また、レジスタ情報読出装置53は、PE2のレジスタ2rに格納された情報を読み出して、読み出した情報をPE3のレジスタ3rに提供する。また、レジスタ情報読出装置54は、PE3のレジスタ3rに格納された情報を読み出して、読み出した情報をPE4のレジスタ4rに提供する。さらに、レジスタ情報読出装置55は、PE4のレジスタ4rに格納された情報を読み出して、読み出した情報をPE5のレジスタ5rに提供する。
【0048】
これにより、PE1はPE5のレジスタに格納された情報を、PE2はPE1のレジスタに格納された情報を、PE3はPE2のレジスタに格納された情報を、PE4はPE3のレジスタに格納された情報を、PE5はPE4のレジスタに格納された情報を、それぞれ保持することとなる。なお、レジスタに格納された情報とは、各PEにおける演算結果を示す情報や、フラグに関する情報等を含む。
【0049】
したがって、並列計算機200によれば、隣接するPE同士がレジスタの情報を共有することとなるので、例えば一の命令の実行途中であっても、PE割付決定装置8によってPEのセットの変更を行うことができる(例えば、PE1〜4のセットからPE2〜5のセットへ変更できる)。つまり、より短い間隔でもってPEの割り付けを変更できる。その結果、PE割り付けの変更粒度が粗くなることが防止され、PEの稼動時間の平準化が確実且つ迅速に行える。
【0050】
以上説明した、並列計算機100及び並列計算機200は、P1〜5の各々の累積稼動時間を記録する累積稼動時間記録装置(累積稼動時間記録手段)をさらに備えることができる。この場合、並列計算機100及び並列計算機200においては、PE割付決定装置8が、この累積稼動時間記録装置に記録されたP1〜5の各々の累積稼動時間を参照し、例えば、累積稼動時間が少ない順にPEを選択する(入力データ及び演算要素の入力割り付けを行う)ことにより、各PEの稼動時間を一層確実に平準化することができる。
【0051】
なお、上述した各実施形態は本発明に係る並列計算機の一実施形態を説明したものであり、本発明に係る並列計算機は、本実施形態に記載したものに限られるものではない。本発明に係る並列計算機は、各請求項に記載した要旨を変更しないように本実施形態に係る並列計算機を変形し、又は他のものに適用したものであってもよい。
【符号の説明】
【0052】
1〜5…PE、8…PE割付決定装置、51〜55…レジスタ情報読出装置、100,200…並列計算機。

【特許請求の範囲】
【請求項1】
データを同時に入力して並列処理を可能とした複数のプロセッサエレメントと、
前記プロセッサエレメントの数よりも少ないデータを入力するときに、前記プロセッサエレメントの各々の稼動時間が互いに等しくなるように、前記プロセッサエレメントに対して前記データの入力割り付けを行うデータ割付手段と、
を備えることを特徴とする並列計算機。
【請求項2】
前記プロセッサエレメントの各々には、当該プロセッサエレメントを一意に識別するための識別番号が付されており、
前記データ割付手段は、前記識別番号に基づいて前記データの入力割り付けを行う、請求項1に記載の並列計算機。
【請求項3】
前記データ割付手段は、前記プロセッサエレメントの各々の前記識別番号を変更することにより、前記データの入力割り付けを行う、請求項2に記載の並列計算機。
【請求項4】
前記プロセッサエレメントの各々の累積稼動時間を記録する累積稼動時間記録手段を更に備え、
前記データ割付手段は、前記累積稼動時間に基づいて前記データの入力割り付けを行う、請求項1に記載の並列計算機。
【請求項5】
前記データ割付手段は、前記累積稼動時間が短い前記プロセッサエレメントから順に前記データの入力割り付けを行う、請求項4に記載の並列計算機。
【請求項6】
一の前記プロセッサエレメントのレジスタに格納された情報を読み出して、該情報を他の前記プロセッサエレメントのレジスタに提供するレジスタ情報読出手段を更に備える、請求項1〜5の何れか一項に記載の並列計算機。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate