An intelligent task scheduling system for underwater acoustic signal processing

By designing an intelligent task scheduling system for underwater acoustic signal processing and utilizing hardware modules to autonomously complete task generation and distribution, the communication delay and resource occupation problems caused by CPU dependence in existing technologies are solved, efficient heterogeneous computing scheduling is achieved, and the real-time task requirements of underwater acoustic signal processing are met.

CN120179368BActive Publication Date: 2025-09-05WUHAN LINGJIU MICROELECTRONICS CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In the existing technology, the task scheduling scheme on the underwater acoustic signal processing chip relies on the CPU, resulting in high communication delay and serious resource occupation, making it difficult to meet real-time task requirements. In addition, the scheduling complexity of heterogeneous computing modules is high, making it difficult to achieve efficient scheduling.

Method used

An intelligent task scheduling system for underwater acoustic signal processing is designed, which includes a preprocessing task scheduling module and a neural network task scheduling module. Task generation and distribution are completed autonomously through hardware modules, which reduces CPU involvement, satisfies the dependencies of heterogeneous computing, and achieves efficient scheduling.

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 underwater acoustic signal processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120179368B_ABST
    Figure CN120179368B_ABST
Patent Text Reader

Abstract

An embodiment of the present invention provides an intelligent task scheduling system for underwater acoustic signal processing, which includes a preprocessing task scheduling module and a neural network task scheduling module; the preprocessing task scheduling module obtains preprocessing tasks from a preprocessing task queue and distributes them to corresponding preprocessing units; the neural network task scheduling module generates a neural network task queue based on the execution status of the preprocessing tasks and the configuration data of the neural network unit, and distributes the neural network tasks to the corresponding neural network unit; wherein the underwater acoustic signal is processed based on multiple preprocessing units and multiple neural network units. The present invention is aimed at heterogeneous preprocessing units and neural network units, and based on the computational dependency relationship between the preprocessing units and the neural network units, a dedicated hardware module is designed to independently complete task generation and distribution. The system is transparent to software, can effectively exert the performance of heterogeneous architectures, does not require CPU participation, has low communication delay, and consumes less resources.
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 specifically, to an intelligent task scheduling system for underwater acoustic signal processing. Background Art

[0002] In recent years, the rapid development of preprocessing algorithms and neural network models related to underwater acoustic signal processing has necessitated greater computing power than ever before. However, single-core performance improvements in general-purpose CPUs have reached saturation, while multithreading consumes high power and exhibits low performance efficiency, making hardware acceleration of diverse tasks impossible. Therefore, dedicated signal preprocessing and neural network hardware acceleration units have been integrated into underwater acoustic signal processing chips to enhance computing system performance.

[0003] The operation of underwater acoustic signal processing chips involves a large number of real-time task processing. In order to reduce task congestion and improve task execution efficiency, it is necessary to implement task scheduling of various acceleration units. However, the preprocessing unit, neural network processing unit and general-purpose processor CPU are computing modules with different computing architectures. Each module has its own dedicated instruction set, and 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 clear the tasks being scheduled, resulting in low scheduling efficiency, which in turn affects the overall performance and stable operation of the chip. Therefore, in order to manage acceleration units of 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] Existing hardware scheduling solutions integrate a task scheduler between the CPU and various hardware accelerators. The scheduler implements hardware scheduling based on task dependencies. However, this process still requires CPU participation, and communication delays exist between the CPU, hardware scheduler, and hardware accelerators, making it difficult to meet the real-time task scheduling requirements of underwater acoustic signal processing. Summary of the Invention

[0005] In view of the technical problems existing in the prior art, the present invention provides an intelligent task scheduling system for underwater acoustic signal processing, including a preprocessing task scheduling module and a neural network task scheduling module;

[0006] The preprocessing task scheduling module obtains preprocessing tasks from the preprocessing task queue, distributes the preprocessing tasks to corresponding preprocessing units, and transmits the preprocessing task execution status of the preprocessing units to the neural network task scheduling module;

[0007] The neural network task scheduling module generates a neural network task queue according to the execution status of the pre-processing task and the configuration data of the neural network unit, and distributes the neural network task to the corresponding neural network unit;

[0008] Among them, the underwater acoustic signal is processed based on multiple preprocessing units and multiple neural network units.

[0009] On the basis of the above technical solution, the present invention can also make the following improvements.

[0010] Optionally, the pre-processing task scheduling module includes a first configuration data input interface;

[0011] The preprocessing task scheduling module receives first configuration data through the first configuration data input interface, where 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;

[0012] 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.

[0013] Optionally, the pre-processing task scheduling module further 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;

[0014] The pre-processing scheduling controller reads the pre-processing task Task from the pre-processing task FIFO queue and receives the operating status of the plurality of pre-processing units;

