A parallel control system and method for task distribution based on sequential linkage processing

CN122570102APending Publication Date: 2026-08-14北京辉羲智能科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-22
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

[0005]本发明旨在克服现有任务分发并行控制系统无法细化表达每个任务运行单元的具体进度信息和引入额外的内存访问延迟,导致对每个任务运行单元的运行控制精度的降低,难以灵活构建具备复杂依赖关系的流水线架构以及形成任务分发并行控制的性能瓶颈的问题

Benefits of technology

本发明提出的基于阶序联动处理的任务分发并行控制系统,通过任务调度单元与任务运行单元的一一对应设计,以利用进度计数器实现每个任务运行单元的运行进度阶序的精确记录与动态追踪,解决了现有系统无法细化表达具体进度信息的问题;并通过基于当前启动指令与预设运行进度阶序的实时匹配机制,实现任务触发条件的精准判断,有效提升对每个任务运行单元的运行控制精度,且能够实现复杂依赖关系的流水线架构的灵活构建,以支持每个任务运行单元之间的动态关联与条件触发。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122570102A_ABST
    Figure CN122570102A_ABST
Patent Text Reader

Abstract

This invention discloses a parallel control system and method for task distribution based on sequential linkage processing. The task extraction module is used to extract the associated data of several task running units stored in the task storage module according to the preset running instructions and output it to the task distribution module. The task distribution module includes several task scheduling units that interact one-to-one with each task running unit. Each task scheduling unit includes a progress counter and a scheduling control subunit. The progress counter is configured to record the running progress sequence of the corresponding task running unit. This solves the problems of existing parallel control systems for task distribution that cannot express the specific progress information of each task running unit in detail and introduce additional memory access latency, resulting in a reduction in the running control accuracy of each task running unit, difficulty in flexibly constructing pipeline architectures with complex dependencies, and the formation of performance bottlenecks in parallel control of task distribution.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of task distribution control technology, and more specifically, relates to a task distribution parallel control system and method based on sequential linkage processing. Background Technology

[0002] Currently, the common approach to coordinating the task execution order of several task execution units within the same control architecture is to insert "record" and "wait" commands into each task execution unit and to achieve parallel control of task distribution among each task execution unit by manipulating the running status of each task execution unit, which acts as a producer or consumer, in shared video memory.

[0003] However, existing parallel control systems for task distribution only support a binary state of task completion or incompleteness for each task execution unit. This lack of detail in expressing the specific progress information of each task execution unit leads to reduced control precision and makes it difficult to flexibly construct pipeline architectures with complex dependencies between producer and consumer task execution units. Furthermore, existing systems involve repeated read / write operations and polling of shared video memory addresses, introducing additional memory access latency and creating a performance bottleneck for parallel task distribution control.

[0004] Therefore, how to achieve refined linkage between each task execution unit and improve the performance of parallel control for task distribution has become an urgent problem to be solved by those skilled in the art. Summary of the Invention

[0005] This invention aims to overcome the problems of existing task distribution parallel control systems, which cannot express the specific progress information of each task running unit in detail and introduce additional memory access latency, resulting in reduced running control precision of each task running unit, difficulty in flexibly constructing pipeline architectures with complex dependencies, and forming performance bottlenecks in task distribution parallel control.

[0006] To achieve the above objectives, the present invention provides a task distribution parallel control system and method based on sequential linkage processing.

[0007] According to a first aspect of the present invention, a parallel control system for task distribution based on sequential linkage processing is provided, comprising a task storage module, a task extraction module, and a task distribution module; The task extraction module is used to extract the associated data of several task running units stored in the task storage module according to the preset running instructions and output it to the task distribution module; The task distribution module includes several task scheduling units that interact one-to-one with each of the task execution units. Each task scheduling unit includes a progress counter and a scheduling control subunit. The progress counter is configured to record the execution progress sequence of the corresponding task execution unit. The scheduling control subunit can query the execution progress sequence of the corresponding task execution unit based on the current start command output by the current task execution unit. When the running progress sequence of the corresponding task running unit matches the current start instruction, the current task running unit is triggered, wherein the current start instruction includes the associated data of the corresponding task running unit and a predetermined trigger progress sequence.

[0008] Optionally, the task storage module includes a task memory, which is capable of acquiring and storing the associated data of each task execution unit based on the CPU.

[0009] Optionally, the parallel task distribution control system further includes a control module for controlling the operation of the task extraction module, the progress counter, and the scheduling control subunit.

[0010] Optionally, the task extraction module includes an access controller, which can read and retrieve the associated data of the task execution unit in the task memory based on the preset running instructions and output it to the task distribution module.

