JP2018165908A - Information processor and information processing method and program - Google Patents

Information processor and information processing method and program Download PDF

Info

Publication number
JP2018165908A
JP2018165908A JP2017063000A JP2017063000A JP2018165908A JP 2018165908 A JP2018165908 A JP 2018165908A JP 2017063000 A JP2017063000 A JP 2017063000A JP 2017063000 A JP2017063000 A JP 2017063000A JP 2018165908 A JP2018165908 A JP 2018165908A
Authority
JP
Japan
Prior art keywords
circuit
unit
fpga
task
information
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
Application number
JP2017063000A
Other languages
Japanese (ja)
Inventor
博信 山崎
Hironobu Yamazaki
博信 山崎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017063000A priority Critical patent/JP2018165908A/en
Priority to PCT/JP2018/002093 priority patent/WO2018179739A1/en
Publication of JP2018165908A publication Critical patent/JP2018165908A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components

Abstract

PROBLEM TO BE SOLVED: To provide an information processor having a re-configuration device capable of changing a circuit configuration based on circuit information that makes re-configuration of a logic circuit avoiding a failure block when detecting a hardware failure of the re-configuration device.SOLUTION: A processor has an FPGA capable of changing a circuit configuration by re-constituting a programmable block in a logic based on circuit information, a circuit information synthesis part synthesizing the circuit information from a source code of a circuit processing a tack, and an FPGA circuit monitoring part detecting a failure of the FPGA, specifies a failure block when the FPGA circuit monitoring part has detected a hardware failure of the FPGA, and the circuit information synthesis part synthesizes the circuit information avoiding the specified failure block to make re-configuration of a logic circuit avoiding the failure block possible.SELECTED DRAWING: Figure 2

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a program.

CPU(Central Processing Unit)と、回路情報に基づいてプログラム可能な論理回路の構成を変更可能なFPGA(Field Programmable Gate Array)とを有し、処理の一部をFPGAにより実行する情報処理装置(FPGAサーバ)がある。FPGAで発生する故障には、宇宙線等により回路情報のデータが化けるソフトエラーや、断線や短絡等により回路の書き換えが不能になるハードエラーがある。ソフトエラーが発生した場合には再度同じ回路情報の書き込みを行うことで復帰可能であるが、ハードエラーが発生した場合には故障箇所は物理的に壊れているので恒久的に使用できない。   An information processing apparatus (FPGA) having a CPU (Central Processing Unit) and an FPGA (Field Programmable Gate Array) capable of changing the configuration of a programmable logic circuit based on circuit information, and executing part of the processing by the FPGA Server). Faults occurring in the FPGA include a soft error in which circuit information data is changed due to cosmic rays or the like, and a hard error in which the circuit cannot be rewritten due to disconnection or short circuit. If a soft error occurs, it can be recovered by writing the same circuit information again. However, if a hard error occurs, the fault location is physically broken and cannot be used permanently.

FPGAにおける故障は、一般的に検出可能である。例えば、回路情報が書かれているメモリ(CRAM)の故障はCRC(Cyclic Redundancy Code)等の誤り検出方式で検出可能であり、回路の故障は動作確認用のテストデータを用いることで検出可能である。また、故障を検出するセルフチェッキング回路を用いることで、セル部分の故障箇所を検出可能なFPGAが提案されている(例えば、特許文献1参照)。   Faults in the FPGA are generally detectable. For example, a failure of a memory (CRAM) in which circuit information is written can be detected by an error detection method such as CRC (Cyclic Redundancy Code), and a failure of a circuit can be detected by using test data for operation confirmation. is there. Further, there has been proposed an FPGA that can detect a failure portion of a cell portion by using a self-checking circuit that detects a failure (see, for example, Patent Document 1).

FPGAでは、同じ機能を実現する回路でも、FPGA内での回路を配置する位置が異なると、回路情報は異なる。同じ機能を実現するための複数の回路情報を予め用意しておき、FPGAで故障を検出した場合に、故障箇所を含まないで回路を構成する回路情報に切り替えることで、故障箇所を避けて機能を回復する技術が提案されている(例えば、特許文献2参照)。   In the FPGA, even in a circuit that realizes the same function, circuit information is different if the position of the circuit in the FPGA is different. Prepare multiple circuit information for realizing the same function in advance, and when a failure is detected by the FPGA, it is possible to avoid the failure location by switching to the circuit information that configures the circuit without including the failure location. Has been proposed (for example, see Patent Document 2).

特開平10−84275号公報JP-A-10-84275 特開平9−62528号公報JP-A-9-62528

前述のように同じ機能を実現するための複数の回路情報を予め用意する場合には、ハードウェア故障(ハードエラー)の発生を想定する位置の種類だけ回路情報を用意する必要がある。これには、故障箇所を含むわずかな範囲を使用不可とする多量の種類の回路情報を用意するか、あるいは故障箇所を含む粗い範囲を使用不可とする回路情報を用意するか、という何れかの課題がある。多くの種類の回路情報を用意すると、故障箇所として使用不可にする範囲を小さくすることが可能であるが、用意する回路情報を記憶するための記憶容量が大きくなる。一方、用意する回路情報の種類が少ないと、故障箇所として使用不可となる範囲が大きくなり、使用できる回路資源が少なくなる。1つの側面では、本発明の目的は、回路情報に基づいて回路構成を変更可能な再構成デバイスを有する情報処理装置にて、再構成デバイスのハードウェア故障を検出した場合、故障ブロックを避けた論理回路の再構成を可能にする情報処理装置を提供することにある。   As described above, when a plurality of pieces of circuit information for realizing the same function are prepared in advance, it is necessary to prepare circuit information for only the types of positions that are assumed to cause a hardware failure (hard error). This can be done either by preparing a large amount of circuit information that disables use of a small range including a fault location, or by preparing circuit information that disables use of a rough range including a fault location. There are challenges. If many types of circuit information are prepared, it is possible to reduce the range in which the circuit information cannot be used as a failure location, but the storage capacity for storing the prepared circuit information increases. On the other hand, if the number of types of circuit information to be prepared is small, the range that cannot be used as a failure location increases, and the circuit resources that can be used decrease. In one aspect, an object of the present invention is to avoid a failure block when a hardware failure of a reconfiguration device is detected in an information processing apparatus having a reconfiguration device capable of changing a circuit configuration based on circuit information. An object of the present invention is to provide an information processing apparatus that enables reconfiguration of a logic circuit.

情報処理装置の一態様は、論理のプログラム可能な複数のブロックを有し、回路情報に基づいてブロックを再構成することにより回路構成を変更可能な再構成デバイスと、タスクを処理する回路のソースコードから回路情報を合成する合成部と、再構成デバイスの故障を検出する検出部とを有する。検出部は、再構成デバイスのハードウェア故障を検出した場合、ハードウェア故障したブロックを特定し、合成部は、特定されたハードウェア故障したブロックを避けた回路情報を合成する。   One aspect of an information processing apparatus includes a reconfigurable device having a plurality of logic programmable blocks and capable of changing a circuit configuration by reconfiguring the blocks based on circuit information, and a source of a circuit that processes a task A synthesis unit that synthesizes circuit information from the code, and a detection unit that detects a failure of the reconfigurable device. When the detection unit detects a hardware failure of the reconfigurable device, the detection unit identifies a block having a hardware failure, and the synthesis unit synthesizes circuit information that avoids the identified block having the hardware failure.

発明の一態様においては、再構成デバイスのハードウェア故障を検出した場合、ハードウェア故障したブロックを特定して故障ブロックを避けた回路情報を合成し、複数の回路情報を予め用意することなく、故障ブロックを避けた論理回路の再構成が可能となる。   In one aspect of the invention, when a hardware failure of a reconfigurable device is detected, a block in which a hardware failure is identified and circuit information that avoids the failed block is synthesized, and a plurality of circuit information is prepared in advance. It is possible to reconfigure the logic circuit avoiding the failure block.

図1は、本発明の実施形態における情報処理システムの構成例を示す図である。FIG. 1 is a diagram illustrating a configuration example of an information processing system according to an embodiment of the present invention. 図2は、本実施形態における管理サーバ及びFPGAサーバの機能構成例を示す図である。FIG. 2 is a diagram illustrating a functional configuration example of the management server and the FPGA server in the present embodiment. 図3は、本実施形態における正常動作時の処理の流れの例を示す図である。FIG. 3 is a diagram illustrating an example of the flow of processing during normal operation in the present embodiment. 図4(A)及び図4(B)は、本実施形態における故障発生時の処理の流れの例を示す図である。FIG. 4A and FIG. 4B are diagrams illustrating an example of a processing flow when a failure occurs in the present embodiment. 図5(A)〜図5(F)は、本実施形態における故障発生時の回路情報に係る処理を説明する図である。FIG. 5A to FIG. 5F are diagrams for explaining processing related to circuit information when a failure occurs in the present embodiment. 図6(A)及び図6(B)は、本実施形態における故障発生時の処理の流れの他の例を示す図である。6A and 6B are diagrams illustrating another example of a processing flow when a failure occurs in the present embodiment. 図7は、本実施形態におけるFPGAサーバの他の機能構成例を示す図である。FIG. 7 is a diagram illustrating another functional configuration example of the FPGA server according to the present embodiment.

以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態における情報処理システムの構成例を示す図である。本実施形態における情報処理システムは、ネットワーク30を介して通信可能な管理サーバ10と複数のFPGAサーバ20とを有する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram illustrating a configuration example of an information processing system according to an embodiment of the present invention. The information processing system according to this embodiment includes a management server 10 and a plurality of FPGA servers 20 that can communicate via a network 30.

管理サーバ10は、CPU(Central Processing Unit)11及び記憶部12を有する。CPU11が、記憶部12からプログラムを読み出して実行することで、管理サーバ10の各機能が実現される。記憶部12は、CPU11が実行するプログラムを含む各種データ等を記憶する。   The management server 10 includes a CPU (Central Processing Unit) 11 and a storage unit 12. Each function of the management server 10 is realized by the CPU 11 reading the program from the storage unit 12 and executing it. The storage unit 12 stores various data including programs executed by the CPU 11.

