Intelligent task scheduling system for underwater acoustic signal processing

By designing an intelligent task scheduling system, preprocessing and neural network task scheduling modules are used to independently complete task distribution, solving the problem of low task scheduling efficiency in heterogeneous computing architecture, and achieving efficient and real-time task scheduling.

CN120179368AActive Publication Date: 2025-06-20WUHAN LINGJIU MICROELECTRONICS CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202510657221.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-21
Publication Date
2025-06-20
Estimated Expiration
2045-05-21

AI Technical Summary

Technical Problem

The prior art is difficult to effectively manage task scheduling in heterogeneous computing architecture, resulting in high CPU resource usage, large communication delay and low scheduling efficiency, which cannot meet the real-time task requirements of water acoustic signal processing.

Method used

An intelligent task scheduling system for water acoustic signal processing is designed. Through the preprocessing task scheduling module and the neural network task scheduling module, the task generation and distribution can be completed independently, the CPU scheduling pressure is reduced, and the task scheduling of a heterogeneous architecture is realized through the hardware module.

Benefits of technology

It realizes task scheduling without CPU participation, reduces communication delay and resource consumption, improves task scheduling efficiency, and meets the real-time requirements of water acoustic signal processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120179368A_ABST
    Figure CN120179368A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an intelligent task scheduling system for underwater acoustic signal processing. The system comprises a preprocessing task scheduling module and a neural network task scheduling module, a preprocessing task scheduling module obtains preprocessing tasks from the preprocessing task queue and distributes the preprocessing tasks to corresponding preprocessing units; the neural network task scheduling module generates a neural network task queue according to the execution state of the preprocessing task and the configuration data of the neural network units, and distributes neural network tasks to the corresponding neural network units; wherein the underwater acoustic signal is processed based on the plurality of preprocessing units and the plurality of neural network units. Aiming at the heterogeneous preprocessing unit and the neural network unit, a special hardware module is designed to autonomously complete task generation and distribution based on the calculation dependency relationship of the preprocessing unit and the neural network unit, and the method is transparent to software, can effectively exert heterogeneous architecture performance, does not need CPU participation, and is low in communication delay and low in resource consumption.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of task scheduling, and more particularly, to an intelligent task scheduling system for underwater acoustic signal processing. Background Art

[0002] In recent years, preprocessing algorithms and neural network models related to underwater acoustic signal processing have developed rapidly and require more computing power than before. However, the improvement of the single-core performance of the general-purpose processor CPU has reached saturation, and at the same time, the multi-threaded power consumption is high, and the performance efficiency is relatively low, so it is impossible to achieve hardware acceleration for tasks with different requirements. Therefore, dedicated signal preprocessing and neural network hardware acceleration units are integrated on the underwater acoustic signal processing chip to improve the performance of the computing system.

[0003] The operation of the underwater acoustic signal processing chip involves a large number of real-time task processing. To reduce task congestion and improve task execution efficiency, it is necessary to implement task scheduling for each acceleration unit. However, the preprocessing unit, the neural network processing unit, and the general-purpose processor CPU are computing modules with different computing architectures, and each module has its own dedicated instruction set, so the software implementation of task scheduling is relatively complex. At the same time, if the CPU is responsible for managing the preprocessing and neural network units, each signal transmission needs to pass through the CPU, which will occupy CPU resources. In addition, when the task process needs to be switched or forced to stop, it is difficult for the scheduling software to clean up the tasks being scheduled, resulting in low scheduling efficiency, which in turn affects the overall performance and stable operation of the chip. Therefore, to manage acceleration units with different architectures at the same time, it is necessary to design a hardware module dedicated to task scheduling to reduce the scheduling pressure on the CPU.

[0004] The existing hardware scheduling scheme of related technologies accesses a task scheduler between the CPU and each hardware accelerator, and the scheduler realizes hardware scheduling through task dependencies. However, this process still requires the participation of the CPU, and there is a communication delay between the CPU, the hardware scheduler, and the hardware accelerator, which is difficult to meet the real-time task scheduling requirements of underwater acoustic signal processing. Summary of the Invention

