Satellite-borne computing system with fault-tolerant design

By using containerized technology and redundant NPU card groups in the satellite-on-on-board computing system, combining voting and re-computing system, the problem of ensuring the accuracy of neural network task results in a space environment is solved, and efficient fault-tolerant design and resource utilization are achieved.

CN119849568APending Publication Date: 2025-04-18BEIJING ZHONGKE TIANSUAN TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411877175.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-19
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

The prior art is difficult to effectively ensure the accuracy of neural network tasks on NPU cards in satellite-based computing systems, especially in space environments with high radiation and strong electromagnetic interference.

Method used

Deploy neural network tasks through containerization technology, use multiple redundant containers and NPU card groups to provide redundant calculations, and use voting mechanisms and recomputing to ensure the accuracy of the results.

Benefits of technology

It realizes effective response to interference and failures in a space environment, ensures the accuracy of neural network mission results, and reduces the increase in satellite load.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119849568A_ABST
    Figure CN119849568A_ABST
Patent Text Reader

Abstract

The invention provides a satellite-borne computing system with fault-tolerant design, which comprises an NPU card group containing a plurality of NPU cards, the NPU cards are neural network processors, and the system is configured to obtain neural network tasks which need to be accelerated by the NPU cards and have reliability requirements; running a container cluster comprising a plurality of redundant containers for the neural network task, and binding an NPU card capable of executing the neural network task in the NPU card cluster for each redundant container; respectively deploying the neural network task in each redundant container in the container cluster, and processing the neural network task by using an NPU card bound with the redundant container to obtain a calculation result; determining a result of the neural network task according to a plurality of calculation results obtained by the plurality of redundant containers; therefore, the container cluster is utilized to flexibly utilize the resources of the plurality of NPU cards to provide redundancy, thereby effectively dealing with each interference and fault in the space environment, ensuring the accuracy of the result of the neural network task, and effectively reducing the load of the satellite.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computing technology, in particular to the field of satellite-borne computing technology, and more particularly to a satellite-borne computing system with fault-tolerant design. Background Art

[0002] At present, common fault-tolerant technologies mainly include hardware redundancy, software redundancy, and error detection and correction (EDAC) algorithms. These technologies have been widely used in spacecraft and have formed a variety of mature implementation solutions. Among them:

[0003] Hardware redundancy (such as Triple Modular Redundancy, TMR) is one of the most commonly used fault-tolerant methods, which improves system reliability by adding multiple independent computing hardware modules. However, this method also has its limitations, mainly because the existing hardware redundancy is to design multiple sets of dedicated computing hardware for each task that needs to be calculated, which will significantly increase the size, weight and power consumption of the system.

[0004] Software redundancy technology (such as N-Version Programming) reduces the impact of software failures by running the same task in multiple independent software environments simultaneously. Each version of the software is independently written and tested, and performs computing tasks separately when the system is running, and the final result is obtained by comparison. This technology can effectively handle computing errors caused by software defects and is widely used in systems with high security requirements. For example, Gartner and Nixon described the implementation principle and application scenarios of this method in detail in their journal paper "N-Version Programming: A Fault-Tolerance Approach to Reliability of Software Operation" (IEEE Transactions on Software Engineering, 1985). However, the complexity of software redundancy increases the difficulty of system development and maintenance, and in onboard computing systems, due to limited resources, redundant computing will lead to large computing overhead and increased power consumption.

[0005] Error Detection and Correction (EDAC): EDAC algorithms are widely used in data transmission and storage protection for onboard computing systems, and can detect and correct data errors when they occur. For example, Hamming code is a classic EDAC method that can correct single-bit errors and detect multi-bit errors. Many NASA satellites use the EDAC algorithm during data communication to ensure data integrity. However, the limitation of EDAC is that it can only handle a small number of errors and is powerless against large-scale hardware failures or severe concurrent errors. In addition, the computational complexity of the EDAC algorithm also poses a challenge to tasks with high real-time requirements.

