WO2023119774A1 - アクセラレータ装置を利用した情報処理装置及び情報処理方法 - Google Patents

アクセラレータ装置を利用した情報処理装置及び情報処理方法 Download PDF

Info

Publication number
WO2023119774A1
WO2023119774A1 PCT/JP2022/035741 JP2022035741W WO2023119774A1 WO 2023119774 A1 WO2023119774 A1 WO 2023119774A1 JP 2022035741 W JP2022035741 W JP 2022035741W WO 2023119774 A1 WO2023119774 A1 WO 2023119774A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
arithmetic
information
information processing
circuits
Prior art date
Application number
PCT/JP2022/035741
Other languages
English (en)
French (fr)
Inventor
巧 上薗
宏章 井辻
健一 新保
昌義 高橋
裕 植松
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2023119774A1 publication Critical patent/WO2023119774A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks

Definitions

  • the present invention generally relates to information processing techniques involving operations by accelerator devices.
  • AI Artificial Intelligence
  • GPU Graphics Processing Unit
  • LSI Large Scale Integration
  • Patent Document 1 discloses an information processing device with a self-recovery function.
  • edge devices have been required to achieve both reliability and operational continuity.
  • an edge device is an example of an information processing device. Compatibility between reliability and operation continuity may also be required for information processing devices other than edge devices.
  • the accelerator device executes predetermined types of operations in the information processing. As a result, speeding up of processing can be expected.
  • the predetermined type of computation includes, for example, computation using a machine learning model.
  • a machine learning model there is a graph-structured machine learning model (a machine learning model having a plurality of nodes and a plurality of edges connecting the nodes).
  • Machine learning models with graph structures include, for example, neural networks, but graph structure models such as decision trees may be employed instead of neural networks.
  • the accelerator device has one or more hardware accelerators.
  • the hardware accelerator has multiple processing circuits.
  • a diagnosis for detecting a failure of a processing circuit in an accelerator device it is conceivable that a plurality of processing circuits perform calculations of the same calculation element in a calculation target and compare the calculation results of the plurality of processing circuits.
  • the "calculation target” includes a graph-structured machine learning model
  • the "calculation element” includes a node in the graph-structured machine learning model.
  • the conventional recovery method described above can continue operation, but there is a possibility that the reliability after the failure will be reduced.
  • an accelerator device in which a processing circuit as a main system and a processing circuit as a standby system are assigned to each node in a graph-structured machine learning model is conceivable.
  • this accelerator device when a failure occurs in the main system, the operation is continued after switching to the standby system.
  • the standby system of the switching destination there is no next switching destination, and therefore reliability is lowered.
  • the accelerator device since it is necessary to maintain two systems, a main system and a standby system, for each node, the accelerator device becomes large, and there is a possibility that the required specifications of the information processing device (for example, edge device) cannot be satisfied.
  • the predetermined type of operation may be an operation other than an operation using a graph-structured machine learning model.
  • the purpose of the present invention is to achieve both reliability and operational continuity of the information processing device so that the accelerator device does not become large.
  • An information processing device that uses an accelerator device to perform calculation using a calculation target that is used to calculate input information and outputs information includes an allocation determination unit and a reliability determination unit. Each time information is entered that uses an operand, the following is done: The assignment determination unit determines the calculation based on the degree of failure impact, which is the degree to which the accuracy of the calculation result of the calculation element affects the accuracy of the output information of the calculation target, for each of the plurality of calculation elements in the calculation target.
  • the operational circuit being the operational processing circuit for the operation
  • one or more diagnostic circuits being the operational processing circuit for correctness diagnosis of the operation.
  • the reliability determination unit decides whether to assign Whether the reliability determination unit continues the operation of the information processing device based on the number of arithmetic elements in the arithmetic target, the number of arithmetic elements to which at least one diagnostic circuit is assigned, and the degree of influence of failure of the arithmetic elements Calculate the reliability of the information processing device, which is used for determining whether or not.
  • FIG. 1 is a configuration diagram of an information processing apparatus according to a first embodiment
  • FIG. 4 is an operation flowchart of the information processing apparatus according to the first embodiment
  • the block diagram of the information processing apparatus which concerns on 2nd Embodiment. 8 is an operation flowchart of an information processing apparatus according to the second embodiment;
  • FIG. 2 is a hardware configuration diagram of an information processing apparatus;
  • an "interface device” may be one or more interface devices.
  • the one or more interface devices may be at least one of the following: - One or more I/O (Input/Output) interface devices.
  • An I/O (Input/Output) interface device is an interface device for at least one of an I/O device and a remote display computer.
  • the I/O interface device to the display computer may be a communications interface device.
  • the at least one I/O device may be any of a user interface device, eg, an input device such as a keyboard and pointing device, and an output device such as a display device. - One or more communication interface devices.
  • the one or more communication interface devices may be one or more of the same type of communication interface device (e.g., one or more NICs (Network Interface Cards)) or two or more different types of communication interface devices (e.g., NIC and It may be an HBA (Host Bus Adapter).
  • NIC Network Interface Cards
  • HBA Hypervisor Adapter
  • memory is one or more memory devices that are an example of one or more storage devices, and may typically be main memory devices. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.
  • a "persistent storage device” may be one or more persistent storage devices, which is an example of one or more storage devices.
  • a permanent storage device may typically be a non-volatile storage device (eg, an auxiliary storage device). Memory Express) drive or SCM (Storage Class Memory).
  • the “storage device” may be at least the memory of the memory and the permanent storage device.
  • a "processor” may be one or more processor devices. At least one processor device may typically be a microprocessor device such as a CPU (Central Processing Unit). At least one processor device may be single-core or multi-core.
  • processor device may typically be a microprocessor device such as a CPU (Central Processing Unit). At least one processor device may be single-core or multi-core.
  • the function may be described using the expression “yyy part”, but the function may be realized by executing one or more computer programs by a processor, or may be realized by executing one or more computer programs. It may be realized by the above hardware circuits (for example, FPGA or ASIC), or may be realized by a combination thereof.
  • a function is realized by executing a program by a processor, the defined processing is performed using a storage device and/or an interface device as appropriate, so the function may be at least part of the processor. good.
  • a process described with a function as the subject may be a process performed by a processor or a device having the processor. Programs may be installed from program sources.
  • the program source may be, for example, a program distribution computer or a computer-readable recording medium (for example, a non-temporary recording medium).
  • the description of each function is an example, and multiple functions may be combined into one function, or one function may be divided into multiple functions.
  • FIG. 1 is a diagram showing a configuration example of an information processing apparatus according to the first embodiment. Also, FIG. 2 is an operation flowchart of the information processing apparatus.
  • the information processing device 12A includes an impact calculation unit 2, a priority determination unit 4, an allocation determination unit 5, an accelerator device 6A, a diagnostic information collection unit 7, a usable resource identification unit 9, and a reliability determination unit.
  • the accelerator device 6A has a plurality of GPUs (Graphics Processing Units) 17G, a controller 30 that controls the plurality of GPUs 17G, and a memory 22 in which calculation results of each core 21 are stored.
  • the GPU 17G is an example of a hardware accelerator, specifically an example of a parallel processing device.
  • the GPU 17G has multiple cores (GPU cores) 21 .
  • the impact calculation unit 2 performs impact calculation (S201). Specifically, if a failure occurs in each node of the trained neural network 1 (data representing the neural network) and an operation error occurs, the impact calculation unit 2 determines that the effect of the failure affects the output. Quantitatively analyze whether or not As an analysis method, error injection can be considered, in which the results of a simulation performed assuming a failure for each node are compared with the results of a simulation under normal conditions, and the presence or absence of influence is investigated. As a method of quantifying the degree of influence, for example, AVF (Architectural Vulnerability Factor) is used. The AVF is defined as the rate at which the failure influence results in an error in the neural network calculation result for all failure modes occurring in the node. Information as a result of the analysis by the impact calculator 2 is output as the failure impact 3 .
  • the failure impact level 3 includes information representing the impact level of each node in the trained neural network 1 .
  • the priority determining unit 4 determines priority (S202). Specifically, the priority determining unit 4 sets a diagnosis priority for each node in the learned neural network 1 using the failure influence level 3 .
  • diagnostic priority there is a method in which nodes are ranked in descending order of the degree of influence of a failure, and the ranking is used as a priority, or two or more node groups are created using the magnitude of the degree of influence of a failure, and a node group It is conceivable to give priority to
  • the allocation determining unit 5 determines function allocation (S203). Specifically, when the information acquired from the available resource specifying unit 9 indicates one or more available hardware resources (cores 21 in this embodiment), the allocation determining unit 5 assigns at least one The available cores 21 are assigned computational functions that perform operations on specific nodes within the neural network or diagnostic functions that perform diagnostics on specific nodes within the neural network. Since the number of cores 21 that can be used is limited, the allocation determination unit 5 first allocates arithmetic functions, and then allocates diagnostic functions to the remaining cores 21 . When allocating the diagnostic functions to the remaining cores 21, the allocation determining unit 5 first allocates the diagnostic functions to the node with the highest diagnostic priority, and terminates when there are no usable cores 21 left.
  • the allocation determination unit 5 sends information on diagnostic nodes (nodes for which calculation results are diagnosed) to the reliability determination unit 10 as diagnostic node information. Diagnostic node information may include, for example, a list of diagnostic node IDs.
  • the allocation determination unit 5 assigns NOP (No Operation) to the unavailable cores 21 (hardware resources) indicated by the information acquired from the available resource identification unit 9 so as not to execute valid operations. assign. For example, the allocation determining unit 5 allocates the GPU 17Ga for the calculations of the nodes 1 to 10, the GPU 17Gb for the calculations of the nodes 11 to 20, and so on.
  • Allocation result information representing the allocation result includes at least information representing the GPU 17G to be executed (for example, a unique GPU number) and operation information (for example, operands, data used) to be executed by the GPU 17G.
  • the assignment result information includes information representing the GPU 17G to which each of the computation function and diagnostic function is assigned for the node. To which node the computational function or diagnostic function is assigned may be defined in the assignment result information, or may be determined by the controller 30 of the accelerator device 6A based on the assignment result information.
  • Allocation determining unit 5 sends allocation result information to accelerator device 6 .
  • the reliability determination unit 10 performs reliability calculations (S204). Specifically, the reliability determination unit 10 uses the diagnosis node information and the degree of influence of failure 3 to quantitatively derive the reliability of the information processing device 12A. The reliability determination unit 10 determines whether or not the derived reliability satisfies the requested reliability (that is, whether or not to continue the operation) (S205).
  • diagnosis coverage rate C can be calculated by the following formula.
  • N is a set of nodes to be diagnosed
  • AVF a is a quantitative influence on the node a to be diagnosed
  • AVF all is the sum of AVFs of all nodes included in the neural network.
  • Diagnosis coverage rate C depends on the degree of failure impact of nodes where core multiplexing is maintained (nodes to which diagnostic cores are assigned in addition to arithmetic cores described later) and the number of nodes where multiplexing is maintained. . For example, even if the number of nodes in which core multiplexing is maintained is reduced, if the degree of failure impact of the nodes is small, the diagnostic coverage rate will be small. In other words, if the number of nodes where core multiplexing is maintained is reduced and the degree of failure susceptibility of the nodes is large, the diagnosis coverage rate is greatly reduced.
  • the reliability determination unit 10 sends the reliability information 11 representing the derived reliability to the outside (for example, the reliability information 11 is displayed on a display device, or the reliability information 11 is used for monitoring or the like). transmit the reliability information 11 to the host computer system used). Further, if the derived system reliability is less than a certain value (S205: No), the reliability determination unit 10 determines that it is unsafe, stops the calculation of the accelerator device 6, and stops the system (information (S209). Instead of stopping the system, the reliability determination unit 10 may notify the outside (for example, a user or an external computer system) of the decision to stop the system.
  • a certain value S205: No
  • the reliability determination unit 10 may notify the outside (for example, a user or an external computer system) of the decision to stop the system.
  • the controller 30 of the accelerator device 6A identifies the GPU 17G that executes the operation based on the allocation result information from the allocation determination unit 5, and determines the operation control information (for example, operands and data) for the identified GPU 17G. Then, the determined arithmetic control information is sent to the GPU 17G.
  • the GPU 17G performs calculation and diagnosis based on the calculation control information. For example, for one node, a computing core (e.g. main system), which is the core 21 to which the computing function is assigned, and two or more diagnostic cores (e.g., redundant system), which are two or more cores 21 to which the diagnostic function is respectively assigned. There is.
  • the computation core and two or more diagnostic cores perform the same computation, and the respective computation results are stored in the memory 22 .
  • the diagnostic information collection unit 7 collects diagnostic information from the GPU 17G to which the diagnostic function is assigned (S207).
  • the diagnostic information may include the calculation result of each of the calculation core and two or more diagnostic cores for the same node, or represent the result of comparison of those calculation results (for example, cores that output different calculation results). May contain information.
  • the collection may be performed through a path connected to the GPU 17G (a path for sending diagnostic information directly to the diagnostic information collection unit 7), or the diagnostic information stored in the memory 22 may be collected. It may be performed by a method read by the unit 7 .
  • the diagnostic information collecting unit 7 identifies the faulty core, which is the core in which the fault has occurred, from the collected diagnostic information, and sends faulty core information representing the faulty core to the usable resource identifying unit 9 .
  • the available resource identification unit 9 determines whether or not there is a faulty core (S208). For example, the available resource identification unit 9 determines whether or not it has received faulty core information indicating the presence of faulty cores from the diagnostic information collection unit 7 .
  • the usable resource identifying unit 9 identifies usable cores (hardware resources) (S210). Specifically, the available resource identification unit 9 refers to the hardware resource information 8 .
  • the hardware resource information 8 is, for example, information input from the outside, and includes information representing all cores in the accelerator device 6A (for example, information representing which core 21 exists in which GPU 17G).
  • a usable resource identification unit 9 identifies, as usable cores, cores other than the failed cores indicated by the failed core information (that is, cores in which failure has not occurred) among the cores indicated by the hardware resource information 8, and identifies them as usable cores. is sent to the allocation determination unit 5. Then, S203 is performed.
  • Information is appropriately input to the trained neural network 1. Each time information is input to the trained neural network 1, S203 and subsequent steps are performed.
  • a second embodiment will be described. At that time, differences from the first embodiment will be mainly described, and descriptions of common points with the first embodiment will be omitted or simplified.
  • neural network operations are performed using multiple types of hardware accelerators.
  • FIG. 3 is a diagram showing a configuration example of an information processing apparatus according to the second embodiment. Also, FIG. 4 is an operation flowchart of the information processing apparatus.
  • the information processing device 12B has an accelerator device 6B instead of the accelerator device 6A.
  • the accelerator device 6B has multiple types of hardware accelerators 17 .
  • the accelerator device 6B has an FPGA (Field-Programmable Gate Array) 17F in addition to the GPU 17G.
  • the FPGA 17 has a circuit rewriting section 40 and a plurality of processing circuits 41 .
  • As the processing circuit 41 there are an arithmetic circuit 41P, which is a processing circuit to which an arithmetic function is assigned, and a diagnostic circuit 41D, which is a processing circuit to which a diagnostic function is assigned.
  • the FPGA 17F another type of function rewritable device may be provided as the hardware accelerator 17, or an ASIC (Application Specific Integrated Circuit) may be provided as the hardware accelerator 17.
  • ASIC Application Specific Integrated Circuit
  • the information processing device 12B has an arithmetic control unit 14 and a rewrite control unit 15 .
  • the circuit information 13 representing the circuit written in the FPGA 17F is input to and stored in the information processing device 12B.
  • the rewrite control unit 15 inputs the circuit information 13 to the circuit rewrite unit 40 of the FPGA 17 , and the circuit rewrite unit 40 constructs the circuit represented by the input circuit information 13 in the FPGA 17 .
  • the circuit information 13 may include information indicating whether each processing circuit 41 is an arithmetic circuit 41P or a diagnostic circuit 41D.
  • the rewrite control unit 15 inputs circuit information 13 representing the circuit to be written into the FPGA 17F to the allocation determination unit 5. FIG. Thereby, the rewrite control unit 15 can grasp the circuit configuration written in the FPGA 17F.
  • the allocation determination unit 5 determines that the circuit after allocation in S203 (for example, whether it is the arithmetic circuit 41P or the diagnostic circuit 41D for each processing circuit 41) is the latest circuit of the FPGA 17F (for example, the input (S406).
  • S406 determines whether the allocation result of S406 is true (S406: Yes). If the determination result of S406 is true (S406: Yes), S206 and subsequent steps in FIG. 2 are performed. That is, the allocation determination unit 5 sends allocation result information to the arithmetic control unit 14 .
  • the arithmetic control unit 14 identifies the hardware accelerators 17 that execute arithmetic operations based on the allocation result information from the allocation determination unit 5, and provides arithmetic control information (for example, operands and data) for the identified hardware accelerators 17. is determined, and the determined operation control information is sent to the hardware accelerator 17 .
  • the hardware accelerator 17 executes calculation and diagnosis based on the calculation control information.
  • an arithmetic core or arithmetic circuit 41P as a processing circuit to which arithmetic functions are assigned, and two or more diagnostic cores or two or more diagnostic circuits that are two or more processing circuits to which diagnostic functions are respectively assigned. 41D.
  • the arithmetic control unit 14 performs the same processing as the controller 30 does.
  • circuit rewriting is performed (S411). That is, the allocation determining unit 5 sends circuit change information according to the result of the allocation (for example, information representing the processing circuit whose allocation has been changed and the allocation after the change) to the rewriting control unit 15 .
  • the rewrite control unit 15 reads out the circuit information 13, applies the input circuit change information to the read circuit information 13, and inputs the circuit information representing the circuit after allocation determination to the circuit rewrite unit 40 of the FPGA 17F.
  • the rewriting control section 15 sends the circuit information input to the FPGA 17 to the allocation determining section 5 .
  • Allocation determining unit 5 holds the circuit information. This circuit information may overwrite the circuit information 13 .
  • the processes after S206 are performed.
  • the present embodiment even in the information processing apparatus 12B having multiple types of hardware accelerators 17, it is possible to minimize deterioration in system reliability and realize continuous operation of the information processing apparatus 12B with high reliability.
  • multiple types of hardware accelerators 17 common cause failures can be eliminated (for example, even if a common cause of failure occurs in one hardware accelerator of the GPU 17G and FPGA 17F, the other hardware It is expected that the accelerator will continue to operate), and higher reliability can be expected.
  • circuit rewriting in S411 may be circuit rewriting of the entire FPGA 17, but in this embodiment, partial rewriting (specifically, for example, rewriting of a circuit portion including a processing circuit whose function allocation is changed) is performed.
  • partial rewriting specifically, for example, rewriting of a circuit portion including a processing circuit whose function allocation is changed
  • the function of rewriting part of the FPGA 1F is called partial reconfiguration, and is a function provided by FPGA vendors.
  • the rewriting control unit 15 minimizes the rewriting time by specifying the locations where rewriting is required for the FPGA 17F and rewriting only the minimum necessary locations.
  • neural network calculations are characterized in that the same calculations are performed in each cycle only with different input data (for example, images captured by a camera). Therefore, the number of arithmetic circuits remains basically the same.
  • a third embodiment will be described. At that time, differences from the first and second embodiments will be mainly described, and descriptions of common points with the first and second embodiments will be omitted or simplified.
  • neural network calculations are performed using the FPGA 17F.
  • FIG. 5 is a diagram showing a configuration example of an information processing apparatus according to the third embodiment. Also, FIG. 6 is an operation flowchart of the information processing apparatus.
  • the information processing device 12C has an accelerator device 6C instead of the accelerator device 6A or 6B.
  • the accelerator device 6C is one or more FPGAs 17F.
  • the FPGA 17F has a switch 50 for cooperation between the arithmetic circuits 41P and a switch 51 for cooperation between the arithmetic circuit 41P and the diagnostic circuit 41D.
  • partial rewriting includes wiring rewriting in place of or in addition to circuit rewriting, and further reduction in rewriting time is expected.
  • the allocation determination unit 5 determines whether or not the circuit after allocation in S203 matches the latest circuit of the FPGA 17F (S610).
  • the allocation determination unit 5 receives information from the available resource identification unit 9 (for example, information including information representing available resources and information representing faulty resources). ), it is determined whether or not the faulty resource is the diagnostic circuit 41D (S611).
  • the allocation determination unit 5 causes the rewrite control unit 15 to rewrite the processing circuit (S612), and then rewrite the wiring (S613).
  • S612 and S613 for example, circuit information including the content of rewriting of the processing circuit and the content of rewriting of wiring may be input to the circuit rewriting section 40 of the FPGA 17F. Also, in S613 after S611:No, the wiring of the switches 50 and 51 may be rewritten.
  • the allocation determination unit 5 causes the rewrite control unit 15 to rewrite the wiring (S613).
  • S613 after S611: Yes may be rewriting of the wiring of the switch 51 .
  • circuit rewriting and wiring rewriting take a case where two diagnostic circuits 41Da and 41Db exist for one arithmetic circuit 41Pa, that is, a case where processing circuits are tripled for one node. .
  • the arithmetic circuit 41Pa When the arithmetic circuit 41Pa has a failure, it is necessary to assign the arithmetic operation executed by the arithmetic circuit 41Pa to one of the diagnostic circuits 41Da and 41Db. Therefore, one of the diagnostic circuits 41D needs to be rewritten to the arithmetic circuit 41P. In this case, it is necessary to rewrite the diagnostic circuit to an arithmetic circuit.
  • the information processing device 12 uses the accelerator device 6 to perform calculations using calculation targets that are used to calculate input information and output information.
  • the information processing device 12 includes, for example, an interface device 701, a storage device 702, an accelerator device 6, and a processor 703 connected thereto, as shown in FIG. Via the interface device 701, hardware resource information 8 (for example, information representing a plurality of processing circuits of the accelerator device 6) and a trained neural network 1 (an example of a graph-structured machine learning model) may be input. Also, input information (for example, an image captured by a camera) of the trained neural network 1 may be input via the interface device 701 . Also, the reliability information 11 (for example, information representing the calculated reliability) may be output via the interface device 701 .
  • the information processing device 12 may be a so-called edge device, or a server such as an edge device that communicates with a client.
  • the information processing device 12 When the information processing device 12 is a server, it may be a server as a physical computer system, or a logical computer system based on a physical computer system (for example, a cloud platform including multiple types of physical computational resources). It may also be a server as (eg, a cloud computing service).
  • the accelerator device 6 may be mounted on the information processing device 12 or may be communicably connected to the information processing device 12 . Further, the accelerator device 6 may be one or a plurality of hardware accelerators 17, or may be a device as a package in which one or a plurality of hardware accelerators 17 are mounted.
  • the processor 703 executing the computer program, the impact calculation unit 2, the priority determination unit 4, the allocation determination unit 5, the reliability determination unit 10, the diagnostic information collection unit 7, the available resource identification unit 9, the operation control unit 14 and at least one function of the rewrite control unit 15 may be implemented.
  • An information processing device 12 includes an allocation determination unit 5 and a reliability determination unit 10 . The following is performed each time information that uses an operation target (trained neural network 1 in the above example) is input.
  • the “processing circuit” is, for example, the core 21 or the processing circuit 41 .
  • An "arithmetic circuit” is a processing circuit to which an arithmetic function is assigned.
  • a “diagnostic circuit” is a circuit to which a diagnostic function is assigned.
  • the reliability determination unit 10 continues the operation of the information processing device 12 based on the number of arithmetic elements in the arithmetic target, the number of arithmetic elements to which at least one diagnostic circuit is assigned, and the degree of failure impact of the arithmetic elements.
  • the reliability of the information processing device 12 (for example, the diagnosis coverage rate C described above) used for determining whether or not to perform the diagnosis is calculated.
  • the reliability of the computational element with a small degree of failure susceptibility can be maintained at a certain value or higher even if no diagnostic circuit is assigned. Therefore, it is possible to achieve both reliability and operation continuity of the information processing device 12 so that the accelerator device 6 does not become large.
  • the reliability determination unit 10 determines whether the calculated reliability is equal to or greater than a certain value, and controls whether to continue or stop the operation according to the result of the determination. Determining whether the reliability is equal to or higher than a certain value and controlling whether to continue or stop the operation according to the result of the determination can be performed outside the information processing device 12 (for example, by manual operation by a user, or by a host system). system).
  • the information processing device 12 may be a device that performs automatic operation control of a vehicle, or may be a device that is connected to a host system that performs automatic operation control.
  • the reliability determination unit 10 performs the Some targets of automatic operation may be changed to targets of manual operation.
  • a display device may be connected to the interface device 701, and the reliability determination unit 10 may display the reliability represented by the reliability information 11 on the display device, or may The content of the automatic operation may be displayed on the display device.
  • the allocation determination unit 5 may allocate one or more usable processing circuits including at least an arithmetic circuit to the arithmetic elements in the order of the degree of failure impact of the arithmetic elements. This allows efficient allocation of the limited number of available processing circuits based on the fault sensitivity of the computing elements.
  • processing circuits can be assigned to arithmetic elements according to the latest state of the accelerator device 6 (which processing circuit has a failure).
  • processing of that computing element by each of the one or more processing circuits assigned to that computing element.
  • ⁇ For each arithmetic element to which one or more diagnostic circuits are assigned it is determined from the processing results of the arithmetic circuit and one or more diagnostic circuits that at least one of the arithmetic circuit and one or more diagnostic circuits has failed. to determine whether there is
  • the information processing device 12 may further include a rewrite control unit 15, and at least one of the one or more hardware accelerators is an example of an FPGA 17F (circuit rewritable hardware accelerator (for example, PGA (Programmable Gate Array))). ) is fine. If the current circuit configuration (for example, the number of diagnostic circuits) of the FPGA 17F is different from the circuit configuration (for example, the number of diagnostic circuits) as a result of allocation by the allocation determination unit 5, the rewrite control unit 15 determines whether the circuit The FPGA 17F may be instructed to rewrite the circuit (at least one of rewriting the processing circuit itself and rewriting the wiring between the processing circuits) for the difference in configuration.
  • FPGA 17F circuit rewritable hardware accelerator
  • Circuit rewriting by the FPGA 17 is executed in response to this instruction. After that, the operation can be continued (for example, after S206). This makes it possible to minimize the time required for circuit rewriting, thereby reducing the delay in information processing due to waiting for the completion of circuit rewriting.
  • the rewrite control unit 15 rewrites one of the diagnostic circuits to an arithmetic circuit if there is a failure in the arithmetic circuit (there are fewer arithmetic circuits in the current circuit configuration of the FPGA 17F, but as a result of allocation (because the number of arithmetic circuits is maintained), the FPGA 17F is instructed to rewrite the wiring between the processing circuits.
  • the rewrite control unit 15 instructs the circuit rewritable hardware accelerator to rewrite the wiring between the processing circuits if a failure occurs in the diagnostic circuit, and rewrites the processing circuit. Do not direct hardware acceleration.
  • An example of a computation target may be the trained neural network 1.
  • the neural network 1 includes, for example, an input layer (plurality of input nodes), an intermediate layer (plurality of intermediate nodes), an output layer (plurality of output nodes), a plurality of weight parameters, and a plurality of bias parameters.
  • the influence calculator 2 may calculate the influence of each intermediate node on each output node based on weight parameters or bias parameters.
  • the information representing the calculation result may be the failure impact degree 3 .
  • the failure impact 3 representing the failure impact for each computational element may be information input from the outside.
  • SYMBOLS 1 Trained neural network, 2... Impact calculation part, 3... Failure impact level, 4... Priority determination part, 5... Allocation determination part, 6... Accelerator device, 7... Diagnosis information collection part, 8... Hardware resource Information 9: Available resource identification unit 10: Reliability determination unit 11: Reliability information 12: Information processing device 17: Hardware accelerator

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)