[0015] Distribute the read preprocessing task Task to the preprocessing unit in the 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 includes the running timing of each preprocessing unit, corresponding to the running time of each preprocessing task;

[0016] 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. 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.

[0017] Optionally, distributing the read preprocessing task Task to the preprocessing unit in an idle state includes:

[0018] When there are multiple pre-processing units in an idle state at the same time, the read pre-processing task Task is distributed to the pre-processing unit with the smallest number and in an idle state.

[0019] Optionally, the pre-processing task scheduling module further includes a first reading interface;

[0020] The preprocessing task scheduling module transmits the preprocessing task execution status to the neural network task scheduling module through the first reading interface.

[0021] Optionally, the neural network task scheduling module includes a second configuration data input interface;

[0022] 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;

[0023] 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.

[0024] 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;

[0025] 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 to the preprocessing task;

[0026] 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;

[0027] 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.

[0028] 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:

[0029] 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;

[0030] 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.

[0031] 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:

[0032] 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.

[0033] The present invention provides an intelligent task scheduling system for underwater acoustic signal processing. For heterogeneous preprocessing units and neural network units, based on the computational dependencies between the preprocessing units and the neural network units, a dedicated hardware module is designed to autonomously complete task generation and distribution. The system is transparent to the software, can effectively exert the performance of heterogeneous architectures, does not require CPU participation, has low communication delay, and consumes less resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 A schematic diagram of the framework of an intelligent task scheduling system for underwater acoustic signal processing provided by the present invention;

[0035] Figure 2 This is a schematic diagram of the architecture of the pre-processing task scheduling module;

[0036] Figure 3 This is a schematic diagram of the control state transfer of the pre-processing task scheduling module;

[0037] Figure 4 This is a schematic diagram of the architecture of the neural network task scheduling module;

[0038] Figure 5 Schematic diagram of the hardware architecture running pipeline for neural network task scheduling;

[0039] Figure 6 This is a schematic diagram of the control state transfer of the neural network task scheduling module;

[0040] Figure 7 A schematic diagram of the complete operation flow of an intelligent task scheduling system for underwater acoustic signal processing provided by the present invention. DETAILED DESCRIPTION

[0041] In order to make the purpose, 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 in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention. In addition, the technical features in the various embodiments or single embodiments provided by the present invention can be arbitrarily combined with each other to form a feasible technical solution. This combination is not restricted by the sequence of steps and / or structural composition mode, but must be based on the ability of ordinary technicians in this field to implement it. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such a combination of technical solutions does not exist and is not within the scope of protection required by the present invention.

[0042] In the process of underwater acoustic signal processing, multiple preprocessing units and multiple neural network units are involved. Among them, the preprocessing unit realizes the preprocessing of the underwater acoustic signal, and the neural network unit realizes the deep processing of the underwater acoustic signal, and together realizes the processing of the underwater acoustic signal.

[0043] The preprocessing unit and neural network unit are two heterogeneous accelerator units with their own dedicated instruction sets, which are incompatible with the CPU instruction set. Existing software-based scheduling methods divide tasks and control data access for these heterogeneous preprocessing units and neural network units. This process relies on manual experience and is difficult to achieve optimal allocation of heterogeneous computing resources. Furthermore, the coupling between software development and accelerator unit architecture makes task scheduling programs complex and difficult to write.

[0044] 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. There is a delay between the CPU, task scheduler and hardware accelerator, which is not conducive to real-time scheduling. At the same time, the task scheduler also needs to access memory, occupying bus resources.

[0045] Based on this, the present invention designs a dedicated hardware module based on the computational dependency between the preprocessing unit and the neural network unit to autonomously complete task generation and distribution, without relying on the CPU, thus saving the CPU's bus resources and achieving a higher scheduling rate.

[0046] Figure 1 The present invention provides an intelligent task scheduling system for underwater acoustic signal processing. The 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. It meets the computational dependencies of underwater acoustic signal processing and can be executed in parallel to improve efficiency.

[0047] The intelligent task scheduling system for underwater acoustic signal processing provided by an embodiment of the present invention includes a preprocessing task scheduling module and a neural network task scheduling module. The preprocessing task scheduling module obtains preprocessing tasks from a preprocessing task queue, distributes the preprocessing tasks to corresponding preprocessing units, and transmits 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 based on the preprocessing task execution status and the configuration data of the neural network units, and distributes the neural network tasks to the corresponding neural network units.

[0048] Specifically, such as Figure 1 As shown in the figure, the working principle of the intelligent task scheduling system for underwater acoustic signal processing is as follows: the preprocessing task scheduling module receives preprocessing task queue information from the outside, and interacts with multiple preprocessing units P1, P2, ..., PN, and distributes the preprocessing tasks in the preprocessing task queue to the corresponding preprocessing units. The execution status of the preprocessing tasks processed by the preprocessing units is then passed 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, and then generates a neural network task queue based on the preprocessing task execution status, and distributes the neural network tasks to the corresponding neural network units for processing.

