Wafer-level reconfigurable dataflow chip, task execution fault-tolerant method and board
Patent Information
- Application Number
- CN202610728062.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-25
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2046-05-25
AI Technical Summary
静态冗余映射部署后无法动态调整,难以应对运行时突发故障;全局检查点机制需频繁访问片外存储,存在严重的带宽瓶颈与功耗开销,恢复延迟高;部分分布式容错方案虽引入本地备份,但缺乏对多跳路径拥塞状态的感知能力,易引发重定向路径拥塞或死锁,同时未解决执行上下文与数据流的一致性对齐问题,难以实现任务的“无缝接续”
[0021]This invention relates to a wafer-level reconfigurable dataflow chip comprising: multiple processing units; in the target task dataflow, if a downstream processing unit fails, the current processing unit updates its local routing table and determines a backup processing unit within the neighborhood of the failed processing unit based on the updated local routing table; multiple memories, each corresponding to a processing unit, which store the local routing table and store the target task execution context sent by the processing units within the neighborhood as a shadow context; and an on-chip network (ISP), which routes the target task dataflow from the current processing unit to the backup processing unit, allowing the backup processing unit to execute the target task based on the stored target shadow context and the acquired data to be processed. The target shadow context is sent by the failed processing unit to the backup processing unit before the failure occurs, and the data to be processed is the task data sent by the current processing unit. Through distributed storage of the shadow context and dynamic routing updates, the target task can be quickly and seamlessly continued on the backup processing unit after a failure, ensuring the continuity and consistency of dataflow execution. Simultaneously, relying on congestion-aware redirection of the local routing table, path congestion and deadlock are avoided, improving the system's autonomous fault tolerance and operational stability in high-density integrated environments.
Smart Images