Abstract

演算対象を用いた演算をアクセラレータ装置により行う情報処理装置が、演算対象が使用される情報が入力される都度に、下記を行う。 ・演算対象における複数の演算要素の各々について、当該演算要素の演算結果の正確性が演算対象の出力情報の正確性に影響する度合である故障影響度を基に、当該演算要素に、アクセラレータ装置における複数の処理回路から、演算のための使用可能な処理回路である演算回路の他に、演算の正確性診断のための使用可能な処理回路である一つ以上の診断回路を割り当てるかを決定する。 ・演算対象における演算要素の数と、少なくとも一つの診断回路が割り当てられた演算要素の数と、演算要素の故障影響度とに基づき、情報処理装置の動作を継続するか否かの判断に用いられる情報処理装置の信頼性を算出する。

Description

アクセラレータ装置を利用した情報処理装置及び情報処理方法
 本発明は、概して、アクセラレータ装置による演算を含んだ情報処理技術に関する。
 機械学習又は深層学習の市場が形成され、自動運転や産業インフラ装置等のエッジ機器へのAI(Artificial Intelligence)活用が進展しており、GPU(Graphics Processing Unit)や専用LSI(Large Scale Integration)などのハードウェアアクセラレータの使用が進んでいる。これらエッジ機器では、環境や経年変化の影響でハードウェアの異常が発生する可能性がある。システムの安定的な動作継続のためには、ハードウェアの異常検出だけでなく、復旧技術が必須である。
 復旧方法としては、例えば、