[0011] Alternatively, the preset execution instructions are obtained based on what the user writes to the access controller through the register configuration interface.

[0012] Optionally, the progress counter is configured to write corresponding Imms step by step according to the running progress of the current task running unit, so as to record the running progress sequence of the corresponding task running unit.

[0013] Optionally, each of the task scheduling units may further include a task cache for caching the associated data received from the corresponding task execution unit.

[0014] Optionally, the scheduling control subunit includes a task run selector and a sequence comparator. The task run selector is used to traverse each task run unit according to the associated data of the corresponding task run unit in the current start instruction to select the corresponding task run unit. The sequence comparator can determine whether the predetermined trigger progress sequence in the current start instruction is the same as the running progress sequence of the corresponding task run unit. If they are the same, then the current task execution unit is triggered. If they are different, the current task running unit will output the current start command again until it is triggered.

[0015] Optionally, the task distribution parallel control system further includes a task execution module, which includes an execution subunit and a task execution selector. The task execution selector is used to match the corresponding task running unit according to the execution subunit and output it to the execution subunit for execution.

[0016] According to a second aspect of the present invention, a task distribution parallel control method based on sequential linkage processing is also provided, applied to the task distribution parallel control system based on sequential linkage processing described in any one of the preceding claims, the task distribution parallel control method comprising: Task extraction stage: This stage is used to extract the associated data of several task execution units stored in the task storage module according to preset execution instructions and output it to the task distribution module. Task distribution stage: This stage records the running progress sequence of the corresponding task running unit based on a progress counter, and queries the running progress sequence of the corresponding task running unit based on the current start command output by the scheduling control subunit. The current task running unit is triggered when the running progress sequence of the corresponding task running unit matches the current start instruction.

[0017] Compared with the prior art, the present invention has the following beneficial effects: The parallel task distribution control system proposed in this invention, based on sequential linkage processing, achieves precise recording and dynamic tracking of the running progress sequence of each task running unit through a one-to-one correspondence design between task scheduling units and task running units. This solves the problem that existing systems cannot express specific progress information in detail. Furthermore, through a real-time matching mechanism based on the current start command and the preset running progress sequence, it achieves accurate judgment of task triggering conditions, effectively improving the running control precision of each task running unit. It also enables the flexible construction of pipeline architectures with complex dependencies to support dynamic associations and condition triggering between each task running unit.

[0018] The task distribution parallel control method based on sequential linkage processing proposed in this invention belongs to the same inventive concept as the aforementioned task distribution parallel control system based on sequential linkage processing. It should at least have the same technical effect as the aforementioned task distribution parallel control system based on sequential linkage processing. Therefore, this invention will not elaborate further here.

[0019] As can be seen from the above, the technical solution of the present invention can effectively solve the problems of existing task distribution parallel control systems being unable to express the specific progress information of each task running unit in detail and introducing additional memory access latency, resulting in a reduction in the running control accuracy of each task running unit, difficulty in flexibly constructing pipeline architectures with complex dependencies, and forming a performance bottleneck in task distribution parallel control.

[0020] Other features and advantages of the present invention will be described in detail in the following detailed description section. Attached Figure Description

[0021] Figure 1 This is a schematic diagram of a parallel control system for task distribution based on sequential linkage processing, according to an embodiment of the present invention. Figure 2 This is a flowchart illustrating a parallel control method for task distribution based on sequential linkage processing, according to an embodiment of the present invention. Detailed Implementation

[0022] To enable those skilled in the art to more fully understand the technical solutions of the present invention, exemplary embodiments of the present invention will be described more comprehensively and in detail below with reference to the accompanying drawings. Obviously, the one or more embodiments of the present invention described below are merely one or more specific ways to implement the technical solutions of the present invention, and are not exhaustive. It should be understood that other ways belonging to a general inventive concept can be used to implement the technical solutions of the present invention, and should not be limited to the embodiments described exemplary. Based on one or more embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0023] Reference Figure 1 The present invention provides a task distribution parallel control system based on sequential linkage processing, including a task storage module, a task extraction module and a task distribution module; The task extraction module is used to extract the associated data of several task execution units stored in the task storage module according to the preset execution instructions and output it to the task distribution module. The task distribution module includes several task scheduling units that interact one-to-one with each task execution unit. Each task scheduling unit includes a progress counter and a scheduling control subunit. The progress counter is configured to record the execution progress sequence of the corresponding task execution unit, and the scheduling control subunit can query the execution progress sequence of the corresponding task execution unit based on the current start command output by the current task execution unit. When the running progress sequence of the corresponding task running unit matches the current start command, the current task running unit is triggered. The current start command includes the associated data of the corresponding task running unit and the predetermined triggering progress sequence.