管理サーバ10は、図示しないクライアントサーバからタスク処理の依頼を受けて各FPGAサーバ20にタスクを割り振るとともに、FPGAサーバ20からタスクの実行結果を受けてクライアントサーバに返す。なお、タスクの実行結果は、FPGAサーバ20からクライアントサーバに直接返すようにしてもよい。   The management server 10 receives a task processing request from a client server (not shown), allocates the task to each FPGA server 20, and receives the task execution result from the FPGA server 20 and returns it to the client server. The task execution result may be returned directly from the FPGA server 20 to the client server.

また、管理サーバ10は、タスクを処理する回路のソースコードから回路情報を合成してFPGAサーバ20に提供する。ここで、管理サーバ10は、故障ブロックを避けた新たな回路情報の再合成の依頼をFPGAサーバ20から受けた場合、故障ブロックを避けて論理回路を配置する回路情報を合成してFPGAサーバ20に提供する。   In addition, the management server 10 synthesizes circuit information from the source code of the circuit that processes the task and provides it to the FPGA server 20. Here, when the management server 10 receives a request from the FPGA server 20 to re-synthesize new circuit information that avoids the failed block, the management server 10 synthesizes circuit information for arranging the logic circuit while avoiding the failed block. To provide.

FPGAサーバ20は、CPU21、記憶部22、及びFPGA(Field Programmable Gate Array)23を有する。CPU21が、記憶部22からプログラムを読み出して実行することで、FPGAサーバ20の各機能が実現され、例えばFPGA23に係る制御を行う。記憶部22は、CPU21が実行するプログラムやFPGA23に書き込む回路情報を含む各種データ等を記憶する。   The FPGA server 20 includes a CPU 21, a storage unit 22, and an FPGA (Field Programmable Gate Array) 23. Each function of the FPGA server 20 is realized by the CPU 21 reading out and executing the program from the storage unit 22, and performs control related to the FPGA 23, for example. The storage unit 22 stores various data including a program executed by the CPU 21 and circuit information written in the FPGA 23.

再構成デバイスとしてのFPGA23は、論理のプログラム可能な複数のブロックを有し、動作中の論理回路の動作を停止させずに、プログラム可能なブロックの回路構成を部分的に再構成することにより変更することができる動的部分再構成が可能なFPGAである。すなわち、FPGA23は、動的部分再構成により論理回路の構成が変更可能である。FPGA23は、他の実行中のタスクを止めずに、空いているブロックに新たに実行するタスクを処理する回路を動的部分再構成により配置することで、1つのFPGAで複数のタスクを非同期に実行可能である。   The FPGA 23 as a reconfigurable device has a plurality of logic programmable blocks, and can be changed by partially reconfiguring the circuit configuration of the programmable blocks without stopping the operation of the operating logic circuit. It is an FPGA capable of dynamic partial reconfiguration that can be performed. That is, the FPGA 23 can change the configuration of the logic circuit by dynamic partial reconfiguration. The FPGA 23 asynchronously arranges a plurality of tasks in one FPGA by allocating a circuit for processing a task to be newly executed to an empty block by dynamic partial reconfiguration without stopping other running tasks. It is feasible.

FPGAサーバ20は、管理サーバ10からタスク処理を実行可能か否かの問い合わせを受けると、問い合わせに対する応答を管理サーバ10に返す。また、FPGAサーバ20は、管理サーバ10からタスクの実行が依頼された場合、そのタスクを処理する回路の回路情報をFPGA23に書き込んでタスクを実行し、実行結果を管理サーバ10に返す。なお、タスクの実行結果は、タスク処理を依頼したクライアントサーバに直接返すようにしてもよい。   When the FPGA server 20 receives an inquiry from the management server 10 as to whether or not task processing can be executed, the FPGA server 20 returns a response to the inquiry to the management server 10. Further, when the execution of the task is requested from the management server 10, the FPGA server 20 writes the circuit information of the circuit that processes the task into the FPGA 23, executes the task, and returns the execution result to the management server 10. The task execution result may be returned directly to the client server that requested the task processing.

また、FPGAサーバ20は、FPGA23におけるハードエラー(ハードウェア故障)を検出する機能を有する。FPGAサーバ20は、FPGA23のハードエラーを検出した場合、故障ブロックを特定して、特定された故障ブロックを使用する回路情報を破棄するとともに、故障ブロックを避けた新たな回路情報の再合成を管理サーバ10に依頼する。管理サーバ10での再合成が完了した後、管理サーバ10がFPGAサーバ20に再合成した回路情報を提供することで、FPGAサーバ20がタスクを実行可能なように復帰される。   The FPGA server 20 has a function of detecting a hardware error (hardware failure) in the FPGA 23. When the FPGA server 20 detects a hardware error in the FPGA 23, it identifies the failed block, discards the circuit information that uses the identified failed block, and manages the resynthesis of new circuit information that avoids the failed block. Request to server 10. After the recombination in the management server 10 is completed, the management server 10 provides the circuit information recombined to the FPGA server 20 so that the FPGA server 20 is returned to be able to execute the task.

図2は、本実施形態における管理サーバ及びFPGAサーバの機能構成例を示すブロック図である。図2においては、1つのFPGAサーバだけを図示している。管理サーバ210は、タスク制御部211、回路ソース記憶部212、及び回路情報合成部213を有する。タスク制御部211は制御部の一例であり、回路情報合成部213は合成部の一例である。タスク制御部211及び回路情報合成部213は、例えば管理サーバのCPU11が記憶部12からプログラムを読み出して実行することで実現され、回路ソース記憶部212は、例えば管理サーバの記憶部12により実現される。   FIG. 2 is a block diagram illustrating a functional configuration example of the management server and the FPGA server in the present embodiment. In FIG. 2, only one FPGA server is illustrated. The management server 210 includes a task control unit 211, a circuit source storage unit 212, and a circuit information synthesis unit 213. The task control unit 211 is an example of a control unit, and the circuit information synthesis unit 213 is an example of a synthesis unit. The task control unit 211 and the circuit information synthesis unit 213 are realized by, for example, the CPU 11 of the management server reading and executing a program from the storage unit 12, and the circuit source storage unit 212 is realized by the storage unit 12 of the management server, for example. The

タスク制御部211は、クライアントサーバからタスク処理の依頼を受け、依頼されたタスク処理を実行可能か否かの問い合わせを各FPGAサーバ220に対して行う。タスク制御部211は、問い合わせに対するFPGAサーバ220からの応答に基づいて、タスクを割り当てるFPGAサーバ220を決定し、そのFPGAサーバ220にタスクの実行依頼を送る。また、タスク制御部211は、FPGAサーバ220からタスクの実行結果を受け、タスク処理を依頼したクライアントサーバに返す。   The task control unit 211 receives a request for task processing from the client server, and makes an inquiry to each FPGA server 220 as to whether or not the requested task processing can be executed. The task control unit 211 determines an FPGA server 220 to which a task is assigned based on a response from the FPGA server 220 to the inquiry, and sends a task execution request to the FPGA server 220. The task control unit 211 receives the task execution result from the FPGA server 220 and returns it to the client server that requested the task processing.

回路ソース記憶部212は、各タスクを処理する論理回路のソースコード(例えばHDL:Hardware Description Language記述された回路構成)を記憶する。回路情報合成部213は、回路ソース記憶部212に記憶された論理回路のソースコードから、その論理回路をFPGAに構成するための回路情報を合成してFPGAサーバ220に提供する。また、回路情報合成部213は、故障ブロックを避けた新たな回路情報の再合成の依頼をFPGAサーバ220から受けた場合、回路ソース記憶部212に記憶されたソースコードを基に、故障ブロックを避けて論理回路を構成する回路情報を再合成してFPGAサーバ220に提供する。   The circuit source storage unit 212 stores a source code of a logic circuit that processes each task (for example, a circuit configuration described in HDL: Hardware Description Language). The circuit information synthesis unit 213 synthesizes circuit information for configuring the logic circuit into an FPGA from the source code of the logic circuit stored in the circuit source storage unit 212 and provides the synthesized circuit information to the FPGA server 220. In addition, when the circuit information synthesis unit 213 receives a request for re-synthesis of new circuit information avoiding the failed block from the FPGA server 220, the circuit information synthesis unit 213 generates a failed block based on the source code stored in the circuit source storage unit 212. The circuit information constituting the logic circuit is recombined and provided to the FPGA server 220.

FPGAサーバ220は、タスク管理部221、回路情報管理部222、回路情報記憶部223、回路情報書き込み部224、FPGA回路部225、実行結果記憶部226、及びFPGA回路監視部227を有する。タスク管理部221は制御部の一例であり、回路情報管理部222は管理部の一例であり、回路情報記憶部223は記憶部の一例であり、FPGA回路部225は再構成デバイスの一例であり、FPGA回路監視部227は検出部の一例である。タスク管理部221、回路情報管理部222、回路情報書き込み部224、及びFPGA回路監視部227は、例えばFPGAサーバのCPU21が記憶部22からプログラムを読み出して実行することで実現される。また、回路情報記憶部223及び実行結果記憶部226は例えばFPGAサーバの記憶部22により実現され、FPGA回路部225は例えばFPGAサーバのFPGA23により実現される。   The FPGA server 220 includes a task management unit 221, a circuit information management unit 222, a circuit information storage unit 223, a circuit information writing unit 224, an FPGA circuit unit 225, an execution result storage unit 226, and an FPGA circuit monitoring unit 227. The task management unit 221 is an example of a control unit, the circuit information management unit 222 is an example of a management unit, the circuit information storage unit 223 is an example of a storage unit, and the FPGA circuit unit 225 is an example of a reconfigurable device. The FPGA circuit monitoring unit 227 is an example of a detection unit. The task management unit 221, the circuit information management unit 222, the circuit information writing unit 224, and the FPGA circuit monitoring unit 227 are realized, for example, by the CPU 21 of the FPGA server reading out a program from the storage unit 22 and executing it. In addition, the circuit information storage unit 223 and the execution result storage unit 226 are realized by the storage unit 22 of the FPGA server, for example, and the FPGA circuit unit 225 is realized by the FPGA 23 of the FPGA server, for example.