(*)システムを再起動する、
(*)主系(現用系)に異常が発生した場合に主系から待機系へ切り替える、
(*)異常が発生した部位を除いた動作である縮退動作を行う、
などが知られている。
 また、特許文献1には、自己修復機能付き情報処理装置が開示されている。
特開平8-44581号公報
 近年、信頼性と動作継続性との両立がエッジ機器に求められてきている。また、エッジ機器は、情報処理装置の一例である。信頼性と動作継続性との両立は、エッジ機器以外の情報処理装置についても求められ得る。
 アクセラレータ装置を備えた情報処理装置がある。情報処理のうちの所定種類の演算をアクセラレータ装置が実行する。これにより、処理の高速化が期待できる。所定種類の演算としては、例えば、機械学習モデルを用いた演算がある。機械学習モデルとして、グラフ構造の機械学習モデル(複数のノードとそれぞれノード間を結ぶ複数のエッジとを有する機械学習モデル)がある。グラフ構造の機械学習モデルとしては、例えば、ニューラルネットワークがあるが、ニューラルネットワークに代えて決定木などのグラフ構造モデルが採用されてもよい。
 アクセラレータ装置は、一つ以上のハードウェアアクセラレータを有する。ハードウェアアクセラレータは、複数の処理回路を有する。アクセラレータ装置における処理回路の故障を検出するための診断として、演算対象における同一の演算要素の演算を複数の処理回路が行い当該複数の処理回路の演算結果を比較することが考えられる。例えば、「演算対象」としては、グラフ構造の機械学習モデルがあり、「演算要素」としては、グラフ構造の機械学習モデルにおけるノードがある。「演算対象」に情報を入力することで複数の演算要素のうちの少なくとも一部の演算要素を経て(当該情報を用いた演算が行われて)「演算対象」から情報が出力される。
 アクセラレータ装置における処理回路に故障が検出されたた場合、上述した従来の復旧方法では、動作継続は可能であるが、故障発生後の信頼性が低下する可能性がある。
 例えば、グラフ構造の機械学習モデルにおけるノード毎に主系としての処理回路と待機系としての処理回路とが割り当てられたアクセラレータ装置が考えられる。このアクセラレータ装置では、主系に故障が発生した場合には、待機系への切り替えを経て動作継続がされる。しかし、この場合、切り替え先の待機系に故障が発生すると、次の切り替え先が無く、故に、信頼性が低下する。また、ノード毎に主系と待機系の2系統が維持される必要があるため、アクセラレータ装置が大型になり、情報処理装置(例えば、エッジ機器)の要求スペックを満たせない可能性がある。
 このような問題は、所定種類の演算が、グラフ構造の機械学習モデルを用いた演算以外の演算でもあり得る。
 本発明の目的は、アクセラレータ装置が大型にならないように情報処理装置の信頼性と動作継続性とを両立することである。
 入力された情報の演算に使用されて情報が出力される演算対象を用いた演算をアクセラレータ装置により行う情報処理装置が、割り当て決定部と、信頼性判定部とを備える。演算対象が使用される情報が入力される都度に、下記が行われる。