[0024] Specifically, embodiments of the present invention record the running progress sequence of each task running unit through a progress counter. Compared with the control method that only supports each task running unit in a binary state of task completion or incomplete, this method enables a more detailed expression of the specific progress information of each task running unit, thereby significantly improving the precise control of each task running unit.

[0025] Furthermore, embodiments of the present invention utilize the recording of the running progress sequence of each task running unit to construct a control architecture that queries the running progress sequence of the corresponding task running unit based on the current start command output by the current task running unit, and triggers the current task running unit after matching. This enables the flexible construction of pipeline architectures with complex dependencies to support dynamic associations and conditional triggering between each task running unit.

[0026] In one embodiment, the task storage module includes a task memory, which is capable of acquiring and storing the associated data of each task execution unit based on the central processing unit (CPU). Specifically, the central processing unit (CPU) can generate the associated data of each task execution unit according to a custom task rule. The associated data includes the address of the data to be loaded in each task execution unit, task parameters, and initial order, etc., and is written to the task memory through a memory controller to realize the data storage of several task execution units.

[0027] It is worth noting that the custom task rules are defined specifically based on the user's current operational needs. For example, if the current operational need is to perform video image processing through three computational streams, then the Central Processing Unit (CPU) will generate three task execution units, and the associated data of each task execution unit is equivalent to the operational needs of one computational stream.

[0028] Furthermore, in the embodiments of the present invention, the Central Processing Unit (CPU) only participates in the initial generation process of the task running unit. Compared with the control architecture in the prior art where the CPU covers the creation, recording, and waiting instructions of the computing stream, its participation can be significantly reduced to improve the overall operating efficiency of the task distribution parallel control system.

[0029] In one specific embodiment, the task memory is a Double Data Rate Synchronous Dynamic Random-Access Memory (DDR).

[0030] In one embodiment, the parallel task distribution control system further includes a control module for controlling the operation of the task extraction module, the progress counter, and the scheduling control subunit. Specifically, the parallel control of the control module avoids timing conflicts or resource contention caused by the independent operation of the task extraction module, the progress counter, and the scheduling control subunit. Simultaneously, centralized control simplifies debugging and maintenance processes, thereby improving the stability and scalability of the parallel task distribution control system in complex task scenarios.

[0031] In one specific embodiment, the control module is a graphics processing unit (GPU) or a dedicated accelerator.

[0032] In one embodiment, the task extraction module includes an access controller. The access controller can read and retrieve associated data of task execution units in the task memory based on preset execution instructions and output it to the task distribution module. Specifically, embodiments of the present invention utilize an access controller to extract associated data of task execution units. Compared to the software-layer operation method of indirectly controlling the reading and retrieval of task memory through software instruction sets, this significantly reduces data retrieval latency, thereby significantly improving the efficiency of associated data extraction.

[0033] In one specific embodiment, the access controller is a Direct Memory Access Controller (DMA).

[0034] In one specific embodiment, the preset execution instruction is obtained by the user through a register configuration interface written to the access controller. Specifically, the user can write the preset execution instruction, including associated data, in binary form into a specific register embedded in the access controller through a register configuration interface electrically connected to a dedicated control terminal such as a host computer. The access controller automatically captures and parses the preset execution instruction by monitoring the status changes of the specific register in real time or through an interrupt mechanism. Based on the preset execution instruction, it generates a precise data access request to the task memory, retrieves the associated data, and outputs it to the task distribution module.

[0035] In one specific embodiment, the access controller extracts associated data of task execution units in the task memory based on the DDR bus protocol. Specifically, the access controller extracts data from the task memory via the DDR bus protocol to automatically generate commands conforming to the protocol specifications after parsing preset execution instructions, accurately retrieves associated data of task execution units in the task memory, and relies on the error correction mechanism built into the DDR bus protocol to ensure the reliability and efficiency of data transmission, providing low-latency, high-throughput data support for sequential linkage control.

[0036] In one embodiment, the progress counter is configured to write corresponding immediate values ​​(Immediate, Imm) step by step according to the running progress of the current task running unit, so as to record the running progress sequence of the corresponding task running unit.

[0037] Specifically, an immediate value (Imm) is a fixed value directly embedded in the control instruction of the progress counter, used as an operand in calculations when the control instruction is executed.

[0038] The embodiments of the present invention adopt the method of writing immediate values ​​step by step (Imm), that is, after each progress stage is completed, the progress counter automatically accumulates a preset fixed value, thereby accurately recording the running progress sequence of the corresponding task running unit, realizing fine-grained tracking of task status, improving the utilization rate of system resources and the overall data throughput of the system.