[0005] The present invention provides an intelligent task scheduling system for underwater acoustic signal processing to solve the technical problems existing in the prior art, including a preprocessing task scheduling module and a neural network task scheduling module; The preprocessing task scheduling module obtains preprocessing tasks from the preprocessing task queue, distributes the preprocessing tasks to the corresponding preprocessing units, and transfers the preprocessing task execution status of the preprocessing units to the neural network task scheduling module; The neural network task scheduling module generates a neural network task queue according to the preprocessing task execution status and the configuration data of the neural network unit, and distributes the neural network tasks to the corresponding neural network units; Among them, the underwater acoustic signal is processed based on multiple preprocessing units and multiple neural network units.

[0006] Based on the above technical solutions, the present invention can also be improved as follows.

[0007] Optionally, the preprocessing task scheduling module includes a first configuration data input interface; The preprocessing task scheduling module receives first configuration data through the first configuration data input interface, and the first configuration data includes register configuration information of each preprocessing unit, as well as preprocessing operation algorithms and model parameter information of each preprocessing unit; Configure each preprocessing unit according to the register configuration information of each preprocessing unit, as well as the preprocessing operation algorithms and model parameter information of each preprocessing unit.

[0008] Optionally, the preprocessing task scheduling module further includes a preprocessing task FIFO queue, a preprocessing scheduling controller, a running timer P_Timer, and a preprocessing completed task FIFO queue; The preprocessing scheduling controller reads the preprocessing task Task from the preprocessing task FIFO queue and receives the running states of multiple preprocessing units; Distribute the read preprocessing task Task to the preprocessing units in the idle state, and at the same time control the running timer P_Timer to record the running time of the preprocessing units executing the preprocessing task Task, where the running timer P_Timer contains the running timings of each preprocessing unit, corresponding to the running time of each preprocessing task; When the preprocessing unit completes the execution of the preprocessing task, the preprocessing scheduling controller writes the preprocessing task execution status into the preprocessing completed task FIFO queue, and the preprocessing task execution status includes the preprocessing task TaskID completed by the preprocessing unit, the configuration information P_cfg of the preprocessing unit, and the running time P_time of the preprocessing unit executing the preprocessing task.

[0009] Optionally, the step of distributing the read preprocessing task Task to the preprocessing units in the idle state includes: When there are multiple preprocessing units in the idle state at the same time, distribute the read preprocessing task Task to the preprocessing unit with the smallest number and in the idle state.

[0010] Optionally, the preprocessing task scheduling module further includes a first reading interface; The preprocessing task scheduling module transmits the preprocessing task execution status to the neural network task scheduling module through the first reading interface.

[0011] Optionally, the neural network task scheduling module includes a second configuration data input interface; The neural network task scheduling module receives second configuration data through the second configuration data input interface. The second configuration data is the configuration data of the neural network unit, and the second configuration data includes the register configuration information of each neural network unit, as well as the operation algorithm and model parameter information of each neural network unit; Configure each neural network unit according to the register configuration information of each neural network unit, as well as the operation algorithm and model parameter information of each neural network unit.

[0012] Optionally, the neural network task scheduling module includes a neural network task generation unit, a longest running time priority sorting circuit, a neural network task FIFO queue, and a neural network scheduling controller; During operation, the neural network task generation unit obtains the completed preprocessing task TaskID, the configuration information P_cfg of the preprocessing unit, and the running time P_time of the preprocessing unit from the preprocessing completed task FIFO queue; generates a neural network task NeTask according to the preprocessing task TaskID and the configuration information P_cfg of the preprocessing unit, where the neural network task NeTask has a one-to-one corresponding task ID with the preprocessing task; The longest running time priority sorting circuit sorts the generated neural network tasks NeTask according to the running time NN_T of each neural network unit, and writes the sorted neural network tasks NeTask into the neural network task FIFO queue, where the running time NN_T of the neural network unit is obtained according to the running time P_time of the preprocessing unit and the model type NN_type of the neural network; The neural network scheduling controller extracts the neural network task NeTask from the neural network task FIFO queue and assigns it to the corresponding neural network unit.