・割り当て決定部が、演算対象における複数の演算要素の各々について、当該演算要素の演算結果の正確性が演算対象の出力情報の正確性に影響する度合である故障影響度を基に、当該演算要素に、アクセラレータ装置における複数の処理回路から、演算のための使用可能な処理回路である演算回路の他に、演算の正確性診断のための使用可能な処理回路である一つ以上の診断回路を割り当てるかを決定する。
・信頼性判定部が、演算対象における演算要素の数と、少なくとも一つの診断回路が割り当てられた演算要素の数と、演算要素の故障影響度とに基づき、情報処理装置の動作を継続するか否かの判断に用いられる、情報処理装置の信頼性を算出する。
 本発明によれば、アクセラレータ装置が大型にならないように情報処理装置の信頼性と動作継続性とを両立することができる。
第1の実施形態に係る情報処理装置の構成図。 第1の実施形態に係る情報処理装置の動作フローチャート。 第2の実施形態に係る情報処理装置の構成図。 第2の実施形態に係る情報処理装置の動作フローチャート。 第3の実施形態に係る情報処理装置の構成図。 第3の実施形態に係る情報処理装置の構成図。 情報処理装置のハードウェア構成図。
 以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のI/O(Input/Output)インターフェースデバイス。I/O(Input/Output)インターフェースデバイスは、I/Oデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスである。表示用計算機に対するI/Oインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザインターフェースデバイス、例えば、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイス。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
 また、以下の説明では、「メモリ」は、一つ以上の記憶デバイスの一例である一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。
 また、以下の説明では、「永続記憶装置」は、一つ以上の記憶デバイスの一例である一つ以上の永続記憶デバイスでよい。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)でよく、具体的には、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、NVME(Non-Volatile Memory Express)ドライブ、又は、SCM(Storage Class Memory)でよい。
 また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。
 また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスでよい。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスでよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。
 また、以下の説明では、「yyy部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよいし、それらの組合せによって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び/又はインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
 以下、本発明の実施形態について図面を参照して説明する。
