Data processing method and device, chip, electronic equipment and medium

By employing default and backup nodes in the data processing device, the problem of large topology changes when nodes fail is solved, achieving high availability of the node array and effectiveness of redundant logic.

CN114860511BActive Publication Date: 2026-05-01SHANGHAI POWERTENSORS INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI POWERTENSORS INTELLIGENT TECH CO LTD
Filing Date
2022-04-29
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In existing technologies, when a node of a data processing device is in an abnormal state, it is often necessary to make significant changes to the topology to implement redundant logic, which leads to a decrease in device availability.

Method used

The design employs a node array where each node is grouped into a default node and a backup node. Under normal conditions, the default node is enabled for connection, while under abnormal conditions, the backup node is enabled for connection, thus keeping the topology of the node array essentially unchanged.

Benefits of technology

This design reduces the impact of redundant logic on the topology, improving the availability of the data processing device and the effectiveness of the redundant logic.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114860511B_ABST
    Figure CN114860511B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a data processing method and device, a chip, an electronic device and a medium. The data processing device comprises a node array, the node array comprising a plurality of node groups; wherein adjacent nodes in the same node group are connected, and each node in the same node group is connected to a plurality of nodes in other node groups; the plurality of nodes comprise default nodes and backup nodes, and the default node of a node is the backup node of at least one other node in the node group where the node is located; in the case that the default node of a first node in a node group is in a normal state, the connection between the first node and the corresponding default node is enabled; in the case that the default node of the first node in the node group is in an abnormal state, the connection between the first node and the corresponding backup node and at least one second node in the same node group as the first node is enabled.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of data processing apparatus technology, and more particularly to data processing methods and apparatus, chips, electronic devices, and media. Background Technology

[0002] For data processing devices comprising multiple nodes, the malfunction of one node can render the entire device unusable. To address this, redundant logic can be added to improve the availability of the data processing device. However, redundant logic in related technologies often requires significant modifications to the topology of each node. Summary of the Invention

[0003] In a first aspect, embodiments of this disclosure provide a data processing apparatus, the data processing apparatus including a node array, the node array including multiple node groups; wherein adjacent nodes in the same node group are connected, and each node in the same node group is connected to multiple nodes in other node groups; the multiple nodes include default nodes and backup nodes, the default node of a node is a backup node of at least one other node in the node group to which the node belongs; when the default node of a first node in a node group is in a normal state, the connection between the first node and the corresponding default node is enabled; when the default node of a first node in a node group is in an abnormal state, the connection between the first node and at least one second node in the same node group as the first node and the corresponding backup node is enabled.

[0004] In some embodiments, each node in the node array includes a processing kernel and a router connected to the processing kernel, and the router of each node in a node group is used to connect to the routers of multiple nodes in another node group; the node is in a normal state when both the router and the processing kernel of a node are in a normal state; the node is in an abnormal state when at least one of the router and the processing kernel of a node is in an abnormal state.

[0005] In some embodiments, each node group includes at least one redundant node and working nodes other than the redundant node, wherein the redundant node of one node group is a backup node for at least one working node of another node group, and the first node is the working node; when all working nodes of a node group are in normal condition, the redundant node of the node group is disabled.

[0006] In some embodiments, where a redundant node is set for each node group, the backup node for each working node is the default node of the next working node in the group to which the node belongs; in response to at least one default node of a working node being in an abnormal state, the connection between the working node and the last working node in the node group to which the working node belongs and the corresponding backup node is enabled, wherein the number of nodes in an abnormal state in any node group is less than or equal to the number of redundant nodes in the group, and the redundant node is the next node of the last working node in its group.

[0007] In some embodiments, at least two redundant nodes are set for each node group, and the at least two redundant nodes are distributed at both ends of the node group. In response to the default node of at least one working node being in an abnormal state, the connection between the working node and the preceding working node of the target redundant node of the working node and the corresponding backup node is enabled respectively. In this case, the number of nodes in an abnormal state in any node group is less than or equal to the number of redundant nodes in the group. The target redundant node is in the same node group as the working node, and the default node of each working node between the following working node of the working node and the preceding working node of the target redundant node is in a normal state.

[0008] In some embodiments, at least two redundant nodes are set for each node group, and the at least two redundant nodes are distributed at one end of the node group. In response to the default node of at least one working node being in an abnormal state, the connection between the working node and the preceding working node of the redundant node in the group to the corresponding standby node is enabled. The number of nodes in an abnormal state in any node group is less than or equal to the number of redundant nodes in the group. For each third node that enables the connection with the standby node, the default node of the third node and the standby node of the third node are not adjacent.

[0009] In some embodiments, the backup node for each worker node is the default node for the next worker node in the group to which that worker node belongs.

[0010] In some embodiments, the backup node for each worker node is the default node of the worker node in the group to which the worker node belongs, which is set at an interval from the worker node.

[0011] In some embodiments, the redundant nodes of each node group include the Nth node of the node group. The jth node of the ith node group is the default node of the jth node of the (i - 1)th node group and the jth node of the (i + 1)th node group. The (j + 1)th node of the ith node group is the standby node of the jth node of the (i - 1)th node group and the jth node of the (i + 1)th node group. When the jth node of the ith node group is in an abnormal state, the connection between the vth node and the (v + 1)th node of the (i - 1)th node group is enabled, and the connection between the vth node and the (v + 1)th node of the (i + 1)th node group is enabled; 1 ≤ j < N, j ≤ v < N, and v, i, j, and N are all positive integers, where N is the total number of nodes in each node group.

[0012] In some embodiments, the redundant nodes of each node group include the 1st node and the Nth node of the node group. The jth node of the ith node group is the default node of the jth node of the (i - 1)th node group and the jth node of the (i + 1)th node group. The (j + 1)th node and the (j - 1)th node of the ith node group are the standby nodes of the jth node of the (i - 1)th node group, and the (j + 1)th node and the (j - 1)th node of the ith node group are the standby nodes of the jth node of the (i + 1)th node group. When the jth node and the kth node of the ith node group are both in abnormal states, the connection between the vth node and the (v + 1)th node of the (i - 1)th node group is enabled, the connection between the vth node and the (v + 1)th node of the (i + 1)th node group is enabled, the connection between the uth node and the (u - 1)th node of the (i - 1)th node group is enabled, and the connection between the uth node and the (u - 1)th node of the (i + 1)th node group is enabled; 1 < j < k < N, k < v < N, 1 < u < j, and u, v, i, j, k, and N are all positive integers, where N is the total number of nodes in each node group.

[0013] In some embodiments, the redundant nodes of each node group include the (N - 1)-th node and the N-th node of the node group; the j-th node of the i-th node group is the default node of the j-th node of the (i - 1)-th node group and the j-th node of the (i + 1)-th node group, the (j + 1)-th node and the (j + 2)-th node of the i-th node group are the standby nodes of the j-th node of the (i - 1)-th node group, and the (j + 1)-th node and the (j + 2)-th node of the i-th node group are the standby nodes of the j-th node of the (i + 1)-th node group; when both the j-th node and the (j + 1)-th node of the i-th node group are in an abnormal state, the connection between the v-th node of the (i - 1)-th node group and the (v + 2)-th node of the i-th node group is enabled, and the connection between the v-th node of the (i + 1)-th node group and the (v + 2)-th node of the i-th node group is enabled; 1 ≤ j < N - 1, j ≤ v < N - 1, and v, i, j, and N are all positive integers, and N is the total number of nodes in each node group.

[0014] In some embodiments, the redundant nodes of each node group include the N-th node of the node group, the j-th node of the i-th node group is the default node of the j-th node of the (i - 1)-th node group and the j-th node of the (i + 1)-th node group, the (j + 1)-th node of the i-th node group is the standby node of the j-th node of the (i - 1)-th node group and the j-th node of the (i + 1)-th node group; when both the j-th node of the i-th node group and the j-th node of the (i + 1)-th node group are in an abnormal state, the connection between the v-th node of the (i - 1)-th node group and the (v + 1)-th node of the i-th node group is enabled, and the connection between the v-th node of the (i + 2)-th node group and the (v + 1)-th node of the (i + 1)-th node group is enabled; 1 ≤ j < N, j ≤ v < N, and v, i, j, and N are all positive integers, and N is the total number of nodes in each node group.