タスク管理部221は、管理サーバ210からタスク処理を実行可能か否かの問い合わせを受け、タスク処理を実行可能であるかを判断して管理サーバ210に実行可否を応答する。タスク管理部221は、依頼されるタスクを処理する論理回路の回路情報を有しているか、その回路情報を書き込める空きブロックがFPGA回路部225にあるか、及びその回路情報を書き込める空きブロックがない場合、何のタスクを実行しているか等に基づいて、タスク処理を実行可能か否かを判断する。   The task management unit 221 receives an inquiry from the management server 210 as to whether the task processing can be executed, determines whether the task processing can be executed, and returns a response to the management server 210 as to whether the processing can be executed. The task management unit 221 has circuit information of the logic circuit that processes the requested task, whether there is a free block in the FPGA circuit unit 225 in which the circuit information can be written, and there is no free block in which the circuit information can be written. In this case, it is determined whether or not task processing can be executed based on what task is being executed.

また、タスク管理部221は、管理サーバ210からタスクの実行依頼を受けた場合、そのタスクを処理する論理回路の回路情報を回路情報書き込み部224によりFPGA回路部225に書き込んでタスクを実行させる制御を行う。タスク管理部221は、実行結果記憶部226に記憶されるタスクの実行結果を管理サーバ210に返す。   When the task management unit 221 receives a task execution request from the management server 210, the task management unit 221 controls the circuit information writing unit 224 to write the circuit information of the logic circuit that processes the task into the FPGA circuit unit 225 to execute the task. I do. The task management unit 221 returns the execution result of the task stored in the execution result storage unit 226 to the management server 210.

回路情報管理部222は、FPGAサーバ220における回路情報に係る管理を行う。回路情報管理部222は、ソースコードを基に合成され管理サーバ210から提供される回路情報を回路情報記憶部223に記憶する。回路情報管理部222は、FPGA回路監視部227による監視結果が通知される。FPGA回路監視部227によりFPGA回路部225でハードエラーが検出されて故障ブロックが通知されると、回路情報管理部222は、回路情報記憶部223に記憶している回路情報の内から、その故障ブロックを使用する回路情報を削除する。また、回路情報管理部222は、故障ブロックを避けた新たな回路情報の再合成を管理サーバ210に依頼する。   The circuit information management unit 222 performs management related to circuit information in the FPGA server 220. The circuit information management unit 222 stores, in the circuit information storage unit 223, circuit information synthesized based on the source code and provided from the management server 210. The circuit information management unit 222 is notified of the monitoring result by the FPGA circuit monitoring unit 227. When a hard error is detected in the FPGA circuit unit 225 by the FPGA circuit monitoring unit 227 and a failure block is notified, the circuit information management unit 222 detects the failure from the circuit information stored in the circuit information storage unit 223. Delete the circuit information that uses the block. In addition, the circuit information management unit 222 requests the management server 210 to re-synthesize new circuit information that avoids the failed block.

回路情報記憶部223は、タスクを処理する論理回路の回路情報、及びそのタスクの動作確認用データを記憶する。回路情報書き込み部224は、実行依頼されたタスクを処理する論理回路の回路情報を回路情報記憶部223から読み出してFPGA回路部225に書き込む。FPGA回路部225は、論理のプログラム可能な複数のブロックを有しており、書き込まれた回路情報に応じてプログラム可能なブロックの回路構成を変更し、実行依頼されたタスクを実行する。実行結果記憶部226は、FPGA回路部225で実行されるタスクの実行結果を記憶する。   The circuit information storage unit 223 stores circuit information of a logic circuit that processes a task and operation check data of the task. The circuit information writing unit 224 reads circuit information of a logic circuit that processes the task requested to be executed from the circuit information storage unit 223 and writes the circuit information to the FPGA circuit unit 225. The FPGA circuit unit 225 has a plurality of logic programmable blocks, changes the circuit configuration of the programmable blocks in accordance with the written circuit information, and executes the requested task. The execution result storage unit 226 stores the execution result of the task executed by the FPGA circuit unit 225.

FPGA回路監視部227は、FPGA回路部225の状態を監視して、監視結果をタスク管理部221及び回路情報管理部222に通知する。FPGA回路監視部227は、書き込まれている回路情報のCRC等による誤り検出を行ったり、FPGA回路部225の出力を検出したりするなどして、FPGA回路部225が正常に動作しているか否かを定期的に検査する。FPGA回路監視部227は、FPGA回路部225で回路故障が発生した場合、その故障がソフトエラーであるかハードエラーであるかを判定して通知するとともに、ハードエラーであれば故障ブロックを特定して通知する。   The FPGA circuit monitoring unit 227 monitors the state of the FPGA circuit unit 225 and notifies the task management unit 221 and the circuit information management unit 222 of the monitoring result. The FPGA circuit monitoring unit 227 detects whether the FPGA circuit unit 225 is operating normally by performing error detection by CRC or the like of the written circuit information or detecting the output of the FPGA circuit unit 225. Check regularly. When a circuit failure occurs in the FPGA circuit unit 225, the FPGA circuit monitoring unit 227 determines whether the failure is a soft error or a hard error, and notifies the failure. To notify.

次に、動作について説明する。正常動作時の処理について図3を参照して説明し、故障発生時の処理について図4(A)及び図4(B)を参照して説明する。   Next, the operation will be described. The process at the time of normal operation will be described with reference to FIG. 3, and the process at the time of failure will be described with reference to FIGS. 4 (A) and 4 (B).

図3は、本実施形態における正常動作時の処理の流れの例を示す図である。
管理サーバ210のタスク制御部211は、クライアントサーバからタスク処理の実行依頼を受けると(301)、実行依頼されたタスク処理の実行可否を各FPGAサーバ220に問い合わせる(302)。管理サーバ210からの問い合わせを受けたFPGAサーバ220のタスク管理部221は、タスク処理を実行可能であるか否かを判断して管理サーバ210に実行可否を回答する(303)。管理サーバ210のタスク制御部211は、各FPGAサーバ220からの回答に基づいて、タスクを割り当てるFPGAサーバ220を決定し、そのFPGAサーバ220にタスクの実行依頼を送る(304)。
FIG. 3 is a diagram illustrating an example of the flow of processing during normal operation in the present embodiment.
When the task control unit 211 of the management server 210 receives a task processing execution request from the client server (301), the task control unit 211 inquires of each FPGA server 220 whether the requested task processing can be executed (302). Upon receiving the inquiry from the management server 210, the task management unit 221 of the FPGA server 220 determines whether or not the task processing can be executed and returns a response to the management server 210 as to whether or not the execution is possible (303). The task control unit 211 of the management server 210 determines the FPGA server 220 to which a task is assigned based on the answer from each FPGA server 220, and sends a task execution request to the FPGA server 220 (304).

FPGAサーバ220のタスク管理部221は、管理サーバ210からタスクの実行依頼を受けると、そのタスクをFPGA回路部225で実行させるための制御を行う。例えば、実行依頼されたタスクを処理する論理回路の回路情報がFPGA回路部225に書き込まれていないときには、その回路情報を回路情報記憶部223から読み出して回路情報書き込み部224によりFPGA回路部225に書き込ませる。そして、FPGA回路部225への回路情報の書き込みが終了したら、そのタスクの動作確認用データを用いて正しく回路が動作することをFPGA回路監視部227により確認させる。   Upon receiving a task execution request from the management server 210, the task management unit 221 of the FPGA server 220 performs control for causing the FPGA circuit unit 225 to execute the task. For example, when the circuit information of the logic circuit that processes the requested task is not written in the FPGA circuit unit 225, the circuit information is read from the circuit information storage unit 223, and the circuit information writing unit 224 stores the circuit information in the FPGA circuit unit 225. Let it be written. When the writing of the circuit information to the FPGA circuit unit 225 is completed, the FPGA circuit monitoring unit 227 confirms that the circuit operates correctly using the task operation check data.

正しく回路が動作することが確認できたら、FPGAサーバ220のFPGA回路部225は、実行依頼されたタスクを実行し、実行結果を実行結果記憶部226に記憶する。FPGAサーバ220のタスク管理部221は、実行結果記憶部226から実行結果を適宜取得して、管理サーバ210に送る(305、306、307)。ここで、FPGAサーバ220のFPGA回路監視部227は、タスクの実行中、FPGA回路部225が正常動作していることを定期的にチェックしている。なお、FPGA回路部225が正常動作していることが確認できたときには、タスクが中断したとき等のリカバリポイントとしてタスク処理の中間データを記憶部等に記憶しておくようにしてもよい。   When it is confirmed that the circuit operates correctly, the FPGA circuit unit 225 of the FPGA server 220 executes the task requested to be executed and stores the execution result in the execution result storage unit 226. The task management unit 221 of the FPGA server 220 appropriately acquires the execution result from the execution result storage unit 226 and sends it to the management server 210 (305, 306, 307). Here, the FPGA circuit monitoring unit 227 of the FPGA server 220 periodically checks that the FPGA circuit unit 225 is operating normally during the execution of the task. When it is confirmed that the FPGA circuit unit 225 is operating normally, intermediate data for task processing may be stored in a storage unit or the like as a recovery point when the task is interrupted.

そして、実行依頼されたタスクの実行が完了すると、FPGAサーバ220のタスク管理部221は、タスクの実行完了を管理サーバ210に通知する(308)。管理サーバ210のタスク制御部211は、FPGAサーバ220からタスクの実行完了通知を受けると、タスクの実行結果をクライアントサーバに返して(309)、処理を終了する。   When the execution of the requested task is completed, the task management unit 221 of the FPGA server 220 notifies the management server 210 of the completion of the task execution (308). Upon receiving the task execution completion notification from the FPGA server 220, the task control unit 211 of the management server 210 returns the task execution result to the client server (309) and ends the process.

図4(A)及び図4(B)は、本実施形態における故障発生時の処理の流れの例を示す図である。図4(A)には、回路故障がソフトエラーである場合を示し、図4(B)には回路故障がハードエラーである場合を示している。   FIG. 4A and FIG. 4B are diagrams illustrating an example of a processing flow when a failure occurs in the present embodiment. FIG. 4A shows a case where the circuit failure is a soft error, and FIG. 4B shows a case where the circuit failure is a hard error.