[第1の実施形態]
 図1は、第1の実施形態に係る情報処理装置の構成例を示す図である。また、図2は、当該情報処理装置の動作フローチャートである。
 情報処理装置12Aは、影響度計算部2と、優先度決定部4と、割り当て決定部5と、アクセラレータ装置6Aと、診断情報収集部7と、使用可能リソース特定部9と、信頼性判定部10とを有する。アクセラレータ装置6Aは、複数のGPU(Graphics Processing Unit)17Gと、複数のGPU17Gを制御するコントローラ30と、各コア21の演算結果が格納されるメモリ22とを有する。GPU17Gは、ハードウェアアクセラレータの一例であり、具体的には、並列処理デバイスの一例である。GPU17Gは、複数のコア(GPUコア)21を有する。
 影響度計算部2は、影響度計算を行う(S201)。具体的には、影響度計算部2は、学習済みニューラルネットワーク1(ニューラルネットワークを表すデータ)に対して、各ノードで故障が発生し演算を誤った場合にその故障の影響が出力に影響するか否かを定量的に解析する。解析方法は、各ノードに対して故障を仮定して行ったシミュレーション結果と、通常時のシミュレーション結果を比較し、影響の有無を調べる、エラーインジェクションが考えられる。影響度の定量化の方法としては、例えば、AVF(Architectural Vulnerability Factor)を活用する。AVFは、ノードで発生する全故障モードに対する、故障影響がニューラルネットワーク演算結果の誤りとなる割合で定義する。影響度計算部2による解析の結果としての情報が、故障影響度3として出力される。故障影響度3は、学習済みニューラルネットワーク1におけるノード毎の影響度を表す情報を含む。
 優先度決定部4は、優先度決定を行う(S202)。具体的には、優先度決定部4は、故障影響度3を用いて学習済ニューラルネットワーク1内の各ノードに対して、診断優先度を設定する。診断優先度の定義としては、故障影響度の大きいノードから順位付けを行い、その順位を優先度とする方法や、故障影響度の大きさを用いてノード群を2つ以上作成し、ノード群に対して優先度をつける方法などが考えられる。
 割り当て決定部5は、機能割り当て決定を行う(S203)。具体的には、割り当て決定部5は、使用可能リソース特定部9から取得された情報が一つ以上の使用可能なハードウェアリソース(本実施形態ではコア21)を表している場合、少なくとも一つの使用可能なコア21に、ニューラルネットワーク内の特定のノードについての演算を行う演算機能、又は、ニューラルネットワーク内の特定のノードについて診断を行う診断機能を割り当てる。使用可能なコア21に限りがあるため、割り当て決定部5は、最初に演算機能の割り当てを行い、残ったコア21に対して診断機能を割り当てていく。残ったコア21に対して診断機能を割り当てていく際、割り当て決定部5は、診断優先度の高いノードから先に、診断機能を割り当てていき、使用可能なコア21がなくなったら終了とする。割り当て決定部5は、診断ノード(演算結果の診断がされるノード)の情報を診断ノード情報として信頼性判定部10に送る。診断ノード情報は、例えば、診断ノードのIDのリストを含んでよい。また、割り当て決定部5は、使用可能リソース特定部9から取得された情報が表す使用不可能なコア21(ハードウェアリソース)に対しては、有効な演算を実行させないよう、NOP(No Operation)を割り当てる。例えば、割り当て決定部5は、ノード1~10までの演算はGPU17Ga、ノード11~20までの演算はGPU17Gbなどのように割り当てを行う。割り当て結果を表す割当結果情報は、実行するGPU17Gを表す情報(例えば、一意のGPU番号など)と、そのGPU17Gで実行する演算情報(例えば、オペランド、使用データ)とを少なくとも含む。すなわち、割り当て結果情報は、ノードについて演算機能及び診断機能の各々の割当て先のGPU17Gを表す情報が含まれる。いずれのノードについて演算機能又は診断機能が割り当てられるかは、割り当て結果情報において定められていてもよいし、割り当て結果情報を基にアクセラレータ装置6Aのコントローラ30によって決定されてもよい。割り当て決定部5は、割り当て結果情報をアクセラレータ装置6に送る。
 信頼性判定部10は、信頼性計算を行う(S204)。具体的には、信頼性判定部10は、診断ノード情報と故障影響度3とを用いて、情報処理装置12Aの信頼性を定量的に導出する。信頼性判定部10は、導出された信頼性が要求された信頼性を満たすか否か(つまり、動作を継続するか否か)を判定する(S205)。
 システム(情報処理装置12A)の信頼性の定量的指標としては、例えば診断カバー率が考えられる。診断カバー率Cは以下のような数式で計算することが可能である。
Figure JPOXMLDOC01-appb-M000001
 ここで、Nは診断対象ノードの集合、AVFは、診断対象ノードaに対する定量的影響度、AVFallはニューラルネットワークに含まれる全てのノードのAVFの和を表す。診断カバー率Cは、コアの多重化が維持されるノード(後述の演算コアの他に診断コアが割り当てられるノード)の故障影響度の高さと、多重化が維持されるノードの数に依存する。例えば、コアの多重化が維持されるノードが減ってもそのノードの故障影響度が小さければ、診断カバー率の低下は小さい。言い換えれば、コアの多重化が維持されるノードが減りそのノードの故障影響度が大きいと、診断カバー率の低下は大きい。
 信頼性判定部10は、導出された信頼性を表す情報である信頼性情報11を外部に送る(例えば、信頼性情報11を表示装置に表示するか、信頼性情報11を監視などの用途に用いる上位のコンピュータシステムに信頼性情報11を送信する)。また、信頼性判定部10は、導出されたシステム信頼性が一定値未満であれば(S205:No)、不安全であると判断して、アクセラレータ装置6の演算を中止させ、システム停止(情報処理装置12Aの動作継続の停止)を行う(S209)。システム停止に代えて、信頼性判定部10は、システム停止の決定を外部(例えば、ユーザ、又は、外部のコンピュータシステム)に通知してもよい。
 信頼性が一定値以上であれば(S205:Yes)、演算及び診断が実行される(S206)。すなわち、アクセラレータ装置6Aのコントローラ30が、割り当て決定部5からの割り当て結果情報を基に、演算を実行するGPU17Gを特定し、特定されたGPU17Gについて、演算制御情報(例えば、オペランドやデータ)を決定して、決定した演算制御情報を当該GPU17Gに送る。GPU17Gは、演算制御情報に基づいて演算及び診断を実行する。例えば、一つのノードについて、演算機能が割り当てられるコア21である演算コア(例えば主系)と、診断機能がそれぞれ割り当てられる二つ以上のコア21である二つ以上の診断コア(例えば冗長系)とがある。演算コアと二つ以上の診断コアが同一の演算を行い、それぞれの演算結果がメモリ22に格納される。
 診断情報収集部7は、診断機能が割り当てられたGPU17Gから診断情報を収集する(S207)。診断情報は、同一のノードについて、演算コアと二つ以上の診断コアの各々の演算結果を含んでもよいし、それらの演算結果の比較の結果(例えば、異なる演算結果を出力したコア)を表す情報を含んでもよい。収集は、GPU17Gとの間に結ばれたパス(直接診断情報収集部7へ診断情報を送付するためのパス)を通じて行われてもよいし、メモリ22に格納されている診断情報を診断情報収集部7が読み出す方法により行われてもよい。診断情報収集部7は、収取した診断情報から、故障が発生したコアである故障コアを特定し、故障コアを表す故障コア情報を使用可能リソース特定部9へ送付する。
 使用可能リソース特定部9は、故障コアがあるか否かを判定する(S208)。例えば、使用可能リソース特定部9は、故障コア有を表す故障コア情報を診断情報収集部7から受けたか否かを判定する。
 S208の判定結果が偽の場合(S208:No)、処理がS203に戻る。
 S208の判定結果が真の場合(S208:Yes)、使用可能リソース特定部9は、使用可能コア(ハードウェアリソース)を特定する(S210)。具体的には、使用可能リソース特定部9は、ハードウェアリソース情報8を参照する。ハードウェアリソース情報8は、例えば、外部から入力された情報であり、アクセラレータ装置6Aにおける全コアを表す情報(例えば、いずれのGPU17Gにいずれのコア21が存在するかを表す情報)を含む。使用可能リソース特定部9は、ハードウェアリソース情報8が表すコアのうち、故障コア情報が表す故障コア以外(すなわち、故障が発生していないコア)を、使用可能コアとして特定し、使用可能コアを表す情報を割り当て決定部5に送る。そして、S203が行われる。
 学習済ニューラルネットワーク1には適宜に情報が入力される。学習済ニューラルネットワーク1に情報が入力される都度に、S203以降が行われる。
 本実施形態によれば、学習済ニューラルネットワーク1の処理中にコアに故障が発生しても、学習済ニューラルネットワーク1を基に計算されたノード毎の故障影響度を基に、システム信頼性の低下を最小限に抑え、高信頼に情報処理装置12Aの継続動作を実現できる。