[0015] In some embodiments, when the number of nodes in an abnormal state in any node group is greater than the number of redundant nodes in the node group, the target nodes in each node group are bypassed, so that the number of nodes in an abnormal state that are not bypassed in any node group is less than or equal to the number of redundant nodes in the node group; wherein, the target nodes include the nodes in an abnormal state, and the target nodes in one node group are the default nodes of the target nodes in another node group.

[0016] In some embodiments, the number of redundant nodes in a node group is determined based on at least one of the following conditions: the area of the data processing device, the probability that a node is in an abnormal state, and the number of nodes in the node array.

[0017] In some embodiments, the connection between a node and its corresponding default node or backup node is enabled based on corresponding preset identification information; wherein, each default node and backup node of a node corresponds to different preset identification information.

[0018] In some embodiments, the data processing device further includes a control unit, configured to: acquire the working status of each node in the node array; and set preset identification information for each node based on the working status of each node.

[0019] In some embodiments, the abnormal state includes a first abnormal state caused by a process defect; the data processing device further includes: a storage unit for storing first location information of a node in the first abnormal state, so that the control unit sets preset identification information of the node in the first abnormal state based on the first location information.

[0020] In some embodiments, the abnormal state includes a second abnormal state caused by the working environment; the data processing device further includes: a detection unit, configured to detect in real time the second location information of a node in the second abnormal state during the operation of the data processing device, so that the control unit sets preset identification information of the node in the second abnormal state based on the second location information.

[0021] In some embodiments, the control unit is further configured to: when at least one node switches from a normal state to an abnormal state, before setting the preset identification information of each node based on the working state of each node, suspend the task currently being performed by each node in the node array.

[0022] In some embodiments, the output of a node in each node group is connected to a multiplexer, and the input of a node in each node group is connected to a demultiplexer; a node's multiplexer is used to output the node's output signal to the node's default node or backup node through different channels; a node's demultiplexer is used to input the output signal that was output to the node through different channels into the node.

[0023] In some embodiments, the data processing apparatus further includes: a plurality of interfaces for connecting nodes of other data processing apparatuses.

[0024] In some embodiments, each node includes a bypass unit; when the node is in an abnormal state, the bypass unit bypasses the node so that the two nodes adjacent to the node in the node group to which the node belongs can be directly connected.

[0025] Secondly, embodiments of this disclosure provide a chip including the data processing apparatus described in any embodiment of this disclosure.

[0026] Thirdly, embodiments of this disclosure provide an electronic device, including a data processing apparatus according to any embodiment of this disclosure.

[0027] Fourthly, embodiments of this disclosure provide a data processing method for adjusting the connection relationships of nodes in a data processing apparatus described in any embodiment of the first aspect of this disclosure; the method includes:

[0028] Obtain the default node status of each node, including normal status and abnormal status;

[0029] The connection relationships of multiple nodes in the node array are adjusted based on the default node state of each node; wherein:

[0030] If the default node of the first node in a node group is in a normal state, enable the connection between the first node and the corresponding default node.

[0031] In the event that the default node of the first node in a node group is in an abnormal state, the connection between the first node and at least one second node in the same node group as the first node and the corresponding backup node is enabled, wherein the default node of each second node is another second node or the backup node of the first node.

[0032] Fifthly, embodiments of this disclosure provide a data processing apparatus for adjusting the connection relationships of nodes in any of the data processing apparatuses described in the first aspect of this disclosure; the apparatus includes:

[0033] The acquisition module is used to acquire the status of the default node of each node, including normal status and abnormal status;

[0034] The adjustment module is used to adjust the connection relationships of multiple nodes in the node array based on the default node status of each node; wherein:

[0035] If the default node of the first node in a node group is in a normal state, enable the connection between the first node and the corresponding default node.

[0036] In the event that the default node of the first node in a node group is in an abnormal state, the connection between the first node and at least one second node in the same node group as the first node and the corresponding backup node is enabled, wherein the default node of each second node is another second node or the backup node of the first node.

[0037] In this embodiment, each node in a node group can connect to multiple nodes, including a default node and a backup node. Thus, when the default node is in a normal state, only the connection to the default node can be enabled. When the default node is in an abnormal state, a backup node can be used as a redundant node, implementing redundancy logic. Furthermore, when the default node of a first node is in an abnormal state, the connection between the first node and at least one second node in the same node group as the first node and its corresponding backup node is enabled. The default node of each second node is either another second node or a backup node of the first node. This ensures that the overall topology of the entire node array remains as similar as possible to the original topology, reducing changes in the node topology of the data processing device after adopting redundancy logic.

[0038] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0039] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the specification, serve to illustrate the technical solutions of this disclosure.

[0040] Figure 1 This is a schematic diagram of a data processing apparatus according to an embodiment of the present disclosure.

[0041] Figure 2A This is a diagram illustrating the connection method of nodes in a normal state.

[0042] Figure 2B and Figure 2C These are schematic diagrams illustrating different connection methods for nodes in abnormal states.

[0043] Figures 3 to 8 These are schematic diagrams illustrating redundant logic under different conditions.

[0044] Figure 9 and Figure 10 These are schematic diagrams of a node array that includes the processing core and routers.

[0045] Figure 11 yes Figure 10 The diagram shows the connection method of nodes in abnormal states in the node array.

[0046] Figure 12 This is a schematic diagram of a data processing device including an interface.

[0047] Figure 13 It is a schematic diagram of a data processing device that includes a multiplexer and a demultiplexer.

[0048] Figure 14 This is a diagram illustrating the situation where the number of nodes in abnormal states exceeds the number of redundant nodes.

[0049] Figure 15 This is a flowchart of a data processing method according to an embodiment of the present disclosure.

[0050] Figure 16 This is a block diagram of a data processing apparatus according to another embodiment of the present disclosure. Detailed Implementation

[0051] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0052] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items. Additionally, the term “at least one” herein means any combination of at least two of any one or more of a plurality.

[0053] It should be understood that although the terms first, second, third, etc., may be used in this disclosure to describe various information, such information should not be limited to these terms. These terms are used only to distinguish information of the same type from one another. For example, without departing from the scope of this disclosure, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."

[0054] To enable those skilled in the art to better understand the technical solutions in the embodiments of this disclosure, and to make the above-mentioned objectives, features and advantages of the embodiments of this disclosure more apparent and understandable, the technical solutions in the embodiments of this disclosure will be further described in detail below with reference to the accompanying drawings.

[0055] For data processing devices comprising multiple nodes, the malfunction of one node can render the entire device unusable. In some applications, data processing devices are integrated into chips. With the rapid development of artificial intelligence, chip sizes are increasing. Larger chip sizes result in lower yields. Yield is the ratio of the number of qualified chips to the total number of chips produced. To improve yield, redundant logic is typically added. For example, in a chip with an X-row, Y-column node array, an additional row or column of nodes can be added as redundant nodes. Under normal circumstances, these redundant nodes are inactive; however, when a node in the array malfunctions, the redundant node can replace it. However, the redundant logic in these technologies often requires significant modifications to the topology of each node within the chip.

[0056] Based on this, the present disclosure provides a data processing apparatus, see [link to relevant documentation]. Figure 1 The data processing device includes a node array 101, which includes multiple node groups 101a;

[0057] In this context, adjacent nodes in the same node group 101a are connected, and each node in the same node group 101a is connected to multiple nodes in other node groups 101a; the multiple nodes include default nodes and backup nodes, and the default node of a node is the backup node of at least one other node in the node group 101a to which the node belongs.

[0058] When the default node of the first node in a node group 101a is in a normal state, the connection between the first node and the corresponding default node is enabled.

[0059] In the event that the default node of the first node in a node group 101a is in an abnormal state, the connection between the first node and at least one second node in the same node group as the first node and the corresponding backup node is enabled.

[0060] In the data processing apparatus provided in this embodiment, the node array 101 may include multiple nodes, and the nodes in each node group are used for data processing, and may also be called data processing nodes or processing nodes. The multiple nodes can form a P-row, Q-column array, where P and Q are both positive integers. Figure 1 In the illustrated embodiment, each square represents a node, and both P and Q are 5. Of course, in practical applications, P and Q can take other values, and their values ​​do not have to be equal. Figure 1In the diagram, the number in each square represents the logical coordinates of the corresponding node in node array 101. The first number in the parentheses indicates the row of the node, and the second number indicates the column. For example, (0,0) represents the node in the first row and first column of node array 101, and (0,1) represents the node in the first row and second column of node array 101. For ease of description, the node is represented by its coordinates in the following text. For example, the node with coordinates (0,0) is represented as node (0,0). The naming convention for other functional units is similar to that for nodes.