図4(A)及び図4(B)に示すように、管理サーバ210のタスク制御部211は、クライアントサーバからタスク処理の実行依頼を受けると(401)、実行依頼されたタスク処理の実行可否を各FPGAサーバ220に問い合わせる(402)。管理サーバ210からの問い合わせを受けたFPGAサーバ220のタスク管理部221は、タスク処理を実行可能であるか否かを判断して管理サーバ210に実行可否を回答する(403)。管理サーバ210のタスク制御部211は、各FPGAサーバ220からの回答に基づいて、タスクを割り当てるFPGAサーバ220を決定し、そのFPGAサーバ220にタスクの実行依頼を送る(404)。   As shown in FIGS. 4A and 4B, when the task control unit 211 of the management server 210 receives a task process execution request from the client server (401), whether or not the requested task process can be executed. Is inquired of each FPGA server 220 (402). In response to the inquiry from the management server 210, the task management unit 221 of the FPGA server 220 determines whether or not the task processing can be executed and returns a response to the management server 210 as to whether or not the execution is possible (403). The task control unit 211 of the management server 210 determines an FPGA server 220 to which a task is assigned based on the answer from each FPGA server 220, and sends a task execution request to the FPGA server 220 (404).

FPGAサーバ220のタスク管理部221は、管理サーバ210からタスクの実行依頼を受けると、そのタスクをFPGA回路部225で実行させるための制御を行う。例えば、実行依頼されたタスクを処理する論理回路の回路情報がFPGA回路部225に書き込まれていないときには、その回路情報を回路情報記憶部223から読み出して回路情報書き込み部224によりFPGA回路部225に書き込ませる。そして、FPGA回路部225への回路情報の書き込みが終了したら、そのタスクの動作確認用データを用いて正しく回路が動作することをFPGA回路監視部227により確認させる。   Upon receiving a task execution request from the management server 210, the task management unit 221 of the FPGA server 220 performs control for causing the FPGA circuit unit 225 to execute the task. For example, when the circuit information of the logic circuit that processes the requested task is not written in the FPGA circuit unit 225, the circuit information is read from the circuit information storage unit 223, and the circuit information writing unit 224 stores the circuit information in the FPGA circuit unit 225. Let it be written. When the writing of the circuit information to the FPGA circuit unit 225 is completed, the FPGA circuit monitoring unit 227 confirms that the circuit operates correctly using the task operation check data.

正しく回路が動作することが確認できたら、FPGAサーバ220のFPGA回路部225は、実行依頼されたタスクを実行し、実行結果を実行結果記憶部226に記憶する。ここで、FPGAサーバ220のFPGA回路監視部227は、タスクの実行中、FPGA回路部225が正常動作していることを定期的にチェックしている。なお、FPGA回路部225が正常動作していることが確認できたときには、タスクが中断したとき等のリカバリポイントとしてタスク処理の中間データを記憶部等に記憶しておくようにしてもよい。   When it is confirmed that the circuit operates correctly, the FPGA circuit unit 225 of the FPGA server 220 executes the task requested to be executed and stores the execution result in the execution result storage unit 226. Here, the FPGA circuit monitoring unit 227 of the FPGA server 220 periodically checks that the FPGA circuit unit 225 is operating normally during the execution of the task. When it is confirmed that the FPGA circuit unit 225 is operating normally, intermediate data for task processing may be stored in a storage unit or the like as a recovery point when the task is interrupted.

この例では、FPGAサーバ220において、FPGA回路監視部227によりFPGA回路部225の正常動作が確認され(405)、FPGAサーバ220のタスク管理部221が、実行結果記憶部226から実行結果を取得して、管理サーバ210に送る(406)。その後、タスクの実行中に、FPGAサーバ220のFPGA回路監視部227によりFPGA回路部225での回路故障が発見されてタスク管理部221に通知され(407)、タスク管理部221はタスクの実行失敗を管理サーバ210に通知する(408)。   In this example, in the FPGA server 220, the normal operation of the FPGA circuit unit 225 is confirmed by the FPGA circuit monitoring unit 227 (405), and the task management unit 221 of the FPGA server 220 acquires the execution result from the execution result storage unit 226. To the management server 210 (406). Thereafter, during the execution of the task, the FPGA circuit monitoring unit 227 of the FPGA server 220 finds a circuit failure in the FPGA circuit unit 225 and notifies the task management unit 221 (407), and the task management unit 221 fails to execute the task. Is notified to the management server 210 (408).

管理サーバ210のタスク制御部211は、タスクの実行失敗の通知を受けると、タスクを実行していたFPGAサーバ220に対して正常動作時の中間データの取得を要求し、正常動作時の実行結果である中間データを取得する(409)。そして、管理サーバ210のタスク制御部211は、取得した中間データを提供するなどして、回路故障により実行不能となったタスクの実行を他のFPGAサーバに依頼し、タスクの実行を継続させる(410)。他のFPGAサーバによるタスクの実行が完了すると、管理サーバ210は、タスクの実行結果をクライアントサーバに返す(411)。   Upon receiving notification of task execution failure, the task control unit 211 of the management server 210 requests the FPGA server 220 that has executed the task to acquire intermediate data during normal operation, and the execution result during normal operation Intermediate data is acquired (409). Then, the task control unit 211 of the management server 210 requests the other FPGA server to execute the task that has become impossible to execute due to a circuit failure, for example, by providing the acquired intermediate data, and continues the task execution ( 410). When the execution of the task by the other FPGA server is completed, the management server 210 returns the execution result of the task to the client server (411).

また、回路故障が発見されたFPGAサーバ220では、FPGA回路部225内の回路故障が発見された回路を書き込んだブロックにチェッキング回路(診断回路)を書き込んで動作させ、FPGA回路監視部227による故障ブロックの特定を行う。なお、チェッキング回路は、ハードエラーが発生したときに、故障したブロックが特定可能な回路である。チェッキング回路としては、例えばあるデータパターンを入力したときに出力されるデータパターンを検出することで故障箇所を示す情報が得られるような回路が適用可能である。   In addition, in the FPGA server 220 in which a circuit failure is found, a checking circuit (diagnostic circuit) is written and operated in a block in which a circuit in which a circuit failure is found in the FPGA circuit unit 225 is written, and the FPGA circuit monitoring unit 227 performs the operation. Identify the faulty block. The checking circuit is a circuit that can identify a failed block when a hardware error occurs. As the checking circuit, for example, a circuit that can obtain information indicating a failure location by detecting a data pattern output when a certain data pattern is input is applicable.

回路故障が発見された回路を書き込んだブロックにチェッキング回路を書き込んで動作させた結果、チェッキング回路で正常動作が確認された(ブロックの故障を示さない)場合、図4(A)に示すように、FPGA回路監視部227は、回路故障がソフトエラーであると判定する。この場合には、回路故障が発見されたFPGAサーバ220は、元の回路情報をFPGA回路部225に再び書き込むソフトエラー対策により復帰させることが可能である。   When a normal operation is confirmed in the checking circuit as a result of writing and operating the checking circuit in the block in which the circuit in which the circuit failure is found is written (shown in FIG. 4A), it is shown in FIG. As described above, the FPGA circuit monitoring unit 227 determines that the circuit failure is a soft error. In this case, the FPGA server 220 in which a circuit failure is found can be restored by countermeasures against soft errors in which the original circuit information is rewritten in the FPGA circuit unit 225.

また、回路故障が発見された回路を書き込んだブロックにチェッキング回路を書き込んで動作させた結果、故障ブロックが特定された場合、図4(B)に示すように、FPGA回路監視部227は、回路故障がハードエラーであると判定する(421、422、423)。この場合には、FPGA回路監視部227は、発見された回路故障がハードエラーであることと特定された故障ブロックを回路情報管理部222に通知する。   Further, when a failure block is identified as a result of writing and operating a checking circuit in a block in which a circuit in which a circuit failure is found is written, as shown in FIG. 4B, the FPGA circuit monitoring unit 227 It is determined that the circuit failure is a hard error (421, 422, 423). In this case, the FPGA circuit monitoring unit 227 notifies the circuit information management unit 222 of the failure block identified as the discovered circuit failure being a hard error.

回路故障がハードエラーであることを通知された回路情報管理部222は、回路情報記憶部223に記憶している回路情報の内から、特定された故障ブロックを使用する回路情報を探して削除する。また、回路情報管理部222は、管理サーバ210に対して、実行していたタスクと故障ブロックを通知し、故障ブロックを避けた(故障ブロックを使用しない)新たな回路情報の合成を管理サーバ210に依頼する(424)。   The circuit information management unit 222 that has been notified that the circuit failure is a hard error searches the circuit information stored in the circuit information storage unit 223 for circuit information that uses the specified failure block and deletes it. . In addition, the circuit information management unit 222 notifies the management server 210 of the task being executed and the failed block, and synthesizes new circuit information that avoids the failed block (does not use the failed block). (424).

故障ブロックを避けた新たな回路情報の合成の依頼を受けた管理サーバ210では、回路情報合成部213が、通知されたタスクと故障ブロックに基づいて、故障ブロックを避けた回路情報を再合成する(425)。管理サーバ210の回路情報合成部213は、故障ブロックを避けた回路情報を再合成が完了すると、再合成した回路情報をFPGAサーバ220に送付する(426)。そして、再合成された回路情報は、FPGAサーバ220の回路情報記憶部223に記憶される。これにより、FPGAサーバ220は、回路故障により実行不能となったタスクを、別のブロックを用いて実行することが可能になる。   In the management server 210 that has received a request to synthesize new circuit information that avoids the failed block, the circuit information synthesis unit 213 re-synthesizes circuit information that avoids the failed block based on the notified task and the failed block. (425). When the circuit information combining unit 213 of the management server 210 completes the resynthesis of the circuit information avoiding the failed block, the circuit information combining unit 213 sends the recombined circuit information to the FPGA server 220 (426). The re-synthesized circuit information is stored in the circuit information storage unit 223 of the FPGA server 220. Thereby, the FPGA server 220 can execute a task that cannot be executed due to a circuit failure using another block.

次に、本実施形態における故障発生時(ハードエラー発生時)の回路情報に係る処理を説明する。図5(A)〜図5(F)は、本実施形態における故障発生時の回路情報に係る処理を説明する図である。図5(A)に示すように、FPGAサーバ220の回路情報記憶部223には、タスクAを処理する論理回路の回路情報521、タスクBを処理する論理回路の回路情報522、及びタスクCを処理する論理回路の回路情報523、524が記憶されているものとする。   Next, processing related to circuit information when a failure occurs (when a hardware error occurs) in this embodiment will be described. FIG. 5A to FIG. 5F are diagrams for explaining processing related to circuit information when a failure occurs in the present embodiment. As shown in FIG. 5A, the circuit information storage unit 223 of the FPGA server 220 stores circuit information 521 of a logic circuit that processes task A, circuit information 522 of a logic circuit that processes task B, and task C. It is assumed that circuit information 523 and 524 of the logic circuit to be processed is stored.