[第2の実施形態]
 第2の実施形態を説明する。その際、第1の実施形態との相違点を主に説明し、第1の実施形態との共通点については説明を省略又は簡略する。
 本実施形態では、複数種類のハードウェアアクセラレータを用いてニューラルネットワーク演算が行われる。
 図3は、第2の実施形態に係る情報処理装置の構成例を示す図である。また、図4は、当該情報処理装置の動作フローチャートである。
 情報処理装置12Bは、アクセラレータ装置6Aに代えてアクセラレータ装置6Bを有する。アクセラレータ装置6Bは、複数種類のハードウェアアクセラレータ17を有する。具体的には、アクセラレータ装置6Bは、GPU17Gの他に、FPGA(Field-Programmable Gate Array)17Fを有する。FPGA17は、回路書き換え部40と、複数の処理回路41を有する。処理回路41として、演算機能が割り当てられる処理回路である演算回路41Pと、診断機能が割り当てられる処理回路である診断回路41Dとがある。FPGA17Fに代えて、他種の機能書き換え可能デバイスがハードウェアアクセラレータ17として備えられてもよいし、ASIC(Application Specific Integrated Circuit)がハードウェアアクセラレータ17として備えられてもよい。
 情報処理装置12Bは、演算制御部14及び書き換え制御部15を有する。
 FPGA17Fに書き込まれる回路を表す回路情報13が情報処理装置12Bに入力され記憶される。書き換え制御部15が、回路情報13をFPGA17の回路書き換え部40に入力し、回路書き換え部40が、入力された回路情報13が表す回路をFPGA17に構築するようになっている。回路情報13は、処理回路41毎に演算回路41Pであるか診断回路41Dであるかを表す情報を含んでよい。また、書き換え制御部15は、FPGA17Fに書き込まれる回路を表す回路情報13を割り当て決定部5に入力するようになっている。これにより、書き換え制御部15は、FPGA17Fに書き込まれている回路構成を把握できる。
 割り当て決定部5は、S205:Yesの後、S203の割り当て後の回路(例えば、処理回路41毎に演算回路41Pであるか診断回路41Dであるか)が、FPGA17Fの最新の回路(例えば、入力された回路情報13が表す回路)と一致しているか否かを判定する(S406)。
 S406の判定結果が真の場合(S406:Yes)、図2のS206以降が行われる。すなわち、割り当て決定部5は、割り当て結果情報を、演算制御部14に送る。演算制御部14は、割り当て決定部5からの割り当て結果情報を基に、演算を実行するハードウェアアクセラレータ17を特定し、特定されたハードウェアアクセラレータ17について、演算制御情報(例えば、オペランドやデータ)を決定して、決定した演算制御情報を当該ハードウェアアクセラレータ17に送る。ハードウェアアクセラレータ17は、演算制御情報に基づいて演算及び診断を実行する。例えば、一つのノードについて、演算機能が割り当てられる処理回路として演算コア又は演算回路41Pと、診断機能がそれぞれ割り当てられる二つ以上の処理回路である二つ以上の診断コア又は二つ以上の診断回路41Dとがある。このように、演算制御部14は、コントローラ30と同様の処理を行うようになっている。
 S406の判定結果が偽の異なる場合(S406:No)、回路書き換えが行われる(S411)。すなわち、割り当て決定部5は、割り当ての結果に従う回路変更情報(例えば、割り当てが変更された処理回路と変更後の割り当てとを表す情報)を書き換え制御部15に送る。書き換え制御部15は、回路情報13を読み出し、読み出した回路情報13に、入力された回路変更情報を適用し、割り当て決定後の回路を表す回路情報を、FPGA17Fの回路書き換え部40に入力する。この回路情報に従う書き換えが完了したら、書き換え制御部15は、割り当て決定部5に、FPGA17に入力した回路情報を送る。割り当て決定部5は、その回路情報を保持する。この回路情報が回路情報13に上書きされてもよい。S411の後、S206以降の処理が行われる。
 本実施形態によれば、複数種類のハードウェアアクセラレータ17を有する情報処理装置12Bにおいてもシステム信頼性の低下を最小限に抑え、高信頼に情報処理装置12Bの継続動作を実現できる。また、複数種類のハードウェアアクセラレータ17が使用されることで、共通原因故障を排除することができ(例えば、GPU17G及びFPGA17Fの一方のハードウェアアクセラレータに共通の故障原因が生じても他方のハードウェアアクセラレータが継続動作することが期待され)、より高い信頼性が期待できる。
 なお、S411の回路書き換えは、FPGA17全体の回路書き換えでもよいが、本実施形態では、部分書き換え(具体的には、例えば、機能割り当てが変更される処理回路を含んだ回路部分の書き換え)がされてもよい。FPGA1Fの一部を書き換える機能は、パーシャルリコンフィギュレーション(部分再構成)と呼ばれ、FPGAベンダより提供されている機能である。
 すなわち、GPU17Gが使用される場合、コアに割り当てる機能の変更はプログラムにより可能であり、故に、切り替え時間が短い。一方、FPGA17Fが使用される場合、処理回路に割り当てる機能の変更には実装回路の書き換えが必要であり、切り替え時間がGPU17Gと比較して長い。なお、FPGA17Fに汎用回路を実装してGPU17Gと同様な使い方をすることも可能であるが、アプリケーションに特化した回路を構成して所望の性能を実現できるというFPGA17Fの利点を生かせない。
 そこで、本実施形態では、書き換え制御部15が、FPGA17Fについて、書き換えが必要な場所を特定し、必要最低限の場所のみを書き換えることで、書き換え時間を最小化する。特に、ニューラルネットワークの演算においては、入力データ(例えばカメラの撮影画像)が異なるだけで同じ演算を毎サイクル行うという特徴がある。したがって、演算回路の数は基本的に変わらない。
 これにより、FPGA17Fの書き換え時間を短縮し、FPGA17Fの故障発生から復旧までの時間を短縮することができる。
[第3の実施形態]
 第3の実施形態を説明する。その際、第1及び第2の実施形態との相違点を主に説明し、第1及び第2の実施形態との共通点については説明を省略又は簡略する。
 本実施形態では、FPGA17Fを用いてニューラルネットワーク演算が行われる。
 図5は、第3の実施形態に係る情報処理装置の構成例を示す図である。また、図6は、当該情報処理装置の動作フローチャートである。
 情報処理装置12Cは、アクセラレータ装置6A又は6Bに代えてアクセラレータ装置6Cを有する。アクセラレータ装置6Cは、一つ以上のFPGA17Fである。FPGA17Fは、演算回路41P間の連携のためのスイッチ50と、演算回路41Pと診断回路41D間の連携のためのスイッチ51とを有する。
 本実施形態では、一部書き換えは、回路の書き換えに代えて又は加えて、配線書き換えを含み、書き換え時間の一層の短縮が期待される。
 具体的には、割り当て決定部5は、S205:Yesの後、S203の割り当て後の回路が、FPGA17Fの最新の回路と一致しているか否かを判定する(S610)。
 S610の判定結果が偽の場合(S610:No)、割り当て決定部5は、使用可能リソース特定部9からの情報(例えば、使用可能リソースを表す情報と、故障リソースを表す情報とを含んだ情報)を基に、故障が生じたリソースが診断回路41Dであるか否かを判定する(S611)。
 S611の判定結果が偽の場合(S611:No)、割り当て決定部5は、書き換え制御部15に、処理回路の書き換えを実行させ(S612)、その後に、配線の書き換えを実行させる(S613)。このS612及びS613は、例えば、処理回路の書き換えの内容と配線の書き換えの内容とを含む回路情報がFPGA17Fの回路書き換え部40に入力されてもよい。また、S611:Noの後のS613は、スイッチ50及び51の配線の書き換えでよい。
 S611の判定結果が真の場合(S611:Yes)、割り当て決定部5は、書き換え制御部15に、配線の書き換えを実行させる(S613)。S611:Yesの後のS613は、スイッチ51の配線の書き換えでよい。
 回路書き換え及び配線書き換えの具体例として、一つの演算回路41Paに対して二つの診断回路41Da及び41Dbが存在するケース、つまり、一つのノードにつき処理回路の三重化がされているケースを例に取る。本ケースでは、故障個所は、演算回路41Pa、診断回路41Da又は診断回路41Dbの3通りある。
 演算回路41Paに故障が発生している場合、演算回路41Paが実行していた演算を診断回路41Da及び41Dbのどれかに割り当てる必要がある。このため、いずれかの診断回路41Dが演算回路41Pに書き換えられる必要がある。この場合、診断回路を演算回路に書き換えることが必要である。
 一方、診断回路41Da又は41Dbに故障が発生している場合、故障が生じている診断回路41Dの診断機能を別の診断回路41Dに移す必要がある。但し、機能それ自体は変わらないため、診断回路41Dに対する入出力のみの変更で対応が可能である。具体的には、例えば、診断回路41Daで故障が発生している場合、診断回路41Daの入出力につながっていた配線が、別の診断回路41Dの入出力に接続されればよい。
 以上のように、診断回路41Dで故障が発生しているか否かが判定され、診断回路41Dで故障が発生している場合、配線のみが書き換えられればよい。なお、図5に例示のFPGA17Fの構成や、図6に例示の動作フローチャートは、第2の実施形態に適用されてもよい。
 上述した第1乃至第3の実施形態の説明を、例えば以下のように総括することができる。以下の総括は、少なくとも一つの実施形態の補足説明又は変形例の説明を含んでもよい。
 情報処理装置12が、入力された情報の演算に使用されて情報が出力される演算対象を用いた演算をアクセラレータ装置6により行うようになっている。情報処理装置12は、例えば、図7に示すように、インターフェース装置701と、記憶装置702と、アクセラレータ装置6と、それらに接続されたプロセッサ703とを備える。インターフェース装置701を介して、ハードウェアリソース情報8(例えば、アクセラレータ装置6が有する複数の処理回路を表す情報)及び学習済ニューラルネットワーク1(グラフ構造の機械学習モデルの一例)が入力されてよい。また、インターフェース装置701を介して、学習済ニューラルネットワーク1の入力情報(例えば、カメラによる撮影画像)が入力されてよい。また、インターフェース装置701を介して、信頼性情報11(例えば、算出された信頼性を表す情報)が出力されてもよい。情報処理装置12は、いわゆるエッジ機器でもよいし、エッジ機器のようなクライアントと通信するサーバでもよい。情報処理装置12がサーバの場合、物理的な計算機システムとしてのサーバでもよいし、物理的な計算機システム(例えば、複数種類の物理的な計算リソースを含んだクラウド基盤)に基づく論理的な計算機システム(例えば、クラウドコンピューティングサービス)としてのサーバでもよい。また、アクセラレータ装置6は、情報処理装置12に搭載されていてもよいし、情報処理装置12に通信可能に接続されていてもよい。また、アクセラレータ装置6は、一つ又は複数のハードウェアアクセラレータ17でもよいし、一つ又は複数のハードウェアアクセラレータ17が搭載されたパッケージとしての装置でもよい。また、記憶装置702に、上述のハードウェアリソース情報8、学習済ニューラルネットワーク1、故障影響度3、信頼性情報11、割り当て結果情報、診断情報及び診断ノード情報の少なくとも一部が格納されてもよい。プロセッサ703がコンピュータプログラムを実行することにより、影響度計算部2、優先度決定部4、割り当て決定部5、信頼性判定部10、診断情報収集部7、使用可能リソース特定部9、演算制御部14及び書き換え制御部15の少なくとも一つの機能が実現されてよい。
 情報処理装置12が、割り当て決定部5と、信頼性判定部10とを備える。演算対象(上述の例では学習済ニューラルネットワーク1)が使用される情報が入力される都度に、下記が行われる。