[0061] The node array 101 may include multiple node groups 101a, which can also be simply referred to as groups. A node group 101a may be a row or a column in the node array 101. For example, if each column in the node array 101 is considered as a node group 101a, nodes (0,0), (1,0), (2,0), (3,0), and (4,0) may form one such node group 101a. Adjacent nodes within the same node group are connected. For example, node (0,0) is connected to node (1,0), and node (2,0) is connected to both node (1,0) and node (3,0). Solid lines with arrows indicate the connection relationship, and arrows indicate the direction of data flow. Each node in node group 101a is used to connect multiple nodes in another node group 101a. Taking the first node group containing the first column in node array 101 and the second node group containing the second column in node array 101 as examples, node (0,0) in the first node group is used to connect node (0,1) and node (1,1) in the second node group, and node (1,0) in the first node group is used to connect node (0,1), node (1,1) and node (2,1) in the second node group.

[0062] The plurality of nodes includes default nodes and backup nodes, and the number of default nodes and backup nodes for the same node can be greater than or equal to 1. When each column in the node array 101 is used as a node group 101a, for a node in a node group of the node array 101, the adjacent nodes in other node groups that are in the same row (i.e., have the same row coordinates) as that node can be used as the default nodes of that node, and the nodes in other node groups that are in different rows (i.e., have different row coordinates) and have a connection relationship with that node can be used as the backup nodes of that node. For example, the default node of node (0,0) is node (0,1), and the default nodes of node (0,1) include nodes (0,0) and nodes (0,2); the backup node of node (0,0) is node (1,1), and the backup nodes of node (0,1) include nodes (1,0) and nodes (1,2).

[0063] Besides the cases shown in the diagram, a node can have more spare nodes. For example, spare nodes for node (0,0) can include nodes (1,1) and (2,1), and spare nodes for node (0,1) can include nodes (1,0), (2,0), (1,2), and (2,2). That is, a node's spare nodes can include one or more nodes that are in the same node group as the node's default node and whose row position is below the node's default node. In addition to the above, a node's spare nodes can also include one or more nodes that are in the same node group as the node's default node and whose row position is above the node's default node. For example, a spare node for node (2,0) can be node (1,1), or it can include nodes (1,1) and (0,1). Alternatively, a node's spare nodes can include nodes that satisfy any of the above conditions simultaneously. For example, the backup nodes for node (2,0) may include nodes (1,1) and (3,1), or the backup nodes for node (2,0) may include nodes (0,1), (1,1), and (3,1). The above embodiment illustrates the case where the row distance between a node and its corresponding backup node is less than or equal to 2. In other embodiments, the row distance between a node and its corresponding backup node may also be greater than 2, which will not be elaborated here.

[0064] A node’s default node can be a backup node for at least one other node in the same node group. For example, the default node for node (1,0) is node (1,1), while node (1,1) can be a backup node for nodes (0,0) and (2,0).

[0065] The above example exemplifies the case where each node group 101a includes a column of node array 101. In other examples, each node group 101a may also include a row of node array 101. For example, in Figure 1In the diagram, nodes (2,0), (2,1), (2,2), (2,3), and (2,4) can form one of the node groups 101a. Adjacent nodes within the same node group are connected; for example, node (2,0) is connected to node (2,1), and node (2,2) is connected to both nodes (2,1) and (2,3). Solid lines with arrows indicate the connection relationships, and arrows indicate the data flow direction. Each node in node group 101a is used to connect multiple nodes in another node group 101a. Taking the third node group (located in the first row of node array 101) and the fourth node group (located in the second row of node array 101) as examples, node (0,0) in the third node group is used to connect nodes (1,0) and (1,1) in the fourth node group, and node (0,1) in the third node group is used to connect nodes (1,0), (1,1), and (1,2) in the fourth node group.

[0066] Similarly, the plurality of nodes includes default nodes and backup nodes, and the number of default nodes and backup nodes for the same node can be greater than or equal to 1. When each row in the node array 101 is considered as a node group 101a, for a node in a node group within the node array 101, the adjacent nodes in other node groups that are in the same column (i.e., have the same column coordinates) as that node can be used as the default nodes, and the nodes in other node groups that are in different columns (i.e., have different column coordinates) and have a connection relationship with that node can be used as backup nodes. For example, the default node for node (0,0) is node (1,0), and the default nodes for node (1,0) include nodes (0,0) and (2,0); the backup node for node (0,0) is node (1,1), and the backup nodes for node (1,0) include nodes (0,1) and (2,1).

[0067] In addition to the cases shown in the diagram, a node can have more backup nodes. For example, backup nodes for node (0,0) can include nodes (1,1) and (1,2), and backup nodes for node (1,0) can include nodes (0,1), (0,2), (2,1), and (2,2). That is, backup nodes for a node can include one or more nodes that are in the same node group as the node's default node and whose column position follows the node's default node. Besides the above, backup nodes for a node can also include one or more nodes that are in the same node group as the node's default node and whose column position precedes the node's default node. For example, backup nodes for node (0,2) can be node (1,1), or include nodes (1,1) and (1,0). Alternatively, backup nodes for a node can simultaneously include nodes that satisfy any of the above conditions. For example, the backup nodes for node (0,2) may include nodes (1,1) and (1,3), or the backup nodes for node (0,2) may include nodes (1,0), (1,1), and (1,3). The above embodiment illustrates the case where the column distance between a node and its corresponding backup node is less than or equal to 2. In other embodiments, the column distance between a node and its corresponding backup node may also be greater than 2, which will not be elaborated here.

[0068] A node’s default node can be a backup node for at least one other node in the same node group. For example, the default node for node (0,1) is node (1,1), while node (1,1) can be a backup node for nodes (0,0) and (0,2).

[0069] In some embodiments, when a node is in a normal state, it is connected to its adjacent nodes in the same group; when a node is in an abnormal state, it can be bypassed so that its two adjacent nodes in the same group are connected. In some embodiments, only one of the connections between a node and the default node and each backup node can be enabled at any given time. Further, the connection between the first node and the default node can be enabled preferentially. That is, as long as the default node of the first node is in a normal state, the first node will preferentially connect to the corresponding default node; only when the default node of the first node is in an abnormal state will the first node connect to the corresponding backup node. In this way, the backup node can act as a redundant node to establish a connection with the corresponding first node when the default node is in an abnormal state, so as to ensure that the node array 101 as a whole is in a normal working state.

[0070] For example, if each node group 101a includes a column in node array 101, assuming the default node for node (1,0) is node (1,1), and the backup nodes are nodes (2,1) and (3,1), then when node (1,1) is in a normal state, the connection between node (1,0) and node (1,1) is enabled, the connection between node (1,0) and node (2,1) is disabled, and the connection between node (1,0) and node (3,1) is also disabled. When node (1,1) is in an abnormal state, the connection between node (1,0) and node (1,1) is disabled, the connection between node (1,0) and node (2,1) is enabled, and the connection between node (1,0) and node (3,1) is disabled. Alternatively, if node (1,1) is in an abnormal state, the connection between node (1,0) and node (1,1) is disabled, the connection between node (1,0) and node (2,1) is disabled, and the connection between node (1,0) and node (3,1) is enabled. The specific backup node to be enabled can be determined based on the actual situation.

[0071] In the case where each node group 101a includes a row in node array 101, assuming the default node for node (0,1) is node (1,1), and the spare nodes are nodes (1,2) and (1,3), then when node (1,1) is in a normal state, the connection between node (0,1) and node (1,1) is enabled, the connection between node (0,1) and node (1,2) is disabled, and the connection between node (0,1) and node (1,3) is also disabled. When node (1,1) is in an abnormal state, the connection between node (0,1) and node (1,1) is disabled, the connection between node (0,1) and node (1,2) is enabled, and the connection between node (0,1) and node (1,3) is disabled. Alternatively, if node (1,1) is in an abnormal state, the connection between node (1,0) and node (1,1) is disabled, the connection between node (0,1) and node (1,2) is disabled, and the connection between node (0,1) and node (1,3) is enabled. The specific backup node to be enabled can be determined based on the actual situation.