まず、図5(A)に示すようにFPGAサーバ220のFPGA回路部225にタスクCを処理する論理回路の回路情報524が書き込まれて、FPGA回路部225は、回路511によりタスクCを実行しているものとする。管理サーバ210からFPGAサーバ220にタスクAの実行が依頼されると、図5(B)に示すように、FPGA回路部225にタスクAを処理する論理回路の回路情報521が書き込まれて、FPGA回路部225は、回路512によるタスクAの実行を開始する。   First, as shown in FIG. 5A, circuit information 524 of a logic circuit that processes task C is written in the FPGA circuit unit 225 of the FPGA server 220, and the FPGA circuit unit 225 executes the task C by the circuit 511. It shall be. When the management server 210 requests the FPGA server 220 to execute the task A, as shown in FIG. 5B, circuit information 521 of the logic circuit that processes the task A is written in the FPGA circuit unit 225, and the FPGA The circuit unit 225 starts execution of task A by the circuit 512.

FPGA回路部225が、回路511によりタスクCを実行し、回路512によりタスクAを実行しているとき、図5(C)に示すようにタスクAを実行する回路512内のブロックでハードエラーが検出されたとする。このとき、FPGAサーバ220の回路情報管理部222は、回路情報記憶部223に記憶されている回路情報521〜524の内でハードエラーが検出された故障ブロックを使用している回路情報を検索する。この例では、タスクAを処理する論理回路の回路情報521及びタスクCを処理する論理回路の回路情報523が、ハードエラーが検出された故障ブロックを使用している回路情報となる。   When the FPGA circuit unit 225 executes the task C by the circuit 511 and executes the task A by the circuit 512, a hard error occurs in the block in the circuit 512 that executes the task A as shown in FIG. Suppose that it was detected. At this time, the circuit information management unit 222 of the FPGA server 220 searches the circuit information 521 to 524 stored in the circuit information storage unit 223 for circuit information using the failed block in which the hard error is detected. . In this example, the circuit information 521 of the logic circuit that processes the task A and the circuit information 523 of the logic circuit that processes the task C are circuit information using the failed block in which the hard error is detected.

そして、図5(D)に示すように、回路情報管理部222は、回路情報記憶部223から回路情報521、523を削除するとともに、FPGA回路部225に書き込まれていたタスクAを処理する論理回路の回路情報521が消去される。また、回路情報管理部222は、タスクAを処理する論理回路について故障ブロックを使用しない新たな回路情報の合成を管理サーバ210の回路情報合成部213に依頼する。これにより、図5(E)に示すように、回路情報記憶部223にタスクAを処理する論理回路の回路情報525が新たに記憶される。したがって、図5(F)に示すように、FPGA回路部225にタスクAを処理する論理回路の回路情報525を書き込むことで、FPGA回路部225は、回路513によるタスクAの実行が可能となる。   Then, as shown in FIG. 5D, the circuit information management unit 222 deletes the circuit information 521 and 523 from the circuit information storage unit 223 and processes the task A written in the FPGA circuit unit 225. The circuit information 521 of the circuit is deleted. In addition, the circuit information management unit 222 requests the circuit information synthesis unit 213 of the management server 210 to synthesize new circuit information that does not use the failure block for the logic circuit that processes the task A. As a result, as shown in FIG. 5E, circuit information 525 of the logic circuit that processes task A is newly stored in the circuit information storage unit 223. Therefore, as shown in FIG. 5F, the circuit information 525 of the logic circuit that processes the task A is written in the FPGA circuit unit 225, so that the FPGA circuit unit 225 can execute the task A by the circuit 513. .

このようにFPGAサーバ220は、FPGA回路部225のハードエラー(ハードウェア故障)を検出した場合、故障ブロックを特定して、特定された故障ブロックを使用する回路情報を回路情報記憶部223から削除する。また、管理サーバ210は、FPGAサーバ220からの依頼に応じて、特定された故障ブロックを避けた回路情報を再合成してFPGAサーバ220に提供する。これにより、FPGA回路部225のハードエラーが検出されても、ハードウェア故障したブロックを特定することで、故障ブロックを使用しない回路については正常動作が可能となる。また、特定された故障ブロックを避けた回路情報を再合成することで、複数の回路情報を予め用意しておかなくとも、故障ブロックを避けた回路の再構成が可能となり、再合成された回路情報を書き込むことで実行不能となったタスクを実行することができる。   As described above, when the FPGA server 220 detects a hardware error (hardware failure) of the FPGA circuit unit 225, the FPGA server 220 identifies the failed block and deletes the circuit information using the identified failed block from the circuit information storage unit 223. To do. Further, the management server 210 re-synthesizes circuit information that avoids the specified failure block in response to a request from the FPGA server 220 and provides the circuit information to the FPGA server 220. As a result, even if a hardware error in the FPGA circuit unit 225 is detected, it is possible to normally operate a circuit that does not use the failed block by specifying the block in which the hardware has failed. Also, by re-synthesizing the circuit information that avoids the specified failure block, it is possible to reconfigure the circuit that avoids the failure block without preparing multiple pieces of circuit information in advance. Tasks that cannot be executed by writing information can be executed.

なお、前述した例では、タスクの実行中に回路故障が発見された場合、タスクの継続実行を試みずに、他のFPGAサーバにタスクの継続実行を依頼するようにしているが、以下に説明するようにソフトエラーである場合にはタスクを継続実行させるようにしてもよい。図6(A)及び図6(B)は、本実施形態における故障発生時の処理の流れの他の例を示す図である。図6(A)には、回路故障がソフトエラーである場合を示し、図6(B)には回路故障がハードエラーである場合を示している。   In the above-described example, when a circuit failure is detected during task execution, the task is requested to be continued from another FPGA server without trying to continue task execution. As described above, in the case of a soft error, the task may be continuously executed. 6A and 6B are diagrams illustrating another example of a processing flow when a failure occurs in the present embodiment. FIG. 6A shows a case where the circuit failure is a soft error, and FIG. 6B shows a case where the circuit failure is a hard error.

図6(A)及び図6(B)において、処理601〜607は、図4(A)及び図4(B)に示した処理401〜407と同様であるので説明は省略する。
FPGA回路部225での回路故障がタスク管理部221に通知されると、FPGAサーバ220では、FPGA回路部225内の回路故障が発見された回路を書き込んだブロックにチェッキング回路(診断回路)を書き込んで動作させ、FPGA回路監視部227による故障ブロックの特定を行う。
6A and 6B, processes 601 to 607 are the same as the processes 401 to 407 shown in FIGS. 4A and 4B, and thus the description thereof is omitted.
When a circuit failure in the FPGA circuit unit 225 is notified to the task management unit 221, the FPGA server 220 adds a checking circuit (diagnostic circuit) to the block in which the circuit where the circuit failure is found in the FPGA circuit unit 225 is written. The operation is performed by writing, and the failure block is specified by the FPGA circuit monitoring unit 227.

チェッキング回路を書き込んで動作させた結果、チェッキング回路で正常動作が確認された(ブロックの故障を示さない)場合、図6(A)に示すように、FPGA回路監視部227は、回路故障がソフトエラーであると判定する。この場合には、FPGAサーバ220では、元の回路情報をFPGA回路部225に再び書き込むソフトエラー対策により実行依頼されたタスクを実行する論理回路を復帰させる(608)。   As a result of writing and operating the checking circuit, if the normal operation is confirmed in the checking circuit (not indicating a block failure), the FPGA circuit monitoring unit 227, as shown in FIG. Is a soft error. In this case, the FPGA server 220 restores the logic circuit that executes the task requested to be executed by the software error countermeasure that rewrites the original circuit information in the FPGA circuit unit 225 (608).

その後、前回の正常動作時の続きから(例えば、正常動作時の中間データを記憶したリカバリポイントから)タスクを継続実行する(609)。そして、FPGA回路監視部227がFPGA回路部225の正常動作を適宜確認し(610)、タスク管理部221が、実行結果記憶部226から実行結果を取得して管理サーバ210に送る(611)。タスクの実行が完了すると、管理サーバ210は、タスクの実行結果をクライアントサーバに返す(612)。このように制御することで、回路故障がソフトエラーであった場合には、他のFPGAサーバに依頼せずに、タスクの処理を継続して実行することができる。   Thereafter, the task is continuously executed from the continuation of the previous normal operation (for example, from the recovery point storing the intermediate data during the normal operation) (609). Then, the FPGA circuit monitoring unit 227 appropriately checks the normal operation of the FPGA circuit unit 225 (610), and the task management unit 221 acquires the execution result from the execution result storage unit 226 and sends it to the management server 210 (611). When the task execution is completed, the management server 210 returns the task execution result to the client server (612). By controlling in this way, when the circuit failure is a soft error, the task processing can be continuously executed without requesting another FPGA server.

また、チェッキング回路を書き込んで動作させた結果、チェッキング回路で正常動作が確認できない場合、図6(B)に示すように、FPGA回路監視部227は、回路故障がハードエラーであると判定する(621、622)。この場合には、FPGA回路監視部227により回路故障がハードエラーであることがタスク管理部221及び回路情報管理部222に通知され、タスク管理部221はタスクの実行失敗を管理サーバ210に通知する(623)。   Further, as a result of writing and operating the checking circuit, if normal operation cannot be confirmed by the checking circuit, the FPGA circuit monitoring unit 227 determines that the circuit failure is a hard error as shown in FIG. 6B. (621, 622). In this case, the FPGA circuit monitoring unit 227 notifies the task management unit 221 and the circuit information management unit 222 that the circuit failure is a hard error, and the task management unit 221 notifies the management server 210 of the task execution failure. (623).