[0013] Optionally, obtaining the running time NN_T of the neural network unit according to the running time P_time of the preprocessing unit and the model type NN_type of the neural network includes: Obtain the algorithm type P_type of the preprocessing unit from the configuration information P_cfg of the preprocessing unit, and obtain the corresponding output preprocessing output sequence length L in the preset preprocessing output sequence length L lookup table according to the algorithm type P_type of the preprocessing unit and the running time P_time of the preprocessing unit; According to the preprocessing output sequence length L and the model type NN_type of the neural network unit, look up and obtain the corresponding running time NN_T of the neural network unit in the preset neural network task running time NN_T lookup table.

[0014] Optionally, the neural network scheduling controller extracts the neural network task NeTask from the neural network task FIFO queue and assigns it to the corresponding neural network unit, including: Distribute the extracted neural network task NeTask to the neural network units in the idle state. Among them, if there are multiple neural network units in the idle state at the same time, the neural network task will be distributed to the neural network unit with the smallest number and in the idle state.

[0015] An intelligent task scheduling system for underwater acoustic signal processing provided by the present invention is aimed at heterogeneous preprocessing units and neural network units. Based on the computational dependency relationship between the preprocessing unit and the neural network unit, a dedicated hardware module is designed to autonomously complete task generation and distribution, which is transparent to software, can effectively utilize the performance of the heterogeneous architecture, does not require the participation of the CPU, has low communication delay, and consumes less resources. Description of the Drawings

[0016] Figure 1 It is a framework schematic diagram of an intelligent task scheduling system for underwater acoustic signal processing provided by the present invention; Figure 2 It is an architecture schematic diagram of the preprocessing task scheduling module; Figure 3 It is a control state transition schematic diagram of the preprocessing task scheduling module; Figure 4 It is an architecture schematic diagram of the neural network task scheduling module; Figure 5 It is a schematic diagram of the operation pipeline of the neural network task scheduling hardware architecture; Figure 6 It is a control state transition schematic diagram of the neural network task scheduling module; Figure 7 It is a schematic diagram of the complete operation process of an intelligent task scheduling system for underwater acoustic signal processing provided by the present invention. Detailed Embodiments

[0017] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without making creative efforts shall fall within the protection scope of the present invention. In addition, the technical features in each embodiment or individual embodiment provided by the present invention can be combined with each other arbitrarily to form a feasible technical solution. This combination is not restricted by the order of steps and / or the structural composition mode, but must be based on the fact that those of ordinary skill in the art can implement it. When the combination of technical solutions is contradictory or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the protection scope required by the present invention.

[0018] In the process of underwater acoustic signal processing, multiple preprocessing units and multiple neural network units are involved. Among them, the preprocessing units implement the preprocessing of underwater acoustic signals, and the neural network units implement the in-depth processing of underwater acoustic signals, jointly realizing the processing of underwater acoustic signals.

[0019] The preprocessing units and the neural network units are two heterogeneous accelerator units with their own dedicated instruction sets, which are also not compatible with the CPU instruction set. The existing software-based scheduling method is used to divide tasks and control data access for the heterogeneous preprocessing units and neural network units. This process relies on manual experience and is difficult to achieve the optimal allocation of heterogeneous computing resources. At the same time, there is a coupling relationship between software development and the accelerator unit architecture, and the complexity of the task scheduler is high and it is difficult to write.

[0020] In addition, an existing hardware task scheduling method is to connect a task scheduler between the CPU and each hardware accelerator. This process still requires the participation of the CPU, and there is a delay between the CPU, the task scheduler and the hardware accelerator, which is not conducive to real-time scheduling. At the same time, the task scheduler also needs to access the memory, occupying the bus resources.

[0021] Based on this, the present invention designs a dedicated hardware module to independently complete task generation and distribution based on the computational dependency relationship between the preprocessing units and the neural network units, without relying on the CPU, saving the bus resources of the CPU and having a higher scheduling rate.