Figure CN122285395B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of integrated circuit design and high-reliability computing technology, and in particular to a wafer-level reconfigurable dataflow chip, a task execution fault-tolerant method, and a board. Background Technology
[0002] Wafer-scale reconfigurable dataflow chips achieve high-performance dataflow computing by integrating a large number of processing units (PEs) onto a single large wafer and combining them with reconfigurable interconnect networks. However, under complex operating conditions, factors such as physical damage, aging, or transient interference can easily cause sudden failures of processing units or interconnect links within the chip. Once a critical node fails, dataflow tasks will be interrupted, posing a serious challenge to system availability.
[0003] Existing fault-tolerance solutions mainly include static redundancy mapping, recovery mechanisms based on global checkpoints, and distributed fault-tolerance solutions. Static redundancy mapping cannot be dynamically adjusted after deployment, making it difficult to cope with sudden runtime failures; global checkpoint mechanisms require frequent access to off-chip storage, resulting in severe bandwidth bottlenecks and power consumption overhead, and high recovery latency; while some distributed fault-tolerance solutions introduce local backups, they lack the ability to detect congestion in multi-hop paths, easily leading to redirection path congestion or deadlocks, and they do not solve the problem of consistency alignment between execution context and data flow, making it difficult to achieve "seamless task continuation." Therefore, a technical solution that can overcome the above shortcomings is urgently needed.
[0004] This section is intended to provide background or context for the embodiments of this application set forth in the claims. The description herein is not an admission that it is prior art simply because it is included in this section. Summary of the Invention
[0005] One objective of this invention is to provide a wafer-level reconfigurable dataflow chip that, through distributed storage shadow context and dynamic routing updates, enables rapid and seamless takeover of the target task on a backup processing unit after a failure, ensuring the continuity and consistency of dataflow execution. Simultaneously, relying on congestion-aware redirection via a local routing table, it avoids path congestion and deadlocks, improving the system's autonomous fault tolerance and operational stability in high-density integrated environments. Another objective of this invention is to provide a task execution fault-tolerant method. A further objective is to provide a circuit board. A final objective is to provide a computer device.
[0006] To achieve the above objectives, this invention discloses a wafer-level reconfigurable dataflow chip, the chip comprising: In the target task data stream, if a downstream processing unit fails, the current processing unit updates its local routing table and determines a backup processing unit in the neighborhood of the failed processing unit based on the updated local routing table. Multiple memories are stored, with each memory corresponding to a processing unit. The memories are used to store local routing tables and store the execution context of target tasks sent by processing units in the neighborhood as shadow contexts. The on-chip network is used to route the target task data stream from the current processing unit to a backup processing unit, so that the backup processing unit can execute the target task according to the stored target shadow context and the acquired data to be processed. The target shadow context is sent to the backup processing unit by the processing unit that is experiencing a failure before the failure occurs, and the data to be processed is the task data sent by the current processing unit.
[0007] Preferably, each processing unit sends a heartbeat signal to the processing units in the neighboring area according to a preset cycle, and performs fault detection on the processing units in the neighboring area by monitoring the heartbeat signals sent by the processing units in the neighboring area. If a fault is detected in a processing unit, the current processing unit sends a fault message to the processing units in its neighboring domain so that the processing units in the neighboring domain can update their local routing tables and continue to send fault messages to the processing units in their respective neighboring domains.
[0008] Preferably, the local routing table includes the availability status and congestion level of each processing unit; The current processing unit is also used to update the availability status of faulty processing units in the local routing table to unavailable; according to a preset time interval, it updates the congestion level based on the queue depth and historical packet loss rate of the processing units in the neighborhood, and sends the congestion level to the processing units in the neighborhood so that the processing units in the neighborhood can continue to send the congestion level to the processing units in their respective neighborhoods.
[0009] Preferably, the current processing unit is further configured to select the processing unit with the lowest congestion level from the processing units in the neighborhood of the faulty processing unit as a backup processing unit; determine a backup path from the current processing unit to the target processing unit based on the availability status and the backup processing unit; if there is only one backup path, the backup path is determined as the optimal path; if there are multiple backup paths, the path with the smallest hop count among the multiple backup paths is determined as the optimal path.
[0010] Preferably, the current processing unit is also configured to update the availability status of the faulty processing unit to available in the local routing table if a heartbeat signal sent by the faulty processing unit is detected.
[0011] The present invention also discloses a task execution fault tolerance method, applied to the above-mentioned wafer-level reconfigurable dataflow chip, wherein the multiple processing units include: the current processing unit, the processing unit with a fault, and the backup processing unit. The methods include: In the target task data stream, if a downstream processing unit fails, the current processing unit updates its local routing table in the neighborhood of the failed processing unit and determines a backup processing unit based on the updated local routing table. The current processing unit routes the target task data stream to the backup processing unit via the on-chip network; The backup processing unit executes the target task based on the stored target shadow context and the acquired data to be processed. The target shadow context is sent to the backup processing unit by the processing unit that is experiencing a failure before the failure occurs. The data to be processed is the task data sent by the current processing unit.
[0012] Preferably, the method further includes: The current processing unit sends heartbeat signals to the processing units in the neighboring area according to a preset cycle, and performs fault detection on the processing units in the neighboring area by monitoring the heartbeat signals sent by the processing units in the neighboring area; If a faulty processing unit is detected, the current processing unit sends a fault message to the processing units in its neighboring domain so that the processing units in the neighboring domain can update their local routing tables and continue to send fault messages to the processing units in their respective neighboring domains.
[0013] Preferably, fault detection of neighboring processing units is performed by monitoring heartbeat signals sent by neighboring processing units, including: If no heartbeat signal broadcast by a processing unit in the neighborhood is detected for a specified period of time, the current processing unit will identify the corresponding processing unit in the neighborhood as a faulty processing unit.
[0014] Preferably, the local routing table includes the availability status and congestion level of each processing unit; The current processing unit updates the local routing table, including: The current processing unit will update the availability status of the faulty processing unit in the local routing table to unavailable; The current processing unit updates the congestion level according to the queue depth and historical packet loss rate of the processing units in the neighborhood at preset time intervals, and sends the congestion level to the processing units in the neighborhood so that the processing units in the neighborhood can continue to send the congestion level to the processing units in their respective neighborhoods.
[0015] Preferably, determining a backup processing unit within the neighborhood of the faulty processing unit based on the updated local routing table includes: The current processing unit selects the processing unit with the lowest congestion level from the processing units in the neighborhood of the faulty processing unit as the backup processing unit, and determines the backup path from the current processing unit to the target processing unit based on the availability status and the backup processing unit. If there is only one backup path, the current processing unit will determine the backup path as the optimal path; if there are multiple backup paths, the current processing unit will determine the path with the smallest hop count among the multiple backup paths as the optimal path.
[0016] Preferably, the method further includes: During the execution of the target task, each processing unit sends the target task execution context to the processing units in its respective neighborhood, so that the processing units in the neighborhood store the target task execution context as a shadow context in their local memory.
[0017] Preferably, the processing units within the neighborhood store the target task execution context as a shadow context in local memory, including: Each processing unit adopts a time-slicing round-robin strategy. In each time slice, the target task execution context sent by processing units in different neighborhoods is stored as a shadow context in the local memory.
[0018] Preferably, the method further includes: If the current processing unit detects a heartbeat signal sent by a faulty processing unit, it updates the availability status of the faulty processing unit to available in the local routing table.
[0019] The present invention also discloses a board, including the above-described wafer-level reconfigurable dataflow chip.
[0020] The present invention also discloses a computer device, including the board as described above.
[0021] This invention relates to a wafer-level reconfigurable dataflow chip comprising: multiple processing units; in the target task dataflow, if a downstream processing unit fails, the current processing unit updates its local routing table and determines a backup processing unit within the neighborhood of the failed processing unit based on the updated local routing table; multiple memories, each corresponding to a processing unit, which store the local routing table and store the target task execution context sent by the processing units within the neighborhood as a shadow context; and an on-chip network (ISP), which routes the target task dataflow from the current processing unit to the backup processing unit, allowing the backup processing unit to execute the target task based on the stored target shadow context and the acquired data to be processed. The target shadow context is sent by the failed processing unit to the backup processing unit before the failure occurs, and the data to be processed is the task data sent by the current processing unit. Through distributed storage of the shadow context and dynamic routing updates, the target task can be quickly and seamlessly continued on the backup processing unit after a failure, ensuring the continuity and consistency of dataflow execution. Simultaneously, relying on congestion-aware redirection of the local routing table, path congestion and deadlock are avoided, improving the system's autonomous fault tolerance and operational stability in high-density integrated environments. Attached Figure Description
[0022] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0023] Figure 1 This is a schematic diagram of the overall structure of a wafer-level reconfigurable dataflow chip provided in an embodiment of the present invention; Figure 2 A flowchart of a task execution fault tolerance method provided in an embodiment of the present invention; Figure 3 A flowchart of a task execution fault tolerance method provided in an embodiment of the present invention; Figure 4 This is a schematic diagram of a data flow between multiple PEs provided in an embodiment of the present invention. Detailed Implementation
[0024] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0025] To facilitate understanding of the technical solutions provided in this application, the relevant content of the technical solutions in this application will be explained below. A wafer-level reconfigurable dataflow chip is a computing architecture that directly integrates large-scale processing units (PEs) onto a single large-size wafer. Unlike traditional chip-level integration, wafer-level integration can accommodate thousands or even tens of thousands of processing units on a single wafer and achieve high-bandwidth, low-latency data communication through an on-chip mesh interconnect network. These chips typically employ a dataflow-driven model, where computational tasks are mapped to data flow graphs, and data tokens are dynamically transferred and processed between processing units, supporting high parallelism and reconfigurability. Due to the large area and high integration density of wafer-level chips, manufacturing defects, aging effects, temperature inconsistencies, or transient interference can lead to sudden failures of processing units or interconnect links during operation. Therefore, how to achieve low-overhead, highly autonomous fault detection and fault-tolerant recovery in a resource-constrained on-chip environment is a key technical issue for ensuring the continuous and reliable operation of wafer-level reconfigurable dataflow chips.
[0026] Figure 1 This is a schematic diagram of the overall structure of a wafer-level reconfigurable dataflow chip provided in an embodiment of the present invention, as shown below. Figure 1 As shown, the wafer-level reconfigurable dataflow chip includes: multiple processing units (PE) 100, multiple memories 200, and an on-chip network 300.
[0027] In the target task data flow, if the downstream PE 100 fails, the current PE 100 updates its local routing table and determines a backup PE 100 in the neighborhood of the failed PE 100 based on the updated local routing table.
[0028] The memory 200 corresponds one-to-one with PE 100. The memory 200 is used to store the local routing table and stores the target task execution context sent by PE100 in the neighborhood as a shadow context.
[0029] It is worth noting that PE 100 in the neighborhood refers to all PE 100s that are directly connected to the current PE 100.
[0030] The on-chip network 300 is used to route the target task data stream from the current PE 100 to the backup PE 100, so that the backup PE 100 can execute the target task based on the stored target shadow context and the pending data of the current PE 100. The target shadow context is sent to the backup PE 100 by the PE 100 that is in failure before the failure occurs.
[0031] In this embodiment of the invention, each PE 100 is directly connected to its dedicated memory 200 via independent data and address buses, allowing PE 100 to perform read and write operations on the memory 200. Adjacent PEs 100 are directly connected via physical links of the on-chip network 300. In the mesh network, each PE 100 can be connected to a maximum of four adjacent PEs 100. Non-adjacent PEs 100 communicate via multi-hop paths forwarded through intermediate PEs 100, with all path information maintained by the local routing table of each PE 100.
[0032] In this embodiment of the invention, PE 100 is the basic unit for performing computational tasks in a wafer-level reconfigurable dataflow chip. Each PE 100 has heartbeat broadcasting and fault detection functions. Heartbeat broadcasting involves periodically sending heartbeat signals to its directly connected neighboring PE 100s to indicate that it is in normal working condition. Fault detection involves monitoring the heartbeat signals of neighboring PE 100s; if N consecutive heartbeat signals are detected... miss If a heartbeat is not received from a neighboring PE 100, it is determined that the PE 100 has malfunctioned, and a fault message is broadcast to the neighboring PEs.
[0033] As an alternative, N miss Greater than or equal to 2 (N) miss ≥2).
[0034] Furthermore, if a faulty PE 100 is identified, the upstream PE 100 of the faulty PE 100 will immediately stop sending data to the faulty PE 100 after receiving the fault message; each adjacent PE 100 will mark the entry of the faulty PE 100 as unavailable in its local routing table, and will no longer use it as a backup next hop in subsequent routing calculations.
[0035] Specifically, each PE 100 is configured according to a preset period T. h The system broadcasts heartbeat signals to PE 100s in the neighborhood via a dedicated control channel. It also performs fault detection on PE 100s in the neighborhood by monitoring the heartbeat signals sent by PE 100s in the neighborhood. Specifically, it determines whether it can receive heartbeat signals broadcast by PE 100s in the neighborhood in each cycle. If a fault is detected in a PE 100, the current PE 100 sends a fault message to the PE 100s in the neighborhood so that the PE 100s in the neighborhood can update their local routing tables. The PE 100 continues to send fault messages to the PE 100s in its own neighborhood, thus spreading the fault message among all PE 100s in the world.
[0036] In this embodiment of the invention, each PE 100 also has a routing decision function, specifically used to maintain a local routing table. When a downstream PE 100 failure is detected, an alternative path is selected based on the hop count and congestion level information in the local routing table, and a healthy backup PE 100 is determined.
[0037] Specifically, the local routing table includes the availability status and congestion level of each PE 100.
[0038] The current PE 100 is also used to update the availability status of a faulty PE 100 in the local routing table to unavailable; according to a preset time interval, it updates the congestion level based on the queue depth and historical packet loss rate of the PE 100 in the neighborhood, and sends the congestion level to the PE 100 in the neighborhood, so that the PE 100 in the neighborhood can continue to send the congestion level to the PE 100 in their respective neighborhoods, and complete the congestion level update of each PE on the global PE 100.
[0039] It's worth noting that upon receiving a fault message / congestion level, each PE 100 checks the PE 100 identifier carried in the message. If the unavailability state / congestion level of that PE 100 is already recorded in its local routing table, the duplicate message is discarded, and the local routing table is only updated for the first received fault message. This deduplication mechanism is simple to implement, has minimal overhead, and effectively avoids redundant processing and state redundancy.
[0040] It is worth noting that the latency issue in fault message / congestion level transmission can be effectively resolved during software programming through parameter configuration and scheduling strategies, ensuring the accuracy of availability status and congestion levels. Simultaneously, the data message transmission overhead is very small, avoiding any waste of power consumption or bandwidth resources.
[0041] Furthermore, the current PE 100 is also used to periodically (T) detect a fault in the PE 100. h The broadcast heartbeat signal updates the availability status of the faulty PE 100 to available in the local routing table, allowing it to rejoin task scheduling.
[0042] In this embodiment of the invention, each PE 100 also has a context push function, specifically used to actively send the execution context of the target task to all adjacent PEs. The execution context includes, but is not limited to, configuration register values, program stage identifiers, output data verification digests, recently input data token indexes, and incrementing version numbers.
[0043] It is worth noting that the target task refers to a complete data flow task, which is executed by multiple processing units on the wafer-level reconfigurable data flow chip. The context information required by each processing unit when executing its assigned portion of the target task is called the execution context.
[0044] Specifically, during the execution of the target task, each PE 100 sends the target task execution context to the PE 100 in its neighborhood through the on-chip network 300, so that the PE 100 in the neighborhood stores the target task execution context as a shadow context in the local memory 200.
[0045] It is worth noting that each PE 100 sends the target task execution context asynchronously without waiting for a response from a neighboring PE 100, and this will not affect the normal execution of the target task.
[0046] In this embodiment of the invention, the current PE 100, i.e., the upstream PE 100 of the faulty PE 100, is further used to select the PE 100 with the lowest congestion level from the PE 100 in the neighborhood of the faulty PE 100 as the backup PE 100; based on the availability status and the backup PE 100, a backup path from the current PE 100 to the target PE 100 is determined; if there is only one backup path, the backup path is determined as the optimal path; if there are multiple backup paths, the path with the smallest hop count among the multiple backup paths is determined as the optimal path.
[0047] It is worth noting that each PE 100 maintains a local routing table, which also includes the location coordinates of each PE 100. The current PE 100, based on the location coordinates of the faulty PE 100, queries its local routing table to retrieve the location coordinates and identifiers of the PE 100s within the neighboring area of the faulty PE 100.
[0048] In this embodiment of the invention, the backup PE 100 looks up the corresponding target shadow context from its local SRAM based on the identifier of the faulty PE 100. The backup PE 100 sends a request to the upstream PE 100 (the current PE 100) to obtain the data token (i.e., the data to be processed) that has not yet been processed by the faulty PE 100 when the fault occurred. The data token itself carries the input data token index.
[0049] The backup PE 100 temporarily stores the requested processing data in the input buffer and restores the loaded target shadow context to its execution status register. It ensures data stream alignment by comparing the input data token index of the data to be processed with the most recent input data token index in the context. Once aligned, the backup PE 100 resumes execution of the original task, and subsequent task data and its data token index are transmitted normally along the new path.
[0050] In this embodiment of the invention, each PE 100 is equipped with an independent static random access memory (SRAM) 200, which is connected to the corresponding PE 100 via a dedicated internal bus and is used to store local routing tables and shadow contexts.
[0051] The local routing table includes the availability status and congestion level of each PE 100. The congestion level ranges from 0 to 3, with lower values indicating less congestion for that PE 100.
[0052] It is worth noting that the local routing table supports dynamic updates. Each PE 100 periodically obtains link status and updates the congestion level through probe packets. Specifically, each PE 100 periodically sends link status probe requests to neighboring PE 100s, calculates the congestion level based on the queue depth and packet loss rate returned by each PE 100, and updates the congestion level field of the corresponding PE 100 in the local routing table according to the calculated congestion level.
[0053] A shadow context is a copy of the target task execution context from a neighboring PE 100. Each PE 100 caches the execution context pushed by a neighboring PE 100 as a shadow context in its local SRAM. If a new context with a higher version number is pushed by the same neighbor, the shadow context with the higher version number is used to overwrite the shadow context with the lower version number.
[0054] It is worth noting that, in order to cover multiple adjacent PE 100s with limited storage capacity, this invention adopts a time-slicing round-robin strategy: every fixed time slice t d Each PE 100 caches only the execution context from one of its neighboring PE 100s, and all neighbors are overwritten in turn according to the identifiers of the neighboring PE 100s. Since failures are low-probability events, the execution context of the most recently cached PE 100 with a failure can still be used for failure recovery within the polling cycle.
[0055] For example: PE1 to PE4 are adjacent PEs of PE0, and the time-slicing round-robin strategy is as follows: PE0 receives the execution contexts from PE1 to PE4 within the td1 time slice, but only caches the execution context from PE1; PE0 receives the execution contexts from PE1 to PE4 within the td2 time slice, but only caches the execution context from PE2 and does not delete the execution context from PE1; PE0 receives the execution contexts of PE1 to PE4 within the td3 time slice, but only caches the execution context from PE3 and does not delete the execution contexts of PE1 and PE2; PE0 receives the execution contexts from PE1 to PE4 within the td4 time slice, but only caches the execution context from PE4 and does not delete the execution contexts from PE1, PE2, and PE3. This completes one polling cycle. Let's move on to the next polling cycle: PE0 receives the execution contexts of PE1 to PE4 within the td5 time slice. According to the identifier of PE1, it overwrites the execution context of PE1 received in the td5 time slice with the execution context of PE1 received in the td1 time slice, while keeping the execution contexts of PE2, PE3 and PE4 unchanged. Furthermore, if PE4 fails within the td5 time slice, the execution context of PE4 cached within the td4 time slice can be used for fault recovery.
[0056] PE0 receives the execution contexts of PE1 to PE4 in time slice td6. According to the identifier of PE2, it overwrites the execution context of PE2 received in time slice td6 with the execution context of PE2 received in time slice td2, while keeping the execution contexts of PE1, PE3 and PE4 unchanged. ... Until the target task is completed.
[0057] In this embodiment of the invention, the on-chip network 300 is an interconnection structure connecting all PEs 100. This application adopts a mesh topology, where each PE 100 has physical links with its adjacent PEs 100 in the four directions above, below, left, and right. The on-chip network 300 supports packet switching or circuit switching modes for transmitting heartbeat signals, fault messages, queue depth, historical packet loss rate, execution context, and data to be processed.
[0058] The on-chip network 300 has multipath transmission capability, allowing a source PE 100 to send data packets to the same destination PE 100 through different intermediate PE 100 sequences.
[0059] Multipath transmission capability means that the on-chip network 300 can provide multiple paths from the source PE 100 to the target PE 100. When an intermediate PE 100 on one of the paths fails, it can dynamically switch to another healthy path to continue data streaming.
[0060] When any PE (Programmer) in a wafer-level reconfigurable dataflow chip fails, the upstream PE can automatically redirect the data flow to a healthy backup PE. The backup PE loads the shadow context from its local SRAM and requests the missing data token, enabling rapid recovery of the computing state and alignment of the data flow, ensuring uninterrupted execution of the target task. No off-chip storage or global controller is required; all fault detection, routing decisions, and context caching are performed on-chip in a distributed manner, reducing the system's dependence on external intervention and minimizing bandwidth and power consumption overhead from off-chip access. Through congestion-aware multi-hop redirection, data flow is prevented from being injected into already congested paths or forming deadlocks, maintaining the performance stability of data flow transmission.
[0061] The following describes the implementation process of the task execution fault-tolerant method provided in the embodiments of the present invention. The method is applied to a wafer-level reconfigurable data stream chip, and the multiple processing units include: the current processing unit, the processing unit with a fault, and the backup processing unit.
[0062] Figure 2 A flowchart of a task execution fault tolerance method provided in an embodiment of the present invention is shown below. Figure 2 As shown, the method includes: Step 101: In the target task data stream, if a downstream PE is faulty, the current PE updates its local routing table and determines a backup PE in the neighborhood of the faulty PE based on the updated local routing table.
[0063] In this embodiment of the invention, during the execution of the target task data stream, the current PE (Premises Equipment) senses the status of downstream PEs in real time through a heartbeat monitoring mechanism. When a downstream PE is confirmed to have failed, the current PE reads the local routing table stored in its local storage memory (SRAM). The local routing table includes the availability status (available or unavailable), congestion level, and location coordinates of each PE. The current PE updates the routing table according to the fault message, marks the faulty PE as unavailable, and selects a backup PE from the neighboring PEs of the faulty PE.
[0064] This invention maintains and dynamically updates a routing table containing availability status and congestion level locally. The current PE can autonomously and quickly select an optimal alternative path after a failure occurs, without relying on a global controller.
[0065] Step 102: The current PE routes the target task data stream to the backup PE via the on-chip network.
[0066] In this embodiment of the invention, the current PE routes the subsequent target task data stream to the backup PE via the on-chip network. During the routing process, the current PE forwards the data tokens originally destined for the failed PE to the backup PE sequentially according to the updated local routing table. The on-chip network supports multi-path transmission, which can avoid path conflicts between redirected traffic and original traffic.
[0067] This invention utilizes the multipath capability of on-chip networks to achieve rapid switching of data streams and avoid task interruption due to faults.
[0068] Step 103: The standby PE executes the target task based on the stored target shadow context and the acquired data to be processed.
[0069] In this embodiment of the invention, the backup PE reads the pre-stored target shadow context from its local SRAM and obtains the data to be processed sent by the current PE. Based on the target shadow context and the data to be processed, it continues to execute the original target task. Specifically, the backup PE loads the target shadow context into its own execution status register, temporarily stores the data to be processed in the input buffer, and ensures strict alignment of the data stream order by comparing the input data token index of the data to be processed with the most recent input data token index in the context. After alignment, the backup PE begins to execute the subsequent stages of the original task.
[0070] The target shadow context is a copy of the execution state actively broadcast by the faulty PE to all PEs (including standby PEs) in its neighborhood during normal operation. It includes at least configuration register values, program stage identifiers, output data checksums, the index of the most recent input data token, and an incrementing version number. The standby PE searches for the shadow context with the highest version number in its local SRAM based on the identifier of the faulty PE as the target shadow context.
[0071] In this embodiment of the invention, the data to be processed is a data token that has not yet been processed by the faulty PE at the time of the fault and is still located in the output buffer of the current PE. The backup PE obtains the data token by requesting it from the upstream (i.e., the current PE).
[0072] By combining shadow context with the data to be processed, the present invention enables the backup PE to quickly restore the computing state and seamlessly continue the data stream without the need for global state synchronization.
[0073] In this invention, if a downstream processing unit fails in the target task data stream, the current processing unit updates its local routing table and determines a backup processing unit within the neighborhood of the failed processing unit based on the updated local routing table. The current processing unit routes the target task data stream to the backup processing unit via an on-chip network. The backup processing unit executes the target task based on the stored target shadow context and the acquired data to be processed. The target shadow context is sent to the backup processing unit by the failed processing unit before the failure occurs, and the data to be processed is the task data sent by the current processing unit. Through distributed storage of the shadow context and dynamic routing updates, the target task can be quickly and seamlessly continued on the backup processing unit after a failure, ensuring the continuity and consistency of data stream execution. At the same time, relying on congestion-aware redirection of the local routing table, path congestion and deadlock are avoided, improving the system's autonomous fault tolerance and operational stability in high-density integrated environments.
[0074] Figure 3 A flowchart of a task execution fault tolerance method provided in an embodiment of the present invention is shown below. Figure 3 As shown, the method includes: Step 201: The current PE sends a heartbeat signal to the neighboring PEs according to a preset cycle, and performs fault detection on the neighboring processing units by monitoring the heartbeat signals sent by the processing units in the neighboring area.
[0075] In this embodiment of the invention, the current PE follows a preset period (e.g., a fixed time interval T). h The system broadcasts a heartbeat signal to all PEs directly connected to it (PEs within the neighborhood) via a dedicated control channel; the current PE continuously monitors the heartbeat signals broadcast by each PE in the neighborhood and performs fault detection based on whether it receives a heartbeat signal.
[0076] Specifically, if a continuous specified period (continuous N) is specified... miss One cycle, N miss ≥2) If no heartbeat signal is detected from the PE broadcast in the neighborhood, the current PE will identify the corresponding PE in the neighborhood as a faulty PE.
[0077] Furthermore, during the execution of the target task, each PE sends the target task execution context to its neighboring PEs, enabling the neighboring PEs to store the target task execution context as a shadow context in their local memory. Specifically, during the execution of the target task, each PE sends its currently executing target task execution context to all processing units within its neighboring region. The target task execution context includes, but is not limited to, configuration register values, program stage identifiers, output data checksums, recent input data token indexes, and incrementing version numbers. PEs receiving this information cache it as a shadow context in their local SRAM.
[0078] As an optional solution, to reduce the storage overhead of local memory, each PE adopts a time-slicing round-robin strategy, in each time slice t d In this process, the target task execution context sent by PEs from different neighborhoods is cached as a shadow context in the local SRAM.
[0079] Specifically, a time slice length t is set. d In each time slice t d Within the system, each PE stores only the target task execution context sent from a PE within a certain neighborhood as a shadow context in its local memory; based on the PE identifier, the contexts of all PEs within the neighborhood are overwritten in sequence. Since failures are low-probability events, the execution context of the most recently cached PE with a failure within the polling cycle can be used for failure recovery.
[0080] Figure 4 This is a schematic diagram of a data flow between multiple PEs provided in an embodiment of the present invention, such as... Figure 4 As shown, multiple PEs include PE0 to PE9. Taking PE0 as the current PE, PE1 to PE4 are PEs in the neighborhood of PE0. PE6 is in the neighborhood of PE1, PE4, and PE7. PE7 is in the neighborhood of PE5 and PE9. PE5 is in the neighborhood of PE4, PE7, and PE9. PE8 is in the neighborhood of PE3, PE4, and PE9. PE9 is in the neighborhood of PE5 and PE8. 10 It is located in the neighborhood of PE2 and PE3.
[0081] like Figure 4 As shown, PE0 broadcasts heartbeat signals to PE1 to PE4 in its neighborhood according to a preset period, and PE1 to PE4 also broadcast heartbeat signals to PE0, which is one of the PEs in its neighborhood, according to a preset period; PE0 performs fault detection on PE1 to PE4 in its neighborhood based on the received heartbeat signals.
[0082] This invention utilizes the periodic broadcasting of heartbeat signals and loss detection over consecutive specified periods to quickly and accurately detect faulty pre-existing devices (PEs), avoiding misjudgments caused by transient interference. Furthermore, through a time-slicing polling strategy, it achieves comprehensive storage of multiple neighboring PE contexts within limited SRAM capacity.
[0083] Step 202: If a faulty PE is detected, the current PE sends a fault message to the PEs in its neighboring domain so that the PEs in the neighboring domain can update their local routing tables and continue to send fault messages to the PEs in their respective neighboring domains.
[0084] In this embodiment of the invention, if the current PE detects a faulty PE, it broadcasts a fault message to all PEs in its neighborhood via a dedicated control channel. This fault message contains at least the identifier of the faulty PE, enabling all PEs that receive the fault message to update their local routing tables based on the identifier of the faulty PE.
[0085] like Figure 4 As shown, if PE0 detects a fault in PE4, it broadcasts a fault message indicating that PE4 is faulty to PE1 to PE3 in its neighborhood; PE0 stops sending data to PE4; PE1 to PE3 that receive the fault message update the availability status of PE4 to unavailable in their local routing tables; PE1 to PE3 continue to send the fault message to the PEs in their respective neighborhoods, thus spreading the fault message among the global PEs.
[0086] Step 203: The current PE updates the availability status of the faulty PE in the local routing table to unavailable.
[0087] In this embodiment of the invention, after receiving a fault message or detecting a fault itself, the PE updates the availability status of the corresponding faulty PE in the local routing table stored in the local storage to unavailable.
[0088] In this embodiment of the invention, the local routing table includes the availability status (available or unavailable), congestion level, and location coordinates of each PE.
[0089] Furthermore, if the current PE receives a heartbeat signal periodically broadcast by a faulty PE, it will update the availability status of the faulty PE to available in the local routing table.
[0090] like Figure 4 As shown, if PE0 updates the availability status of PE4 to unavailable in its local routing table.
[0091] In this embodiment of the invention, by dynamically maintaining the availability status in the local routing table, it is ensured that subsequent routing decisions will not select a failed processing unit; at the same time, it supports re-addition after fault recovery, realizing resource self-healing.
[0092] Step 204: The current PE updates the congestion level according to the queue depth and historical packet loss rate of the PEs in the neighborhood at preset time intervals, and sends the congestion level to the PEs in the neighborhood so that the PEs in the neighborhood can continue to send the congestion level to the PEs in their respective neighborhoods.
[0093] In this embodiment of the invention, the current PE is determined according to a preset time interval (e.g., every T). pFor each PE in its local routing table (in milliseconds), the number of packets currently waiting to be forwarded in its output queue (i.e., queue depth) and the proportion of transmission failures in a recent period (i.e., historical packet loss rate) are obtained. Through weighted calculation or table lookup mapping, the congestion level of each PE is quantified based on the combination of queue depth and historical packet loss rate. The congestion level ranges from 0 to 3, with lower values indicating less congestion. The updated congestion level is written to the corresponding entry in the local routing table.
[0094] Furthermore, the current PE sends the congestion level to PEs in its neighborhood; the PEs in the neighborhood then send the congestion level to PEs in their respective neighborhoods, so that all PEs globally can update the congestion level of each PE in their local routing tables.
[0095] Step 205: The current PE selects the PE with the lowest congestion level from the PEs in the neighborhood of the faulty PE as the backup PE, and determines the backup path from the current PE to the target PE based on the availability status and the backup PE.
[0096] In this embodiment of the invention, the current PE reads the congestion level of the PEs in the neighborhood of the PE with the fault in the local routing table, and selects the PE with the lowest congestion level as the backup PE.
[0097] Select the full path from the current PE to the backup PE; based on the availability status of the PE, filter out paths containing unavailable PEs from the full path and select the backup path.
[0098] like Figure 4 As shown, taking PE0 as the current PE, PE7 as the target PE, and PE4 as the PE with a fault as an example, the PEs in the neighborhood of PE4 and their congestion levels are as follows: PE6, congestion level 3; PE5, congestion level 0; PE8, congestion level 1; PE5 with the lowest congestion level is selected as the backup PE.
[0099] The backup paths for PE0 to PE5 are as follows: Alternate path 1: PE0→ PE1→ PE6→ PE7→ PE5→ PE7, with a hop count of 5. This alternative path has a circular structure, so it is abandoned to prevent deadlock. Alternate path 2: PE0→ PE3→ PE8→ PE9→ PE5→ PE7, with a hop count of 5; Alternate path 3: PE0 → PE2 → PE 10 → PE3→ PE8→ PE9→ PE5→ PE7, the jump count is 7; Alternate path 4: ... It is worth noting that, to prevent deadlock, this invention employs a loop-free routing strategy to improve fault tolerance and stability.
[0100] Step 206: Determine if the number of backup paths is 1. If yes, proceed to step 207; otherwise, proceed to step 208.
[0101] In this embodiment of the invention, if there is one backup path, then step 207 is executed; if there are multiple backup paths, it indicates that the optimal path needs to be further determined, and step 207 is executed.
[0102] Step 207: The current PE determines the backup path as the optimal path and continues to execute step 209.
[0103] In this embodiment of the invention, if there is only one backup path, the current PE determines the unique backup path as the optimal path and continues to execute step 209, continuing to execute the target task according to the data flow direction of the optimal path.
[0104] Step 208: The current PE determines the path with the fewest hops among multiple backup paths as the optimal path.
[0105] In this embodiment of the invention, if there are multiple backup paths, the current PE reads the hop count of each backup path from its local routing table; compares the hop counts of each backup path, and determines the backup path with the smallest hop count as the optimal path, and continues to execute the target task according to the data flow direction of the optimal path. Here, the hop count is the number of PEs traversed from the current PE to the target PE.
[0106] like Figure 4 As shown, there are two backup paths, namely backup path 2 and backup path 3. Backup path 2 has 5 hops and backup path 3 has 7 hops. The path with the fewest hops, namely backup path 2, is selected as the optimal path.
[0107] Through steps 204 to 208, this invention enables the current PE to dynamically assess the path congestion level based on real-time queue depth and historical packet loss rate, and automatically selects a backup PE with low congestion and few hops and the corresponding optimal path after a failure occurs, avoiding redirecting the data flow to a congested or deadlocked path and ensuring data transmission performance.
[0108] Step 209: The current PE routes the target task data stream to the backup PE via the on-chip network.
[0109] In this embodiment of the invention, the current PE routes the target task data stream originally destined for the faulty PE to the backup PE via the on-chip network, following the optimal path. During the routing process, data tokens are forwarded hop-by-hop along the optimal path. The on-chip network is a mesh interconnect structure connecting all processing units.
[0110] like Figure 4 As shown, PE0 will route the target task data stream to PE3 via the on-chip network.
[0111] This invention utilizes the multipath transmission capability of on-chip network to achieve rapid switching of data streams and avoid task interruption due to faults.
[0112] Step 210: The standby PE executes the target task based on the stored target shadow context and the acquired data to be processed.
[0113] In this embodiment of the invention, the backup PE searches for the corresponding shadow context in the local memory based on the identifier of the faulty PE, and uses the searched shadow context as the target shadow context. The target shadow context is actively broadcast by the faulty PE to all PEs (including the backup PE) in its neighborhood before the fault occurs.
[0114] In this embodiment of the invention, the backup PE sends a request to the current PE (the upstream PE that originally sent data to the faulty PE) to obtain data tokens that have not yet been processed by the faulty PE when the fault occurred. These data tokens are data to be processed. The current PE sends the corresponding data tokens in its output buffer to the backup PE.
[0115] In this embodiment of the invention, the standby PE loads the target shadow context into its own execution status register, temporarily stores the data to be processed in the input buffer, and ensures strict alignment of the data stream order by comparing the input data token index of the data to be processed with the most recent input data token index in the context. After alignment is completed, the standby PE begins to execute the subsequent stages of the target task.
[0116] Specifically, the data token index of the data to be processed should be equal to the index of the most recently input data token incremented by 1. If they match, it indicates that the data is continuous, and the standby PE can start execution directly from that token; if they do not match, it indicates that some data tokens are missing, and the standby PE needs to continue requesting the missing tokens from the upstream PE until the data stream order is strictly aligned before starting execution on the target personnel.
[0117] like Figure 4 As shown, PE3 executes the target task based on the stored target shadow context and the acquired data to be processed.
[0118] By combining the target shadow context with the data to be processed, the backup PE can quickly restore the computing state and seamlessly continue the data stream without the need for global state synchronization, thus ensuring the continuous execution of the target task.
[0119] In this invention, if a downstream processing unit fails in the target task data stream, the current processing unit updates its local routing table and determines a backup processing unit within the neighborhood of the failed processing unit based on the updated local routing table. The current processing unit routes the target task data stream to the backup processing unit via an on-chip network. The backup processing unit executes the target task based on the stored target shadow context and the acquired data to be processed. The target shadow context is sent to the backup processing unit by the failed processing unit before the failure occurs, and the data to be processed is the task data sent by the current processing unit. Through distributed storage of the shadow context and dynamic routing updates, the target task can be quickly and seamlessly continued on the backup processing unit after a failure, ensuring the continuity and consistency of data stream execution. At the same time, relying on congestion-aware redirection of the local routing table, path congestion and deadlock are avoided, improving the system's autonomous fault tolerance and operational stability in high-density integrated environments.
[0120] It is worth noting that the acquisition, storage, use, and processing of data in the technical solution of this application all comply with relevant laws and regulations. The user information in the embodiments of this application was obtained through legal and compliant means, and the acquisition, storage, use, and processing of user information have been authorized and agreed upon by the client.
[0121] It is worth noting that the information collected in this application is information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data all comply with the relevant laws, regulations and standards of the relevant countries and regions, necessary confidentiality measures have been taken, and they do not violate public order and good morals. Corresponding operation portals are provided for users to choose to authorize or refuse.
[0122] It is worth noting that the technical solution provided in this application provides users with a corresponding operation entry point, allowing users to choose to agree to or reject the automated decision-making result; if the user chooses to reject, the process will proceed to the expert decision-making process.
[0123] The systems, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer device, specifically, a computer device can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or any combination of these devices.
[0124] This invention provides a computer device including the task execution fault-tolerant system described above. For a detailed description, please refer to the embodiments of the task execution fault-tolerant system described above.
[0125] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the function of each unit can be implemented in hardware.
[0126] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0127] The acquisition, storage, use, and processing of data in this application all comply with the relevant provisions of national laws and regulations.
[0128] It should be noted that in the embodiments of this application, certain software, components, models and other existing solutions in the industry may be mentioned. These should be regarded as exemplary and are only intended to illustrate the feasibility of implementing the technical solution of this application. However, it does not mean that the applicant has used or necessarily used the solution.
[0129] Those skilled in the art will understand that embodiments of this application can be provided as methods or systems. Therefore, this application can take the form of a completely hardware embodiment or an embodiment combining software and hardware aspects.
[0130] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system 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.
[0131] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A wafer-level reconfigurable dataflow chip, characterized in that, The chip includes: In the target task data stream, if a downstream processing unit fails, the current processing unit updates its local routing table and determines a backup processing unit in the neighborhood of the failed processing unit based on the updated local routing table. Multiple memories are provided, each corresponding to a processing unit. The memories are used to store the local routing table and to store the target task execution context sent by the processing units in the neighborhood as a shadow context. The on-chip network is used to route the target task data stream from the current processing unit to a backup processing unit, so that the backup processing unit can execute the target task according to the stored target shadow context and the acquired data to be processed. The target shadow context is sent to the backup processing unit by the processing unit that is experiencing a failure before the failure occurs, and the data to be processed is the task data sent by the current processing unit. During the execution of the target task, each processing unit sends the target task execution context to the processing units in its respective neighborhood, so that the processing units in the neighborhood store the target task execution context as a shadow context in their local memory. Each processing unit adopts a time-slicing round-robin strategy. In each time slice, the target task execution context sent by processing units in different neighborhoods is stored as a shadow context in the local memory.
2. The wafer-level reconfigurable dataflow chip according to claim 1, characterized in that, Each processing unit sends a heartbeat signal to the processing units in its neighborhood according to a preset cycle, and performs fault detection on the processing units in its neighborhood by monitoring the heartbeat signals sent by the processing units in its neighborhood. If a fault is detected in a processing unit, the current processing unit sends a fault message to the processing units in its neighboring domain, so that the processing units in the neighboring domain can update their local routing tables and continue to send the fault message to the processing units in their respective neighboring domains.
3. The wafer-level reconfigurable dataflow chip according to claim 1, characterized in that, The local routing table includes the availability status and congestion level of each processing unit; The current processing unit is also used to update the availability status of the faulty processing unit in the local routing table to unavailable; according to a preset time interval, based on the queue depth and historical packet loss rate of the processing units in the neighborhood, update the congestion level, and send the congestion level to the processing units in the neighborhood, so that the processing units in the neighborhood can continue to send the congestion level to the processing units in their respective neighborhoods.
4. The wafer-level reconfigurable dataflow chip according to claim 3, characterized in that, The current processing unit is further configured to select the processing unit with the lowest congestion level from the processing units in the neighborhood of the faulty processing unit as a backup processing unit; determine a backup path from the current processing unit to the target processing unit based on the availability status and the backup processing unit; if there is only one backup path, the backup path is determined as the optimal path; if there are multiple backup paths, the path with the smallest hop count among the multiple backup paths is determined as the optimal path.
5. The wafer-level reconfigurable dataflow chip according to claim 1, characterized in that, The current processing unit is also configured to update the availability status of the faulty processing unit to available in the local routing table if a heartbeat signal sent by the faulty processing unit is detected.
6. A fault-tolerant method for task execution, characterized in that, Applied to the wafer-level reconfigurable data stream chip according to any one of claims 1 to 5, the plurality of processing units include: a current processing unit, a faulty processing unit, and a backup processing unit; The method includes: In the target task data stream, if a downstream processing unit fails, the current processing unit updates its local routing table and determines a backup processing unit in the neighborhood of the failed processing unit based on the updated local routing table. The current processing unit routes the target task data stream to the backup processing unit via the on-chip network; The backup processing unit executes the target task based on the stored target shadow context and the acquired data to be processed. The target shadow context is sent to the backup processing unit by the processing unit that is experiencing a failure before the failure occurs. The data to be processed is the task data sent by the current processing unit. The method further includes: During the execution of the target task, each processing unit sends the target task execution context to the processing units in its respective neighborhood, so that the processing units in the neighborhood store the target task execution context as a shadow context in their local memory. The processing units within the neighborhood store the target task execution context as a shadow context in local memory, including: Each processing unit adopts a time-slicing round-robin strategy. In each time slice, the target task execution context sent by processing units in different neighborhoods is stored as a shadow context in the local memory.
7. The task execution fault-tolerant method according to claim 6, characterized in that, The method further includes: The current processing unit sends heartbeat signals to the processing units in the neighboring area according to a preset cycle, and performs fault detection on the processing units in the neighboring area by monitoring the heartbeat signals sent by the processing units in the neighboring area; If a faulty processing unit is detected, the current processing unit sends a fault message to the processing units in its neighboring domain, so that the processing units in the neighboring domain can update their local routing tables and continue to send the fault message to the processing units in their respective neighboring domains.
8. The task execution fault-tolerant method according to claim 6, characterized in that, The local routing table includes the availability status and congestion level of each processing unit; The current processing unit updates the local routing table, including: The current processing unit updates the availability status of the faulty processing unit in the local routing table to unavailable; The current processing unit updates the congestion level according to the queue depth and historical packet loss rate of the processing units in the neighborhood at preset time intervals, and sends the congestion level to the processing units in the neighborhood so that the processing units in the neighborhood can continue to send the congestion level to the processing units in their respective neighborhoods.
9. The task execution fault-tolerant method according to claim 8, characterized in that, The step of determining a backup processing unit within the neighborhood of the faulty processing unit based on the updated local routing table includes: The current processing unit selects the processing unit with the lowest congestion level from the processing units in the neighborhood of the faulty processing unit as the backup processing unit, and determines the backup path from the current processing unit to the target processing unit based on the availability status and the backup processing unit. If there is only one backup path, the current processing unit will determine the backup path as the optimal path; if there are multiple backup paths, the current processing unit will determine the path with the smallest hop count among the multiple backup paths as the optimal path.
10. The task execution fault-tolerant method according to claim 6, characterized in that, The method further includes: If the current processing unit detects a heartbeat signal sent by a faulty processing unit, it updates the availability status of the faulty processing unit to available in the local routing table.
11. A circuit board, characterized in that, Includes the wafer-level reconfigurable dataflow chip as described in any one of claims 1 to 5.
12. A computer device, characterized in that, Includes the board as described in claim 11.
Citation Information
Patent Citations
Control computer system, method for controlling a control computer system, and use of a control computer system
CN102822807A
Network-on-chip fault-tolerant system based on fault-processable routers and double fault-tolerant distributed routing
CN120804023A