[0072] Those skilled in the art will understand that the case where each node group 101a includes a row in the node array 101 is equivalent to rotating the node array by 90 degrees when each node group 101a includes a column in the node array 101. For ease of explanation, the following description will mainly take the case where each node group 101a includes a column in the node array 101 as an example.

[0073] In addition to enabling the connection between the first node and its corresponding backup node, this embodiment of the disclosure, when the default node of the first node is in an abnormal state, will also enable the connection between at least one second node in the same node group as the first node and its corresponding backup node. Here, the default node of each second node is either another second node or a backup node of the first node. For example, for... Figure 1 For any node A in the array other than the last row, assume Figure 1 The node adjacent to node A in the same row is the default node of node A. The node in the next row of node A and in the same column as the default node of node A is the alternate node of node A.

[0074] When all nodes are in a normal state, the connection enabled is between each node and its corresponding default node. The connection method in this case is as follows: Figure 2A As shown. Since the connection between each node and its backup node is disabled, there are only connections between adjacent nodes in the same row and between adjacent nodes in the same column.

[0075] Assuming the default node of node (1,0) (i.e., node (1,1)) is in an abnormal state, then the connections between nodes (1,0), (2,0), (3,0), (4,0), (1,2), (2,2), (3,2), and (4,2) and their respective backup nodes will be enabled, while the connections between these nodes and their respective default nodes will be disabled. The connection method in this case is as follows: Figure 2B As shown. It should be noted that, since there is no corresponding spare node for the last row of nodes under the above redundant logic, under this connection relationship, nodes (4,0), (4,2), (4,3) and (4,4) in the last row can all be set to non-working state, that is, nodes (4,0), (4,2), (4,3) and (4,4) are disabled.

[0076] By using the above method, the topology of each node in the node array can remain basically unchanged, with only one row of nodes removed from the array. For example, in Figure 2B In the embodiment shown, node (4,1) replaces node (3,1) as the node connecting node (3,0) and node (3,2), node (3,1) replaces node (2,1) as the node connecting node (2,0) and node (2,2), and node (2,1) replaces node (1,1) as the node connecting node (1,0) and node (1,2). The topology of the first 4 rows in the node array remains unchanged.

[0077] Of course, the above are merely illustrative examples and are not the only way to implement the solution disclosed herein. For example, in Figure 2C In the illustrated embodiment, for Figure 1 For any node A in the data, excluding the last two rows, assume... Figure 1 In this context, the nodes adjacent to node A in the same row are designated as the default nodes of node A. The nodes in the second row below the default nodes, and in the same column as the default nodes of node A, are designated as backup nodes of node A. Alternatively, in other embodiments, the nodes in the z-th row below the default nodes of node A, and in the same column as the default nodes of node A, can also be designated as backup nodes of node A, where z is an integer greater than 2. Or, nodes in multiple rows below the default nodes of node A, and in the same column as the default nodes of node A, can also be designated as backup nodes of node A.

[0078] In some embodiments, each node group includes at least one redundant node and working nodes other than the redundant node, wherein the redundant node of one node group is a spare node for at least one working node of another node group, and the first node is the working node. For example, in Figure 2A and Figure 2B In the embodiment shown, the last node in each node group can be used as a redundant node, that is, the last row of nodes in the node array 101 are all redundant nodes.

[0079] If all working nodes in a node group are in a normal state, the redundant nodes of that node group can be disabled; that is, the redundant nodes of that node group are set to a non-working state. The redundant nodes of a node group are only enabled if there are any non-working nodes in a node group. Figure 2B Taking the illustrated embodiment as an example, the last row of nodes in the node array consists of redundant nodes. These redundant nodes are normally in a non-working state. Starting from a certain moment, because node (1,1) is in an abnormal state, node (4,1) is activated to implement the redundancy logic, while the other redundant nodes remain in a non-working state. In this way, the topology of each working node remains unchanged. The difference between this embodiment and the previous embodiment where nodes (4,0), (4,2), (4,3), and (4,4) are all set to a non-working state is that in the previous embodiment, the last row of nodes, like the other nodes, is in a working state. The last row of nodes is only set to a non-working state when there are nodes in an abnormal state.

[0080] The above embodiment illustrates the case where a redundant node comprises a row of nodes in node array 101. In addition, a redundant node may also comprise a column of nodes in node array 101, or at least two rows and / or at least two columns of nodes in node array 101. Taking a redundant node comprising two rows of nodes in node array 101 as an example, the at least two rows of nodes can be two consecutive rows in node array 101, for example, the first row and the second row, or the last row and the second-to-last row; or they can be two non-consecutive rows in node array 101, for example, the first row and the last row.

[0081] The number of redundant nodes in a node group is determined based on at least one of the following conditions: the area of ​​the data processing device, the probability that the node is in an abnormal state, and the number of nodes in the node array. Generally, the area of ​​the data processing device, the probability that the node is in an abnormal state, and the number of nodes in the node array are all positively correlated with the number of redundant nodes in a node group. The larger the area of ​​the data processing device, the more nodes a node group includes, and thus the more nodes in that node group may be in an abnormal state. Therefore, a larger number of redundant nodes need to be set in the node group. Similarly, the greater the probability that a node is in an abnormal state, or the greater the number of nodes in the node array 101, the more nodes in a node group may be in an abnormal state. Therefore, a larger number of redundant nodes also need to be set in the node group.

[0082] The following examples illustrate the possible numbers and locations of redundant nodes, as well as the redundancy logic in these cases.

[0083] Scenario 1: Each node group includes one redundant node. In this case, in response to at least one working node's default node being in an abnormal state, connections between that working node and the last working node in its group, as well as the corresponding backup node, can be enabled. The number of nodes in an abnormal state in any node group is less than or equal to the number of redundant nodes in that group. The redundant node is the next node after the last working node in its group. Optionally, the backup node for each working node is the default node of the next working node in its group; or, optionally, the backup node for each working node is the default node of the working node in its group that follows the working node and is at a distance greater than or equal to 2 from the working node.

[0084] For example, assume that the default node of node A is in an abnormal state. The group where node A is located is group T, and the nodes in group T are {node B, node C, node A, node D, node E, node F, redundant node}. The standby node of node A is the default node of the next working node of node A (i.e., node D). The standby node of node D is the default node of the next working node of node D (i.e., node E), and so on. The working nodes from this working node to the last working node of the node group where this working node is located include node A, node D, node E, and node F. The connections between the above nodes A, D, E, and F and their corresponding standby nodes are all enabled.

[0085] In some embodiments, the redundant node of each node group includes the Nth node of this node group. The jth node of the ith node group is the default node of the jth node of the (i - 1)th node group and the jth node of the (i + 1)th node group. The (j + 1)th node of the ith node group is the standby node of the jth node of the (i - 1)th node group and the jth node of the (i + 1)th node group.

[0086] When the jth node of the ith node group is in an abnormal state, the connection between the vth node of the (i - 1)th node group and the (v + 1)th node of the ith node group is enabled, and the connection between the vth node of the (i + 1)th node group and the (v + 1)th node of the ith node group is enabled; where 1 ≤ j < N, j ≤ v < N, and v, j, and N are all positive integers, and N is the total number of nodes in each node group.

[0087] This embodiment is similar to the Figure 2B embodiment shown. The difference is only that the redundant node is in a disabled state when there is no working node in the node group where it belongs in an abnormal state. The above difference has been described in the previous embodiment and will not be elaborated here.

[0088] It should be noted that the redundant nodes in each node group can also be replaced by the first node of the node group. In this case, the j-th node of the i-th node group is the default node of the j-th node of the (i - 1)-th node group and the j-th node of the (i + 1)-th node group, and the (j - 1)-th node of the i-th node group is the standby node of the j-th node of the (i - 1)-th node group and the j-th node of the (i + 1)-th node group. When the j-th node of the i-th node group is in an abnormal state, the connection between the v-th node of the (i - 1)-th node group and the (v - 1)-th node of the i-th node group is enabled, and the connection between the v-th node of the (i + 1)-th node group and the (v - 1)-th node of the i-th node group is enabled; where 1 < j ≤ N, 1 < v ≤ j, and v, i, j, and N are all positive integers, and N is the total number of nodes in each node group. This situation is similar to the case where the redundant node is the N-th node in the node group, which is equivalent to flipping the data processing device up and down.