[0022] Figure 1 An intelligent task scheduling system for underwater acoustic signal processing provided by the present invention. This task scheduling system adopts a hierarchical scheduling design, with preprocessing task scheduling as the first level and neural network task scheduling as the second level, meeting the computational dependency relationship of underwater acoustic signal processing and being able to execute in parallel to improve efficiency.

[0023] The intelligent task scheduling system for underwater acoustic signal processing provided by the embodiments of the present invention includes a preprocessing task scheduling module and a neural network task scheduling module. Among them, the preprocessing task scheduling module obtains preprocessing tasks from the preprocessing task queue, distributes the preprocessing tasks to corresponding preprocessing units, and transfers the execution status of the preprocessing tasks of the preprocessing units to the neural network task scheduling module; the neural network task scheduling module generates a neural network task queue according to the execution status of the preprocessing tasks and the configuration data of the neural network units, and distributes the neural network tasks to corresponding neural network units.

[0024] Specifically, as Figure 1 shown, the working principle of the intelligent task scheduling system for underwater acoustic signal processing is as follows: The preprocessing task scheduling module receives the preprocessing task queue information from the outside, interacts with multiple preprocessing units P1, P2,...., PN, and distributes the preprocessing tasks in the preprocessing task queue to the corresponding preprocessing units. Subsequently, the execution status of the preprocessing tasks processed by the preprocessing units is transferred to the neural network task scheduling module. The neural network task scheduling module interacts with the neural network units NPU_1, NPU_2,..., NPU_M, then generates a neural network task queue based on the execution status of the preprocessing tasks, and distributes the neural network tasks to the corresponding neural network units for processing.

[0025] In an embodiment of the present invention, the preprocessing task scheduling module includes a first configuration data input interface and a first reading interface. The preprocessing task scheduling module receives first configuration data through the first configuration data input interface, and the first configuration data includes the register configuration information of each preprocessing unit and the preprocessing operation algorithm and model parameter information of each preprocessing unit; according to the register configuration information of each preprocessing unit and the preprocessing operation algorithm and model parameter information of each preprocessing unit, each preprocessing unit is configured. And the preprocessing task scheduling module transfers the preprocessing task status to the neural network task scheduling module through the first reading interface.

[0026] In an embodiment of the present invention, the preprocessing task scheduling module further includes a preprocessing task FIFO queue, a preprocessing scheduling controller, an operation timer P_Timer, and a preprocessing completed task FIFO queue; The preprocessing scheduling controller reads the preprocessing task Task from the preprocessing task FIFO queue and receives the operation status of multiple preprocessing units; Distribute the read preprocessing task Task to the preprocessing units in the idle state, and at the same time control the running timer P_Timer to record the running time of the preprocessing units for executing the preprocessing task Task, where the running timer P_Timer contains the running timings of each preprocessing unit, corresponding to the running time of each preprocessing task; After the preprocessing unit finishes executing the preprocessing task, the preprocessing scheduling controller writes the preprocessing task execution status into the preprocessing completed task FIFO queue, and the preprocessing task execution status includes the preprocessing task TaskID completed by the preprocessing unit, the configuration information P_cfg of the preprocessing unit, and the running time P_time of the preprocessing unit for executing the preprocessing task.

[0027] Specifically, refer to Figure 2 , which is a schematic architecture diagram of the preprocessing task scheduling module of the embodiment of the present invention, including a preprocessing task FIFO queue (a first-in, first-out queue), a preprocessing scheduling controller, a preprocessing completed task FIFO queue, and a running timing P_T. Before running, the preprocessing scheduling controller receives configuration data, which includes the register configuration data of each preprocessing unit and the type P_type of the running underwater acoustic signal preprocessing algorithm. In addition, the preprocessing scheduling controller has a read interface for software to read the task execution status. Then, the preprocessing scheduling controller reads the preprocessing task Task from the preprocessing task FIFO queue, receives the status of the preprocessing units P1, P2,..., PN (PN represents the Nth preprocessing unit), and then distributes the preprocessing task to the idle preprocessing units, while controlling the running timer P_Timer. The running timer P_Timer contains the running timings P_T1, P_T2,..., P_TN of each preprocessing unit, and the running times of each preprocessing unit for the preprocessing task are P_time1, P_time2,...., P_timeN (P_timeN represents the running time of the Nth preprocessing unit for executing the preprocessing task). After the preprocessing unit finishes running, the preprocessing scheduling controller writes the preprocessing task TaskID (Task1, Task2,..., TaskN), the configuration information P_cfg (P1_cf1, P1_cf2,..., PN_cfg) of the preprocessing unit, and the running time P_time of the preprocessing unit into the preprocessing completed task FIFO queue.