管理サーバ210のタスク制御部211は、タスクの実行失敗の通知を受けると、タスクを実行していたFPGAサーバ220に対して正常動作時の中間データの取得を要求し、正常動作時の実行結果である中間データを取得する(624)。そして、管理サーバ210のタスク制御部211は、取得した中間データを提供するなどして、実行不能になったタスクの実行を他のFPGAサーバに依頼し、タスクの実行を継続させる(625)。他のFPGAサーバによるタスクの実行が完了すると、管理サーバ210は、タスクの実行結果をクライアントサーバに返す(626)。   Upon receiving notification of task execution failure, the task control unit 211 of the management server 210 requests the FPGA server 220 that has executed the task to acquire intermediate data during normal operation, and the execution result during normal operation Intermediate data is acquired (624). Then, the task control unit 211 of the management server 210 requests the other FPGA server to execute the task that has become unexecutable by providing the acquired intermediate data or the like, and continues the task execution (625). When the execution of the task by the other FPGA server is completed, the management server 210 returns the execution result of the task to the client server (626).

また、ハードエラーが発見されたFPGAサーバ220では、FPGA回路部225内に書き込んだチェッキング回路を用いて故障ブロックの特定を行う(627)。そして、故障ブロックが特定されると、FPGA回路監視部227は、特定された故障ブロックを回路情報管理部222に通知する。回路情報管理部222は、回路情報記憶部223に記憶している回路情報の内から、特定された故障ブロックを使用する回路情報を探して削除する。また、回路情報管理部222は、管理サーバ210に対して、実行していたタスクと故障ブロックを通知し、故障ブロックを避けた新たな回路情報の合成を管理サーバ210に依頼する(628)。   In addition, the FPGA server 220 in which the hardware error is found identifies the failed block using the checking circuit written in the FPGA circuit unit 225 (627). When the failed block is specified, the FPGA circuit monitoring unit 227 notifies the circuit information management unit 222 of the specified failed block. The circuit information management unit 222 searches for and deletes circuit information that uses the specified failure block from the circuit information stored in the circuit information storage unit 223. Further, the circuit information management unit 222 notifies the management server 210 of the task being executed and the failed block, and requests the management server 210 to synthesize new circuit information that avoids the failed block (628).

故障ブロックを避けた新たな回路情報の合成の依頼を受けた管理サーバ210では、回路情報合成部213が、通知されたタスクと故障ブロックに基づいて、故障ブロックを避けた回路情報を再合成する(629)。管理サーバ210の回路情報合成部213は、故障ブロックを避けた回路情報を再合成が完了すると、再合成した回路情報をFPGAサーバ220に送付する(630)。そして、再合成された回路情報は、FPGAサーバ220の回路情報記憶部223に記憶される。これにより、FPGAサーバ220は、回路故障により実行不能となったタスクを、別のブロックを用いて実行することが可能になる。   In the management server 210 that has received a request to synthesize new circuit information that avoids the failed block, the circuit information synthesis unit 213 re-synthesizes circuit information that avoids the failed block based on the notified task and the failed block. (629). When the circuit information combining unit 213 of the management server 210 completes the resynthesis of the circuit information avoiding the failed block, the circuit information combining unit 213 sends the recombined circuit information to the FPGA server 220 (630). The re-synthesized circuit information is stored in the circuit information storage unit 223 of the FPGA server 220. Thereby, the FPGA server 220 can execute a task that cannot be executed due to a circuit failure using another block.

また、前述した例では、図4(B)及び図6(B)に示した処理では、実行不能になったタスクの処理を他のFPGAサーバに依頼するようにしているが、回路故障が発生したFPGAサーバにおいて、故障ブロックを使用しない回路情報をFPGA回路部225に書き込んで実行不能になったタスクの処理を継続実行するようにしてもよい。例えば、他のFPGAサーバで回路資源(リソース)が空いていないために、実行不能になったタスクの処理を他のFPGAサーバに依頼できない場合に、回路故障が発生したFPGAサーバにおいて、故障ブロックを使用しない回路情報をFPGA回路部225に書き込んで実行不能になったタスクの処理を継続実行するようにしてもよい。   In the example described above, in the processing shown in FIGS. 4B and 6B, the processing of the task that has become impossible to execute is requested to another FPGA server, but a circuit failure occurs. In the FPGA server, the circuit information that does not use the failed block may be written in the FPGA circuit unit 225 and the processing of the task that cannot be executed may be continuously executed. For example, in the case where a circuit failure has occurred in the FPGA server in which a circuit failure has occurred when the processing of a task that has become unexecutable cannot be requested to another FPGA server because circuit resources (resources) are not available in another FPGA server. Circuit information that is not used may be written in the FPGA circuit unit 225 to continue the processing of the task that has become impossible to execute.

また、前述した例では、管理サーバを設けて、クライアントサーバから依頼されるタスクの割り振りや、タスクを処理する回路の回路情報の合成を行うようにしているが、管理サーバを設けずに、図7に示すように、FPGAサーバにタスクを処理する回路の回路情報を合成する機能を備えさせることでも前述した実施形態と同様の動作が実現可能である。図7は、本実施形態におけるFPGAサーバの他の機能構成例を示す図である。   In the above-described example, a management server is provided to allocate tasks requested from the client server and to synthesize circuit information of circuits that process the tasks. As shown in FIG. 7, the same operation as that of the above-described embodiment can be realized by providing the FPGA server with a function of synthesizing circuit information of a circuit that processes a task. FIG. 7 is a diagram illustrating another functional configuration example of the FPGA server according to the present embodiment.

FPGAサーバ710は、タスク管理部711、回路ソース記憶部712、回路情報合成部713、回路情報管理部714、回路情報記憶部715、回路情報書き込み部716、FPGA回路部717、実行結果記憶部718、及びFPGA回路監視部719を有する。タスク管理部711は制御部の一例であり、回路情報合成部713は合成部の一例であり、回路情報管理部714は管理部の一例であり、回路情報記憶部715は記憶部の一例であり、FPGA回路部717は再構成デバイスの一例であり、FPGA回路監視部719は検出部の一例である。   The FPGA server 710 includes a task management unit 711, a circuit source storage unit 712, a circuit information synthesis unit 713, a circuit information management unit 714, a circuit information storage unit 715, a circuit information writing unit 716, an FPGA circuit unit 717, and an execution result storage unit 718. , And an FPGA circuit monitoring unit 719. The task management unit 711 is an example of a control unit, the circuit information synthesis unit 713 is an example of a synthesis unit, the circuit information management unit 714 is an example of a management unit, and the circuit information storage unit 715 is an example of a storage unit. The FPGA circuit unit 717 is an example of a reconstruction device, and the FPGA circuit monitoring unit 719 is an example of a detection unit.

タスク管理部711、回路情報合成部713、回路情報管理部714、回路情報書き込み部716、及びFPGA回路監視部719は、例えばFPGAサーバのCPU21が記憶部22からプログラムを読み出して実行することで実現される。また、回路ソース記憶部712、回路情報記憶部715、及び実行結果記憶部718は例えばFPGAサーバの記憶部22により実現され、FPGA回路部717は例えばFPGAサーバのFPGA23により実現される。   The task management unit 711, the circuit information synthesis unit 713, the circuit information management unit 714, the circuit information writing unit 716, and the FPGA circuit monitoring unit 719 are realized by, for example, the CPU 21 of the FPGA server reading and executing a program from the storage unit 22. Is done. In addition, the circuit source storage unit 712, the circuit information storage unit 715, and the execution result storage unit 718 are realized by the storage unit 22 of the FPGA server, for example, and the FPGA circuit unit 717 is realized by the FPGA 23 of the FPGA server, for example.

タスク管理部711は、クライアントサーバからタスク処理の実行依頼を受け、そのタスクを処理する論理回路の回路情報を回路情報書き込み部716によりFPGA回路部717に書き込んでタスクを実行させる制御を行う。また、タスク管理部711は、実行結果記憶部718に記憶されるタスクの実行結果をクライアントサーバに返す。   The task management unit 711 receives a task processing execution request from the client server, and writes circuit information of a logic circuit that processes the task into the FPGA circuit unit 717 by the circuit information writing unit 716 and performs control to execute the task. Also, the task management unit 711 returns the task execution result stored in the execution result storage unit 718 to the client server.

回路ソース記憶部712は、各タスクを処理する論理回路のソースコードを記憶する。回路情報合成部713は、回路ソース記憶部712に記憶された論理回路のソースコードから回路情報を合成して回路情報管理部714に提供する。また、回路情報合成部713は、故障ブロックを避けた新たな回路情報の再合成の依頼を回路情報管理部714から受けた場合、故障ブロックを避けて論理回路を構成する回路情報を回路ソース記憶部712に記憶されたソースコードを基に再合成して回路情報管理部714に提供する。   The circuit source storage unit 712 stores the source code of the logic circuit that processes each task. The circuit information synthesis unit 713 synthesizes circuit information from the logic circuit source code stored in the circuit source storage unit 712 and provides the circuit information management unit 714 with the circuit information. In addition, when the circuit information synthesis unit 713 receives a request for re-synthesis of new circuit information avoiding the failed block from the circuit information management unit 714, the circuit information composing the logic circuit while avoiding the failed block is stored in the circuit source. Based on the source code stored in the unit 712, it is re-synthesized and provided to the circuit information management unit 714.

回路情報管理部714は、回路情報合成部713から提供される回路情報を回路情報記憶部715に記憶する。回路情報管理部714は、FPGA回路監視部719によりFPGA回路部717でハードエラーが検出されて故障ブロックが通知されると、回路情報記憶部715に記憶している回路情報の内から、その故障ブロックを使用する回路情報を削除する。また、回路情報管理部714は、故障ブロックを避けた新たな回路情報の再合成を回路情報合成部713に依頼する。   The circuit information management unit 714 stores the circuit information provided from the circuit information synthesis unit 713 in the circuit information storage unit 715. When the FPGA circuit monitoring unit 719 detects a hardware error in the FPGA circuit unit 717 and notifies a failure block, the circuit information management unit 714 detects the failure from the circuit information stored in the circuit information storage unit 715. Delete the circuit information that uses the block. The circuit information management unit 714 requests the circuit information synthesis unit 713 to re-synthesize new circuit information that avoids the failed block.