[0006] In satellite computing systems, fault-tolerant design is a key factor in ensuring system stability and mission success rate. With the development of artificial intelligence technology, in addition to conventional central processing units (hereinafter referred to as CPUs) and graphics processing units (hereinafter referred to as GPUs), satellite computing systems will increasingly be equipped with neural network processors (Neural Processing Units, hereinafter referred to as NPUs or NPU cards) to accelerate neural network tasks. NPU cards have powerful parallel computing capabilities and are particularly suitable for deep learning tasks that process large amounts of data. When satellites are in orbit, NPU cards are easily affected by high radiation and strong electromagnetic interference in space environments, and traditional fault-tolerant technologies are difficult to meet their reliability requirements. There is currently no good technology for ensuring the accuracy of the results of some neural network tasks with reliability requirements calculated on NPU cards.

[0007] It should be noted that this background technology is only used to introduce the relevant information of the present invention to help understand the technical solution of the present invention, but it does not mean that the relevant information is necessarily the prior art. The relevant information is submitted and disclosed together with the present invention solution. If there is no evidence that the relevant information has been disclosed before the application date of the present invention, the relevant information shall not be regarded as the prior art. Summary of the invention

[0008] Therefore, the object of the present invention is to overcome the defects of the above-mentioned prior art and provide a satellite-borne computing system with a fault-tolerant design.

[0009] The objective of the present invention is achieved through the following technical solutions:

[0010] According to the first aspect of the present invention, a satellite computing system with fault-tolerant design is provided, which includes: an NPU card group containing multiple NPU cards, wherein the NPU card is a neural network processor, and the system is configured to: obtain a neural network task that needs to be accelerated by the NPU card and has reliability requirements; run a container cluster containing multiple redundant containers for the neural network task, and bind an NPU card in the NPU card group that can execute the neural network task to each of the redundant containers; deploy the neural network task in each redundant container in the container cluster, and use the NPU card bound to the redundant container to process the neural network task to obtain a calculation result; determine the result of the neural network task according to the multiple calculation results obtained by the multiple redundant containers. The scheme can at least achieve the following beneficial technical effects: for the neural network task, the task is deployed in a containerized manner, so as to use the container cluster to flexibly use the resources of multiple NPU cards to provide redundancy, thereby effectively coping with various interferences and failures in the space environment and ensuring the accuracy of the results of the neural network task; in addition, different neural network tasks can reuse the resources in the NPU card group; there is no need to design multiple redundant dedicated acceleration hardware for each task to perform calculations like hardware redundancy, which effectively reduces the load of the satellite.

[0011] Optionally, the method for determining the result of the neural network task includes: when more than half of the calculation results obtained by multiple redundant containers are the same, the same calculation results are used as the result of the neural network task, otherwise a recalculation mechanism is triggered to reprocess the neural network task. This solution can at least achieve the following beneficial technical effects: This solution is equivalent to including voting fault tolerance and recalculation fault tolerance, wherein voting fault tolerance can achieve rapid decision-making, and recalculation fault tolerance can ensure the correctness of calculation in extreme cases.

[0012] Optionally, the system is also configured to: obtain the reliability requirement level of the computing task to be processed and a preset level-card number comparison table, wherein the level-card number comparison table is provided with the number of redundant cards corresponding to each reliability requirement level, and the higher the reliability requirement level, the more redundant cards correspond to it; query the level-card number comparison table according to the reliability requirement level to determine the number of redundant cards N corresponding to the computing task to be processed; when starting a container cluster containing multiple redundant containers for a neural network task, create N redundant containers and use them to bind N NPU cards. This solution can at least achieve the following beneficial technical effects: when the reliability requirement of the computing task is higher, more NPU cards are configured for the neural network task in the task to be calculated to perform calculations, so as to better ensure the accuracy of the results of the neural network task, so as to improve the accuracy of the results of the final computing task; for tasks with relatively low reliability requirements, their occupation of NPU card group resources can be reduced, so as to better ensure the processing efficiency of other tasks.

[0013] Optionally, the system is further configured to: maintain historical observation information for the NPU card group, including the success probability of each NPU card in the NPU card group obtaining a calculation result for each type of neural network task as the result of the corresponding type of neural network task; and select multiple NPU cards from the NPU card group to process the neural network task respectively according to the type of neural network task and historical observation information. This solution can at least achieve the following beneficial technical effects: This solution collects the success probability of NPU cards executing various types of neural network tasks, which can more effectively ensure the accuracy of the results of different types of neural network tasks.