[0028] Refer to Figure 3 , which describes the schematic diagram of the control state transition of the preprocessing task scheduling module. The preprocessing task scheduling state control includes 5 states: the initial state, task acquisition, task distribution, status table update, and clearing state. The state transition process is as follows: When powered on, it is in state S0. If the preprocessing task FIFO queue is empty, it means there are no tasks to obtain, and it stays in state S0. If the preprocessing task FIFO queue changes from empty to non-empty, it means there are tasks to obtain, and it enters state S1. If the running timer value is cleared, it enters state S4.

[0029] In state S1, the preprocessing scheduling controller continuously obtains preprocessing tasks from the preprocessing task FIFO queue and obtains the corresponding configuration data of the preprocessing tasks, and then enters state S2. If the running timer value is cleared, it enters state S4.

[0030] In state S2, the preprocessing scheduling controller distributes the tasks to the preprocessing units in the idle state. If there are multiple preprocessing unit modules in the idle state, the preprocessing tasks are distributed to the preprocessing unit with the smallest number. At the same time, the preprocessing scheduling controller starts the running timer corresponding to the preprocessing unit. If the preprocessing task is not completed but there are idle preprocessing units, it returns to S1. If the preprocessing task is not completed and all preprocessing units are busy, it stays in S2. After a preprocessing unit completes the task, it enters state S3. If the running timer value is cleared, it enters state S4.

[0031] In state S3, the preprocessing scheduling controller writes the task TaskID of the preprocessing unit, the configuration information of the preprocessing unit, and the running time of the preprocessing unit executing the preprocessing task into the preprocessing completed task FIFO queue, and at the same time clears the corresponding running timer and enters state S4.

[0032] In state S4, if all preprocessing tasks are processed, the cache of the preprocessing scheduling controller is cleared and the register is set to the initial value, and then it returns to the initial state S0. If there are preprocessing tasks to be processed, it enters state S1 to continue obtaining preprocessing tasks.

[0033] Figure 4 The architecture diagram of the neural network task scheduling module according to an embodiment of the present invention is shown. In an embodiment of the present invention, the neural network task scheduling module includes a second configuration data input interface.

[0034] The neural network task scheduling module receives second configuration data, that is, the configuration data of the neural network unit, through the second configuration data input interface. The second configuration data includes the register configuration information of each neural network unit and the operation algorithm and model parameter information of each neural network unit; Configure each neural network unit according to the register configuration information of each neural network unit and the operation algorithm and model parameter information of each neural network unit.

[0035] In one embodiment of the present invention, the neural network task scheduling module includes a neural network task generation unit, a longest running time priority sorting circuit, a neural network task FIFO queue, and a neural network scheduling controller.

[0036] Specifically, Figure 4 The working process of the shown neural network task scheduling module is as follows: During operation, the neural network scheduling controller obtains the completed preprocessing task TaskID, the configuration information P_cfg of the preprocessing unit, and the running time P_time of the preprocessing unit from the preprocessing task completed FIFO queue. The preprocessing task TaskID and the configuration information P_cfg of the preprocessing unit will be input into the neural network task generation unit, and combined with the configuration data to generate a neural network task NeTask. The neural network task NeTask has a task ID that corresponds one-to-one with the preprocessing task Task. At the same time, the neural network scheduling controller obtains the preprocessing algorithm type P_type from the configuration information P_cfg of the preprocessing unit, and obtains the corresponding preprocessing task output sequence length L in the preprocessing output sequence length L lookup table in combination with the running time P_time of the preprocessing unit. Subsequently, the preprocessing task output sequence length L enters the running time NN_T lookup table again, and the running time NN_T of the neural network unit executing the neural network task is obtained in combination with the model type NN_type of the neural network unit in the configuration data. Then, the neural network task NeTask and the running time NN_T of the neural network unit executing the neural network task enter the longest running time priority sorting circuit to complete the sorting. The neural network task NeTask with the largest running time NN_T will be written into the neural network task FIFO queue first. Finally, the neural network scheduling controller extracts the neural network task NeTask from the neural network task FIFO queue and assigns it to the corresponding neural network unit NPU. The neural network scheduling controller also has a read interface for software to read the task execution status. Figure 5 Shows a schematic diagram of the operation pipeline of the neural network task scheduling hardware architecture, which is only used to understand the architecture principle.