[0049] In one embodiment of the present invention, the preprocessing task scheduling module includes a first configuration data input interface and a first read 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 preprocessing unit and preprocessing operation algorithm and model parameter information of each preprocessing unit; and configures 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. The preprocessing task scheduling module transmits the preprocessing task status to the neural network task scheduling module through the first read interface.

[0050] In one embodiment of the present invention, the pre-processing task scheduling module further 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;

[0051] The pre-processing scheduling controller reads the pre-processing task Task from the pre-processing task FIFO queue and receives the operating status of the plurality of pre-processing units;

[0052] Distribute the read preprocessing task Task to the preprocessing unit in the 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 includes the running timing of each preprocessing unit, corresponding to the running time of each preprocessing task;

[0053] 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. 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.

[0054] For details, see Figure 2, a schematic diagram of the architecture of the preprocessing task scheduling module of an embodiment of the present invention, comprises four components: a preprocessing task FIFO queue (a first-in, first-out queue), a preprocessing scheduling controller, a preprocessing completed task FIFO queue, and a run timer P_T. Before execution, the preprocessing scheduling controller receives configuration data, including register configuration data for each preprocessing unit and the type P_type of the underwater acoustic signal preprocessing algorithm being executed. Furthermore, the preprocessing scheduling controller provides a read interface for software to read the task execution status. The preprocessing scheduling controller then reads the preprocessing task Task from the preprocessing task FIFO queue, receives the status of preprocessing units P1, P2, ..., PN (PN represents the Nth preprocessing unit), and distributes the preprocessing task to idle preprocessing units while controlling the run timer P_Timer. The run timer P_Timer contains the run time of each preprocessing unit, P_T1, P_T2, ..., P_TN. The corresponding run time of each preprocessing unit for the preprocessing task is P_time1, P_time2, ..., P_timeN (P_timeN represents the run time of the Nth preprocessing unit executing the preprocessing task). When a preprocessing unit completes its run, the preprocessing scheduling controller writes the preprocessing task TaskID (Task1, Task2, ..., TaskN) of the preprocessing unit, the preprocessing unit's configuration information P_cfg (P1_cf1, P1_cf2, ..., PN_cfg), and the preprocessing unit's run time P_time to the preprocessing completed task FIFO queue.

[0055] refer to Figure 3 , describes the control state transition diagram of the pre-processing task scheduling module. The pre-processing task scheduling state control includes five states: initial state, task acquisition, task distribution, state table update and clear state. The state transition process is as follows:

[0056] (1) When powered on, it is S0. If the pre-processing task FIFO queue is empty, it means that no task can be obtained, and the state remains in S0. If the pre-processing task FIFO queue changes from empty to non-empty, it means that there is a task to be obtained, and the state enters S1. If the running timer value is cleared, the state enters S4.

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

[0058] (3) In state S2, the preprocessing scheduling controller distributes tasks to idle preprocessing units. If multiple preprocessing unit modules are idle, the preprocessing task is 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 is an idle preprocessing unit, 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.

[0059] (4) 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 to execute the preprocessing task into the preprocessing completed task FIFO queue, and clears the corresponding running timer at the same time, entering state S4.

[0060] (5) In state S4, if all preprocessing tasks are completed, the cache of the preprocessing scheduling controller is cleared and the register is set to the initial value, and then returns to the initial state S0. If there are preprocessing tasks to be processed, then enter state S1 to continue obtaining preprocessing tasks.

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

[0062] The neural network task scheduling module receives second configuration data, i.e., configuration data of the neural network unit, through the second configuration data input interface, wherein 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;

[0063] 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.

[0064] 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.

[0065] Specifically, Figure 4The working process of the neural network task scheduling module shown is as follows: During operation, the neural network scheduling controller obtains the completed preprocessing task TaskID, the preprocessing unit configuration information P_cfg, and the preprocessing unit running time P_time from the preprocessing task completed FIFO queue. The preprocessing task TaskID and the preprocessing unit configuration information P_cfg will be input into the neural network task generation unit, and the neural network task NeTask will be generated in combination with the configuration data. 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 preprocessing unit configuration information P_cfg, and obtains the corresponding preprocessing task output sequence length L from the preprocessing output sequence length L lookup table in combination with the preprocessing unit running time P_time. Then, the length L of the sequence output by the preprocessing task is entered into the runtime NN_T lookup table, and the runtime NN_T of the corresponding neural network unit to execute 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 runtime NN_T of the neural network unit to execute the neural network task are put into the longest runtime priority sorting circuit to complete the sorting. The neural network task NeTask with the largest runtime 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 the software to read the task execution status. Figure 5 The following diagram shows the neural network task scheduling hardware architecture operation pipeline diagram, which is only used to understand the architectural principles.