・割り当て決定部5が、演算対象における複数の演算要素(例えば、複数のノード)の各々について、当該演算要素の演算結果の正確性が演算対象の出力情報の正確性に影響する度合である故障影響度を基に、当該演算要素に、アクセラレータ装置6の複数の処理回路から、演算のための使用可能な処理回路である演算回路の他に、演算の正確性診断のための使用可能な処理回路である一つ以上の診断回路を割り当てるかを決定する。なお、「処理回路」は、例えば、コア21や処理回路41である。「演算回路」は、演算機能が割り当てられた処理回路である。「診断回路」は、診断機能が割り当てられた回路である。
・信頼性判定部10が、演算対象における演算要素の数と、少なくとも一つの診断回路が割り当てられた演算要素の数と、演算要素の故障影響度とに基づき、情報処理装置12の動作を継続するか否かの判断に用いられる情報処理装置12の信頼性(例えば、上述の診断カバー率C)を算出する。
 割り当て決定部5が行う処理の別の表現は、各演算要素の故障影響度を基に、当該演算要素の演算冗長性“n”(nは整数)を制御することでよい。n=0であれば、診断回路は割り当てられない。言い換えれば、nと同数の診断回路が割り当てられる。故障が発生している処理回路は、演算要素について(n+1)の演算結果を比較することにより特定することが可能である。例えば、いずれか一つの演算結果が他の二つ以上の演算結果と異なる場合、当該一つの演算結果を算出した処理回路に故障が発生していると判断することができる。
 このように、演算要素の故障影響度によって当該演算要素の演算冗長性が制御されるので、故障影響度の小さい演算要素については診断回路が割り当てられなくても信頼性を一定値以上に維持できる可能性があり、故に、アクセラレータ装置6が大型にならないように情報処理装置12の信頼性と動作継続性とを両立することができる。
 なお、上述の実施形態では、信頼性判定部10が、算出した信頼性が一定値以上か否かを判定し、当該判定の結果に応じて動作継続か動作停止かを制御するが、算出した信頼性が一定値以上か否かの判定、及び、当該判定の結果に応じて動作継続か動作停止かを制御することは、情報処理装置12の外部(例えば、ユーザによる手動操作、又は、上位システム)により行われてもよい。例えば、情報処理装置12は、車両の自動運転制御を行う装置でもよいし、自動運転制御を行う上位システムに接続された装置でもよい。例えば、信頼性判定部10は、信頼性が第1の値(上述の一定値の一例)以上であるが第2の値未満の場合、信頼性が第2の値以上の場合に行っていた自動操作の対象の一部の対象を手動操作の対象に変更してもよい。インターフェース装置701には、表示装置が接続されていてもよく、信頼性判定部10は、信頼性情報11が表す信頼性を表示装置に表示してもよいし、或いは、算出した信頼性に応じた自動操作の内容を表示装置に表示してもよい。
 割り当て決定部5は、演算要素の故障影響度の高さに基づく演算要素順に、少なくとも演算回路を含む一つ以上の使用可能な処理回路を演算要素に割り当ててよい。これにより、数に限りがある使用可能な処理回路を、演算要素の故障影響度の高さに基づき効率的に割り当てることができる。
 情報処理装置12の動作継続が決定された場合、複数の演算要素の各々について、下記が行われてよい。これにより、アクセラレータ装置6の最新の状態(いずれの処理回路に故障が発生しているか)に応じて処理回路を演算要素に割り当てることができる。
・複数の演算要素の各々について、当該演算要素に割り当てられた一つ以上の処理回路の各々による、当該演算要素の処理。
・一つ以上の診断回路が割り当てられた演算要素毎に、演算回路と一つ以上の診断回路の処理結果から、当該演算回路及び一つ以上の診断回路の少なくとも一つに故障が発生しているか否かを判断すること。
 情報処理装置12が、書き換え制御部15を更に備えてよく、一つ又は複数のハードウェアアクセラレータの少なくとも一つは、FPGA17F(回路書き換え可能なハードウェアアクセラレータ(例えばPGA(Programmable Gate Array))の一例)でよい。FPGA17Fの現在の回路構成(例えば、診断回路の数)が、割り当て決定部5による割り当ての結果としての回路構成(例えば、診断回路の数)と異なっている場合、書き換え制御部15が、当該回路構成の差分についての回路書き換え(処理回路それ自体の書き換えと処理回路間の配線の書き換えとの少なくとも一方)をFPGA17Fに指示してよい。この指示に応答して、FPGA17による回路書き換えが実行される。その後に、動作継続(例えばS206以降)が可能となる。これにより、回路書き換えに要する時間を最小限にし、以って、回路書き換え完了待ちによる情報処理の遅延を低減することができる。
 具体的には、例えば、下記の少なくとも一つが行われてよい。これにより、故障が発生している処理回路が演算回路であるか診断回路であるかに応じて、回路書き換えに要する時間を最適にすることが期待できる。
・書き換え制御部15は、演算回路に故障が発生していれば、いずれかの診断回路を演算回路に書き換えることと(FPGA17Fの現在の回路構成では演算回路が減っているが割り当ての結果としては演算回路の数が維持されているため)、処理回路間の配線を書き換えることとを、FPGA17Fに指示する。
・書き換え制御部15は、診断回路に故障が発生していれば、処理回路間の配線を書き換えることを、回路書き換え可能なハードウェアアクセラレータに指示し、処理回路の書き換えを、前記回路書き換え可能なハードウェアアクセラレータに指示しない。
 演算対象の一例は、学習済ニューラルネットワーク1でよい。ニューラルネットワーク1は、例えば、入力層(複数の入力ノード)と、中間層(複数の中間ノード)と、出力層(複数の出力ノード)と、複数の重みパラメータ、複数のバイアスパラメータと、を含んでよい。影響度計算部2が、重みパラメータ又はバイアスパラメータに基づいて、各中間ノードから各出力ノードへの影響度を計算してよい。その計算結果を表す情報が故障影響度3でよい。
 また、ニューラルネットワーク1に代えて、複数のノードを有するグラフ構造の他種の機械学習モデル(例えば、決定木)が採用されてもよい。また、演算要素毎の故障影響度を表す故障影響度3は、影響度計算部2により生成されることに代えて、外部から入力された情報でもよい。
1…学習済ニューラルネットワーク、2…影響度計算部、3…故障影響度、4…優先度決定部、5…割り当て決定部、6…アクセラレータ装置、7…診断情報収集部、8…ハードウェアリソース情報、9…使用可能リソース特定部、10…信頼性判定部、11…信頼性情報、12…情報処理装置、17…ハードウェアアクセラレータ