[0039] This design avoids the limitations of traditional binary state control methods, reduces hardware overhead through deterministic writing of immediate values ​​(Imm), and provides a reliable progress basis for subsequent sequence matching, thereby improving the flexibility and control accuracy of the task distribution parallel control system.

[0040] In one specific embodiment, the progress counter is a hardware counter register.

[0041] In one embodiment, each task scheduling unit further includes a task cache for caching associated data received from the corresponding task execution unit. Specifically, the task cache can temporarily store associated data retrieved from the task memory, reducing direct, high-frequency access to the task memory and thus lowering memory access latency. Simultaneously, when several task scheduling units concurrently request data, the task cache can respond quickly through local storage, avoiding task blocking caused by bandwidth contention in the task memory.

[0042] In addition, the task buffer can also support data prefetching and reuse, further optimizing resource utilization, thereby enhancing the data access efficiency and task scheduling flexibility of the task distribution parallel control system of the present invention, as well as its ability to support complex pipeline architectures and high-concurrency tasks.

[0043] In one specific embodiment, the task cache includes static random-access memory.

[0044] In one specific embodiment, the scheduling control subunit includes a task run selector and a sequence comparator. The task run selector is used to traverse each task run unit according to the associated data of the corresponding task run unit in the current start instruction to select the corresponding task run unit. The sequence comparator can determine whether the predetermined trigger progress sequence in the current start instruction is the same as the running progress sequence of the corresponding task run unit. If they are the same, then the current task execution unit is triggered. If they are different, the current task execution unit will output the current start command again until it is triggered.

[0045] Specifically, embodiments of the present invention are based on a task run selector and an order comparator to ensure that a task is started only when all dependent conditions are met. While abandoning binary state control, this prevents data races or calculation errors caused by asynchronous progress of corresponding task run units.

[0046] It is worth noting that when the predetermined trigger sequence differs from the running sequence, the current task execution unit automatically enters a waiting state and outputs the current start command again until it is triggered. This reduces unnecessary resource consumption and lowers the software layer's state check latency through the sequence comparator's comparison logic, thereby breaking through the performance bottleneck of existing system task distribution parallel control and improving the task scheduling reliability and execution efficiency of the task distribution parallel control system of this invention under complex dependencies.

[0047] Furthermore, embodiments of the present invention directly embed the trigger instruction of the current task execution unit through the comparison logic of the order comparator, making the order dependency between task execution units explicit at the hardware instruction level, thereby making the execution data dependency relationship clear at a glance in the code, and thus reducing the difficulty of writing correct and efficient parallel programs.

[0048] In one embodiment, the task distribution parallel control system further includes a task execution module, which includes an execution subunit and a task execution selector. The task execution selector is used to match the corresponding task running unit according to the execution subunit and output it to the execution subunit for execution.

[0049] Specifically, in the embodiments of the present invention, under the control of the control module, the task execution selector matches the corresponding task running unit based on the executable type of the execution sub-unit. The task distribution delay is reduced by the fast matching of the task execution selector, thereby improving the overall parallel processing throughput and resource utilization of the system.

[0050] In addition, the execution subunit can be implemented by processing hardware such as hardware accelerators to realize task execution, and can be configured according to the user's actual operating needs. This invention does not limit it.

[0051] Furthermore, it is worth noting that the Double Data Rate Synchronous Dynamic Random-Access Memory (DDR), Graphics Processing Unit (GPU), dedicated accelerator, hardware counter register, task run selector, order comparator, and task execution selector in the above embodiments of the present invention are merely illustrative examples. Other hardware can be selected based on the described functions, and the present invention is not limited thereto. Moreover, the working principles of the aforementioned hardware are all prior art; therefore, the present invention will not elaborate further on them here.

[0052] The parallel task distribution control system proposed in this invention, based on sequential linkage processing, achieves precise recording and dynamic tracking of the running progress sequence of each task running unit through a one-to-one correspondence design between task scheduling units and task running units. This solves the problem that existing systems cannot express specific progress information in detail. Furthermore, through a real-time matching mechanism based on the current start command and the preset running progress sequence, it achieves accurate judgment of task triggering conditions, effectively improving the running control precision of each task running unit. It also enables the flexible construction of pipeline architectures with complex dependencies to support dynamic associations and condition triggering between each task running unit.