[0089] Case 2: Each node group is provided with at least two redundant nodes, and the at least two redundant nodes are distributed at both ends of the node group. In this case, in response to the default node of at least one working node being in an abnormal state, the connections between the previous working node of the working node to the target redundant node of the working node and the corresponding standby nodes can be enabled respectively, where the number of nodes in an abnormal state in any node group is less than or equal to the number of redundant nodes in the group, the target redundant node and the working node are in the same node group, and the default nodes of each working node between the next working node of the working node and the previous working node of the target redundant node are in a normal state.

[0090] Optionally, the standby node of each working node is the default node of the next working node in the group where the node is located; or, optionally, the standby node of each working node is the default node of the working node that is after the working node in the group where the node is located and the distance from the working node is greater than or equal to 2.

[0091] For example, assume that the default nodes of node A and node B are in an abnormal state, the group where node A is located is group T, and the nodes in group T are {redundant node 1, node C, node D, node A, node E, node B, node F, redundant node 2}, then the target redundant node of node A is redundant node 1, and the target redundant node of node B is redundant node 2. In this way, for node A, the previous working nodes of the working node to the target redundant node of the working node include node C, node D, and node A, and for node B, the previous working nodes of the working node to the target redundant node of the working node include node B and node F.

[0092] Taking the number of redundant nodes in each node group equal to 2 as an example, it is assumed that the redundant nodes in each node group include the first node and the Nth node of the node group; the jth node of the ith node group is the default node of the jth node of the (i - 1)th node group and the jth node of the (i + 1)th node group, the (j + 1)th node and the (j - 1)th node of the ith node group are the standby nodes of the jth node of the (i - 1)th node group, and the (j + 1)th node and the (j - 1)th node of the ith node group are the standby nodes of the jth node of the (i + 1)th node group.

[0093] When both the jth node and the kth node in the ith node group are in an abnormal state, the connection between the vth node and the (v + 1)th node in the (i - 1)th node group and the ith node group is enabled, the connection between the vth node and the (v + 1)th node in the (i + 1)th node group and the ith node group is enabled, the connection between the uth node and the (u - 1)th node in the (i - 1)th node group and the ith node group is enabled, and the connection between the uth node and the (u - 1)th node in the (i + 1)th node group and the ith node group is enabled; where 1 < j < k < N, k < v < N, 1 < u < j, and u, v, i, j, k, and N are all positive integers, and N is the total number of nodes in each node group.

[0094] See Figure 3 , assuming that the node array 101 includes 6 rows and 5 columns, where the row of nodes with row coordinate 0 and the row of nodes with row coordinate 5 are redundant nodes. When the node (4, 1) is in an abnormal state, the connection between the node (4, 0) and the node (5, 1) can be enabled, and the connection between the node (4, 2) and the node (5, 1) can be enabled. When the node (2, 1) is in an abnormal state, the connection between the node (2, 0) and the node (1, 1) can be enabled, the connection between the node (2, 2) and the node (1, 1) can be enabled, the connection between the node (1, 0) and the node (0, 1) can be enabled, and the connection between the node (1, 2) and the node (0, 1) can be enabled.

[0095] Case 3: Each node group is provided with at least two redundant nodes, and the at least two redundant nodes are distributed at one end of the node group. In this case, in response to the default node of at least one working node being in an abnormal state, the connections between the working node and the standby nodes corresponding to the previous working node of the redundant nodes in the group where the working node is located can be enabled respectively, where the number of nodes in an abnormal state in any node group is less than or equal to the number of redundant nodes in the group.

[0096] In some embodiments, for each third node enabling a connection between a primary node and a standby node, the primary node of the third node is not adjacent to the standby node of the third node. For example, the standby node of each working node is the primary node of a working node that is arranged at an interval from the working node in the same group as the working node. Here, the two nodes being arranged at an interval may include the case where one or more nodes are included between the two nodes.

[0097] For example, assume that the primary nodes of node A and node B are in an abnormal state, the group where node A is located is group T, and the nodes in group T are {node C, node D, node A, node B, node E, node F, redundant node 1, redundant node 2}. Then node A uses node E as the redundant node. The nodes between this working node and the previous working node of the redundant node in the group where this working node is located include node A, node B, node E, and node F. The standby node of node A is node E, and there is also the primary node of node B between the primary node of node A and the standby node of node A. Therefore, the primary node of node A is not adjacent to the standby node of node A. Similarly, the standby node of node B is node F, and there is also the primary node of node E between the primary node of node B and the standby node of node B. Therefore, the primary node of node B is not adjacent to the standby node of node B.

[0098] For example, the redundant nodes of each node group include the (N - 1)th node and the Nth node of the node group; the jth node of the ith node group is the primary node of the jth node of the (i - 1)th node group and the jth node of the (i + 1)th node group, and the (j + 1)th node and the (j + 2)th node of the ith node group are the standby nodes of the jth node of the (i - 1)th node group, and the (j + 1)th node and the (j + 2)th node of the ith node group are the standby nodes of the jth node of the (i + 1)th node group.

[0099] In the case where both the jth node and the (j + 1)th node of the ith node group are in an abnormal state, the connection between the vth node of the (i - 1)th node group and the (v + 2)th node of the ith node group is enabled, and the connection between the vth node of the (i + 1)th node group and the (v + 2)th node of the ith node group is enabled; where 1 ≤ j < N - 1, j ≤ v < N - 1, and v, i, j, and N are all positive integers, and N is the total number of nodes in each node group.

[0100] See Figure 4, assume that the node array 101 includes 6 rows and 5 columns. Among them, one row of nodes with row coordinate 4 and one row of nodes with row coordinate 5 are redundant nodes. When both the node (2,1) and the node (3,1) are in an abnormal state, the connection between the node (2,0) and the node (4,1) can be enabled, the connection between the node (2,2) and the node (4,1) can be enabled, the connection between the node (3,0) and the node (5,1) can be enabled, and the connection between the node (3,2) and the node (5,1) can be enabled.

[0101] Case 4: One node and its default node are both in an abnormal state. For example, the redundant nodes in each node group include the Nth node of the node group. The jth node in the ith node group is the default node of the jth node in the (i - 1)th node group and the jth node in the (i + 1)th node group. The (j + 1)th node in the ith node group is the standby node of the jth node in the (i - 1)th node group and the jth node in the (i + 1)th node group.

[0102] When both the jth node in the ith node group and the jth node in the (i + 1)th node group are in an abnormal state, the connection between the vth node in the (i - 1)th node group and the (v + 1)th node in the ith node group is enabled, and the connection between the vth node in the (i + 2)th node group and the (v + 1)th node in the (i + 1)th node group is enabled; where 1 ≤ j < N, j ≤ v < N, and v, i, j, and N are all positive integers, and N is the total number of nodes in each node group.

[0103] Case 4 is actually a special manifestation of Case 1 or Case 2 or Case 3. When each node group includes one redundant node, Case 4 is a special manifestation of Case 1; when each node group includes two redundant nodes and the redundant nodes are distributed at both ends of the node group, Case 4 is a special manifestation of Case 2; when each node group includes two redundant nodes and the redundant nodes are distributed at one end of the node group, Case 4 is a special manifestation of Case 3. See Figure 5 , taking the case where each node group includes one redundant node as an example, assume that the node array 101 includes 5 rows and 5 columns. Among them, one row of nodes with row coordinate 5 is a redundant node. When both the node (2,1) and the node (2,2) are in an abnormal state, the connection between the node (2,0) and the node (3,1) can be enabled, the connection between the node (2,3) and the node (3,2) can be enabled, the connection between the node (3,0) and the node (4,1) can be enabled, and the connection between the node (3,3) and the node (4,2) can be enabled.

[0104] In addition, the above two or more cases can be combined. Figure 6 and Figure 7 Two bonding methods are shown respectively. For example... Figure 6 The diagram shows a combination of scenarios three and four above. In this case, the redundant nodes include the last two rows of nodes in node array 101. Since nodes (3,1) in the second column and (3,2) in the third column are both in an abnormal state, nodes in the first column search for a backup node in the second column, while nodes in the fourth column search for a backup node in the third column. Furthermore, since both the second and third columns contain two nodes in an abnormal state, and the redundant nodes are two consecutive rows in node array 101, the row distance between nodes (2,0), (3,0), (2,3), and (3,3) and their respective backup nodes is 2. For example, the backup node for node (2,0) is node (4,1), and the row distance between them is 4-2=2.