Claims (12)

  1.  入力された情報の演算に使用されて情報が出力される演算対象を用いた演算をアクセラレータ装置により行う情報処理装置において、
     割り当て決定部と、
     信頼性判定部と
    を備え、
     前記アクセラレータ装置は、複数の処理回路を有する一つ又は複数のハードウェアアクセラレータを有し、
     前記演算対象が使用される情報が入力される都度に、
      前記割り当て決定部が、前記演算対象における複数の演算要素の各々について、当該演算要素の演算結果の正確性が前記演算対象の出力情報の正確性に影響する度合である故障影響度を基に、当該演算要素に、前記複数の処理回路から、演算のための使用可能な処理回路である演算回路の他に、演算の正確性診断のための使用可能な処理回路である一つ以上の診断回路を割り当てるかを決定し、
      前記信頼性判定部が、前記演算対象における演算要素の数と、少なくとも一つの診断回路が割り当てられた演算要素の数と、演算要素の故障影響度とに基づき、前記情報処理装置の動作を継続するか否かの判断に用いられる前記情報処理装置の信頼性を算出する、
    情報処理装置。
  2.  前記割り当て決定部は、演算要素の故障影響度の高さに基づく演算要素順に、少なくとも演算回路を含む一つ以上の使用可能な処理回路を演算要素に割り当てる、
    請求項1に記載の情報処理装置。
  3.  前記情報処理装置の動作継続が決定された場合、
      前記複数の演算要素の各々について、当該演算要素に割り当てられた一つ以上の処理回路の各々による、当該演算要素の処理と、
      一つ以上の診断回路が割り当てられた演算要素毎に、演算回路と一つ以上の診断回路の処理結果から、当該演算回路及び一つ以上の診断回路の少なくとも一つに故障が発生しているか否かを判断することと
    が行われ、
     使用可能な処理回路とは、故障が発生したと判断されていない処理回路である、
    請求項1に記載の情報処理装置。
  4.  書き換え制御部を更に備え、
     前記一つ又は複数のハードウェアアクセラレータの少なくとも一つは、回路書き換え可能なハードウェアアクセラレータであり、
     前記回路書き換え可能なハードウェアアクセラレータの現在の回路構成が、前記割り当て決定部による割り当ての結果としての回路構成と異なっている場合、前記書き換え制御部が、当該回路構成の差分についての回路書き換えを前記回路書き換え可能なハードウェアアクセラレータに指示する、
    請求項1に記載の情報処理装置。
  5.  前記回路書き換え可能なハードウェアアクセラレータの現在の回路構成が、前記割り当て決定部による割り当ての結果としての回路構成と異なっている場合、前記書き換え制御部は、
      演算回路に故障が発生していれば、いずれかの診断回路を演算回路に書き換えることと、処理回路間の配線を書き換えることとを、前記回路書き換え可能なハードウェアアクセラレータに指示し、
      診断回路に故障が発生していれば、処理回路間の配線を書き換えることを、前記回路書き換え可能なハードウェアアクセラレータに指示し、処理回路の書き換えを、前記回路書き換え可能なハードウェアアクセラレータに指示しない、
    請求項4に記載の情報処理装置。
  6.  前記演算対象は、複数のノードを有するグラフ構造の機械学習モデルであり、
     前記複数の演算要素は、前記複数のノードである、
    請求項1に記載の情報処理装置。
  7.  前記グラフ構造の機械学習モデルは、ニューラルネットワークである、
    請求項6に記載の情報処理装置。
  8.  入力された情報の演算に使用されて情報が出力される演算対象を用いた演算をアクセラレータ装置により行う情報処理方法において、
     演算対象が使用される情報が入力される都度に、
      (A)コンピュータが、前記演算対象における複数の演算要素の各々について、当該演算要素の演算結果の正確性が前記演算対象の出力情報の正確性に影響する度合である故障影響度を基に、当該演算要素に、前記アクセラレータ装置が有する一つ又は複数のハードウェアアクセラレータの複数の処理回路から、演算のための使用可能な処理回路である演算回路の他に、演算の正確性診断のための使用可能な処理回路である一つ以上の診断回路を割り当てるかを決定し、
      (B)コンピュータが、前記演算対象における演算要素の数と、少なくとも一つの診断回路が割り当てられた演算要素の数と、演算要素の故障影響度とに基づき、情報処理を継続するか否かの判断に用いられる情報処理の信頼性を算出する、
    情報処理方法。
  9.  (A)では、コンピュータが、演算要素の故障影響度の高さに基づく演算要素順に、少なくとも演算回路を含む一つ以上の使用可能な処理回路を演算要素に割り当てる、
    請求項8に記載の情報処理方法。
  10.  (B)で算出された信頼性が一定値以上の場合、
      前記複数の演算要素の各々について、当該演算要素に割り当てられた一つ以上の処理回路の各々による、当該演算要素の処理が行われ、
      コンピュータが、一つ以上の診断回路が割り当てられた演算要素毎に、演算回路と一つ以上の診断回路の処理結果から、当該演算回路及び一つ以上の診断回路の少なくとも一つに故障が発生しているか否かを判断し、
     使用可能な処理回路とは、故障が発生したと判断されていない処理回路である、
    請求項8に記載の情報処理方法。
  11.  前記一つ又は複数のハードウェアアクセラレータの少なくとも一つは、回路書き換え可能なハードウェアアクセラレータであり、
     前記回路書き換え可能なハードウェアアクセラレータの現在の回路構成が、(A)の割り当ての結果としての回路構成と異なっている場合、コンピュータが、当該回路構成の差分についての回路書き換えを前記回路書き換え可能なハードウェアアクセラレータに指示する、
    請求項8に記載の情報処理方法。
  12.  前記演算対象は、複数のノードを有するグラフ構造の機械学習モデルであり、
     前記複数の演算要素は、前記複数のノードである、
    請求項8に記載の情報処理方法。
PCT/JP2022/035741 2021-12-20 2022-09-26 アクセラレータ装置を利用した情報処理装置及び情報処理方法 WO2023119774A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-205929 2021-12-20
JP2021205929A JP2023091269A (ja) 2021-12-20 2021-12-20 アクセラレータ装置を利用した情報処理装置及び情報処理方法

Publications (1)

Publication Number Publication Date
WO2023119774A1 true WO2023119774A1 (ja) 2023-06-29

Family

ID=86901861

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/035741 WO2023119774A1 (ja) 2021-12-20 2022-09-26 アクセラレータ装置を利用した情報処理装置及び情報処理方法

Country Status (2)

Country Link
JP (1) JP2023091269A (ja)
WO (1) WO2023119774A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844581A (ja) * 1994-07-29 1996-02-16 Fujitsu Ltd 自己修復機能付き情報処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844581A (ja) * 1994-07-29 1996-02-16 Fujitsu Ltd 自己修復機能付き情報処理装置

Also Published As

Publication number Publication date
JP2023091269A (ja) 2023-06-30

Similar Documents

Publication Publication Date Title
US8875142B2 (en) Job scheduling on a multiprocessing system based on reliability and performance rankings of processors and weighted effect of detected errors
US8924666B2 (en) Managing storage devices in a cloud storage environment
KR20190070659A (ko) 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법
US8458334B2 (en) Optimized capacity planning
US20130067465A1 (en) Distributed computing architecture with dynamically reconfigurable hypervisor nodes
US11924117B2 (en) Automated local scaling of compute instances
US9270539B2 (en) Predicting resource provisioning times in a computing environment
CN108647137B (zh) 一种作业性能预测方法、装置、介质、设备及系统
US9400731B1 (en) Forecasting server behavior
US10043139B2 (en) Method and apparatus for resolving contention in a computer system
US20230026283A1 (en) Automated cross-service diagnostics for large scale infrastructure cloud service providers
US10484300B2 (en) Admission control based on the end-to-end availability
Martyshkin et al. Using queuing theory to describe adaptive mathematical models of computing systems with resource virtualization and its verification using a virtual server with a configuration similar to the configuration of a given model
WO2022134809A1 (zh) 模型训练处理方法、装置、计算机设备及介质
WO2023119774A1 (ja) アクセラレータ装置を利用した情報処理装置及び情報処理方法
US9026422B2 (en) Determining simulation fidelity in a self-optimized simulation of a complex system
US20120041747A1 (en) Dynamically Adjusting Simulation Fidelity Based on Checkpointed Fidelity State
US8407035B2 (en) Dynamically adjusting simulation fidelity in a self-optimized simulation of a complex system
CN109308243B (zh) 数据处理方法、装置、计算机设备和介质
US20220019461A1 (en) Platform health engine in infrastructure processing unit
CN114968585A (zh) 资源配置方法、装置、介质和计算设备
US20160004584A1 (en) Method and computer system to allocate actual memory area from storage pool to virtual volume
US11175959B2 (en) Determine a load balancing mechanism for allocation of shared resources in a storage system by training a machine learning module based on number of I/O operations
US11175958B2 (en) Determine a load balancing mechanism for allocation of shared resources in a storage system using a machine learning module based on number of I/O operations
US20230168919A1 (en) Preflight checks for hardware accelerators in a distributed system

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: 22910500

Country of ref document: EP

Kind code of ref document: A1