[0053] Accordingly, refer to Figure 2The embodiments of the present invention also provide a task distribution parallel control method based on sequential linkage processing, applied to the task distribution parallel control system based on sequential linkage processing in any of the above embodiments. The task distribution parallel control method includes: Step S1: Task Extraction Stage: This stage is used to extract the associated data of several task execution units stored in the task storage module according to the preset execution instructions and output it to the task distribution module. Step S2: Task Distribution Stage: This stage records the running progress sequence of the corresponding task running unit based on the progress counter, and queries the running progress sequence of the corresponding task running unit based on the current start instruction output by the current task running unit, according to the scheduling control subunit. The current task execution unit is triggered when the execution progress order of the corresponding task execution unit matches the current start instruction.

[0054] The task distribution parallel control method based on sequential linkage processing proposed in this invention belongs to the same inventive concept as the aforementioned task distribution parallel control system based on sequential linkage processing. It should at least have the same technical effect as the aforementioned task distribution parallel control system based on sequential linkage processing. Therefore, this invention will not elaborate further here.

[0055] While one or more embodiments of the present invention have been described above, those skilled in the art will recognize that the present invention can be implemented in any other form without departing from its spirit and scope. Therefore, the embodiments described above are illustrative and not restrictive, and many modifications and substitutions will be apparent to those skilled in the art without departing from the spirit and scope of the invention as defined in the appended claims.

Claims

1. A parallel control system for task distribution based on sequential linkage processing, characterized in that, It includes a task storage module, a task retrieval module, and a task distribution module; The task extraction module is used to extract the associated data of several task running units stored in the task storage module according to the preset running instructions and output it to the task distribution module; The task distribution module includes several task scheduling units that interact one-to-one with each of the task execution units. Each task scheduling unit includes a progress counter and a scheduling control subunit. The progress counter is configured to record the execution progress sequence of the corresponding task execution unit. The scheduling control subunit can query the execution progress sequence of the corresponding task execution unit based on the current start command output by the current task execution unit. When the running progress sequence of the corresponding task running unit matches the current start instruction, the current task running unit is triggered, wherein the current start instruction includes the associated data of the corresponding task running unit and a predetermined trigger progress sequence.

2. The task distribution parallel control system based on sequential linkage processing according to claim 1, characterized in that, The task storage module includes a task memory, which is capable of acquiring and storing the associated data of each task execution unit based on the CPU.

3. The task distribution parallel control system based on sequential linkage processing according to claim 1, characterized in that, The parallel task distribution control system further includes a control module, which is used to control the operation of the task extraction module, the progress counter, and the scheduling control subunit.

4. The task distribution parallel control system based on sequential linkage processing according to claim 3, characterized in that, The task extraction module includes an access controller, which can read and retrieve the associated data of the task execution unit in the task memory based on the preset running instructions and output it to the task distribution module.

5. The task distribution parallel control system based on sequential linkage processing according to claim 4, characterized in that, The preset execution instructions are obtained based on the user's input to the access controller via the register configuration interface.

6. The task distribution parallel control system based on sequential linkage processing according to claim 1, characterized in that, The progress counter is configured to write corresponding Imms step by step according to the running progress of the current task running unit, so as to record the running progress sequence of the corresponding task running unit.

7. The task distribution parallel control system based on sequential linkage processing according to claim 1, characterized in that, Each of the task scheduling units further includes a task cache for caching the associated data received from the corresponding task execution unit.

8. The task distribution parallel control system based on sequential linkage processing according to claim 1, characterized in that, The scheduling control subunit includes a task run selector and a sequence comparator. The task run selector is used to traverse each task run unit according to the associated data of the corresponding task run unit in the current start instruction to select the corresponding task run unit. The sequence comparator can determine whether the predetermined trigger progress sequence in the current start instruction is the same as the running progress sequence of the corresponding task run unit. If they are the same, then the current task execution unit is triggered. If they are different, the current task running unit will output the current start command again until it is triggered.

9. The task distribution parallel control system based on sequential linkage processing according to claim 1, characterized in that, The parallel control system for task distribution also includes a task execution module, which includes an execution subunit and a task execution selector. The task execution selector is used to match the corresponding task running unit according to the execution subunit and output it to the execution subunit for execution.

10. A parallel control method for task distribution based on sequential linkage processing, characterized in that, The task distribution parallel control method, applied to the task distribution parallel control system based on sequential linkage processing as described in any one of claims 1-9, comprises: Task extraction stage: This stage is used to extract the associated data of several task execution units stored in the task storage module according to preset execution instructions and output it to the task distribution module. Task distribution stage: This stage records the running progress sequence of the corresponding task running unit based on a progress counter, and queries the running progress sequence of the corresponding task running unit based on the current start command output by the scheduling control subunit. The current task running unit is triggered when the running progress sequence of the corresponding task running unit matches the current start instruction.