[0014] Optionally, the success probability is the number of historical successes divided by the total number of processing times. According to the system of claim 4, multiple NPU cards are selected to process the neural network task respectively in order of success probability from high to low. This solution can at least achieve the following beneficial technical effects: when executing a certain type of neural network task, the NPU card is selected according to the success probability of the neural network task of that type, which can better ensure the accuracy of the result of the task of that type.

[0015] Optionally, the historical observation information also includes the idle index of each NPU card, wherein the higher the idle degree of the NPU card, the larger the value of the idle index is. The system is also configured to: when a certain type of neural network task needs to be calculated, multiple NPU cards are selected based on the corresponding success probability and idle index to calculate the neural network task of this type respectively. This solution can at least achieve the following beneficial technical effects: selecting to execute this type of neural network task based on the success probability and idle index can better ensure the calculation accuracy of this type of neural network task, while more balanced use of each NPU card in the NPU card group, effectively reducing the excessive use of certain NPU cards.

[0016] Optionally, multiple NPU cards are selected to calculate the neural network tasks of this type respectively according to the weighted values ​​of the success probability and the idle index from high to low. This solution can at least achieve the following beneficial technical effects: according to the weighted values ​​of the success probability and the idle index from high to low, the execution of this type of neural network tasks can be selected, and N NPU cards with better comprehensive indicators can be selected to better ensure the accuracy of the calculation and prevent the waiting delay of the calculation from being too large.

[0017] Optionally, the system further includes a CPU, which is used to create and manage a container cluster. The operation of managing the container cluster includes: when the idleness of the created container cluster reaches a preset requirement, the container cluster is stopped to recycle relevant resources. This solution can at least achieve the following beneficial technical effects: when a certain idleness occurs in the created container cluster (such as how long it has not been used or the heat ranking is lower than a preset threshold), the container cluster is stopped to recycle relevant resources, effectively reducing the occupation of NPU resources and better ensuring the performance of the system in executing other tasks.

[0018] Optionally, the system includes multiple types of NPU cards, and the CPU and each NPU card are connected via a PCIe bus. This solution can at least achieve the following beneficial technical effects: using the PCIe bus to integrate the CPU and various types of NPU cards to better improve the compatibility of the system, so as to provide acceleration support for more neural network tasks. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The embodiments of the present invention are further described below with reference to the accompanying drawings, in which:

[0020] Figure 1 A schematic diagram of the hardware structure of a satellite-borne computing system according to an embodiment of the present invention;

[0021] Figure 2 Schematic diagram of the software layer of the onboard computing system according to an embodiment of the present invention. DETAILED DESCRIPTION

[0022] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below through specific embodiments in conjunction with the accompanying drawings. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0023] As mentioned in the background technology section, there is currently no good technology for ensuring the accuracy of the results of calculations on NPU cards for some neural network tasks with reliability requirements. In this regard, the inventors took into account that for the scenario of neural network processing itself, in order to improve processing efficiency, multiple NPU cards may be integrated to use the parallel processing capabilities of NPU cards to reduce the overall calculation delay. With the characteristics of this scenario, NPU card groups and containerization technology can be used. When a neural network task that needs to be accelerated by the NPU card and has reliability requirements comes, a container cluster containing multiple redundant containers is run for it, and each of the redundant containers is bound to an NPU card in the NPU card group that can execute the neural network task. With the help of multiple NPU cards bound to multiple redundant containers, multiple calculation results are obtained, and the results of the neural network task are determined based on multiple calculation results. Therefore, the container cluster can be used to flexibly utilize the resources of multiple NPU cards to provide redundancy, thereby effectively dealing with various interferences and failures in the space environment and ensuring the accuracy of the results of the neural network tasks; in addition, different neural network tasks can reuse the resources in the NPU card group, without the need to design multiple redundant dedicated acceleration hardware for each task to perform calculations as with existing hardware redundancy, effectively reducing the load on the satellite.

[0024] In order to better understand the present invention, the scheme of the present invention is introduced below in conjunction with specific implementation methods.

[0025] Implementation Method 1