回路情報記憶部715、回路情報書き込み部716、FPGA回路部717、実行結果記憶部718、及びFPGA回路監視部719のそれぞれは、図2に示した回路情報記憶部223、回路情報書き込み部224、FPGA回路部225、実行結果記憶部226、及びFPGA回路監視部227と同様であるので説明は省略する。   Each of the circuit information storage unit 715, the circuit information writing unit 716, the FPGA circuit unit 717, the execution result storage unit 718, and the FPGA circuit monitoring unit 719 includes the circuit information storage unit 223, the circuit information writing unit 224, Since this is the same as the FPGA circuit unit 225, the execution result storage unit 226, and the FPGA circuit monitoring unit 227, description thereof is omitted.

なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
前述した実施形態に関し、さらに以下の付記を開示する。
The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.
The following additional notes are disclosed with respect to the above-described embodiment.

(付記1)
論理のプログラム可能な複数のブロックを有し、回路情報に基づいて前記ブロックを再構成することにより回路構成を変更可能な再構成デバイスと、
タスクを処理する回路のソースコードから前記回路情報を合成する合成部と、
前記再構成デバイスの故障を検出する検出部とを有し、
前記検出部は、前記再構成デバイスのハードウェア故障を検出した場合、前記ハードウェア故障したブロックを特定し、
前記合成部は、特定された前記ハードウェア故障したブロックを避けた前記回路情報を合成することを特徴とする情報処理装置。
(付記2)
前記再構成デバイスのハードウェア故障が検出された場合、前記合成部は、特定された前記ハードウェア故障したブロックで実行していたタスクを処理する回路の前記回路情報を合成することを特徴とする付記1記載の情報処理装置。
(付記3)
前記合成部により合成された前記回路情報を記憶する記憶部と、
前記再構成デバイスのハードウェア故障が検出された場合、特定された前記ハードウェア故障したブロックを使用する前記回路情報を前記記憶部から削除する管理部とを有することを特徴とする付記1又は2記載の情報処理装置。
(付記4)
前記再構成デバイスで実行するタスクに係る制御を行う制御部を有し、
前記再構成デバイスのハードウェア故障が検出された場合、前記制御部は、特定された前記ハードウェア故障したブロックで実行していたタスクの処理を他の情報処理装置に依頼することを特徴とする付記1〜3の何れか1項に記載の情報処理装置。
(付記5)
前記再構成デバイスで実行するタスクに係る制御を行う制御部を有し、
前記再構成デバイスのハードウェア故障が検出された場合、前記制御部は、特定された前記ハードウェア故障したブロックを使用しない前記回路情報を用いて、該ブロックで実行していたタスクの処理を継続させることを特徴とする付記1〜3の何れか1項に記載の情報処理装置。
(付記6)
タスクを処理する回路のソースコードから回路情報を合成する合成部を有する第1のサーバと、
論理のプログラム可能な複数のブロックを有し前記回路情報に基づいて前記ブロックを再構成することにより回路構成を変更可能な再構成デバイスと、前記再構成デバイスの故障を検出する検出部とを有し、前記第1のサーバと通信可能な第2のサーバとを有し、
前記第2のサーバは、前記検出部が前記再構成デバイスのハードウェア故障を検出した場合、前記検出部により前記ハードウェア故障したブロックを特定して該ブロックを避けた前記回路情報の合成を前記第1のサーバに依頼し、
前記第1のサーバは、前記第2のサーバからの依頼に応じて、特定された前記ハードウェア故障したブロックを避けた前記回路情報を前記合成部により合成して前記第2のサーバに提供することを特徴とする情報処理システム。
(付記7)
前記再構成デバイスのハードウェア故障が検出された場合、前記第1のサーバは、特定された前記ハードウェア故障したブロックで実行していたタスクを処理する回路の前記回路情報を前記合成部により合成して前記第2のサーバに提供することを特徴とする付記6記載の情報処理システム。
(付記8)
前記第2のサーバは、
前記第1のサーバから提供された前記回路情報を記憶する記憶部と、
前記再構成デバイスのハードウェア故障が検出された場合、特定された前記ハードウェア故障したブロックを使用する前記回路情報を前記記憶部から削除する管理部とを有することを特徴とする付記6又は7記載の情報処理システム。
(付記9)
論理のプログラム可能な複数のブロックを有し、回路情報に基づいて前記ブロックを再構成することにより回路構成を変更可能な再構成デバイスを有する情報処理装置の情報処理方法であって、
前記情報処理装置の検出部が、前記再構成デバイスのハードウェア故障を検出した場合、前記ハードウェア故障したブロックを特定し、
前記情報処理装置の合成部が、タスクを処理する回路のソースコードから、特定された前記ハードウェア故障したブロックを避けた前記回路情報を合成することを特徴とする情報処理方法。
(付記10)
前記情報処理装置は、前記合成部により合成された前記回路情報を記憶する記憶部を有し、
前記再構成デバイスのハードウェア故障が検出された場合、特定された前記ハードウェア故障したブロックを使用する前記回路情報を前記記憶部から削除することを特徴とする付記9記載の情報処理方法。
(付記11)
論理のプログラム可能な複数のブロックを有し、回路情報に基づいて前記ブロックを再構成することにより回路構成を変更可能な再構成デバイスを有する情報処理装置のコンピュータに、
前記再構成デバイスの故障の検出を行い、前記再構成デバイスのハードウェア故障を検出した場合、前記ハードウェア故障したブロックを特定する処理と、
タスクを処理する回路のソースコードから、特定された前記ハードウェア故障したブロックを避けた前記回路情報を合成する処理とを実行させるためのプログラム。
(付記12)
論理のプログラム可能な複数のブロックを有し、回路情報に基づいて前記ブロックを再構成することにより回路構成を変更可能な再構成デバイスを有する情報処理装置のコンピュータに、
前記再構成デバイスの故障の検出を行い、前記再構成デバイスのハードウェア故障を検出した場合、前記ハードウェア故障したブロックを特定する処理と、
タスクを処理する回路のソースコードから、特定された前記ハードウェア故障したブロックを避けた前記回路情報を合成する処理とを実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
(Appendix 1)
A reconfigurable device having a plurality of logic programmable blocks, the circuit configuration being changeable by reconfiguring the blocks based on circuit information;
A synthesis unit that synthesizes the circuit information from the source code of the circuit that processes the task;
A detection unit for detecting a failure of the reconfigurable device,
When the detection unit detects a hardware failure of the reconfigurable device, the detection unit identifies the block having the hardware failure,
The information processing apparatus characterized in that the combining unit combines the circuit information avoiding the identified hardware-failed block.
(Appendix 2)
When a hardware failure of the reconfigurable device is detected, the synthesis unit synthesizes the circuit information of a circuit that processes a task executed in the identified hardware-failed block. The information processing apparatus according to attachment 1.
(Appendix 3)
A storage unit for storing the circuit information synthesized by the synthesis unit;
And a management unit that deletes, from the storage unit, the circuit information that uses the identified hardware-failed block when a hardware failure of the reconfigurable device is detected. The information processing apparatus described.
(Appendix 4)
A control unit that performs control related to a task executed by the reconfigurable device;
When a hardware failure of the reconfigurable device is detected, the control unit requests another information processing apparatus to process a task that has been executed in the identified hardware-failed block. The information processing apparatus according to any one of appendices 1 to 3.
(Appendix 5)
A control unit that performs control related to a task executed by the reconfigurable device;
When a hardware failure of the reconfigurable device is detected, the control unit continues the processing of the task executed in the block by using the circuit information that does not use the identified hardware-failed block The information processing apparatus according to any one of appendices 1 to 3, wherein:
(Appendix 6)
A first server having a synthesis unit that synthesizes circuit information from the source code of the circuit that processes the task;
A reconfigurable device having a plurality of logic programmable blocks and reconfiguring the block based on the circuit information; and a detector for detecting a failure of the reconfigurable device. And a second server capable of communicating with the first server,
When the detection unit detects a hardware failure of the reconfigurable device, the second server identifies the block having the hardware failure by the detection unit and synthesizes the circuit information that avoids the block. Ask the first server,
In response to a request from the second server, the first server synthesizes the circuit information avoiding the identified hardware-failed block by the synthesizer and provides the synthesizer with the circuit information. An information processing system characterized by this.
(Appendix 7)
When a hardware failure of the reconfigurable device is detected, the first server synthesizes the circuit information of a circuit that processes a task executed in the identified hardware-failed block by the synthesizer. The information processing system according to appendix 6, wherein the information processing system is provided to the second server.
(Appendix 8)
The second server is
A storage unit for storing the circuit information provided from the first server;
Appendix 6 or 7 further comprising: a management unit that deletes the circuit information that uses the identified hardware-failed block from the storage unit when a hardware failure of the reconfigurable device is detected. The information processing system described.
(Appendix 9)
An information processing method for an information processing apparatus having a reconfigurable device having a plurality of logic programmable blocks and reconfiguring the block by reconfiguring the block based on circuit information,
When the detection unit of the information processing apparatus detects a hardware failure of the reconfigurable device, the hardware failure block is identified,
A synthesizing unit of the information processing apparatus synthesizes the circuit information avoiding the identified hardware-failed block from source code of a circuit that processes a task.
(Appendix 10)
The information processing apparatus includes a storage unit that stores the circuit information combined by the combining unit.
The information processing method according to claim 9, wherein when a hardware failure of the reconfigurable device is detected, the circuit information that uses the identified hardware-failed block is deleted from the storage unit.
(Appendix 11)
A computer of an information processing apparatus having a reconfigurable device having a plurality of logic programmable blocks and reconfiguring the blocks by reconfiguring the blocks based on circuit information.
When the failure of the reconfigurable device is detected and a hardware failure of the reconfigurable device is detected, a process of specifying the hardware-failed block;
A program for executing, from a source code of a circuit that processes a task, a process of synthesizing the circuit information that avoids the identified hardware-failed block.
(Appendix 12)
A computer of an information processing apparatus having a reconfigurable device having a plurality of logic programmable blocks and reconfiguring the blocks by reconfiguring the blocks based on circuit information.
When the failure of the reconfigurable device is detected and a hardware failure of the reconfigurable device is detected, a process of specifying the hardware-failed block;
A computer-readable recording medium having recorded thereon a program for executing processing for synthesizing the circuit information avoiding the identified hardware-failed block from source code of a circuit for processing a task .