[0105] like Figure 7 The diagram illustrates a combination of scenarios two and four above. In this case, redundant nodes comprise the first and last rows of node array 101. Since nodes (2,1) in the second column and (2,2) in the third column are both in an abnormal state, nodes in the first column search for backup nodes in the second column, while nodes in the fourth column search for backup nodes in the third column. Furthermore, since both the second and third columns contain two nodes in an abnormal state, and the redundant nodes are two non-contiguous rows in node array 101, nodes (1,0) and (1,3) search for backup nodes upwards, while nodes (2,0), (3,0), (2,3), and (3,3) search for backup nodes downwards.

[0106] like Figure 8 The diagram shows the case where redundant nodes are set in both the row and column directions of node array 101. In this case, when node (3,1) is in an abnormal state, node (4,1) from the redundant nodes set in the row direction can be used to replace node (3,1); when node (1,3) is in an abnormal state, node (1,4) from the redundant nodes set in the column direction can be used to replace node (1,3).

[0107] In addition to the scenarios listed above, the location and number of redundant nodes, as well as the implementation method of redundant logic, can be adjusted to other situations according to actual needs, which will not be listed here.

[0108] In some embodiments, each node in the node array includes a processing kernel and a router connected to the processing kernel. Each router in one node group is used to connect to multiple routers in another node group. That is, in the above embodiments, the connection between nodes is achieved through connections between routers between nodes. Routers can be used to transmit data between nodes, and can also be used to send data received by a node to the processing kernel connected to that node, so that the processing kernel can process the data received by the node. Routers can also receive data returned by the processing kernel.

[0109] like Figure 9 and Figure 10 As shown, each square represents a router, and each ellipse represents a processing core. The coordinates in the squares represent the router's coordinates, and the coordinates in the ellipses represent the processing core's coordinates. For simplicity, Figure 9 and Figure 10 The diagram only shows the connections between each router and its neighboring routers, omitting the connections between each router and non-neighboring routers. Figure 9 and Figure 10 Each dashed box represents a node. It can be seen that in... Figure 9 In this system, each node includes a router and a processing core; each processing core connects to a router, and different routers connect to different processing cores. Figure 10 In the first and last columns, each node includes a router and a processing core, while other nodes include a router and two processing cores, and adjacent nodes can share a processing core.

[0110] In some embodiments, a node is in a normal state when both its router and processing kernel are in a normal state; a node is in an abnormal state when at least one of its router and processing kernel is in an abnormal state. For example, in Figure 9 In the illustrated embodiment, it is assumed that node (0,0) includes a router (0,0) and a processing kernel (0,0). If both the router (0,0) and the processing kernel (0,0) are in a normal state, node (0,0) can be considered to be in a normal state; if either the router (0,0) or the processing kernel (0,0) is in an abnormal state, node (0,0) can be considered to be in an abnormal state. Figure 10In the illustrated embodiment, if any processing kernel or router belonging to a node is in an abnormal state, the node is considered to be in an abnormal state. For example, if processing kernel (1,1) is in an abnormal state, the node including processing kernel (1,1), router (1,2), and processing kernel (1,2) is determined to be in an abnormal state, and the node including processing kernel (1,0), router (1,1), and processing kernel (1,1) is also determined to be in an abnormal state. Only when all processing kernels and routers belonging to a node are in a normal state is the node considered to be in a normal state.

[0111] exist Figure 9 In the illustrated embodiment, since each processing core is connected to only one router, when a node is in an abnormal state, it is not necessary to adjust the connection method of the processing cores; only the connection method of the router needs to be adjusted. However, Figure 10 In the illustrated embodiment, since one processing kernel can connect to two routers, the connection methods of both the routers and the processing kernel connected to that node need to be adjusted if a node is in an abnormal state. For example... Figure 11 As shown, the last row of routers and their connected processing cores represent redundant routers and redundant processing cores, as indicated by the white squares and white ellipses in the figure. Black squares represent routers in an abnormal state, black ellipses represent processing cores in an abnormal state, and gray squares and gray ellipses represent routers and processing cores in a normal state, respectively. It can be seen that since router (3,1) is in an abnormal state, the connection methods of router (3,0) and processing core (3,0) connected to router (3,1) need to be adjusted. The adjusted router (3,0) and processing core (3,0) are then connected to router (4,1). Similarly, the connection methods of router (3,3) and processing core (3,2) connected to router (3,2) also need to be adjusted. The adjusted router (3,3) and processing core (3,2) are then connected to router (4,2). After adjustment, routers (4,1), (4,2), and the processing kernel (4,1) are all in normal status as backup nodes. Therefore, in the figure, routers (4,1), (4,2), and the processing kernel (4,1) are represented by gray squares and gray ellipses, respectively.

[0112] In some embodiments, the data processing apparatus further includes multiple interfaces for connecting nodes of other data processing apparatuses. Multiple interfaces may be configured on the periphery of the data processing apparatus; one configuration is as follows: Figure 12As shown. In practical applications, each node can be assigned a separate interface; in other embodiments, multiple nodes can share a single interface. The interface can send data output from other data processing devices to the router within this data processing device, and can also output data sent by the router of this data processing device to other data processing devices. In some embodiments, the interface can be a SERDES, GPIO bus interface, or I... 2 C interface, etc.

[0113] In some embodiments, the connection between a node A and its corresponding default or backup node is enabled based on a preset identification information of the node (i.e., node A). The preset identification information may be a string of binary numbers including multiple data bits, the number of data bits being determined based on the total number of default and backup nodes for a given node. For example, if the total number of default and backup nodes does not exceed 4, the number of data bits is 2; if the total number of default and backup nodes is greater than 4 but does not exceed 8, the number of data bits is 3.

[0114] In this system, each default node and its backup nodes correspond to different preset identification information. For example, when a node includes one default node and two backup nodes, the identification information for the default node can be set to 00, the identification information for one of the backup nodes can be set to 01, and the identification information for the other backup node can be set to 11. This allows for selectively enabling connections between each node and its default or backup nodes based on the different identification information. For instance, when a node's identification information is 00, the connection between that node and its default node is enabled.

[0115] In some embodiments, the data processing device further includes a control unit, configured to acquire the working status of each node in the node array and set preset identification information for each node based on the working status of each node.

[0116] In some embodiments, the abnormal state includes a first abnormal state caused by a process defect. Abnormal states caused by process defects are generally fixed and irreversible; therefore, the location of the node in the first abnormal state can be determined before the data processing device leaves the factory. Specifically, the data processing device may further include a storage unit for storing first location information of the node in the first abnormal state, so that the control unit can set preset identification information of the node in the first abnormal state based on the first location information.

[0117] Nodes in the first abnormal state can be identified through Design for Testability (DFT) testing. The storage unit can be a one-time programmable memory such as an electrically programmable fuse (efuse). After the data processing device is powered on, the pre-stored defect core locations in the efuse can be read by a micro-controller unit (MCU) or dedicated hardware. A replacement core strategy is selected based on the number and location of defect cores, and the preset identification information of the corresponding nodes is configured according to the replacement strategy, thereby completing the reconstruction of the node array.

[0118] In some embodiments, the abnormal state includes a second abnormal state caused by the working environment. Abnormal states caused by the working environment (e.g., high temperature, high pressure) are often uncertain, and can be either reversible or irreversible. Therefore, it is not possible to directly store the location of a node in the second abnormal state in the storage unit. To solve this problem, a detection unit can be provided in the data processing device to detect the second location information of nodes in the second abnormal state in real time during the operation of the data processing device, so that the control unit can set preset identification information of the nodes in the second abnormal state based on the second location information.

[0119] The detection unit can be a failure detection circuit or detection software. For example, a failure detection circuit can be implemented using one or more sensors.

[0120] In some embodiments, the control unit is further configured to, when at least one node switches from a normal state to an abnormal state, pause the tasks currently being executed by each node in the node array before setting the preset identification information of each node based on the working state of each node. That is, whenever a new node enters an abnormal state, the tasks currently being executed by each node can be paused first, then a replacement node can be re-determined, and the preset identification information can be configured according to the re-determined replacement node, thereby completing the reconstruction of the node array.

[0121] In some embodiments, the output of a node in each node group is connected to a multiplexer, and the input of a node in each node group is connected to a demultiplexer; a node's multiplexer is used to output the node's output signal to the node's default node or backup node through different channels; a node's demultiplexer is used to input the output signal that was output to the node through different channels into the node.

