WO2018179739A1 - Dispositif de traitement d'informations, procédé de traitement d'informations et programme - Google Patents
Dispositif de traitement d'informations, procédé de traitement d'informations et programme Download PDFInfo
- Publication number
- WO2018179739A1 WO2018179739A1 PCT/JP2018/002093 JP2018002093W WO2018179739A1 WO 2018179739 A1 WO2018179739 A1 WO 2018179739A1 JP 2018002093 W JP2018002093 W JP 2018002093W WO 2018179739 A1 WO2018179739 A1 WO 2018179739A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- circuit
- unit
- information
- task
- fpga
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
Definitions
- the present invention relates to an information processing apparatus, an information processing method, and a program.
- An information processing apparatus 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.
- Failures in the FPGA can generally be detected.
- a failure in 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 circuit failure can be detected by using test data for operation confirmation.
- CRC Cyclic Redundancy Code
- the circuit information differs if the position of the circuit in the FPGA is different.
- Has been proposed for example, see Patent Document 2.
- circuit information for realizing the same function when a plurality of circuit information for realizing the same function is 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.
- 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
- a detection unit that detects a failure of the reconfigurable device.
- 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.
- FIG. 1 is a diagram illustrating a configuration example of an information processing system according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a functional configuration example of the management server and the FPGA server in the present embodiment.
- FIG. 3 is a diagram illustrating an example of the flow of processing during normal operation in the present embodiment.
- FIG. 4A and FIG. 4B are diagrams illustrating an example of a processing flow when a failure occurs in the present embodiment.
- FIGS. 5A to 5F are diagrams for explaining processing related to circuit information when a failure occurs in the present embodiment.
- 6A and 6B are diagrams illustrating another example of a processing flow when a failure occurs in the present embodiment.
- FIG. 7 is a diagram illustrating another functional configuration example of the FPGA server according to the present embodiment.
- 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.
- 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.
- the management server 10 receives a task processing request from a client server (not shown), allocates a task to each FPGA server 20, and receives a 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.
- 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.
- 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.
- 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.
- 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.
- the FPGA server 20 When the FPGA server 20 receives an inquiry from the management server 10 as to whether or not task processing can be executed, it 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.
- the FPGA server 20 has a function of detecting a hardware error (hardware failure) in the FPGA 23.
- a hardware error hardware failure
- 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.
- FIG. 2 is a block diagram illustrating a functional configuration example of the management server and the FPGA server in the present embodiment.
- 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
- 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 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 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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 execution is possible.
- 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.
- the task management unit 221 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.
- 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.
- 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.
- the circuit information management unit 222 requests the management server 210 to re-synthesize new circuit information that avoids the failed block.
- 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.
- 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.
- FIG. 3 is a diagram illustrating an example of the flow of processing during normal operation in the present embodiment.
- 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).
- 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).
- the task management unit 221 of the FPGA server 220 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.
- the FPGA circuit unit 225 of the FPGA server 220 executes the requested task 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).
- 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.
- the task management unit 221 of the FPGA server 220 notifies the management server 210 of the completion of the task execution (308).
- the task control unit 211 of the management server 210 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.
- FIG. 4 (A) and 4 (B) are diagrams illustrating an example of a flow of processing when a failure occurs in the present embodiment.
- FIG. 4A shows a case where the circuit failure is a soft error
- FIG. 4B shows a case where the circuit failure is a hard error.
- 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).
- the task management unit 221 of the FPGA server 220 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.
- the FPGA circuit unit 225 of the FPGA server 220 executes the requested task and stores the execution result in the execution result storage unit 226.
- 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.
- intermediate data for task processing may be stored in a storage unit or the like as a recovery point when the task is interrupted.
- 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.
- the management server 210 (406).
- 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).
- the task control unit 211 of the management server 210 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).
- 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.
- 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.
- the FPGA circuit monitoring unit 227 determines that the circuit failure is a soft error.
- 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.
- 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.
- 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).
- 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).
- 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.
- FIGS. 5A to 5F are diagrams for explaining processing related to circuit information when a failure occurs in the present embodiment.
- 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.
- 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.
- the management server 210 requests the FPGA server 220 to execute the task A
- 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.
- 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.
- 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.
- 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.
- 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.
- 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. .
- the FPGA server 220 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.
- a hardware error hardware failure
- FIG. 6A shows a case where the circuit failure is a soft error
- FIG. 6B shows a case where the circuit failure is a hard error.
- 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.
- 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.
- the FPGA circuit monitoring unit 227 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).
- 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).
- 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).
- the management server 210 returns the task execution result to the client server (612).
- 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).
- the task control unit 211 of the management server 210 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).
- 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).
- 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).
- 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).
- 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.
- the processing of the task that has become impossible to execute is requested to another FPGA server, but a circuit failure occurs.
- 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.
- 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.
- a management server is provided to allocate tasks requested from the client server and to synthesize circuit information of circuits that process the tasks.
- 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.
- 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
- 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
- the FPGA circuit monitoring unit 719 is an example of a detection unit.
- 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.
- 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.
- the task management unit 711 receives a task processing execution request from the client server, and writes the circuit information of the logic circuit that processes the task to 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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. 4.
- 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 4.
- 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.
- a second server capable of communicating with the first server
- 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 .
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
- Hardware Redundancy (AREA)
Abstract
Le problème décrit par la présente invention est de fournir un dispositif de traitement d'informations comprenant un dispositif de reconfiguration permettant de modifier des configurations de circuit en fonction d'informations de circuit et permettant une reconfiguration de circuit logique qui évite des blocs désactivés en cas de défaillance matérielle détectée dans le dispositif de reconfiguration. La solution de la présente invention comprend : un FPGA qui permet à une configuration de circuit d'être modifiée au moyen d'une reconfiguration de blocs logiques pouvant être programmés en fonction d'informations de circuit ; une unité de synthèse d'informations de circuit qui synthétise des informations de circuit à partir du code source d'un circuit qui traite une tâche ; et une unité de surveillance de circuit FPGA qui détecte des dysfonctionnements dans le FPGA. Lors de la détection d'un dysfonctionnement matériel avec le FPGA, l'unité de surveillance de circuit FPGA identifie le bloc désactivé, et l'unité de synthèse d'informations de circuit synthétise des informations de circuit qui évitent le bloc désactivé identifié, permettant ainsi une reconfiguration de circuit logique qui évite le bloc désactivé.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017-063000 | 2017-03-28 | ||
| JP2017063000A JP2018165908A (ja) | 2017-03-28 | 2017-03-28 | 情報処理装置、情報処理方法及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018179739A1 true WO2018179739A1 (fr) | 2018-10-04 |
Family
ID=63674611
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2018/002093 Ceased WO2018179739A1 (fr) | 2017-03-28 | 2018-01-24 | Dispositif de traitement d'informations, procédé de traitement d'informations et programme |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2018165908A (fr) |
| WO (1) | WO2018179739A1 (fr) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240272872A1 (en) * | 2021-06-21 | 2024-08-15 | Nippon Telegraph And Telephone Corporation | Computing system |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0844581A (ja) * | 1994-07-29 | 1996-02-16 | Fujitsu Ltd | 自己修復機能付き情報処理装置 |
| JP2001136058A (ja) * | 1999-11-04 | 2001-05-18 | Nippon Telegr & Teleph Corp <Ntt> | 論理回路データ生成方法及び装置及び論理回路データ生成プログラムを格納した記憶媒体 |
| WO2003023602A1 (fr) * | 2001-09-07 | 2003-03-20 | Ip Flex Inc. | Systeme de traitement de donnees et procede de commande |
| WO2007145220A1 (fr) * | 2006-06-14 | 2007-12-21 | Panasonic Corporation | Dispositif pourvu d'un circuit réinscriptible, système de mise à jour, procédé de mise à jour, programme de mise à jour et circuit intégré |
| WO2011034017A1 (fr) * | 2009-09-18 | 2011-03-24 | 日本電気株式会社 | Système de centre de données, nœud re-configurable, procédé et programme de commande de nœud re-configurable |
| WO2012070669A1 (fr) * | 2010-11-24 | 2012-05-31 | 日本電気株式会社 | Procédé et système destinés à générer des informations de circuit pour un dispositif logique programmable, dispositif de test de circuit et programme informatique associé, dispositif et programme informatique destinés à créer des données de circuit et support de stockage lisible par ordinateur |
| JP2015119359A (ja) * | 2013-12-18 | 2015-06-25 | 富士通株式会社 | 論理回路及び論理回路の制御方法 |
-
2017
- 2017-03-28 JP JP2017063000A patent/JP2018165908A/ja active Pending
-
2018
- 2018-01-24 WO PCT/JP2018/002093 patent/WO2018179739A1/fr not_active Ceased
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0844581A (ja) * | 1994-07-29 | 1996-02-16 | Fujitsu Ltd | 自己修復機能付き情報処理装置 |
| JP2001136058A (ja) * | 1999-11-04 | 2001-05-18 | Nippon Telegr & Teleph Corp <Ntt> | 論理回路データ生成方法及び装置及び論理回路データ生成プログラムを格納した記憶媒体 |
| WO2003023602A1 (fr) * | 2001-09-07 | 2003-03-20 | Ip Flex Inc. | Systeme de traitement de donnees et procede de commande |
| WO2007145220A1 (fr) * | 2006-06-14 | 2007-12-21 | Panasonic Corporation | Dispositif pourvu d'un circuit réinscriptible, système de mise à jour, procédé de mise à jour, programme de mise à jour et circuit intégré |
| WO2011034017A1 (fr) * | 2009-09-18 | 2011-03-24 | 日本電気株式会社 | Système de centre de données, nœud re-configurable, procédé et programme de commande de nœud re-configurable |
| WO2012070669A1 (fr) * | 2010-11-24 | 2012-05-31 | 日本電気株式会社 | Procédé et système destinés à générer des informations de circuit pour un dispositif logique programmable, dispositif de test de circuit et programme informatique associé, dispositif et programme informatique destinés à créer des données de circuit et support de stockage lisible par ordinateur |
| JP2015119359A (ja) * | 2013-12-18 | 2015-06-25 | 富士通株式会社 | 論理回路及び論理回路の制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018165908A (ja) | 2018-10-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6282482B2 (ja) | プログラマブル回路装置、コンフィギュレーション情報修復方法 | |
| US7757120B2 (en) | Ignoring redundant symptoms in modular self-healing systems | |
| CN112600690B (zh) | 一种配置数据同步方法、装置、设备及存储介质 | |
| JP2009522664A (ja) | メモリ障害を処理するために、センサーネットワークで使用可能な方法及びシステム | |
| US10860411B2 (en) | Automatically detecting time-of-fault bugs in cloud systems | |
| KR20210065301A (ko) | Autosar 기반의 소프트웨어 설계 방법 및 이를 수행하기 위한 장치 | |
| KR101024249B1 (ko) | 실시간 데이터 복제 시스템 | |
| US9117047B2 (en) | Diagnosis device, control method of diagnosis device, and recording medium | |
| JP5034979B2 (ja) | 起動装置、起動方法、及び、起動プログラム | |
| WO2018179739A1 (fr) | Dispositif de traitement d'informations, procédé de traitement d'informations et programme | |
| CN110046065A (zh) | 一种存储阵列重建方法、装置、设备及存储介质 | |
| US20250110718A1 (en) | Isolated testing platform for cloud database production queries | |
| CN112579145A (zh) | 应用部署方法及装置 | |
| JP6194496B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
| JP7287651B2 (ja) | 分散処理装置、分散処理方法、及びプログラム | |
| EP2799991A1 (fr) | Réglage de redémarrage de désactivation pour composants de configuration AMF | |
| US12197290B2 (en) | Lockstep processor recovery for vehicle applications | |
| CN106599046B (zh) | 分布式文件系统的写入方法及装置 | |
| JP2017118450A (ja) | データ処理装置、その制御方法、及びプログラム | |
| US12292806B2 (en) | Testing drives in a redundant array of independent disks (raid) | |
| Bravo et al. | Policy-based adaptation of a byzantine fault tolerant distributed graph database | |
| Schagaev et al. | Testing, Checking and Hardware Syndrome | |
| JP2005157462A (ja) | 系切り替え方法及び情報処理システム | |
| US10896133B2 (en) | Combinational address repair in memory controller | |
| JP2017111579A (ja) | 半導体集積回路及びその機能回復方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18775904 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18775904 Country of ref document: EP Kind code of ref document: A1 |