[0037] See Figure 6 , which describes the schematic diagram of the control state transition of the neural network task scheduling module, mainly including the following steps: (1) When powered on, it is in state S0. If the neural network task FIFO queue is empty, it means that there is no task to obtain, and it stays in state S0. If the neural network task FIFO queue changes from empty to non-empty, it means that there is a task to obtain, and it enters state S1.

[0038] (2) In state S1, the neural network scheduling controller continuously retrieves tasks from the neural network task FIFO queue, obtains the configuration data corresponding to the tasks, and then enters state S2.

[0039] (3) In state S2, the neural network scheduling controller distributes the neural network tasks to the neural network units NPUs in the idle state. If there are multiple neural network units NPUs in the idle state, the neural network tasks are distributed to the neural network unit NPU with the smallest number. If the neural network task is not completed but there is a neural network unit NPU idle, it returns to S1. If the neural network task is not completed and all neural network units NPUs are busy, it stays in S2. After a neural network unit NPU task is completed, it enters state S3.

[0040] (4) In state S4, if all neural network tasks are processed, the cache of the neural network scheduling controller is cleared and the register is set to the initial value, and then it returns to the initial state S0. If there are pending tasks, it enters state S1 to continue retrieving tasks.

[0041] To further describe an intelligent task scheduling system architecture for underwater acoustic signal processing of the present invention, the following will combine Figure 2 and Figure 4 , and give the complete operation process of the task scheduling architecture, as Figure 7 shows a schematic diagram of the complete operation process of an intelligent task scheduling system for underwater acoustic signal processing, including the following process steps: 701: Build a neural network model on software and train it, and then convert it into a data stream file that can be deployed to hardware.

[0042] 702: Implement a preprocessing algorithm on software, and then convert it into a data stream file that can be deployed to hardware.

[0043] 703: Download the neural network and preprocessing algorithm data stream files to the corresponding NPU units and preprocessing units.

[0044] 704: Calculate the length L of the preprocessing output sequence according to the deployment situation. When the preprocessing algorithm and the preprocessing unit configuration for underwater acoustic task processing are fixed, according to the input sequence length, obtain the running time of the preprocessing algorithm on the preprocessing unit. The input sequence length and the running time are discretized at a certain interval, and then downloaded to the preprocessing output sequence length L lookup table in the hardware.

[0045] 705: Calculate the running time NN_T of the neural network according to the deployment situation. When the neural network model for underwater acoustic task processing and the NPU unit configuration are fixed, obtain the running time of the neural network model on the NPU according to the input sequence length. The input sequence length and the running time are discretized at a certain interval and then downloaded into the running time NN_T lookup table of the hardware.

[0046] 706: Generate a preprocessing task and input it into the preprocessing task FIFO queue.

[0047] 707: Start the preprocessing scheduling control module, enable the preprocessing scheduling control state machine, and at the same time activate each preprocessing unit and the running timer.

[0048] 708: Read the preprocessing completed task FIFO and input it into the neural network task NeTask generation module and the preprocessing output sequence length L lookup table.

[0049] 709: Obtain the NPU configuration data, including register configuration and model parameter information.

[0050] 710: According to the input preprocessing running time, combined with the preprocessing output sequence length L lookup table, obtain the corresponding output sequence length L.