[0122] like Figure 13As shown, a multiplexer is denoted as MUX, and a demultiplexer is denoted as DMUX. Each square represents a node. The signal flow to the left of the dashed line is when all nodes are in a normal state, and the signal flow to the right of the dashed line is when node (1,1) is in an abnormal state. The solid lines with arrows represent the connections between nodes. It can be seen that in the node array on the left, the connections between nodes (1,0) and (1,1) and (1,2) are enabled, as shown by the thicker solid lines in the node array on the left; in the node array on the right, the connections between nodes (1,0) and (0,1) and (1,2) are enabled, as shown by the thicker solid lines in the node array on the right. Similarly, the connection between node (0,0) and the previous node of node (0,1) is enabled, and the connection between node (0,2) and the previous node of node (0,1) is also enabled.

[0123] In the above embodiments, each multiplexer and each demultiplexer corresponds to one of a set of preset identification information. In the above embodiments, node (1,1) is in an abnormal state, and the preset identification information of each multiplexer and demultiplexer connected by the thicker solid lines can be configured. For example, in the above embodiments, a multiplexer and a demultiplexer involve three signals. Therefore, a set of preset identification information may include 00, 01, and 11, where 00 represents nodes connected to the same row, 01 represents nodes connected to the previous row, and 11 represents nodes connected to the next row. In this case, the preset identifier information corresponding to the MUX connected to node (1,0), the DMUX connected to node (1,0), the DMUX to the left of node (0,1), the MUX to the left of node (0,1), the MUX to the right of node (0,1), the DMUX to the right of node (0,1), the DMUX connected to node (1,2), and the MUX connected to node (1,2) are respectively set to: 01,01,11,11,11,11,01,01.

[0124] In some embodiments, each node includes a bypass unit; when the node is in an abnormal state, the bypass unit bypasses the node so that the two nodes adjacent to the node in the node group to which the node belongs can be directly connected.

[0125] by Figure 2B In the illustrated embodiment, the nodes are connected to each other not only horizontally but also vertically. When node (1,1) is in an abnormal state, node (1,1) needs to be bypassed through the bypass unit in node (1,1) so that node (0,1) can be directly connected to node (2,1) in the vertical direction.

[0126] In some embodiments, if the number of nodes in an abnormal state in any node group is greater than the number of redundant nodes in the node group, the target nodes in each node group are bypassed, so that the number of abnormal nodes not bypassed in any node group is less than or equal to the number of redundant nodes in the node group; wherein, the target nodes in each node group include the nodes in the abnormal state, and the target node in one node group is the default node of the target node in another node group. For example, assuming that the node groups include group 1, group 2, group 3 and group 4, and the target nodes in the above four node groups are denoted as target node 1, target node 2, target node 3 and target node 4 respectively, then target node 1 is the default node of target node 2, target node 2 is the default node of target node 3, and target node 3 is the default node of target node 4.

[0127] In some embodiments, a node group includes a column of a node array, and the default node of a node in a group is in the same row as that node. Therefore, target node 1, target node 2, target node 3, and target node 4 are nodes in the same row of the node array. In other embodiments, a node group includes a row of a node array, and the default node of a node in a group is in the same column as that node. Therefore, target node 1, target node 2, target node 3, and target node 4 are nodes in the same column of the node array. That is, in the above embodiments, if the number of nodes in an abnormal state in a node group exceeds the number of redundant nodes in the node group, a row or column containing nodes in an abnormal state will be removed from the node array.

[0128] like Figure 14 As shown, assuming the last row of nodes is a redundant node, since there is only one redundant node in each node group, but the node group in the second column contains two nodes in an abnormal state, namely node (0,1) and node (1,1), the redundant nodes are insufficient to provide redundant logic for the nodes in the abnormal state. Therefore, the row containing node (0,1), i.e., the nodes in the dashed box, can be removed to ensure that there are enough redundant nodes to provide redundant logic for the nodes in the abnormal state.

[0129] In some embodiments, this disclosure also provides an electronic device, which includes the data processing apparatus described in any embodiment of this disclosure.

[0130] In some embodiments, such as Figure 15 As shown, this disclosure also provides a data processing method for adjusting the connection relationships of nodes in the data processing apparatus described in any embodiment of this disclosure; the method includes:

[0131] Step 1501: Obtain the status of the default node for each node, including normal status and abnormal status;

[0132] Step 1502: Adjust the connection relationship of multiple nodes in the node array based on the default node state of each node; wherein:

[0133] Step 15021: If the default node of the first node in a node group is in a normal state, enable the connection between the first node and the corresponding default node;

[0134] Step 15022: If the default node of the first node in a node group is in an abnormal state, enable the connection between the first node and at least one second node in the same node group as the first node and the corresponding backup node, wherein the default node of each second node is another second node or the backup node of the first node.

[0135] The method described in this disclosure can be executed by a processing unit such as an MCU or CPU, or by dedicated processing hardware. The method for enabling connections between nodes is detailed in the embodiments of the aforementioned data processing apparatus, and will not be repeated here.

[0136] In some embodiments, such as Figure 16 As shown, this disclosure also provides a data processing apparatus for adjusting the connection relationships of nodes in any embodiment of the data processing apparatus described in this disclosure; the apparatus includes:

[0137] The acquisition module 1601 is used to acquire the status of the default node of each node, the status including normal status and abnormal status;

[0138] Adjustment module 1602 is used to adjust the connection relationship of multiple nodes in the node array based on the default node status of each node; wherein:

[0139] If the default node of the first node in a node group is in a normal state, enable the connection between the first node and the corresponding default node.

[0140] In the event that the default node of the first node in a node group is in an abnormal state, the connection between the first node and at least one second node in the same node group as the first node and the corresponding backup node is enabled, wherein the default node of each second node is another second node or the backup node of the first node.

[0141] In some embodiments, the functions or modules of the apparatus provided in this disclosure can be used to perform the methods described in the above method embodiments. The specific implementation can be referred to the description of the above method embodiments, and for the sake of brevity, it will not be repeated.

[0142] This disclosure also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the methods described in any of the foregoing embodiments.

[0143] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0144] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that the embodiments of this specification can be implemented by means of software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solutions of the embodiments of this specification, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of this specification.

[0145] The systems, devices, modules, or units described in the above embodiments can be implemented by a computer data processing device or entity, or by a product with a certain function. A typical implementation device is a computer, which can be a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.

[0146] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, the device embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments. The device embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate. When implementing the embodiments of this specification, the functions of each module can be implemented in one or more software and / or hardware. Alternatively, some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0147] The above description is merely a specific implementation of the embodiments of this specification. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principles of the embodiments of this specification, and these improvements and modifications should also be considered within the protection scope of the embodiments of this specification.

Claims

1. A data processing apparatus, characterized in that, The data processing device includes a node array, which includes multiple node groups. In this context, adjacent nodes in the same node group are connected, and each node in the same node group is connected to multiple nodes in other node groups; the multiple nodes include default nodes and backup nodes, and the default node of a node is the backup node of at least one other node in the node group to which the node belongs. When the default node of the first node in a node group is in a normal state, the connection between the first node and the corresponding default node is enabled. If the default node of the first node in a node group is in an abnormal state, the connection between the first node and at least one second node in the same node group as the first node and the corresponding backup node is enabled. Each node group includes at least one redundant node and working nodes other than the redundant node. The redundant node of one node group is a backup node for at least one working node of another node group, where the first node is the working node. When all working nodes of a node group are in normal condition, the redundant node of the node group is disabled.

2. The data processing apparatus according to claim 1, characterized in that, Each node in the node array includes a processing kernel and a router connected to the processing kernel. The router of each node in one node group is used to connect to the routers of multiple nodes in another node group. The node is in a normal state if both its router and processing kernel are in a normal state. The node is in an abnormal state if at least one of its router and processing kernel is in an abnormal state.

3. The data processing apparatus according to claim 1, characterized in that, In the case where each node group has a redundant node, in response to the default node of at least one working node being in an abnormal state, the connection between the working node and the last working node of the node group to which the working node belongs and the corresponding backup node is enabled. The number of nodes in an abnormal state in any node group is less than or equal to the number of redundant nodes in the group. The redundant node is the next node after the last working node in its group.