[0066] See also Figure 6 , describes the control state transition diagram of the neural network task scheduling module, which mainly includes the following steps:

[0067] (1) When powered on, it is S0. If the neural network task FIFO queue is empty, it means that there is no task to be obtained, and the system 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 be obtained, and the system enters state S1.

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

[0069] (3) In state S2, the neural network scheduling controller distributes the neural network task to the neural network unit NPU in the idle state. If there are multiple neural network units NPU in the idle state, the neural network task is distributed to the neural network unit NPU with the smallest number. If the neural network task is not completed but there is an idle neural network unit NPU, return to S1. If the neural network task is not completed and all neural network units NPU are busy, stay in S2. After a neural network unit NPU task is completed, enter state S3.

[0070] (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 tasks to be processed, it enters state S1 to continue to obtain tasks.

[0071] In order to further describe the intelligent task scheduling system architecture for underwater acoustic signal processing of the present invention, the following will be combined with Figure 2 and Figure 4 , giving the complete operation process of the task scheduling architecture, such as Figure 7 The complete operational flow diagram of an intelligent task scheduling system for underwater acoustic signal processing is presented, including the following process steps:

[0072] 701: Build and train a neural network model in software, and then convert it into a data flow file that can be deployed to hardware.

[0073] 702: Implement the preprocessing algorithm in software and then convert it into a data flow file that can be deployed to hardware.

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

[0075] 704: Calculate the preprocessing output sequence length L based on the deployment. Once the preprocessing algorithm and preprocessing unit configuration for the underwater acoustic task processing are fixed, the preprocessing algorithm's run time on the preprocessing unit is calculated based on the input sequence length. The input sequence length and run time are discretized at regular intervals and then downloaded into the hardware's preprocessing output sequence length L lookup table.

[0076] 705: Calculate the neural network runtime NN_T based on the deployment. Once the neural network model and NPU unit configuration for the underwater acoustic task processing are fixed, the neural network model runtime on the NPU is calculated based on the input sequence length. The input sequence length and runtime are discretized at regular intervals and then downloaded into the hardware's runtime NN_T lookup table.

[0077] 706: Generate a pre-processing task and input it into the pre-processing task FIFO queue.

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

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

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

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

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

[0083] 712: Obtain the neural network running time NN_T based on the preprocessing output sequence length L and the neural network running time NN_T lookup table.

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

[0085] 714: Get the neural network task from the neural network task FIFO queue.

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

[0087] The neural network scheduling control module checks whether there are pending tasks. If so, it jumps back to 714 to continue acquiring tasks. Otherwise, it checks whether the input neural network task queue is updated. If so, it jumps back to 713. Otherwise, it enters 716.

[0088] 716: Obtain the neural network task execution results through software.

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

[0090] 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. This system satisfies the computational dependencies of underwater acoustic signal processing, can be executed in parallel, and has high task scheduling efficiency. Second, the task scheduling control operation process does not require the participation of the CPU and bus, avoiding the delay caused by communication between the CPU, scheduler, and acceleration unit, while effectively reducing resource consumption. Finally, task generation and priority division are both performed by hardware, reducing dependence on software development and directly achieving optimal allocation of heterogeneous computing resources from the hardware.

[0091] It should be noted that, in the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.

[0092] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0093] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes 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 a processor of a general-purpose computer, a special-purpose computer, an embedded computer, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0094] These computer program instructions may 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 produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0095] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 The steps for the function specified in one or more boxes.

[0096] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present invention.

[0097] Obviously, those skilled in the art may make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if such changes and modifications fall within the scope of the claims and their equivalents, the present invention is intended to include such changes and modifications.

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 passes the preprocessing task execution status of the preprocessing unit, the preprocessing task TaskID executed by the preprocessing unit, the running time P_time and the configuration information P_cfg 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 pre-processing task and the configuration data of the neural network unit, and distributes the neural network task to the corresponding neural network unit; 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 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 to 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; 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, where 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 pre-processing scheduling controller reads the pre-processing task Task from the pre-processing task FIFO queue and receives the operating status of the plurality of pre-processing units; Distribute the read preprocessing task Task to the preprocessing unit in the 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 includes 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. 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.

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 pre-processing units in an idle state at the same time, the read pre-processing task Task is distributed to the pre-processing 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 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 1, 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 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, the preset neural network task running time NN_T lookup table is searched to obtain the corresponding neural network unit running time NN_T.

8. The intelligent task scheduling system according to claim 1, 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

  • Data transmission method and system facing multiple core particles

    CN118349514A