[0026] See also Figure 1 , provides a satellite computing system with a fault-tolerant design, the hardware of the system includes: a CPU and an NPU card group, wherein the NPU card group includes multiple NPU cards (such as NPU card 1, NPU card 2...NPU card n), and the CPU and the NPU cards in the NPU card group are connected to each other through a bus (for example, through a PCIe bus or other types of buses). Each NPU card can independently execute one or more types of neural network tasks. In addition, the system may also include a GPU and / or a memory (Memory). The CPU, GPU, and NPU card can be connected through a bus; the CPU and memory can be connected through a storage bus (Memory Bus). Alternatively, the CPU, GPU, NPU card, and memory can be connected through a bus ( Figure 1 (not shown). In addition, Figure 1 Some peripheral components are also omitted, only the connections of the core components are shown.

[0027] See also Figure 2, for the fault-tolerant design mechanism, schematically, the software layer of the satellite computing system may include a main control module, a container management module and a voting module, wherein the main control module is connected to the container management module and the voting module, and the main control module is responsible for managing the entire satellite computing system, including task scheduling, container management, voting mechanism control and result output. The container management module is used to manage the creation, start and / or stop of all containers. Under the management of the main control module, the container management module creates a container cluster for related neural network tasks, including multiple containers, among which there are containers for binding a certain NPU card to perform neural network tasks (for distinction, referred to as redundant containers), and there may be containers for completing other functions (such as communication, etc.). Each redundant container is bound to an NPU card in the NPU card group that can execute the neural network task, and the neural network task is deployed in the redundant container, and the corresponding NPU card is directly connected. For example: container 1 is bound to NPU card 1, container 2 is bound to NPU card 2... container n is bound to NPU card n. The voting module is used to collect the calculation results of each redundant container and vote after all redundant containers have completed processing the calculation results of the same neural network task to determine the final output result of the neural network task.

[0028] According to one embodiment of the present invention, the system is configured to: obtain a neural network task that needs to be accelerated by an NPU card and has reliability requirements; run a container cluster containing multiple redundant containers for the neural network task, and bind each redundant container to an NPU card in the NPU card group that can execute the neural network task; deploy the neural network task in each redundant container in the container cluster, and use the NPU card bound to the redundant container to process the neural network task to obtain a calculation result; determine the result of the neural network task based on the multiple calculation results obtained by the multiple redundant containers. Schematically, the system obtains the result of the neural network task by the following steps:

[0029] (1) Task Acquisition

[0030] After receiving the computing tasks to be processed, the main control module first decomposes the computing tasks and separates the neural network tasks that are suitable for execution on the NPU card and have reliability requirements.

[0031] (2) Run the container cluster

[0032] Create a container cluster: If you have not created a container cluster for this neural network task, create one first; otherwise, you can start a previously created container.

[0033] Container initialization: An independent redundant container is allocated to each NPU card. Each redundant container contains the execution environment and data set related to the task, and directly passes through the NPU card to which it is bound.

[0034] Task deployment: The main control module distributes the neural network tasks to each redundant container, loads the neural network tasks inside the redundant container, and establishes communication with the corresponding NPU card.

[0035] (3) Perform parallel computing

[0036] After the neural network task is deployed, the neural network tasks in each redundant container will be started at the same time and perform calculations on the bound NPU cards respectively. Since the environment in each redundant container is independent, even if a redundant container or NPU card fails, it will not directly affect the normal operation of other redundant containers, which can better ensure the accuracy of the results than software redundancy.

[0037] (4) Voting and decision making on calculation results

[0038] When the computing tasks in all containers are completed, the main control module will call the voting module to collect the computing results obtained by each redundant container. The result of the neural network task is determined based on the multiple computing results obtained by multiple redundant containers, including: when more than half of the multiple computing results obtained by multiple redundant containers are the same (consistent), the same computing results are used as the results of the neural network task, otherwise the recalculation mechanism is triggered to recalculate the neural network task. For example: Taking three redundant containers in the container cluster as an example, the voting module will make decisions based on the following rules:

[0039] Consistency check: The voting module first checks whether the calculation results output by each redundant container are consistent. If the results output by each redundant container are the same, then the result is considered the winner. If the results of two redundant containers are consistent, and the result of the other redundant container is different, then the consistent calculation result is the winner. The winner of the vote will be the final result of this calculation.

[0040] Recalculation mechanism: If the results output by the containers are inconsistent (i.e., there is no winner in the vote), the recalculation mechanism is triggered. The system restarts the calculation task until the results of at least two containers are consistent.

[0041] Optionally, the CPU can be used to create and manage container clusters. The operations for managing container clusters include: when the idleness of the created container cluster reaches the preset requirements, stop the container cluster to recycle related resources and reduce ineffective occupation of resources. For example, when a container cluster does not process its corresponding neural network task again within a preset period of time, the container cluster is stopped. Alternatively, each container cluster can be marked with usage popularity and ranked. Container clusters that are ranked below the preset ranking threshold and do not need to process tasks for the time being will be stopped.

[0042] Implementation Method 2

[0043] Implementation 1 does not consider the problem that different tasks have different requirements for reliability. When each neural network task comes, all NPU cards that can execute the neural network task may be scheduled to perform redundant calculations, resulting in large resource consumption. This implementation will improve this.

[0044] According to an embodiment of the present invention, the system pre-stores a level-card number comparison table, in which the number of redundant cards corresponding to each reliability requirement level is set, and the higher the reliability requirement level, the more redundant cards are corresponding. A schematic level-card number comparison table is shown in Table 1 or Table 2:

[0045] Table 1

[0046] Reliability requirement level Number of redundant cards 1 <![CDATA[K1]]> 2 <![CDATA[K2]]> …… …… M <![CDATA[K M ]]>

[0047] Where M represents the total number of reliability requirement levels, 3≤K1<K2<K M .

[0048] Table 2

[0049] Reliability requirement level Number of redundant cards 1 3 2 5 …… …… M 2M+1

[0050] Wherein, M represents the total number of reliability requirement levels.

[0051] According to an embodiment of the present invention, the onboard computing system can pre-store the identity information of each type of neural network task that can be calculated (for example, for each different neural network task, it is regarded as a type of neural network task) and its reliability requirement level. When the type of neural network task needs to be calculated, its reliability requirement level is determined according to the identity information, and the level-card number comparison table is queried to obtain the number of cards N that need to be started. Of course, the implementer can also adopt other methods, such as recording its reliability requirement level in the neural network task.

[0052] According to one embodiment of the present invention, the onboard computing system is further configured to: determine the number of redundant cards N corresponding to the computing task to be processed according to the reliability requirement level query level-card number comparison table; when starting a container cluster containing multiple redundant containers for a neural network task, create N redundant containers and use them to bind N NPU cards (for example: randomly select N NPU cards from the NPU cards in the NPU card group that can process a certain type of neural network task; or a polling selection method can be used to select N NPU cards from the NPU card group that can process a certain type of neural network task). Subsequently, the N calculation results obtained by calling N NPU cards to process the neural network task based on the N containers will be used to vote to determine the result of the neural network task. This solution can at least achieve the following beneficial technical effects: when the reliability requirement of the computing task is higher, more NPU cards are configured for the neural network task in the task to be calculated to perform calculations, so as to better ensure the accuracy of the result of the neural network task, so as to improve the accuracy of the result of the final computing task; for tasks with relatively low reliability requirements, their occupation of NPU card group resources can be reduced, and the processing efficiency of other tasks can be better guaranteed.

[0053] Implementation 3

[0054] Considering that multiple NPU cards set in the onboard computing system may have different results for the calculation of a certain type of neural network task under certain actual conditions (such as radiation, strong electromagnetic interference or its own working conditions), if no distinction is made, the calculation accuracy will be affected. In this regard, this embodiment considers improving embodiments 1 and 2.

[0055] According to one embodiment of the present invention, the onboard computing system is configured to: maintain historical observation information for the NPU card group, including the success probability that the calculation results obtained by each NPU card in the NPU card group for each type of neural network task are finally used as the result of the corresponding type of neural network task; according to the type of neural network task and the historical observation information, select multiple NPU cards from the NPU card group in the order of success probability from high to low to process the neural network task respectively. For example, N NPU cards can be selected from the NPU card group in the order of success probability from high to low to process the neural network task respectively.

[0056] According to an embodiment of the present invention, assuming that there are n NPU cards and C types of neural network tasks, schematically, the historical observation information includes the content shown in Table 3:

[0057] Table 3

[0058]

[0059] The success probability is the number of historical successes divided by the total number of processing times. For example, if an NPU card processes a neural network task of type c for a total of Z times (calculation times) in a certain period, and x calculation results are finally used as the result of this type of neural network task, then the number of historical successes is x, and the success probability is x / Z.

[0060] Implementation 4

[0061] Implementation 3 only considers the influence of success probability, which may cause the same type of neural network tasks to always tend to be assigned to certain NPU cards with high success probability in the same period of time in some cases. This implementation considers improving this to make the load of each NPU card more balanced.

[0062] According to an optional embodiment of the present invention, Nr NPU cards are selected from the NPU card group in descending order of success probability to process the neural network task; in addition, r cards can be randomly selected from the remaining NPU cards, where N represents the number of redundant cards, r is the preset number of randomly selected cards, N>r>0, and Nr represents N minus r.

[0063] According to another optional embodiment of the present invention, the historical observation information also includes the idle index of each NPU card, wherein the higher the idle degree of the NPU card, the larger the value of the idle index is relatively, and the system is also configured as follows: when a certain type of neural network task needs to be calculated, multiple NPU cards are selected based on the corresponding success probability and idle index to calculate the neural network task of this type respectively. Preferably, N NPU cards are selected to calculate the neural network task of this type respectively according to the weighted values ​​of the success probability and the idle index from high to low. Alternatively, Nr NPU cards can also be selected from the NPU card group to process the neural network task according to the weighted values ​​of the success probability and the idle index from high to low; in addition, r cards can be randomly selected from the remaining NPU cards, wherein N represents the number of redundant cards, r is the preset number of randomly selected cards, N>r>0, and Nr represents N minus r.

[0064] Implementation method 5

[0065] Considering that the setting of the recalculation mechanism may also affect the performance of the fault tolerance mechanism, this embodiment considers designing and improving the recalculation mechanism.

[0066] According to one embodiment of the present invention, under the recalculation mechanism, the onboard computing system controls the container cluster to calculate the neural network task again until more than half of the multiple calculation results obtained by multiple redundant containers are the same, and the same calculation results are used as the results of the neural network task, or, after executing the recalculation mechanism a preset number of times, an error message is sent.

[0067] In addition, in some extreme cases, because most of the currently bound NPU cards have problems, recalculation using these NPU cards may still result in failure to reach a consensus, and improvements may be considered. According to one embodiment of the present invention, the onboard computing system is configured to: under the recalculation mechanism, it is necessary to reselect the NPU cards that need to be bound for this calculation, and at least some of the currently bound NPU cards are different from the NPU cards bound for the previous calculation.

[0068] In some cases, the failure to reach a consensus on the calculation may also be due to the influence of momentary radiation. If the NPU card that needs to be bound for recalculation is reselected at the beginning, the overhead of recreating the container cluster will cause a large delay. Therefore, improvements can be considered. According to one embodiment of the present invention, the onboard computing system is configured as follows: for a certain neural network task, when the recalculation mechanism is executed for the first time, the container cluster and the bound NPU card that were run last time are used for recalculation; otherwise (such as the second or third time), it is necessary to reselect the NPU card that needs to be bound for this calculation, and at least some of the currently bound NPU cards are different from the NPU cards bound for the previous calculation. Therefore, if the instantaneous radiation influence causes the result to be inconsistent, the original container cluster and the bound NPU card can be used in the next recalculation to get the result faster; if the recalculation mechanism is still not consistent after the first execution, the NPU card that needs to be bound for this calculation can be reselected in order to reach a consistent calculation result faster.

[0069] In general, the onboard computing system provided by the present invention is intended to deploy tasks in a containerized manner and adopt a voting mechanism to ensure the accuracy and fault tolerance of computing results to cope with various interferences and failures in the space environment. Specifically, the onboard computing system of the above embodiment can achieve one or more of the following beneficial effects:

[0070] (1) Advantages of multi-NPU card cluster system: The system contains multiple NPU cards, each of which can perform tasks independently to form a card cluster system. This architecture can utilize the parallel computing capabilities of multiple NPUs while providing redundancy to deal with possible computing errors.

[0071] (2) Containerized deployment of NPU computing tasks: Tasks are deployed using containerization technology, and each container runs independently and directly connects to an NPU card. Containerized deployment not only simplifies task management, but also effectively isolates the mutual impact between different tasks, thereby improving system reliability.

[0072] (3) Voting mechanism for multi-container calculation results: When multiple containers complete the calculation task, the final calculation result is determined by a voting mechanism. If the results obtained by multiple containers are consistent, the result is considered correct; if there is a disagreement, the result with more votes is the final result, or a recalculation mechanism is triggered to ensure the accuracy of the result.

[0073] (4) Multi-mode fault tolerance: The present invention supports multiple fault tolerance modes, including voting fault tolerance and recalculation fault tolerance. Voting fault tolerance is mainly used for rapid decision-making, while recalculation fault tolerance ensures the correctness of calculation in extreme cases.

[0074] It should be noted that although the above describes the various steps in a specific order, it does not mean that the steps must be executed in the above specific order. In fact, some of these steps can be executed concurrently or even in a different order as long as the required functions can be achieved.

[0075] The present invention may be a system, a method and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present invention.

[0076] Computer readable storage medium can be a tangible device that holds and stores instructions used by an instruction execution device. Computer readable storage medium can include, for example, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (non-exhaustive list) of computer readable storage medium include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, for example, a punch card or a protruding structure in a groove on which instructions are stored, and any suitable combination thereof.

[0077] The embodiments of the present invention have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A satellite-borne computing system with fault-tolerant design, comprising: An NPU card group containing multiple NPU cards, where the NPU card is a neural network processor. The system is configured to: Obtain neural network tasks that require NPU card acceleration and reliability; Run a container cluster containing multiple redundant containers for the neural network task, and bind an NPU card in the NPU card group that can execute the neural network task to each of the redundant containers; Deploy the neural network task in each redundant container in the container cluster, and use the NPU card bound to the redundant container to process the neural network task to obtain a calculation result; The result of the neural network task is determined based on multiple calculation results obtained from multiple redundant containers.

2. The system according to claim 1, characterized in that Ways to determine the results of a neural network task include: When more than half of the calculation results obtained by multiple redundant containers are the same, the same calculation results are used as the results of the neural network task, otherwise a recalculation mechanism is triggered to reprocess the neural network task.

3. The system according to claim 1, characterized in that The system is also configured to: Obtaining the reliability requirement level of the computing task to be processed and a preset level-card number comparison table, wherein the level-card number comparison table is provided with the number of redundant cards corresponding to each reliability requirement level, and the higher the reliability requirement level, the more redundant cards it corresponds to; According to the reliability requirement level, the level-card number comparison table is searched to determine the number of redundant cards N corresponding to the computing task to be processed; When a container cluster containing multiple redundant containers is started for a neural network task, N redundant containers are created and used to bind N NPU cards.

4. The system according to claim 3, characterized in that The system is also configured to: Maintain historical observation information for the NPU card group, including the success probability that the calculation results obtained by each NPU card in the NPU card group for each type of neural network task are finally used as the results of the corresponding type of neural network task; According to the type of neural network task and historical observation information, multiple NPU cards are selected from the NPU card group to process the neural network task respectively.

5. The system according to claim 4, characterized in that The success probability is the number of historical successes divided by the total number of treatments.

6. The system according to claim 4, characterized in that In order of success probability from high to low, multiple NPU cards are selected to process the neural network task respectively.

7. The system according to any one of claims 4 to 6, characterized in that: The historical observation information also includes an idle index of each NPU card, wherein the value of the idle index is relatively larger when the idle degree of the NPU card is higher, and the system is further configured as follows: When a certain type of neural network task needs to be calculated, multiple NPU cards are selected based on the corresponding success probability and idle index to calculate the neural network task of this type respectively.

8. The system according to claim 7, characterized in that According to the weighted values ​​of success probability and idle index from high to low, multiple NPU cards are selected to calculate the neural network tasks of this type respectively.

9. The system according to any one of claims 1 to 6, characterized in that: The system also includes a CPU, which is used to create and manage a container cluster. The operation of managing the container cluster includes: when the idle state of the created container cluster reaches a preset requirement, stopping the container cluster to recycle related resources.

10. The system according to any one of claims 1 to 6, characterized in that: The system includes NPU cards of various models, and the CPU and each NPU card are connected via a PCIe bus.