4. The data processing apparatus according to claim 1, characterized in that, In a node group with at least two redundant nodes distributed at both ends, in response to the default node of at least one working node being in an abnormal state, the connection between the working node and the preceding working node of the target redundant node and the corresponding backup node is enabled. The number of nodes in an abnormal state in any node group is less than or equal to the number of redundant nodes in that group. The target redundant node and the working node are in the same node group, and the default node of each working node between the following working node and the preceding working node of the target redundant node is in a normal state.

5. The data processing apparatus according to claim 1, characterized in that, In the case where at least two redundant nodes are set for each node group and the at least two redundant nodes are distributed at one end of the node group, in response to the default node of at least one working node being in an abnormal state, the connections between the working node to the previous working node of the redundant nodes in the group where the working node is located and the corresponding standby nodes are enabled respectively, where the number of nodes in an abnormal state in any node group is less than or equal to the number of redundant nodes in the group, and for each third node where the connection with the standby node is enabled, the default node of the third node and the standby node of the third node are not adjacent.

6. The data processing apparatus according to claim 3, characterized in that, The standby node of each working node is the default node of the next working node in the group where the node is located.

7. The data processing apparatus according to claim 5, characterized in that, The standby node of each working node is the default node of the working node arranged at an interval with the working node in the group where the working node is located.

8. The data processing apparatus according to claim 1, characterized in that, The redundant nodes of each node group include the Nth node of the node group, the jth node of the ith node group is the default node of the jth node of the (i - 1)th node group and the jth node of the (i + 1)th node group, and the (j + 1)th node of the ith node group is the standby node of the jth node of the (i - 1)th node group and the jth node of the (i + 1)th node group; In the case where the jth node of the ith node group is in an abnormal state, the connection between the vth node of the (i - 1)th node group and the (v + 1)th node of the ith node group is enabled, and the connection between the vth node of the (i + 1)th node group and the (v + 1)th node of the ith node group is enabled; 1 ≤ j < N, j ≤ v < N, v, i, j, and N are all positive integers, and N is the total number of nodes in each node group.

9. The data processing apparatus according to claim 1, characterized in that, The redundant nodes of each node group include the 1st node and the Nth node of the node group; the jth node of the ith node group is the default node of the jth node of the (i - 1)th node group and the jth node of the (i + 1)th node group, the (j + 1)th node and the (j - 1)th node of the ith node group are the standby nodes of the jth node of the (i - 1)th node group, and the (j + 1)th node and the (j - 1)th node of the ith node group are the standby nodes of the jth node of the (i + 1)th node group; In the case where both the jth node and the kth node of the ith node group are in an abnormal state, the connection between the vth node of the (i - 1)th node group and the (v + 1)th node of the ith node group is enabled, the connection between the vth node of the (i + 1)th node group and the (v + 1)th node of the ith node group is enabled, the connection between the uth node of the (i - 1)th node group and the (u - 1)th node of the ith node group is enabled, and the connection between the uth node of the (i + 1)th node group and the (u - 1)th node of the ith node group is enabled; 1 < j < k < N, k < v < N, 1 < u < j, u, v, i, j, k, and N are all positive integers, and N is the total number of nodes in each node group.

10. The data processing apparatus according to claim 1, characterized in that, The redundant nodes of each node group include the (N - 1)-th node and the N-th node of the node group; the j-th node of the i-th node group is the default node of the j-th node of the (i - 1)-th node group and the j-th node of the (i + 1)-th node group, the (j + 1)-th node and the (j + 2)-th node of the i-th node group are the standby nodes of the j-th node of the (i - 1)-th node group, and the (j + 1)-th node and the (j + 2)-th node of the i-th node group are the standby nodes of the j-th node of the (i + 1)-th node group; When both the j-th node and the (j + 1)-th node of the i-th node group are in an abnormal state, the connection between the v-th node of the (i - 1)-th node group and the (v + 2)-th node of the i-th node group is enabled, and the connection between the v-th node of the (i + 1)-th node group and the (v + 2)-th node of the i-th node group is enabled; 1 ≤ j < N - 1, j ≤ v < N - 1, where v, i, j, and N are all positive integers, and N is the total number of nodes in each node group.

11. The data processing apparatus according to claim 1, characterized in that, The redundant nodes of each node group include the N-th node of the node group, the j-th node of the i-th node group is the default node of the j-th node of the (i - 1)-th node group and the j-th node of the (i + 1)-th node group, and the (j + 1)-th node of the i-th node group is the standby node of the j-th node of the (i - 1)-th node group and the j-th node of the (i + 1)-th node group; When both the j-th node of the i-th node group and the j-th node of the (i + 1)-th node group are in an abnormal state, the connection between the v-th node of the (i - 1)-th node group and the (v + 1)-th node of the i-th node group is enabled, and the connection between the v-th node of the (i + 2)-th node group and the (v + 1)-th node of the (i + 1)-th node group is enabled; 1 ≤ j < N, j ≤ v < N, where v, i, j, and N are all positive integers, and N is the total number of nodes in each node group.

12. The data processing apparatus according to any one of claims 1 to 11, characterized in that, When the number of nodes in an abnormal state in any node group is greater than the number of redundant nodes in the node group, the target nodes in each node group are bypassed so that the number of abnormal state nodes that are not bypassed in any node group is less than or equal to the number of redundant nodes in the node group; Wherein, the target nodes in each node group include the nodes in an abnormal state, and the target nodes in one node group are the default nodes of the target nodes in another node group.

13. The data processing apparatus according to any one of claims 1 to 11, characterized in that, The number of redundant nodes in a node group is determined based on at least one of the following conditions: the area of the data processing device, the probability that a node is in an abnormal state, the number of nodes in the node array.

14. The data processing apparatus according to any one of claims 1 to 11, characterized in that, The connection between a node and the corresponding default node or standby node is enabled based on the preset identification information of the node; wherein, the default nodes and standby nodes of a node correspond to different preset identification information.

15. The data processing apparatus according to claim 14, characterized in that, The data processing device further includes a control unit for: Obtain the working status of each node in the node array; The preset identification information of each node is set based on the working status of each node.

16. The data processing apparatus according to claim 15, characterized in that, The abnormal state includes a first abnormal state caused by process defects; The data processing device further includes: A storage unit is used to store the first location information of a node in the first abnormal state, so that the control unit can set the preset identification information of the node in the first abnormal state based on the first location information.

17. The data processing apparatus according to claim 15, characterized in that, The abnormal state includes a second abnormal state caused by the working environment; the data processing device further includes: The detection unit is used to detect the second location information of the node in the second abnormal state in real time during the operation of the data processing device, so that the control unit can set the preset identification information of the node in the second abnormal state based on the second location information.

18. The data processing apparatus according to claim 15, characterized in that, The control unit is also used for: If at least one node switches from a normal state to an abnormal state, the tasks currently being performed by each node in the node array shall be paused before the preset identification information of each node is set based on the working state of each node.

19. The data processing apparatus according to any one of claims 1 to 11, characterized in that, The output of each node in each node group is connected to a multiplexer, and the input of each node in each node group is connected to a demultiplexer. A node multiplexer is used to output the node's output signal to the node's default node or backup node through different channels; A node's demultiplexer is used to input output signals that have been output to the node through different channels into the node.

20. The data processing apparatus according to any one of claims 1 to 11, characterized in that, The data processing device further includes: Multiple interfaces for connecting nodes to other data processing devices.

21. The data processing apparatus according to claim 1, characterized in that, Each node includes a bypass unit; When a node is in an abnormal state, the bypass unit bypasses the node so that the two adjacent nodes in the node group to which the node belongs can be directly connected.

22. A chip, characterized in that, Includes the data processing apparatus according to any one of claims 1 to 21.

23. An electronic device, characterized in that, It includes the data processing apparatus according to any one of claims 1 to 21 or the chip according to claim 22.

24. A data processing method, characterized in that, The method is used to adjust the connection relationships of nodes in the data processing apparatus according to any one of claims 1 to 21; the method includes: Obtain the default node status of each node, including normal status and abnormal status; The connection relationships of multiple nodes in the node array are adjusted based on the default node state of each node; wherein: If the default node of the first node in a node group is in a normal state, enable the connection between the first node and the corresponding default node. In the event that the default node of the first node in a node group is in an abnormal state, the connection between the first node and at least one second node in the same node group as the first node and the corresponding backup node is enabled, wherein the default node of each second node is another second node or the backup node of the first node.

25. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method of claim 24.

Citation Information

Patent Citations

  • Dynamically rerouting node traffic on a parallel computer system

    CN101663649A