[0051] 711: The task ID and the preprocessing configuration are input into the neural network task NeTask generation module, and a neural network task is generated in combination with the NPU configuration data.

[0052] 712: According to the preprocessing output sequence length L, combined with the neural network running time NN_T lookup table, obtain the neural network running time NN_T.

[0053] 713: Start the longest running time priority sorting circuit to complete the sorting, and put the sorting result into the neural network task queue FIFO.

[0054] 714: Obtain the neural network task from the neural network task FIFO queue.

[0055] 715: Start the neural network scheduling control module, enable the neural network scheduling control state machine, and complete the NPU task allocation.

[0056] The neural network scheduling control module checks whether there are pending tasks. If so, jump back to 714 to continue obtaining tasks. Otherwise, check whether the input neural network task queue is updated. If it is updated, jump back to 713. Otherwise, enter 716.

[0057] 716: Obtain the execution result of the neural network task through software.

[0058] 717: Complete data verification on the software and finally display the results.

[0059] The present invention provides an intelligent task scheduling system for underwater acoustic signal processing. First, the scheduling system includes two levels: preprocessing task scheduling and neural network task scheduling, which satisfy the computational dependency relationship of underwater acoustic signal processing, can be executed in parallel, and have high task scheduling efficiency. Second, the task scheduling control operation process does not require the participation of the CPU and the bus, avoiding the delay caused by communication between the CPU, scheduler, and acceleration unit, and effectively reducing resource consumption. Finally, both task generation and priority division are executed by hardware, reducing the dependence on software development and directly achieving the optimal allocation of heterogeneous computing resources from the hardware.

[0060] It should be noted that in the above embodiments, the descriptions of each embodiment have their own emphases. For the parts not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0061] Those skilled in the art should understand that the embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0062] The present invention is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, as well as the combination of flows and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded computer, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0063] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device, and the instruction device implements the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0064] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus, so that a series of operation steps are executed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions for implementing the steps specified in one process or a plurality of processes and / or blocks Figure 1 one process or a plurality of processes and / or blocks Figure 1 or steps of functions specified in a plurality of blocks.

[0065] Although the preferred embodiments of the present invention have been described, additional changes and modifications can be made by those skilled in the art once they learn of the basic inventive concept. Therefore, the appended claims are intended to be construed to cover the preferred embodiments as well as all changes and modifications falling within the scope of the present invention.

[0066] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention is also intended to include these modifications and variations.

Claims

1. An intelligent task scheduling system for underwater acoustic signal processing, characterized in that: Including pre-processing task scheduling module and neural network task scheduling module; The preprocessing task scheduling module obtains the preprocessing task from the preprocessing task queue, distributes the preprocessing task to the corresponding preprocessing unit, and transmits the preprocessing task execution status of the preprocessing unit to the neural network task scheduling module; The neural network task scheduling module generates a neural network task queue according to the execution status of the preprocessing task and the configuration data of the neural network unit, and distributes the neural network tasks to the corresponding neural network units; Among them, the underwater acoustic signal is processed based on multiple preprocessing units and multiple neural network units.

2. The intelligent task scheduling system according to claim 1, characterized in that: The pre-processing task scheduling module includes a first configuration data input interface; The preprocessing task scheduling module receives first configuration data through the first configuration data input interface, wherein the first configuration data includes register configuration information of each of the preprocessing units and preprocessing operation algorithm and model parameter information of each of the preprocessing units; Each of the preprocessing units is configured according to the register configuration information of each of the preprocessing units and the preprocessing operation algorithm and model parameter information of each of the preprocessing units.

3. The intelligent task scheduling system according to claim 2, characterized in that: The pre-processing task scheduling module also includes a pre-processing task FIFO queue, a pre-processing scheduling controller, a running timer P_Timer and a pre-processing completed task FIFO queue; The preprocessing scheduling controller reads the preprocessing task Task from the preprocessing task FIFO queue and receives the operating status of the plurality of preprocessing units; Distribute the read preprocessing task Task to the preprocessing unit in an idle state, and control the running timer P_Timer to record the running time of the preprocessing unit executing the preprocessing task Task, wherein the running timer P_Timer contains the running timing of each preprocessing unit, corresponding to the running time of each preprocessing task; When the preprocessing unit completes the preprocessing task, the preprocessing scheduling controller writes the preprocessing task execution status into the preprocessing completed task FIFO queue, and the preprocessing task execution status includes the preprocessing task TaskID completed by the preprocessing unit, the configuration information P_cfg of the preprocessing unit and the running time P_time of the preprocessing unit to execute the preprocessing task.