10 管理サーバ
20 FPGAサーバ
11、21 CPU
12、22 記憶部
23 FPGA(再構成デバイス)
210 管理サーバ
211 タスク制御部
212、712 回路ソース記憶部
213、713 回路情報合成部
220、710 FPGAサーバ
221、711 タスク管理部
222、714 回路情報管理部
223、715 回路情報記憶部
224、716 回路情報書き込み部
225、717 FPGA回路部
226、718 実行結果記憶部
227、719 FPGA回路監視部
10 Management server 20 FPGA server 11, 21 CPU
12, 22 Storage unit 23 FPGA (reconfiguration device)
210 management server 211 task control unit 212, 712 circuit source storage unit 213, 713 circuit information synthesis unit 220, 710 FPGA server 221, 711 task management unit 222, 714 circuit information management unit 223, 715 circuit information storage unit 224, 716 circuit Information writing unit 225, 717 FPGA circuit unit 226, 718 Execution result storage unit 227, 719 FPGA circuit monitoring unit

Claims (8)

論理のプログラム可能な複数のブロックを有し、回路情報に基づいて前記ブロックを再構成することにより回路構成を変更可能な再構成デバイスと、
タスクを処理する回路のソースコードから前記回路情報を合成する合成部と、
前記再構成デバイスの故障を検出する検出部とを有し、
前記検出部は、前記再構成デバイスのハードウェア故障を検出した場合、前記ハードウェア故障したブロックを特定し、
前記合成部は、特定された前記ハードウェア故障したブロックを避けた前記回路情報を合成することを特徴とする情報処理装置。
A reconfigurable device having a plurality of logic programmable blocks, the circuit configuration being changeable by reconfiguring the blocks based on circuit information;
A synthesis unit that synthesizes the circuit information from the source code of the circuit that processes the task;
A detection unit for detecting a failure of the reconfigurable device,
When the detection unit detects a hardware failure of the reconfigurable device, the detection unit identifies the block having the hardware failure,
The information processing apparatus characterized in that the combining unit combines the circuit information avoiding the identified hardware-failed block.
前記再構成デバイスのハードウェア故障が検出された場合、前記合成部は、特定された前記ハードウェア故障したブロックで実行していたタスクを処理する回路の前記回路情報を合成することを特徴とする請求項1記載の情報処理装置。   When a hardware failure of the reconfigurable device is detected, the synthesis unit synthesizes the circuit information of a circuit that processes a task executed in the identified hardware-failed block. The information processing apparatus according to claim 1. 前記合成部により合成された前記回路情報を記憶する記憶部と、
前記再構成デバイスのハードウェア故障が検出された場合、特定された前記ハードウェア故障したブロックを使用する前記回路情報を前記記憶部から削除する管理部とを有することを特徴とする請求項1又は2記載の情報処理装置。
A storage unit for storing the circuit information synthesized by the synthesis unit;
The management unit that deletes the circuit information that uses the identified hardware-failed block from the storage unit when a hardware failure of the reconfigurable device is detected. 2. The information processing apparatus according to 2.
前記再構成デバイスで実行するタスクに係る制御を行う制御部を有し、
前記再構成デバイスのハードウェア故障が検出された場合、前記制御部は、特定された前記ハードウェア故障したブロックで実行していたタスクの処理を他の情報処理装置に依頼することを特徴とする請求項1〜3の何れか1項に記載の情報処理装置。
A control unit that performs control related to a task executed by the reconfigurable device;
When a hardware failure of the reconfigurable device is detected, the control unit requests another information processing apparatus to process a task that has been executed in the identified hardware-failed block. The information processing apparatus according to any one of claims 1 to 3.
前記再構成デバイスで実行するタスクに係る制御を行う制御部を有し、
前記再構成デバイスのハードウェア故障が検出された場合、前記制御部は、特定された前記ハードウェア故障したブロックを使用しない前記回路情報を用いて、該ブロックで実行していたタスクの処理を継続させることを特徴とする請求項1〜3の何れか1項に記載の情報処理装置。
A control unit that performs control related to a task executed by the reconfigurable device;
When a hardware failure of the reconfigurable device is detected, the control unit continues the processing of the task executed in the block by using the circuit information that does not use the identified hardware-failed block The information processing apparatus according to any one of claims 1 to 3, wherein the information processing apparatus is used.
論理のプログラム可能な複数のブロックを有し、回路情報に基づいて前記ブロックを再構成することにより回路構成を変更可能な再構成デバイスを有する情報処理装置の情報処理方法であって、
前記情報処理装置の検出部が、前記再構成デバイスのハードウェア故障を検出した場合、前記ハードウェア故障したブロックを特定し、
前記情報処理装置の合成部が、タスクを処理する回路のソースコードから、特定された前記ハードウェア故障したブロックを避けた前記回路情報を合成することを特徴とする情報処理方法。
An information processing method for an information processing apparatus having a reconfigurable device having a plurality of logic programmable blocks and reconfiguring the block by reconfiguring the block based on circuit information,
When the detection unit of the information processing apparatus detects a hardware failure of the reconfigurable device, the hardware failure block is identified,
A synthesizing unit of the information processing apparatus synthesizes the circuit information avoiding the identified hardware-failed block from source code of a circuit that processes a task.
前記情報処理装置は、前記合成部により合成された前記回路情報を記憶する記憶部を有し、
前記再構成デバイスのハードウェア故障が検出された場合、特定された前記ハードウェア故障したブロックを使用する前記回路情報を前記記憶部から削除することを特徴とする請求項6記載の情報処理方法。
The information processing apparatus includes a storage unit that stores the circuit information combined by the combining unit.
The information processing method according to claim 6, wherein when a hardware failure of the reconfigurable device is detected, the circuit information that uses the identified hardware-failed block is deleted from the storage unit.
論理のプログラム可能な複数のブロックを有し、回路情報に基づいて前記ブロックを再構成することにより回路構成を変更可能な再構成デバイスを有する情報処理装置のコンピュータに、
前記再構成デバイスの故障の検出を行い、前記再構成デバイスのハードウェア故障を検出した場合、前記ハードウェア故障したブロックを特定する処理と、
タスクを処理する回路のソースコードから、特定された前記ハードウェア故障したブロックを避けた前記回路情報を合成する処理とを実行させるためのプログラム。
A computer of an information processing apparatus having a reconfigurable device having a plurality of logic programmable blocks and reconfiguring the blocks by reconfiguring the blocks based on circuit information.
When the failure of the reconfigurable device is detected and a hardware failure of the reconfigurable device is detected, a process of specifying the hardware-failed block;
A program for executing, from a source code of a circuit that processes a task, a process of synthesizing the circuit information that avoids the identified hardware-failed block.
JP2017063000A 2017-03-28 2017-03-28 Information processor and information processing method and program Pending JP2018165908A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017063000A JP2018165908A (en) 2017-03-28 2017-03-28 Information processor and information processing method and program
PCT/JP2018/002093 WO2018179739A1 (en) 2017-03-28 2018-01-24 Information processing device, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017063000A JP2018165908A (en) 2017-03-28 2017-03-28 Information processor and information processing method and program

Publications (1)

Publication Number Publication Date
JP2018165908A true JP2018165908A (en) 2018-10-25

Family

ID=63674611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017063000A Pending JP2018165908A (en) 2017-03-28 2017-03-28 Information processor and information processing method and program

Country Status (2)

Country Link
JP (1) JP2018165908A (en)
WO (1) WO2018179739A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022269677A1 (en) * 2021-06-21 2022-12-29 日本電信電話株式会社 Computing system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3365581B2 (en) * 1994-07-29 2003-01-14 富士通株式会社 Information processing device with self-healing function
JP3491579B2 (en) * 1999-11-04 2004-01-26 日本電信電話株式会社 Logic circuit data generation method and apparatus, and storage medium storing logic circuit data generation program
CN100397331C (en) * 2001-09-07 2008-06-25 Ip菲力股份有限公司 Data processing system and control method thereof
JPWO2007145220A1 (en) * 2006-06-14 2009-11-05 パナソニック株式会社 Apparatus comprising rewritable circuit, update system, update method, update program, and integrated circuit
JP5533877B2 (en) * 2009-09-18 2014-06-25 日本電気株式会社 Data center system, reconfigurable node, reconfigurable node control method, reconfigurable node control program
WO2012070669A1 (en) * 2010-11-24 2012-05-31 日本電気株式会社 Method and system for generating circuit information for programmable logic device, circuit testing device and computer program therefor, device and computer program for creating circuit data, and computer readable storage medium
JP6488541B2 (en) * 2013-12-18 2019-03-27 富士通株式会社 Logic circuit and method for controlling logic circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022269677A1 (en) * 2021-06-21 2022-12-29 日本電信電話株式会社 Computing system

Also Published As

Publication number Publication date
WO2018179739A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
US11108859B2 (en) Intelligent backup and recovery of cloud computing environment
CN108604202B (en) Working node reconstruction for parallel processing system
US10956143B2 (en) Server updates
US20070299943A1 (en) Ignoring redundant symptoms in modular self-healing systems
Jehl et al. Smartmerge: A new approach to reconfiguration for atomic storage
CN109901985B (en) Distributed test apparatus and method, storage medium, and electronic device
EP3591530B1 (en) Intelligent backup and recovery of cloud computing environment
US11533391B2 (en) State replication, allocation and failover in stream processing
US10860411B2 (en) Automatically detecting time-of-fault bugs in cloud systems
KR101024249B1 (en) Real-time data replication system
CN112600690B (en) Configuration data synchronization method, device, equipment and storage medium
WO2018179739A1 (en) Information processing device, information processing method, and program
US20150149974A1 (en) Diagnosis device, control method of diagnosis device, and recording medium
JP2009176232A (en) Starting device, starting method, and starting program
JP6194496B2 (en) Information processing apparatus, information processing method, and program
JP7287651B2 (en) DISTRIBUTED PROCESSING APPARATUS, DISTRIBUTED PROCESSING METHOD, AND PROGRAM
EP2799991A1 (en) The disable restart setting for AMF configuration components
CN112579145A (en) Application deployment method and device
CN106599046B (en) Writing method and device of distributed file system
Bravo et al. Policy-based adaptation of a byzantine fault tolerant distributed graph database
US11663096B1 (en) Managing storage domains, service tiers and failed storage domain
JP2018206233A (en) Information processing device, process switching method and program
US20230092343A1 (en) Lockstep processor recovery for vehicle applications
US10452445B2 (en) Dynamically configurable storage clusters
JP2005157462A (en) System switching method and information processing system