JP2020167478A - 分散処理装置、分散処理方法、及びプログラム - Google Patents

分散処理装置、分散処理方法、及びプログラム Download PDF

Info

Publication number
JP2020167478A
JP2020167478A JP2019064751A JP2019064751A JP2020167478A JP 2020167478 A JP2020167478 A JP 2020167478A JP 2019064751 A JP2019064751 A JP 2019064751A JP 2019064751 A JP2019064751 A JP 2019064751A JP 2020167478 A JP2020167478 A JP 2020167478A
Authority
JP
Japan
Prior art keywords
data processing
circuit
processing unit
distributed
reconfigurable
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.)
Granted
Application number
JP2019064751A
Other languages
English (en)
Other versions
JP7287651B2 (ja
Inventor
英毅 入澤
Hideki Irisawa
英毅 入澤
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.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators 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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2019064751A priority Critical patent/JP7287651B2/ja
Publication of JP2020167478A publication Critical patent/JP2020167478A/ja
Application granted granted Critical
Publication of JP7287651B2 publication Critical patent/JP7287651B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

【課題】システムを停止することなく、安価でロバスト性を確保する、分散処理装置、分散処理方法、及びプログラムを提供する。【解決手段】分散処理装置1は、再構成可能回路4を有する、データ処理部2と、分散させたデータ処理それぞれに対応する回路情報5を用いて、複数のデータ処理部2それぞれに対して動的に回路を再構成させる制御をする、再構成制御部3とを有する。【選択図】図1

Description

本発明は、再構成可能回路を用いて分散処理をする、分散処理装置、分散処理方法、及びプログラムに関する。
近年、データ処理装置を並列に実行することにより、データ処理の高速化を実現する分散処理システムが提案さている。このような分散処理システムとして、例えば、Apache Hadoop(登録商標)などが知られている。
また、関連する技術として、特許文献1には、複数の計算デバイスにデータ処理を分散させ、データ処理時間を短縮させる、分散データベースシステムが開示されている。また、計算デバイスとして、FPGA(Field Programmable Gate Array)などを用いることが開示されている。具体的には、この分散データベースシステムによれば、計算デバイスの計算能力の違いに応じて、計算デバイス間においてデータ処理を分散する。
国際公開第2018/158819号
しかしながら、分散処理システムでは、ロバスト性を確保しなければならない。そのため、従来の分散処理システムにおいては、例えば、分散処理システムに、分散処理システムと同等の機能を有する予備機を設けることで、ロバスト性を確保している。ところが、分散処理システムに予備機を設けるため、分散処理システムは高価になる。
特許文献1には、分散データベースシステムのロバスト性の確保について開示されていない。また、特許文献1に開示の分散データベースシステムにおいて、ロバスト性を確保するためには、上述したような予備機を設けるなどの対策が必要となる。なお、予備機を稼働させる場合には、通例としてシステム全体を停止させる必要がある。
本発明の目的の一例は、システムを停止することなく、安価でロバスト性を確保する、分散処理装置、分散処理方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面における分散処理装置は、
再構成可能回路を有する、データ処理部と、
分散させたデータ処理それぞれに対応する回路情報を用いて、複数の前記データ処理部それぞれに対して動的に回路を再構成させる制御をする、再構成制御部と、
を有することを特徴とする。
また、上記目的を達成するため、本発明の一側面における分散処理方法は、
(a)分散させたデータ処理それぞれに対応する回路情報を、再構成可能回路を有するデータ処理部へ送信する、ステップと
(b)受信した前記回路情報を用いて、前記データ処理部それぞれに対して動的に回路を再構成する、ステップと、
を有することを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
(a)分散させたデータ処理それぞれに対応する回路情報を、再構成可能回路を有するデータ処理部へ送信する、ステップと
(b)受信した前記回路情報を用いて、前記データ処理部それぞれに対して動的に回路を再構成する、ステップと、
を実行させることを特徴とする。
以上のように本発明によれば、システムを停止することなく、安価でロバスト性を確保することができる。
図1は、分散処理装置の一例を示す図である。 図2は、具体的な分散処理装置の一例を示す図である。 図3は、変形例2の説明をするための図である。 図4は、変形例4の説明をするための図である。 図5は、分散処理装置の動作の一例を示す図である。 図6は、変形例1における分散処理装置の動作の一例を示す図である。 図7は、変形例2における分散処理装置の動作の一例を示す図である。 図8は、変形例3における分散処理装置の動作の一例を示す図である。 図9は、変形例4における分散処理装置の動作の一例を示す図である。 図10は、再構成制御部を実現するコンピュータの一例を示すブロック図である。
(実施の形態)
以下、本発明の実施の形態について、図1から図10を参照しながら説明する。
[装置構成]
最初に、図1を用いて、本実施の形態における分散処理装置1の構成について説明する。図1は、分散処理装置の一例を示す図である。
図1に示す分散処理装置1は、安価でロバスト性を確保することができる装置(又はシステム)また、図1に示すように、分散処理装置1は、データ処理部2(2a、2b、2c)と、再構成制御部3とを有する。
このうち、データ処理部2は、再構成可能回路4(4a、4b、4c)を有する。再構成制御部3は、分散させたデータ処理(処理a、b、c)それぞれに対応する回路情報5(5a、5b、5c)を用いて、複数のデータ処理部2a、2b、2cそれぞれに動的に回路を再構成させる制御をする。
データ処理部2は、データ処理部2に対応する処理を実行する。図1の例では、データ処理部2aが処理aを実行し、データ処理部2bが処理bを実行し、データ処理部2cが処理cを実行する。処理a、b、cは、例えば、従来一つの再構成可能回路が実行するデータ処理を、複数の再構成可能回路4a、4b、4cで実行できるように、データ処理を分散させた処理である。
また、データ処理部2は、例えば、再構成可能回路4を有するFPGAなどのプログラ
マブルなデバイス(回路再構成装置)が設けられている。なお、回路再構成装置は、動的に回路を書き換えるパーシャル・リコンフィギュレーションが可能な動的再構成可能回路である。
図1の例では、再構成可能回路4aに処理aを実行するための回路が再構成され、再構成可能回路4bに処理bを実行するための回路が再構成され、再構成可能回路4cに処理cを実行するための回路が再構成される。
再構成制御部3は、処理aに対応する回路を再構成するために用いる回路情報5a、処理bに対応する回路を再構成するために用いる回路情報5b、処理cに対応する回路を再構成するために用いる回路情報5cを、対応するデータ処理部2a、2b、2cそれぞれに送信する。
回路情報5a、5b、5cは、図1の例では、再構成制御部3に設けられた記憶部されているが、回路情報5a、5b、5cは、分散処理装置1の外部に設けた記憶装置に記憶してもよい。
具体的には、再構成制御部3は、あらかじめ回路情報5と関連付けられたデータ処理部2に回路情報5を送信する。続いて、データ処理部2は、再構成制御部3から回路情報5を受信した後、再構成可能回路4に受信した回路情報5に対応する回路を再構成する。
このように、本実施の形態においては、分散させたデータ処理それぞれに対応する回路情報5を用いて、複数のデータ処理部2それぞれに対して動的に回路を再構成できるので、故障が生じた場合、従来よりも安価でロバスト性を確保することができる。
その理由は、従来においては、故障が生じた場合、分散処理装置と同等の機能を有する高価な予備機へと切り替えをしていた。しかしながら、本実施の形態においては、故障が生じた場合、故障したデータ処理部2だけを交換すればよいので、安価でロバスト性を確保することができる。言い換えれば、データ処理部2に、容量の小さい安価なFPGAなどのプログラマブルなデバイスを採用できるため、安価でロバスト性も確保することができる。また、安価で分散処理装置1を構築できる。
また、予備機を用いた場合には、通例としてシステム全体を停止させる必要であるが、本実施の形態においては、予備機を用いず、更にシステムを停止させずに、故障したデータ処理部2だけを交換ができる。
[システム構成]
続いて、図2を用いて、本実施の形態における分散処理装置1の構成をより具体的に説明する。図2は、具体的な分散処理装置の一例を示す図である。
図2に示すように、本実施の形態における分散処理装置1は、データ処理部2(2a、2b、2c)と、再構成制御部3とに加え、予備データ処理部2dを有する。また、データ処理部2と再構成制御部3とは、ネットワーク21を介して接続されている。
データ処理部2a、2b、2c、予備データ処理部2dそれぞれは、図1に示すように通信部22(22a、22b、22c、22d)を有する。再構成制御部3は、通信部23を有する。再構成制御部3は、更に回路情報5dを予備データ処理部2dへ送信する。
データ処理部2は、再構成可能回路4a、4b、4cを用いて処理a、b、cを実行する。具体的には、データ処理部2aは、まず、再構成制御部3から通信部23を介して送
信された回路情報5aを、通信部22aを用いて受信する。続いて、データ処理部2aは、通信部22aから回路情報5aを取得し、回路情報5aに基づいて、再構成可能回路4aに処理aを実行するための回路を再構成する。
データ処理部2b、2cについても、データ処理部2は、再構成制御部3から通信部23を介して送信された回路情報5b、5cを用いて、再構成可能回路4b、4cに処理b、cを実行する回路を再構成する。
なお、図2の例において、データ処理部2の個数は3個であるが、データ処理部2の個数は3個に限定されるものではない。
予備データ処理部2dは、再構成可能回路4dを用いて処理dを実行する。再構成可能回路4dは、例えば、FPGAなどのプログラマブルなデバイス(回路再構成装置)を有する回路である。具体的には、予備データ処理部2dは、まず、再構成制御部3から通信部23を介して送信された回路情報5dを、通信部22dを用いて受信する。
続いて、予備データ処理部2dは、通信部22dから回路情報5dを取得して、回路情報5dに基づいて処理dを実行する回路を再構成する。処理dは、例えば、処理a、b、cいずれかと同じ処理である。
なお、図2の例において、予備データ処理部2dの個数は1個であるが、予備データ処理部2dの個数は複数でもよい。
再構成制御部3は、処理に対応する回路情報5を用いて、データ処理部2が有する再構成可能回路4に対して動的に回路を再構成させる。具体的には、再構成制御部3は、データ処理部2aに処理aに対応する回路を再構成する場合、通信部23を介して回路情報5aを、データ処理部2aの通信部22aに送信する。
データ処理部2b、2c、2dについても、再構成制御部3は、回路情報5b、5c、5dを、再構成制御部3から通信部23を介して、データ処理部2b、2c、予備データ処理部2dの通信部22b、22c、22dに送信する。
[変形例1]
変形例1の分散処理装置においては、データ処理部2のいずれかが故障した場合、故障したデータ処理部2の替わりに、予備データ処理部2dを用いる。
再構成制御部3は、故障を検出したデータ処理部2から、故障を検出したことを表す故障検出情報を取得した場合、故障したデータ処理部2を選択し、選択した(故障した)データ処理部2に再構成されている回路と同等の回路を、予備データ処理部2dに再構成させる。
具体的には、故障検出情報を取得した場合、再構成制御部3は、故障したデータ処理部2に再構成されている回路を、予備データ処理部2dに再構成するために、故障を検出したデータ処理部2に再構成されている回路に対応する回路情報5を、通信部23を介して予備データ処理部2dの通信部22dへ送信する。
続いて、予備データ処理部2dは、通信部22dが受信した、故障を検出したデータ処理部2の再構成可能回路4に再構成されている回路に対応する回路情報5に基づいて、再構成可能回路4dに回路を再構成する。
図2の構成において、例えば、再構成制御部3が、データ処理部2aの故障を検出した場合、データ処理部2aに再構成されている回路を、予備データ処理部2dの再構成可能回路4dに再構成するために、データ処理部2aに対応する回路情報5aを、通信部23を介して予備データ処理部2dの通信部22dへ送信する。
続いて、予備データ処理部2dは、通信部22dが受信した回路情報5aに基づいて、再構成可能回路4dに処理aを実行する回路を再構成する。そして、処理aを実行する回路が再構成可能回路4dに再構成された後、データ処理部2aの動作を停止させ、予備データ処理部2dを起動する。すなわち、予備データ処理部2dがデータ処理部2aを代替する。
なお、予備データ処理部2dがデータ処理部2aを代替された後、利用者は、故障したデータ処理部2aを新しいデータ処理部2aに取り換える。そして、分散処理装置1を当初の運用状態に戻す。
このように、変形例1においては、分散処理装置1に、更に再構成可能回路4を有する予備データ処理部2dを設けることで、データ処理部2a、2b、2cのいずれかが故障した場合でも、故障したデータ処理部2と同等の回路を、予備データ処理部2dに再構成できる。そのため、故障したデータ処理部2を予備データ処理部2dへと容易に切り替えることができる。
更に、故障検出後から回路が再構成されるまでの短時間において、故障したデータ処理部2を予備データ処理部2dへと切り替えられるので、分散処理装置1は、データ処理性能の低下を最小限に抑制できる。
なお、上述したデータ処理部2の故障検出は、故障検出回路を用いて行う。具体的には、再構成制御部3は、データ処理部2のいずれかに、再構成可能回路4の故障を検出する故障検出回路を再構成する。なお、故障検出回路は、FPGAなどのプログラマブルなデバイスの故障が検出できる回路であればよい。
[変形例2]
変形例2の分散処理装置においては、データ処理部2及び予備データ処理部2dの故障検出(診断)を行う場合について説明する。
変形例2においては、図2に示す回路情報5dを、再構成可能回路4に故障検出回路を再構成するための情報(処理d)とする。再構成制御部3は、あらかじめ設定した日時に、あらかじめ設定した順において、データ処理部2及び予備データ処理部2dを選択して、選択したデータ処理部2、予備データ処理部2dの再構成可能回路4に故障検出回路を再構成する。
具体的には、変形例2では、図2に示す回路情報5dを、再構成可能回路4に故障検出回路を再構成するための情報(処理d)とする。
図3は、変形例2を説明するための図である。再構成制御部3は、診断1を実行する日時になると、データ処理部2及び予備データ処理部2dに診断を実行させる。
診断1では、再構成制御部3は、まず、予備データ処理部2dに回路情報5aを送信する。その後、予備データ処理部2dは、受信した回路情報5aに基づいて、再構成可能回路4dに処理aの回路を再構成する。
続いて、データ処理部2aから予備データ処理部2dに切り替わり、データ処理が継続して行われる。続いて、再構成制御部3は、データ処理部2aに回路情報5dを送信する。その後、データ処理部2aは、受信した回路情報5dに基づいて、再構成可能回路4aに故障検出回路を再構成する。
続いて、データ処理部2aは、再構成可能回路4aの診断を行い、故障が検出された場合、再構成制御部3へ故障検出情報を送信する。故障が検出さない場合、診断1を終了して、データ処理部2aを元の状態、すなわち処理aを実行可能な状態に戻し、次の診断2を行う。
続いて、診断2では、データ処理部2bの診断をし、診断3では、データ処理部2cの診断をし、診断4では、予備データ処理部2dの診断をする。なお、データ処理部2及び予備データ処理部2dの診断の順番は限定されるものではない。
このように、変形例2においては、予備データ処理部2dを用いて、データ処理を継続しながら、故障検出を実行できる。
[変形例3]
変形例3の分散処理装置においては、分散処理装置に新たな処理を追加する場合について説明する。
変形例3においては、図2に示す回路情報5dを、再構成可能回路4に新たな処理を実行するための回路を再構成するために用いる情報(処理d)とする。再構成制御部3は、予備データ処理部2dを選択して、選択した予備データ処理部2dの再構成可能回路4に新たな処理を実行する回路を再構成する。
変形例3においては、再構成制御部3は、まず、予備データ処理部2dに回路情報5dを送信する。その後、予備データ処理部2dは、受信した回路情報5dに基づいて、再構成可能回路4dに新たな処理を実行する回路を再構成する。
具体的には、再構成制御部3は、新たな処理に対応する回路を、予備データ処理部2dに再構成するために、新たな処理に対応する回路に対応する回路情報5dを、通信部23を介して予備データ処理部2dの通信部22dへ送信する。
続いて、予備データ処理部2dは、通信部22dが受信した新たな処理に対応する回路に対応する回路情報5dに基づいて、再構成可能回路4dに新たな処理に対応する回路を再構成する。
このように、変形例3においては、分散処理装置1に再構成可能回路4を有する予備データ処理部2dを設けることで、予備データ処理部2dに新たな処理を容易に追加できる。
[変形例4]
変形例4においては、上述した実施形態、変形例1、2、3において説明した、再構成可能回路4として、再構成可能な領域の一部を、動的に書き換えるパーシャル・リコンフィギュレーションが可能な動的再構成可能回路を用いる。
図4を参照して具体的に説明する。図4は、変形例4の説明をするための図である。例えば、処理aを更に処理a1、a2、a3に分割でき、処理aが処理a1、a2、a3を順に実行する処理であり、動的再構成可能回路が41a、41bの領域を有している場合
について説明をする。
データ処理部2aは、状態1おいて、処理a1、a2に対応する回路情報を取得し、取得した回路情報に基づいて、再構成可能回路4の領域41aに処理a1に対応する回路を再構成し、領域41bに処理a2に対応する回路を再構成する。
続いて、データ処理部2aは、状態2おいて、処理a3に対応する回路情報を取得し、処理a1の処理が終了すると、取得した回路情報に基づいて、領域41aに処置a3に対応する回路を再構成する。
続いて、データ処理部2aは、処理a1に対応する回路情報を取得し、上述した状態1のように、領域41aに処理a1の回路を再構成し、領域41bに処理a2の回路を再構成する。このようにして処理a1、a2、a3の処理を繰り返し実行することで、処理aを実行する。
また、上述した処理b、c、dについても、分割可能な処理であれば、上述した処理と同様に処理を行うことが可能である。
このように、変形例4においては、再構成可能回路4に動的再構成可能回路を用いることで、更に再構成可能回路4の回路規模を小さくすることができる。その理由は、分散された処理を更に分割して、分割した回路に対応する回路を、必要に応じて動的に再構成することができるからである。
なお、図4の例では、領域の個数を2個にしたが、2個に限定されるものでなく、2個以上でもよい。
[装置動作]
次に、本発明の実施の形態、変形例1から4における分散処理装置1の動作について図5、図6、図7、図8、図9を用いて説明する。図5は、分散処理装置の動作の一例を示す図である。図6は、変形例1における分散処理装置の動作の一例を示す図である。図7は、変形例2における分散処理装置の動作の一例を示す図である。図8は、変形例3における分散処理装置の動作の一例を示す図である。図9は、変形例4における分散処理装置の動作の一例を示す図である。
以下の説明においては、適宜図1から図4を参酌する。また、本実施の形態では、分散処理装置を動作させることによって、分散処理方法が実施される。よって、本実施の形態における分散処理方法の説明は、以下の分散処理装置の動作説明に代える。
図5に示すように、最初に、再構成制御部3は、分散させたデータ処理それぞれに対応する回路情報5を、再構成可能回路4を有するデータ処理部2へ送信する(ステップA1)。具体的には、ステップA1において、再構成制御部3は、図1に示すように、あらかじめ回路情報5と関連付けられたデータ処理部2に回路情報5を送信する。
再構成制御部3は、例えば、処理aに対応する回路を再構成するために用いる回路情報5a、処理bに対応する回路を再構成するために用いる回路情報5b、処理cに対応する回路を再構成するために用いる回路情報5cを、回路情報5a、5b、5cに対応するデータ処理部2a、2b、2cに送信する。
次に、再構成制御部3は、送信した回路情報5を用いて、データ処理部2それぞれに対して動的に回路を再構成させる(ステップA2)。具体的には、ステップA2において、
再構成制御部3は、データ処理部2が再構成制御部3から回路情報5を受信した後、データ処理部2の再構成可能回路4に、受信した回路情報5に対応する回路を再構成させる制御をする。
図1に示すように、再構成可能回路4aに処理aを実行するための回路が再構成され、再構成可能回路4bに処理bを実行するための回路が再構成され、再構成可能回路4cに処理cを実行するための回路が再構成される。
このように、分散させたデータ処理それぞれに対応する回路情報5を用いて、複数のデータ処理部2それぞれに対して動的に回路を再構成できるので、故障が生じた場合、従来よりも安価でロバスト性を確保することができる。
その理由は、従来においては、故障が生じた場合、分散処理装置と同等の機能を有する高価な予備機へと切り替えをしていた。しかしながら、本実施の形態においては、故障が生じた場合、故障したデータ処理部2だけを交換すればよいので、安価でロバスト性も確保することができる。言い換えれば、データ処理部2に、容量の小さい安価なFPGAなどのプログラマブルなデバイスを採用できるため、安価でロバスト性も確保することができる。また、安価で分散処理装置1を構築できる。
[変形例1]
変形例1における分散処理装置1の動作について説明をする。変形例1においては、データ処理部2のいずれかが故障した場合、故障したデータ処理部2の替わりに、予備データ処理部2dを用いる。
図6に示すように、最初に、再構成制御部3は、故障検出情報を取得する(ステップB1)。具体的には、ステップB1において、再構成制御部3は、故障を検出したデータ処理部2から、故障を検出したことを表す故障検出情報を取得する。続いて、再構成制御部3は、故障したデータ処理部2を選択する(ステップB2)。
続いて、再構成制御部3は、故障したデータ処理部2に再構成されている回路に対応する回路情報5を、予備データ処理部2dへ送信する(ステップB3)。具体的には、ステップB3において、再構成制御部3は、故障を検出したデータ処理部2に再構成されている回路に対応する回路情報5を、通信部23を介して予備データ処理部2dの通信部22dへ送信する。
続いて、予備データ処理部2dは、故障を検出したデータ処理部2の再構成可能回路4に再構成されている回路に対応する回路情報5を受信すると、受信した回路情報5に基づいて再構成可能回路4dに回路を再構成する(ステップB4)。
このように、変形例1においては、分散処理装置1に、更に再構成可能回路4を有する予備データ処理部2dを設けることで、データ処理部2a、2b、2cのいずれかが故障した場合でも、故障したデータ処理部2と同等の回路を、予備データ処理部2dに再構成できる。
そのため、故障したデータ処理部2を予備データ処理部2dへと容易に切り替えることができる。更に、故障検出後から回路が再構成されるまでの短時間において、故障したデータ処理部2を予備データ処理部2dへと切り替えられるので、分散処理装置1は、データ処理性能の低下を最小限に抑制できる。
なお、データ処理部2の故障検出は、故障検出回路を用いて行う。具体的には、再構成
制御部3は、データ処理部2のいずれかに、再構成可能回路4の故障を検出する故障検出回路を再構成する。なお、故障検出回路は、FPGAなどのプログラマブルなデバイスの故障が検出できる回路であればよい。
[変形例2]
変形例2における分散処理装置1の動作について説明をする。変形例2においては、データ処理部2及び予備データ処理部2dの故障検出(診断)を行う場合について説明する。
図7に示すように、最初に、再構成制御部3は、診断日時を取得する(ステップC1)。具体的には、ステップC1において、再構成制御部3は、あらかじめ設定した日時(診断日時)になると診断(故障検出)を開始する。
続いて、再構成制御部3は、データ処理部2又は予備データ処理部2dを選択する(ステップC2)。続いて、再構成制御部3は、選択したデータ処理部2に再構成されている回路に対応する回路情報5を、予備データ処理部2dへ送信する(ステップC3)。続いて、予備データ処理部2dは、選択したデータ処理部2に再構成されている回路を予備データ処理部2dの再構成可能回路4dに再構成する(ステップC4)。
続いて、再構成制御部3は、故障検出回路に対応する回路情報を選択したデータ処理部2へ送信する(ステップC5)。続いて、再構成制御部3は、選択したデータ処理部2に、故障検出回路を再構成する(ステップC6)。
続いて、選択したデータ処理部2が、再構成した故障検出回路を用いて診断(故障検出)を行う(ステップC7)。選択したデータ処理部2に故障がある場合(ステップC7:Yes)、ステップC8に移行して、利用者に故障を通知する。また、選択したデータ処理部2に故障がない場合(ステップC7:No)、ステップC9に移行する。
続いて、再構成制御部3は、状態を初期状態に戻す(ステップC9)。具体的には、ステップC9において、再構成制御部3は、データ処理部2及び予備データ処理部2dの再構成可能回路4の状態を、診断開始時の状態に戻す。
続いて、再構成制御部3は、全ての診断(故障検出)が終了した場合(ステップC10:Yes)、データ処理を終了する。まだ、未診断のデータ処理部2又は予備データ処理部2dがある場合(ステップC10:No)、ステップC2に移行する。そして、ステップC2において、未診断のデータ処理部2又は予備データ処理部2dを選択する。
上述したステップC1からC9の処理を繰り返すことで、データ処理部2及び予備データ処理部2dの診断を行う。
このように、変形例2においては、予備データ処理部2dを用いて、データ処理を継続しながら、故障検出を実行できる。
[変形例3]
変形例3における分散処理装置1の動作について説明をする。変形例3においては、分散処理装置1に新たな処理を追加する場合について説明する。
図8に示すように、最初に、再構成制御部3は、新たな処理に対応する回路情報5を、再構成可能回路4を有するデータ処理部2へ送信する(ステップD1)。具体的には、ステップD1において、再構成制御部3は、図2に示すように、予備データ処理部2dに、
新たな処理に対応する回路情報5dを送信する。
次に、予備データ処理部2dは、受信した回路情報5dを用いて、新たな処理に対応する回路を再構成させる(ステップD2)。具体的には、ステップD2において、予備データ処理部2dは、再構成制御部3から回路情報5を受信した後、予備データ処理部2dの再構成可能回路4dに、受信した回路情報5dに対応する回路を再構成する。
このように、変形例3においては、分散処理装置1に再構成可能回路4を有する予備データ処理部2dを設けることで、予備データ処理部2dに新たな処理を容易に追加できる。
[変形例4]
変形例4における分散処理装置1の動作について説明をする。変形例4においては、上述した実施形態、変形例1、2、3において説明した、再構成可能回路4として、動的再構成可能回路を用いる。具体的には、再構成可能回路4として、再構成可能な領域の一部を、動的に書き換えるパーシャル・リコンフィギュレーションが可能な動的再構成可能回路を用いる。
図9に示すように、最初に、再構成制御部3は、分散した処理を更に分割した処理を選択する(ステップE1)。続いて、再構成制御部3は、分割した処理に対応する領域を選択する(ステップE2)。続いて、再構成制御部3は、分割した処理に対応する回路情報5を、再構成可能回路4(動的再構成可能回路)を有するデータ処理部2へ送信する(ステップE3)。続いて、データ処理部2又は予備データ処理部2dは、受信した回路情報5を用いて、選択された領域に、分割した処理に対応する回路を再構成する(ステップE4)。
なお、上述したステップE1からE4の処理を繰り返すことで、分散された処理を実行する。
このように、変形例4においては、再構成可能回路4に、再構成可能な領域の一部を、動的に書き換え可能な動的再構成可能回路を用いることで、更に再構成可能回路4の回路規模を小さくすることができる。その理由は、分散された処理を更に分割して、分割した回路に対応する回路を、必要に応じて動的に再構成することができるからである。
[本実施の形態の効果]
以上のように本実施の形態によれば、分散させたデータ処理それぞれに対応する回路情報5を用いて、複数のデータ処理部2それぞれに対して動的に回路を再構成できるので、故障が生じた場合、従来よりも安価でロバスト性を確保することができる。
その理由は、従来においては、故障が生じた場合、分散処理装置と同等の機能を有する高価な予備機へと切り替えをしていた。しかしながら、本実施の形態においては、故障が生じた場合、故障したデータ処理部2だけを交換すればよいので、安価でロバスト性を確保することができる。言い換えれば、データ処理部2に、容量の小さい安価なFPGAなどのプログラマブルなデバイスを採用できるため、安価でロバスト性も確保することができる。また、安価で分散処理装置1を構築できる。
また、予備機を用いた場合には、通例としてシステム全体を停止させる必要であるが、本実施の形態においては、予備機を用いず、更にシステムを停止させずに、故障したデータ処理部2だけを交換ができる。
また、変形例1によれば、分散処理装置1に、更に再構成可能回路4を有する予備データ処理部2dを設けることで、データ処理部2a、2b、2cのいずれかが故障した場合でも、故障したデータ処理部2と同等の回路を、予備データ処理部2dに再構成できる。
そのため、故障したデータ処理部2を予備データ処理部2dへと容易に切り替えることができる。更に、故障検出後から回路が再構成されるまでの短時間において、故障したデータ処理部2を予備データ処理部2dへと切り替えられるので、分散処理装置1は、データ処理性能の低下を最小限に抑制できる。
また、変形例2によれば、予備データ処理部2dを用いて、データ処理を継続しながら、故障検出を実行できる。
また、変形例3によれば、分散処理装置1に再構成可能回路4を有する予備データ処理部2dを設けることで、予備データ処理部2dに新たな処理を容易に追加できる。
また、変形例4によれば、再構成可能回路4に動的再構成可能回路を用いることで、更に再構成可能回路4の回路規模を小さくすることができる。その理由は、分散された処理を更に分割して、分割した回路に対応する回路を、必要に応じて動的に再構成することができるからである。
更に、データ処理部2及び予備データ処理部2dに採用されたFPGAなどのプログラマブルなデバイスが製造中止などの原因により入手できなくなった場合でも、安価で容易に、異なるFPGAなどのプログラマブルなデバイスを採用したデータ処理部2に交換できる。その理由は、データ処理部2には、小規模な回路を再構成可能回路4に再構成するので、異なるFPGAなどのプログラマブルなデバイスを用いた場合でも、回路設計に要する時間を短縮できるからである。
[プログラム]
本発明の実施の形態におけるプログラムは、コンピュータに、図5に示すステップA1からA2、又は図6に示すステップB1からB4、又は図7に示すステップC1からC10、又は図8に示すステップD1からD2、又は図9に示すステップE1からE4、又はそれらを二つ以上組み合わせて実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における分散処理装置と分散処理方法とを実現することができる。この場合、コンピュータのプロセッサは、再構成制御部3として機能し、処理を行なう。
[物理構成]
ここで、実施の形態、変形例1、2、3、4におけるプログラムを実行することによって、分散処理装置1の再構成制御部3を実現するコンピュータについて図10を用いて説明する。図10は、本発明の実施の形態における再構成制御部を実現するコンピュータの一例を示すブロック図である。
図10に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていてもよい。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリなどの半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記録媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
[付記]
以上の実施の形態に関し、更に以下の付記を開示する。上述した実施の形態の一部又は全部は、以下に記載する(付記1)から(付記15)により表現することができるが、以下の記載に限定されるものではない。
(付記1)
再構成可能回路を有する、データ処理部と、
分散させたデータ処理それぞれに対応する回路情報を用いて、複数の前記データ処理部それぞれに対して動的に回路を再構成させる制御をする、再構成制御部と、
を有することを特徴とする分散処理装置。
(付記2)
付記1に記載の分散処理装置であって、
更に、再構成可能回路を有する、予備データ処理部を有し、
前記再構成制御部は、複数の前記データ処理部と別に設けた前記予備データ処理部に前記回路情報に対応する回路を再構成させる
ことを特徴とする分散処理装置。
(付記3)
付記2に記載の分散処理装置であって、
前記再構成制御部は、前記データ処理部、又は前記予備データ処理部に、前記再構成可能回路の故障を検出する故障検出回路を再構成させる
ことを特徴とする分散処理装置。
(付記4)
付記3に記載の分散処理装置であって、
前記再構成制御部は、あらかじめ設定した日時に、あらかじめ設定した順に、前記データ処理部及び前記予備データ処理部を選択して、前記故障検出回路を再構成させる
ことを特徴とする分散処理装置。
(付記5)
付記1から4のいずれか一つに記載の分散処理装置であって、
前記再構成可能回路は、動的再構成可能回路である
ことを特徴とする分散処理装置。
(付記6)
(a)分散させたデータ処理それぞれに対応する回路情報を、再構成可能回路を有するデータ処理部へ送信する、ステップと
(b)受信した前記回路情報を用いて、前記データ処理部それぞれに対して動的に回路を再構成する、ステップと、
を有することを特徴とする分散処理方法。
(付記7)
付記6に記載の分散処理方法であって、
(c)複数の前記データ処理部と別に設けた予備データ処理部に前記回路情報に対応する回路を再構成する、ステップを有する
ことを特徴とする分散処理方法。
(付記8)
付記7に記載の分散処理方法であって、
(d)前記データ処理部、又は前記予備データ処理部に、前記再構成可能回路の故障を検出する故障検出回路を再構成する、ステップを有する
ことを特徴とする分散処理方法。
(付記9)
付記8に記載の分散処理方法であって、
前記(d)のステップにおいて、あらかじめ設定した日時に、あらかじめ設定した順に、前記データ処理部及び前記予備データ処理部を選択して、前記故障検出回路を再構成する
ことを特徴とする分散処理方法。
(付記10)
付記6から9のいずれか一つに記載の分散処理方法であって、
前記再構成可能回路は、動的再構成可能回路である
ことを特徴とする分散処理方法。
(付記11)
コンピュータに、
(a)分散させたデータ処理それぞれに対応する回路情報を、再構成可能回路を有するデータ処理部へ送信する、ステップと
(b)受信した前記回路情報を用いて、前記データ処理部それぞれに対して動的に回路を再構成する、ステップと、
を実行させることを特徴とするプログラム。
(付記12)
付記11に記載のプログラムであって、
前記コンピュータに、
(c)複数の前記データ処理部と別に設けた予備データ処理部に前記回路情報に対応する回路を再構成する、ステップを実行させる
ことを特徴とするプログラム。
(付記13)
付記11又は12に記載のプログラムであって、
前記コンピュータに、
(d)前記データ処理部、又は前記予備データ処理部に、前記再構成可能回路の故障を検出する故障検出回路を再構成する、ステップを実行させる
ことを特徴とするプログラム。
(付記14)
付記13に記載のプログラムであって、
前記(d)のステップにおいて、あらかじめ設定した日時に、あらかじめ設定した順に、前記データ処理部及び前記予備データ処理部を選択して、前記故障検出回路を再構成する
ことを特徴とするプログラム。
(付記15)
付記11から14のいずれか一つに記載のプログラムであって、
前記再構成可能回路は、動的再構成可能回路である
ことを特徴とするプログラム。
以上のように本発明によれば、安価でロバスト性を確保することができる。本発明は、複数のプログラマブルなデバイスを用いて分散処理を行う分野において有用である。
1 分散処理装置
2、2a、2b、2c データ処理部
2d 予備データ処理部
3 再構成制御部
4、4a、4b、4c、4d 再構成可能回路
5、5a、5b、5c、5d 回路情報
21 ネットワーク
22a、22b、22c、22d 通信部
23 通信部
41a、41b 領域
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

Claims (7)

  1. 再構成可能回路を有する、データ処理部と、
    分散させたデータ処理それぞれに対応する回路情報を用いて、複数の前記データ処理部それぞれに対して動的に回路を再構成させる制御をする、再構成制御部と、
    を有することを特徴とする分散処理装置。
  2. 請求項1に記載の分散処理装置であって、
    更に、再構成可能回路を有する、予備データ処理部を有し、
    前記再構成制御部は、複数の前記データ処理部と別に設けた前記予備データ処理部に前記回路情報に対応する回路を再構成させる
    ことを特徴とする分散処理装置。
  3. 請求項2に記載の分散処理装置であって、
    前記再構成制御部は、前記データ処理部、又は前記予備データ処理部に、前記再構成可能回路の故障を検出する故障検出回路を再構成させる
    ことを特徴とする分散処理装置。
  4. 請求項3に記載の分散処理装置であって、
    前記再構成制御部は、あらかじめ設定した日時に、あらかじめ設定した順に、前記データ処理部及び前記予備データ処理部を選択して、前記故障検出回路を再構成させる
    ことを特徴とする分散処理装置。
  5. 請求項1から4のいずれか一つに記載の分散処理装置であって、
    前記再構成可能回路は、動的再構成可能回路である
    ことを特徴とする分散処理装置。
  6. (a)分散させたデータ処理それぞれに対応する回路情報を、再構成可能回路を有するデータ処理部へ送信する、ステップと
    (b)受信した前記回路情報を用いて、前記データ処理部それぞれに対して動的に回路を再構成する、ステップと、
    を有することを特徴とする分散処理方法。
  7. コンピュータに、
    (a)分散させたデータ処理それぞれに対応する回路情報を、再構成可能回路を有するデータ処理部へ送信する、ステップと
    (b)受信した前記回路情報を用いて、前記データ処理部それぞれに対して動的に回路を再構成する、ステップと、
    を実行させることを特徴とするプログラム。
JP2019064751A 2019-03-28 2019-03-28 分散処理装置、分散処理方法、及びプログラム Active JP7287651B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019064751A JP7287651B2 (ja) 2019-03-28 2019-03-28 分散処理装置、分散処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019064751A JP7287651B2 (ja) 2019-03-28 2019-03-28 分散処理装置、分散処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020167478A true JP2020167478A (ja) 2020-10-08
JP7287651B2 JP7287651B2 (ja) 2023-06-06

Family

ID=72715290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019064751A Active JP7287651B2 (ja) 2019-03-28 2019-03-28 分散処理装置、分散処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7287651B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005136956A (ja) * 2003-10-08 2005-05-26 Toshiba Corp 論理回路装置、動作電圧変更方法
JP2005328462A (ja) * 2004-05-17 2005-11-24 Toshiba Corp プログラマブル論理回路を用いる汎用論理回路装置
JP2009140353A (ja) * 2007-12-07 2009-06-25 Toshiba Corp 再構成可能な集積回路、及びこれを用いた自己修復システム
JP2012204898A (ja) * 2011-03-24 2012-10-22 Nec Corp Fpga、fpgaを用いた回路再構成システム、方法およびプログラム
JP2017120966A (ja) * 2015-12-28 2017-07-06 株式会社リコー 情報処理装置、情報処理方法およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005136956A (ja) * 2003-10-08 2005-05-26 Toshiba Corp 論理回路装置、動作電圧変更方法
JP2005328462A (ja) * 2004-05-17 2005-11-24 Toshiba Corp プログラマブル論理回路を用いる汎用論理回路装置
JP2009140353A (ja) * 2007-12-07 2009-06-25 Toshiba Corp 再構成可能な集積回路、及びこれを用いた自己修復システム
JP2012204898A (ja) * 2011-03-24 2012-10-22 Nec Corp Fpga、fpgaを用いた回路再構成システム、方法およびプログラム
JP2017120966A (ja) * 2015-12-28 2017-07-06 株式会社リコー 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
JP7287651B2 (ja) 2023-06-06

Similar Documents

Publication Publication Date Title
US20180231605A1 (en) Configurable Vertical Integration
CN105700901B (zh) 一种启动方法、装置和计算机系统
CN102834806B (zh) 系统结构管理设备、系统结构管理方法和程序
JP6282482B2 (ja) プログラマブル回路装置、コンフィギュレーション情報修復方法
US20140006767A1 (en) Boot strap processor assignment for a multi-core processing unit
CN109725827B (zh) 管理存储系统的方法、系统和计算机程序产品
US10942826B2 (en) Method and device for managing storage system
WO2018212870A1 (en) High-volume, low-latency data processing in flexibly configured local heterogeneous computing environments
CN116266150A (zh) 一种业务恢复方法、数据处理单元及相关设备
JP7287651B2 (ja) 分散処理装置、分散処理方法、及びプログラム
US9430338B2 (en) Method and computing device for recording log entries
CN115657965A (zh) 一种元数据的配置方法、装置及介质
JP6256087B2 (ja) ダンプシステムおよびダンプ処理方法
WO2018179739A1 (ja) 情報処理装置、情報処理方法及びプログラム
Akoglu et al. FPGA based distributed self healing architecture for reusable systems
CN114168064A (zh) 用于重建存储系统的方法、设备和计算机程序产品
CN112732167B (zh) 用于管理存储系统的方法、设备
JP2021086564A (ja) 動的再構成制御装置、動的再構成制御方法、及びプログラム
US20130166273A1 (en) Circuit emulation apparatus and circuit emulation method
EP4206930A1 (en) Electronic device with erasure coding acceleration for distributed file systems and operating method thereof
JP5686259B2 (ja) 再構成可能デバイスの高信頼化装置、高信頼化方法及び高信頼化プログラム
WO2020208915A1 (ja) 制御方法および制御装置
JP2005092695A (ja) 二重化コントローラ、その等値化モード決定方法
US10452445B2 (en) Dynamically configurable storage clusters
JP4853620B2 (ja) マルチプロセッサシステムと初期立ち上げ方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230425

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230518

R151 Written notification of patent or utility model registration

Ref document number: 7287651

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151