4. The intelligent task scheduling system according to claim 3, characterized in that: The distributing the read preprocessing task Task to the preprocessing unit in an idle state includes: When there are multiple preprocessing units in an idle state at the same time, the read preprocessing task Task is distributed to the preprocessing unit with the smallest number and in an idle state.

5. The intelligent task scheduling system according to claim 3, characterized in that: The pre-processing task scheduling module also includes a first reading interface; The preprocessing task scheduling module transmits the preprocessing task execution status to the neural network task scheduling module through the first reading interface.

6. The intelligent task scheduling system according to claim 1, characterized in that: The neural network task scheduling module includes a second configuration data input interface; The neural network task scheduling module receives second configuration data through the second configuration data input interface, where the second configuration data is the configuration data of the neural network unit, and the second configuration data includes register configuration information of each of the neural network units and operating algorithm and model parameter information of each of the neural network units; Each neural network unit is configured according to the register configuration information of each neural network unit and the operating algorithm and model parameter information of each neural network unit.

7. The intelligent task scheduling system according to claim 3, characterized in that: The neural network task scheduling module includes a neural network task generation unit, a longest running time priority sorting circuit, a neural network task FIFO queue and a neural network scheduling controller; During operation, the neural network task generation unit obtains the completed preprocessing task TaskID, the configuration information P_cfg of the preprocessing unit and the running time P_time of the preprocessing unit from the preprocessing completed task FIFO queue; generates a neural network task NeTask according to the preprocessing task TaskID and the configuration information P_cfg of the preprocessing unit, wherein the neural network task NeTask has a one-to-one corresponding task ID with the preprocessing task; The longest running time priority sorting circuit sorts the generated neural network tasks NeTask according to the running time NN_T of each neural network unit, and writes the sorted neural network tasks NeTask into the neural network task FIFO queue, wherein the running time NN_T of the neural network unit is obtained according to the running time P_time of the preprocessing unit and the model type NN_type of the neural network; The neural network scheduling controller extracts the neural network task NeTask from the neural network task FIFO queue and assigns it to the corresponding neural network unit.

8. The intelligent task scheduling system according to claim 7, characterized in that: The method of obtaining the running time NN_T of the neural network unit according to the running time P_time of the preprocessing unit and the model type NN_type of the neural network comprises: Obtaining the algorithm type P_type of the preprocessing unit from the configuration information P_cfg of the preprocessing unit, and obtaining the corresponding output preprocessing output sequence length L in the preset preprocessing output sequence length L lookup table according to the algorithm type P_type of the preprocessing unit and the running time P_time of the preprocessing unit; According to the preprocessing output sequence length L and the model type NN_type of the neural network unit, the preset neural network task running time NN_T lookup table is searched to obtain the corresponding neural network unit running time NN_T.

9. The intelligent task scheduling system according to claim 7, characterized in that: The neural network scheduling controller extracts the neural network task NeTask from the neural network task FIFO queue and assigns it to the corresponding neural network unit, including: The extracted neural network task NeTask is distributed to the neural network units in the idle state. If there are multiple neural network units in the idle state at the same time, the neural network task is distributed to the neural network unit with the smallest number and in the idle state.

Citation Information

Patent Citations

  • Motor imagery electroencephalogram signal classification method based on parallel CNN-Transform neural network

    CN113887513A

  • Data transmission method and system facing multiple core particles

    CN118349514A

  • Heterogeneous multiprocessor neural network operator scheduling method, device, equipment and medium

    CN119536954A

  • AI computing power resource remote calling framework and big data direct connection method

    CN119621288A

  • Processing unit selection mechanism

    US12175285B1