Resource scheduling method, data processing system, computing device, medium and product
By combining the data processing unit with the digital signal processor, dynamic allocation and processing of tasks is achieved, the problems of low data transmission efficiency and unreasonable task scheduling in the prior art are solved, and the data processing speed and performance are significantly improved.
Patent Information
- Application Number
- CN202510332351.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-20
- Publication Date
- 2025-04-18
AI Technical Summary
In the prior art, the low data transmission efficiency and unreasonable task scheduling have resulted in limited overall system performance improvement, which is unable to meet the efficiency and real-time requirements of modern data processing.
By combining the data processing unit with the digital signal processor, the data processing unit acquires the operating status of each processing node, distributes tasks based on the task information of the task to be processed, and the digital signal processor performs the allocation task and feedbacks the processing results.
It significantly improves the overall data processing speed and performance, breaks the speed bottleneck of a single processor, realizes efficient data shunt and processing, and improves the system's data throughput and scalability.
Smart Images

Figure CN119847773A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data technology, and in particular to a resource scheduling method, a data processing system, a computing device, a medium and a product. Background Art
[0002] With the rapid development of information technology, the amount of data has exploded, which has put forward higher requirements for the efficiency, speed and accuracy of data processing. In the traditional data processing architecture, a single processor is often unable to meet the complex and diverse data processing requirements.
[0003] At present, although there are some data processing solutions that combine different processors, most of them have problems such as low data transmission efficiency and unreasonable task scheduling, resulting in limited improvement in the overall performance of the system. Summary of the invention
[0004] The present application provides a resource scheduling method, a data processing system, a computing device, a medium and a product to at least solve the problems of low data transmission efficiency and unreasonable task scheduling in the related technology.
[0005] In a first aspect, the present application provides a resource scheduling method, comprising: The data processing unit obtains the operating status of each processing node; The data processing unit distributes part of the tasks to be processed to the digital signal processor and / or other data processing units according to the task information of the tasks to be processed and the operation status of each processing node; Wherein, the processing node includes any of the data processing units or any of the digital signal processors.
[0006] In a second aspect, the present application also provides a resource scheduling method, comprising: The digital signal processor sends its own operating status to the data processing unit; The digital signal processor executes the assigned tasks and feeds the processing results back to the data processing unit; The assigned tasks are part of the tasks to be processed that are assigned by the data processing unit according to the task information of the tasks to be processed and the operating status of each processing node; the processing node includes any of the data processing units or any of the digital signal processors.
[0007] In a third aspect, the present application also provides a data processing system, comprising: A data processing module, wherein the data processing module comprises at least one data processing unit; A digital signal processing module, wherein the digital signal processing module comprises at least one digital signal processor; An on-chip network interconnection chip, through which the data processing module and the digital signal processing module are communicatively connected; The data processing unit is configured to obtain the operating status of each processing node, and allocate part of the tasks to be processed to the digital signal processor of the digital signal processing module and / or other data processing units in the data processing module according to the task information of the tasks to be processed and the operating status of each processing node; The digital signal processor is configured to send its own operating status to the data processing unit, perform the assigned task, and feed back the processing result to the data processing unit; The assigned tasks are part of the tasks to be processed that are assigned by the data processing unit according to the task information of the tasks to be processed and the operating status of each processing node; the processing node includes any of the data processing units or any of the digital signal processors.
[0008] In a fourth aspect, the present application also provides a computing device, comprising the data processing system described in the third aspect.
[0009] In a fifth aspect, the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein when the computer program is executed by a processor, the steps of the resource scheduling method as described in the first aspect or the second aspect are implemented. In a sixth aspect, the present application further provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the resource scheduling method as described in the first aspect or the second aspect.
[0010] The present application combines a data processing unit with a digital signal processor, which can give full play to the powerful computing power of the digital signal processor and the advantages of the data processing unit in system control and scheduling. The data processing unit can allocate some of the tasks to be processed to the digital signal processor of the digital signal processing module and / or other data processing units in the data processing module according to the task information of the tasks to be processed and the operating status of each processing node. Wherein, the processing node includes any data processing unit or any digital signal processor. Since the data processing unit considers the task information of the tasks to be processed when performing task allocation, for example, according to the task information, the tasks that are good at processing by the digital signal processor in the tasks to be allocated are allocated to the digital signal processor, and the tasks such as data preprocessing acceleration and system management and control are processed by the data processing unit. The data processing unit and the digital signal processor work together to process different data tasks in parallel, thereby breaking the speed bottleneck of a single processor and significantly improving the overall data processing speed and overall performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0012] Figure 1 A schematic diagram of a data processing system provided in an embodiment of the present application; Figure 2 is a flow chart of a resource scheduling method provided in an embodiment of the present application; Figure 3 This is a flowchart of another resource scheduling method according to an embodiment of the present application. DETAILED DESCRIPTION
[0013] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0014] It should be noted that, in the description of this application, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. The terms "first", "second", etc. in this application are used to distinguish similar objects, and are not used to describe a specific order or sequence.
[0015] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0016] With the rapid development of information technology, the amount of data has exploded, which has put forward higher requirements for the efficiency, speed and accuracy of data processing. In the traditional data processing architecture, a single processor is often unable to meet the complex and diverse data processing requirements.
[0017] At present, although there are some attempts to combine different processors for data processing, there are still problems such as loose collaboration between modules, low data transmission efficiency, and unreasonable task scheduling, which leads to limited improvement in the overall performance of the system and cannot meet the efficiency and real-time requirements of modern data processing.
[0018] Digital Signal Processor (DSP) is good at executing complex digital signal processing algorithms such as filtering, Fourier transform, convolution, etc. However, DSP has certain limitations in processing large-scale data transmission, network protocol analysis and system-level resource management.
[0019] As an emerging special-purpose processor, the Data Processing Unit (DPU) focuses on high-speed data transmission, network processing, and system-level resource management. It can efficiently process network data packets, forward and schedule data, but its computing efficiency is relatively low compared to DSP when processing complex digital signals. DPUs usually run complex operating systems and multiple applications. When processing tasks with high real-time requirements, they may be interfered by operating system scheduling and other tasks, resulting in increased processing delays and failure to meet real-time requirements.
[0020] The present application provides a resource scheduling method, a data processing system, a computing device, a computer-readable storage medium, and a computer program product. The specific application environment architecture or the specific hardware architecture on which the execution of the resource scheduling method depends is described below.
[0021] This application integrates DSP and DPU. DSP is good at high-speed digital signal processing and has strong computing power; DPU can focus on data pre-processing acceleration and system management and control. This application combines the two to work together and can process different data tasks in parallel, thus breaking the speed bottleneck of a single processor and significantly improving the overall data processing speed.
[0022] Figure 1 A schematic diagram of a data processing system provided in an embodiment of the present application. Figure 1 As shown, the data processing system includes a data processing module 10, and the data processing module 10 includes at least one data processing unit 11. The data processing module 10 serves as the core computing and control center of the system. The data processing module 10 includes at least one data processing unit 11, and each data processing unit 11 can receive data from an external network through an Ethernet connection, for example. The data processing module 10 can first perform hardware acceleration processing on the data, classify and parse it, and directly process part of the data according to the type and processing requirements of the data, such as network protocol parsing, data forwarding, system resource management, etc.
[0023] The data processing system also includes a digital signal processing module 20, which includes at least one digital signal processor 21. The digital signal processing module 20 can be responsible for executing complex computing tasks, for example. The digital signal processing module 20 can receive tasks assigned by the data processing module 10, and use the strong computing power of the digital signal processor 21 to perform efficient digital signal processing, such as audio processing, image processing, cumulative multiplication calculation, etc. After completing the task processing, the digital signal processing module 20 can feed back the result to the data processing module 10.
[0024] The data processing system further includes an on-chip network interconnect chip 30, and the data processing module 10 and the digital signal processing module 20 are communicatively connected via the on-chip network interconnect chip 30. In terms of connecting to the network, the data processing module 10 and the digital signal processing module 20 use the on-chip network interconnect chip 30 to achieve end-to-end direct data transmission.
[0025] Specifically, the data processing unit 11 is configured to obtain the operating status of each processing node, and allocate part of the tasks to be processed to the digital signal processor 21 of the digital signal processing module 20 and / or other data processing units 11 in the data processing module 10 according to the task information of the tasks to be processed and the operating status of each processing node.
[0026] Each data processing unit 11 of the data processing module 10 can be used as an independent main device, and can monitor the operating status of each processing node in real time. The operating status includes, for example, load, communication bandwidth, etc.
[0027] The processing node may be any data processing unit 11 or any digital signal processor 21 in the data processing system. That is, each data processing unit 11 or each digital signal processor 21 is a processing node.
[0028] Any data processing unit 11 in the data processing system can monitor the operating status of each data processing unit 11 and each digital signal processor 21 in the data processing system, and allocate part of the tasks to be processed to the digital signal processor 21 and / or other data processing units 11 according to the task information of the tasks to be processed and the operating status of each processing node.
[0029] After obtaining the tasks to be processed through the network, the data processing unit 11 can allocate the tasks to be processed according to the task information of the tasks to be processed and the operating status of each monitored processing node. The task information of the tasks to be processed may include, for example, data dependency, data task type, computational complexity, real-time requirements, and other information. The data processing unit 11 allocates part of the tasks to be processed to the digital signal processor 21 of the digital signal processing module 20 and / or other data processing units 11 in the data processing module 10 according to the task information of the tasks to be processed and the operating status of each monitored processing node.
[0030] The digital signal processor 21 is configured to send its own operating status to the data processing unit 11 so that the data processing unit 11 can monitor its operating status and allocate tasks. After the data processing unit 11 allocates tasks, the digital signal processor 21 executes the allocated tasks and feeds back the processing results to the data processing unit. The allocated tasks are part of the tasks to be processed allocated by the data processing unit 11 according to the task information of the tasks to be processed and the operating status of each processing node.
[0031] This application combines a data processing unit with a digital signal processor. The data processing system fully utilizes the powerful computing power of the digital signal processor and the advantages of the data processing unit in system control and scheduling. Through the reasonable division of tasks assigned by the data processing unit, the data processing unit and the digital signal processor can work together and process different types of data tasks in parallel, thereby breaking the speed bottleneck of a single processor and significantly improving the overall data processing speed.
[0032] The data processing system provided in the present application can make full use of the respective processing characteristics of the data processing unit and the digital signal processor by reasonably allocating tasks. For example, the digital signal processor processes tasks with high real-time requirements and computational intensiveness, and the data processing unit processes data preprocessing and control logic tasks, thereby achieving efficient data diversion and processing, thereby improving the data throughput of the system.
[0033] The data processing system provided by the present application can also solve the problem of inflexible application scenarios of a single processor. The data processing system provided by the present application integrates the functions of the data processing unit and the digital signal processor, which can not only use the signal processing advantages of the digital signal processor to process various complex computing functions, but also use the versatility of the data processing unit to complete system configuration, task scheduling, data storage management and other functions, so that the system has more comprehensive processing capabilities and can adapt to different application scenarios.
[0034] In addition, as business needs continue to change and develop, traditional systems may be difficult to flexibly expand and upgrade. According to actual needs, the resource allocation of the data processing unit and the digital signal processor in the data processing system provided by this application can be flexibly adjusted, or the required number of data processing modules and digital signal processing modules can be added to achieve horizontal and vertical expansion of the data processing system, improve the scalability and flexibility of the system, and meet the ever-changing application needs.
[0035] In some embodiments, the data processing system provided by the present application also includes a data storage module.
[0036] by Figure 1 For example, the data storage module 40 is communicatively connected with the data processing module 10 via the on-chip network interconnection chip 30 .
[0037] The data processing unit 11 is also configured to store the processed data after the data processing unit executes the task and the processing results fed back by the digital signal processor into the data storage module 40, and perform read and write management and preprocessing acceleration on the data storage module 40 according to a preset data storage strategy.
[0038] The data storage module 40 is used to store the data processed by the data processing module 10 and the digital signal processing module 20. The data storage module 40 can use a variety of storage media, such as hard disks, solid state drives (SSDs), and other storage devices, as well as memory devices, etc., and select a suitable storage method according to the importance of the data, the access frequency, and the storage capacity requirements. At the same time, the data storage module 40 can also back up the data regularly to ensure the security and reliability of the data. In some embodiments, a high-speed point-to-point interconnection protocol can be used between the data processing module 10 and the digital signal processing module 20 to provide a standardized interface for the interaction between the data processing unit 11 and the digital signal processor 21. Data is transmitted using data packets as carriers, and each data packet contains key elements such as address, command, and payload information. At the same time, the cache consistency MESI protocol is supported to achieve consistency of cache data between multiple chips. The data processing module 10 is connected to the digital signal processing module 20 and the data storage module 40 through a CXLSwitch network, for example. In terms of connecting the network, for example, a NoC on-chip network interconnection chip is used to achieve end-to-end direct data transmission between the data processing unit 11 and the digital signal processor 21. Figure 2: is a flow chart of a resource scheduling method provided in an embodiment of the present application. The resource scheduling method provided in an embodiment of the present application can be applied to a data processing unit. The data processing unit is any data processing unit of a data processing module in a data processing system. The data processing system also includes a digital signal processing module, and the digital signal processing module includes at least one digital signal processor; the data processing module and the digital signal processing module are connected to each other through an on-chip network interconnect chip. The data processing system in which the data processing unit in the embodiment of the present application is located can be, for example, Figure 1 The architecture shown in . Figure 2 1 is a flowchart of a resource scheduling method according to an embodiment of the present application. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here. Each data processing unit of the data processing module in the data processing system as an independent chip can execute the following steps: Figure 2 The resource scheduling method shown. This embodiment of the application takes any data processing unit in the data processing system as an example to introduce in detail the specific principle of executing the resource scheduling method. Figure 2 As shown, the resource scheduling method provided by this application includes: S110: The data processing unit obtains the operating status of each processing node.
[0039] The data processing unit can monitor the operating status of each processing node in the system in real time.
[0040] S120: The data processing unit distributes part of the tasks to be processed to the digital signal processor and / or other data processing units according to the task information of the tasks to be processed and the operation status of each processing node.
[0041] The processing node includes any data processing unit or any digital signal processor, that is, each data processing unit or each digital signal processor is a processing node.
[0042] Any data processing unit in the data processing system can operate according to the control logic of steps S110 and S120 in the embodiments of the present application.
[0043] That is, any data processing unit in the data processing system can monitor the operating status of each data processing unit and each digital signal processor in the data processing system, and allocate part of the tasks to be processed to the digital signal processor and / or other data processing units according to the task information of the tasks to be processed and the operating status of each processing node.
[0044] After receiving the tasks to be processed through the network, the data processing unit can distribute the tasks according to the task information of the tasks to be processed and the operating status of each processing node obtained above.
[0045] Among them, the task information of the pending tasks includes, for example, data dependency, data task type, computational complexity, real-time requirements and other information. The data processing unit allocates part of the pending tasks to the digital signal processor of the digital signal processing module and / or other data processing units in the data processing module according to the task information of the pending tasks and the operating status of each monitored processing node, so as to dynamically adjust the task allocation and resource scheduling according to the task information and the resource usage of each processing node. If the load of a data processing unit is too high, some of its tasks are migrated to the data processing unit or digital signal processor with lower load to perform task migration. Using the resource scheduling method proposed in the present application, for example, load balancing of transmission can be achieved according to the load in the operating status of each processing node and the real-time communication bandwidth of the communication link.
[0046] The present application combines the data processing unit with the digital signal processor in the processing process through the reasonable task division of the assigned tasks by the data processing unit, giving full play to the powerful computing power of the digital signal processor and the advantages of the data processing unit in system control and scheduling. The resource scheduling method provided by the present application realizes the coordinated work of the data processing unit and the digital signal processor, and can process different types of data tasks in parallel, thereby breaking the speed bottleneck of a single processor and significantly improving the overall data processing speed. Due to the full use of the respective processing characteristics of the data processing unit and the digital signal processor, for example, the digital signal processor processes tasks with high real-time requirements and intensive calculations, and the data processing unit processes data preprocessing and control logic tasks, the efficient diversion and processing of data is realized, and the data throughput of the system can also be improved. The resource scheduling method provided by the present application integrates the functions of the data processing unit and the digital signal processor, and can also solve the problem of the inflexible application scenario of a single processor. It can not only use the signal processing advantages of the digital signal processor to process various complex computing functions, but also use the versatility of the data processing unit to complete system configuration, task scheduling, data storage management and other functions, with more comprehensive processing capabilities, and can adapt to different application scenarios.
[0047] In some embodiments, after the data processing unit allocates part of the tasks to be processed to the digital signal processor and / or other data processing units according to the task information of the tasks to be processed and the operating status of each processing node, the method further includes: The data processing unit stores the processed data after executing the task and the processing results fed back by the digital signal processor in the data storage module, and performs read and write management and preprocessing acceleration on the data storage module according to the preset data storage strategy.
[0048] In the embodiment of the present application, the data storage module and the data processing module can be connected to each other through an on-chip network interconnection chip. The data processing unit can store the processed data after executing the task to be processed and the processing result fed back by the digital signal processor in the data storage module, and perform read and write management and preprocessing acceleration on the data storage module according to the preset data storage strategy.
[0049] In some embodiments, the data processing unit allocates part of the tasks to be processed to the digital signal processor and / or other data processing units according to the task information of the tasks to be processed and the operating status of each processing node, including: The data processing unit decomposes the task to be processed into multiple subtasks; The data processing unit distributes at least part of the subtasks to the digital signal processor and / or other data processing units according to the data flow dependency of each subtask in the task information of the task to be processed and the operation status of each processing node.
[0050] The resource scheduling method provided in the embodiment of the present application can dynamically split tasks and realize global scheduling of tasks of each processing node in the data processing system. Tasks are allocated to different data processing units and / or data signal processors by task splitting.
[0051] First, through task modeling, the task to be processed is divided into multiple subtasks. Each subtask can be executed independently, and the granularity of task division can be adjusted according to the characteristics of the task and the system architecture. For example, the task to be processed is represented as a directed acyclic graph, where nodes represent subtasks and edges represent dependencies between subtasks; each subtask is labeled with its computational amount, real-time constraints (such as deadline), and input data size and / or output data size.
[0052] After decomposing the task, the data processing unit can allocate at least part of the subtasks to the digital signal processor and / or other data processing units based on the data flow dependencies of each subtask in the task information of the task to be processed and the operating status of each processing node, thereby dynamically adjusting task allocation and resource scheduling based on the task information and the resource usage of each processing node and reducing communication overhead.
[0053] In some embodiments, the data processing unit allocates at least part of the subtasks to the digital signal processor and / or other data processing units according to the data flow dependency of each subtask in the task information of the task to be processed and the operating status of each processing node, including: The data processing unit uses a minimum communication overhead algorithm based on the data flow dependencies of each subtask in the task information of the task to be processed and the operating status of each processing node to assign at least two subtasks that meet the preset dependencies to the same data processing unit or digital signal processor.
[0054] The present application optimizes task allocation to reduce communication overhead during task scheduling or resource allocation. During task allocation, each data processing unit or digital signal processor processes a part of the task. If the communication between tasks is within the same data processing unit or digital signal processor, the overhead is small. Otherwise, it needs to be connected through the data processing unit or digital signal processor, and the communication overhead is large. Tasks with strong data flow dependence mean that there is a large amount of data exchange between these subtasks, so placing them on the same data processing unit or digital signal processor can reduce communication delays and bandwidth consumption. At the same time, the operating status of each processing node, such as the load condition of each processing node, is considered, and the minimum communication overhead algorithm is adopted, such as assigning task pairs with large communication requirements to the same data processing unit or digital signal processor, thereby minimizing the overall communication overhead.
[0055] In some embodiments, the data processing unit allocates at least part of the subtasks to the digital signal processor and / or other data processing units according to the data flow dependency of each subtask in the task information of the task to be processed and the operating status of each processing node, including: The data processing unit uses a minimum communication overhead algorithm based on the data flow dependencies of each subtask in the task information of the task to be processed and the operating status of each processing node to batch transmit the subtasks to be assigned to different data processing units or digital signal processors.
[0056] Tasks across data processing units or digital signal processors often involve data exchange between multiple processors or devices, where communication latency and bandwidth are key factors.
[0057] Since each transmission requires steps such as establishing a connection and synchronization, these overheads will significantly affect performance if they occur frequently. Therefore, the embodiment of the present application adopts a minimum communication overhead algorithm to batch transmit each subtask to be assigned to different data processing units or digital signal processors, thereby reducing the number of transmissions and reducing overhead. Each transmission may also have a fixed delay. The present application can more effectively utilize bandwidth and reduce idle time through batch transmission, and can also optimize routing selection, reduce conflicts, and improve network utilization.
[0058] It should be noted that the minimum communication cost algorithm can be, for example, a greedy algorithm, which combines data flow dependencies and the communication bandwidth of the chip to calculate the communication cost and select the task allocation with the minimum current communication cost. The following is an example of a minimum communication cost algorithm: Construct a task graph, calculate the amount of communication between tasks, evaluate the communication overhead of each possible allocation scheme, and select the optimal allocation. At the same time, the operating status of each chip needs to be considered. Consider the dependencies of subtasks and ensure that predecessor subtasks are allocated to the same chip to reduce cross-chip transmission. The data flow dependencies of tasks are represented as a directed acyclic graph. The bandwidth between chips determines the transmission time. The communication overhead = data volume / bandwidth. Calculate the overhead allocated to different chips and select the allocation with the lowest overhead to minimize the total communication overhead. If tasks within the same chip can be processed together, the communication overhead can be reduced.
[0059] In some embodiments, it further comprises: The data processing unit determines the priority of each subtask to be executed according to the real-time requirements and the computational load of each subtask to be executed.
[0060] In each data processing unit, subtasks can be prioritized according to their real-time requirements (such as deadline) and computational effort. For example, the deadline priority strategy is used to prioritize the task, where the task with the largest current time plus the shortest computational time is executed first.
[0061] In some embodiments, it further comprises: After the task to be processed is completed, the data processing unit recycles the computing resources corresponding to the task to be processed and updates the running status.
[0062] When the pending tasks are completed, the application can also release computing resources in a timely manner and update the running status so that the idle computing resources can be reallocated to other tasks, which can effectively recycle idle resources and improve resource utilization and system scalability.
[0063] In some embodiments, it further comprises: The data processing unit adopts the dynamic evolution rules of cellular automata to determine the data transmission path according to the state information of its own cells and the state information of neighboring cells, and updates the state information of its own cells at the next moment; The cells in the cellular automaton are data processing units or digital signal processors; Neighbor cells are cells that are directly connected to the own cell.
[0064] This application uses cellular automata to implement intelligent routing selection and flow control, thereby improving the efficiency and adaptability of data transmission.
[0065] Specifically, the cells in the cellular automaton are processing nodes, that is, each data processing unit and each data signal processor of the data processing system can be used as a cell. Each cell can be regarded as an independent computing unit with certain state information.
[0066] The state information of the cell contains multiple attributes, including load conditions (such as the number of tasks currently being processed, CPU usage, etc.), link bandwidth occupancy (the ratio of used bandwidth to total bandwidth), link delay (the time required for data to be transmitted on the link), etc. These state information reflects the working state and performance of the data processing unit or digital signal processor, as well as the current working state and performance of the link.
[0067] The neighbor cells of each cell can be determined based on the physical connection relationship between data processing units or digital signal processors. Neighbor cells can transmit state information to each other, thereby realizing local information interaction and collaborative decision-making. For example, if a cell is connected to three other cells through links, then these three cells are neighbor cells.
[0068] The following is an example of a data structure implemented by cells: struct self{ self.id = id self.load_CPU=0.0#Chip load_CPU usage self.load_task=0#Chip load_CPU usage task number self.neighbors=[ ]#Neighbor chips self.links_rate=[ ]#Connected link bandwidth utilization self.links_delay=[ ]#Link delay of connection self.ca_state=1 #Cellular automaton state, 0 means the node is invalid, 1 means normal, 2 means the node is idle, and 3 means the node is under high load } The core of cellular automata is the dynamic evolution rules, which determine the state of the cell at the next moment based on the state information of the cell itself and the state information of its neighboring cells.
[0069] For example, if the load of a cell is too high, but the load of one of its neighboring cells is low and the link bandwidth is sufficient, then part of the data transmission can be transferred to the neighboring cell. Based on the real-time status information of the cellular automaton, the optimal data transmission path can be selected. The cellular automaton is constantly evolving and adjusting the route in real time according to the dynamic changes of the network to adapt to the changes in load and link status.
[0070] In some embodiments, using the dynamic evolution rule of cellular automata, the data processing unit determines the data transmission path according to the state information of its own cells and the state information of neighboring cells, and updates the state information of its own cells at the next moment, including: The data processing unit obtains the state information of its own cells and the state information of neighboring cells; The data processing unit transfers part of the data of its own cell to the neighboring cell based on the state information of its own cell and the state information of the neighboring cell, and updates the state information of its own cell at the next moment, if the load of its own cell is greater than a first threshold, the load of a neighboring cell is less than a second threshold, and the link bandwidth occupancy rate between its own cell and the neighboring cell is less than a third threshold.
[0071] Each cell collects its own state information and the state information of its neighboring cells. For example, cell A receives information such as load, bandwidth occupancy and delay of the link connected to cell A from neighbor cells B and C.
[0072] If the load of cell A is greater than 70%, and the load of its neighbor cell B is less than 50%, and the bandwidth occupancy of the link connecting them is less than 50%, then part of the data will be transferred to the neighbor cell B.
[0073] After the data is transferred, the status information of each cell changes, so it is necessary to update the status information of its own cell. For example, after cell A transfers part of the data to cell B, the load of cell A is reduced to 60%; the bandwidth occupancy of the link connected to cell B increases to 40% due to data transmission. Cell B receives the data transferred from cell A, and the load increases to 30%; the bandwidth occupancy of the link connected to cell A increases to 40%.
[0074] At the new time step, each cell collects information again, applies rules, and updates status information. For example, at this time, the load of cell A is 60%, and load balancing is no longer triggered. However, when new data is to be transmitted later, the appropriate data transmission path will still be selected according to the above method. As time goes by and the network status continues to change (such as the arrival of new data tasks for cells, link failures, etc.), the cellular automaton continuously performs a cycle of information collection, rule application, and status update to achieve dynamic adjustment of data transmission routes and traffic between cells to adapt to the dynamic changes of the network.
[0075] It should be noted that the above examples are only introduced with the first threshold being 70%, the second threshold being 50%, and the third threshold being 50%. In actual application, the specific values of the first threshold, the second threshold, and the third threshold can be set according to specific needs, and the embodiments of the present application do not limit the specific values of the first threshold, the second threshold, and the third threshold.
[0076] In some embodiments, the data processing unit transfers part of the data of its own cell to the neighboring cell based on the state information of its own cell and the state information of the neighboring cell, and updates the state information of its own cell at the next moment, if the load of its own cell is greater than a first threshold, the load of a neighboring cell is less than a second threshold, and the link bandwidth occupancy rate between its own cell and the neighboring cell is less than a third threshold, including: The data processing unit determines, based on the state information of its own cell and the state information of its neighboring cells, that: the load of its own cell is greater than a first threshold, there is a neighboring cell whose load is less than a second threshold, and the number of neighboring cells whose link bandwidth occupancy rate between its own cell and the neighboring cell is less than a third threshold is greater than or equal to 2; The data processing unit determines the priority of the neighbor cell according to the bandwidth occupancy rate and / or link delay of the bandwidth link between the neighbor cell and its own cell; The data processing unit transfers part of the data of its own cell to the neighboring cell with the highest priority, and updates the state information of its own cell at the next moment; Among them, the lower the bandwidth occupancy rate of the neighbor cell and its own cell and the smaller the link delay, the higher the priority of the neighbor cell.
[0077] Each cell collects its own status information and the status information of its neighboring cells. For example, cell A receives information such as the load, link bandwidth occupancy rate and delay of cell B and cell C connected to cell A. If the load of the cell itself and the status information of the neighboring cells are satisfied, the load of the cell itself is greater than the first threshold, there are neighboring cells whose load is less than the second threshold, and the number of neighboring cells whose link bandwidth occupancy rate between the cell itself and the neighboring cell is less than the third threshold is greater than or equal to 2. That is, there are two neighboring cells whose load is less than the second threshold, and the link bandwidth occupancy rate between the cell itself and the neighboring cell is less than the third threshold, then the priority of the neighboring cells can be determined according to the bandwidth link bandwidth occupancy rate and / or link delay between the neighboring cells and the cell itself, and according to the determined priority, part of the data of the cell itself is transferred to the neighboring cell with the highest priority, and the state information of the cell itself is updated at the next moment.
[0078] The lower the bandwidth occupancy rate of the neighbor cell and the own cell, and the smaller the link delay, the higher the priority of the neighbor cell. When selecting data transfer, it is preferred to select a link with low bandwidth occupancy rate and small link delay.
[0079] The following is an example of a cellular automation dynamic evolution rule: The evolution process of cellular automata is a discrete time series. In each time step, all cells simultaneously update their state information according to the dynamic evolution rules. For example, there is a network composed of 4 cells (labeled as cell A, cell B, cell C, cell D), and their connection relationship and initial state are as follows: Connection relationship: Cell A is connected to cell B and cell C respectively; cell B is connected to cell A and cell D respectively; cell C is connected to cell A and cell D respectively; cell D is connected to cell B and cell C respectively.
[0080] Initial state: Cell A: The load is 80% (at a relatively high load), the bandwidth occupancy of the link connected to cell B is 30%, and the delay is 2ms; the bandwidth occupancy of the link connected to cell C is 20%, and the delay is 3ms.
[0081] Cell B: The load is 20% (low load), the link bandwidth occupancy rate of the link connected to cell A is 30%, and the delay is 2ms; the link bandwidth occupancy rate of the link connected to cell D is 10%, and the delay is 1ms.
[0082] Cell C: The load is 30% (low load), the link bandwidth occupancy rate of the link connected to cell A is 20%, and the delay is 3ms; the link bandwidth occupancy rate of the link connected to cell D is 20%, and the delay is 2ms.
[0083] Cell D: The load is 10% (very low load), the link bandwidth occupancy rate of the link connected to cell B is 10%, and the delay is 1ms; the link bandwidth occupancy rate of the link connected to cell C is 20%, and the delay is 2ms.
[0084] Evolution process steps: Step 1: Information Collection Each cell collects its own state information and the state information of its neighboring cells. For example, cell A receives information about the load, bandwidth occupancy and delay of the link connected to cell A from cell B and cell C.
[0085] Step 2: Rule Application Assuming that the load of a cell exceeds 70%, and the load of one of its neighbor chips is less than 50%, and the bandwidth occupancy of the link connecting them is less than 50%, part of the data will be transferred to the neighbor cell. When selecting a data transmission link, give priority to links with low bandwidth occupancy and low latency. For example, the link score can be calculated. The cell calculates the score of each link based on the bandwidth link bandwidth occupancy and link delay. Link score = bandwidth occupancy weight × bandwidth occupancy + delay weight × link delay.
[0086] For the above situation, for example, the link score is set to be bandwidth occupancy weight (set to 0.6) × bandwidth occupancy + delay weight (set to 0.4) × link delay. For cell A: Since the load of cell A is 80%, which exceeds the first threshold of 70%, the load of its neighbor cell B is 20%, and the load of cell C is 30%, both lower than the second threshold of 50%, and the bandwidth occupancy of the links connected to cell B and cell C is lower than the third threshold of 50%, cell A can transfer part of the data to its neighbor cells.
[0087] Calculate the score of the link connecting cell A and cell B, and calculate the score of the link connecting cell A and cell C. Since the score of the link connecting cell A and cell B is lower, cell A chooses to transmit part of the data through the link connecting cell B.
[0088] Step 3: Status Update Cell A: After transferring part of the data task to Cell B, the load is reduced to 60%; the bandwidth occupancy of the link connected to Cell B increases to 40% due to data transmission.
[0089] Cell B: After receiving the data task transferred from Cell A, the load increases to 30%; the bandwidth occupancy of the link connected to Cell A increases to 40%.
[0090] Step 4: Enter the next time step and repeat the above process At the new time step, each chip collects information again, applies rules, and updates the status. For example, at this time, the load of cell A is 60%, and load balancing is no longer triggered, but when there is new data to be transmitted later, it will still select the appropriate link according to the above rules. As time goes by and the network status continues to change (such as new data tasks arriving at the cell, link failures, etc.), the cellular automaton continuously performs a cycle of information collection, rule application, and status update to achieve dynamic adjustment of data transmission routes and traffic between chips to adapt to dynamic changes in the network.
[0091] In some embodiments, it further comprises: The data processing unit determines that a communication failure occurs based on the status information of its own cell, and triggers the neighboring cells to update the status information.
[0092] When a communication failure is determined based on the status information of its own cell, such as when the bandwidth drops to zero or the link delay exceeds a certain threshold, the neighboring cells are triggered to update their status information, avoid using the faulty link, and transfer data traffic to other available links.
[0093] In some embodiments, the data processing unit can encapsulate the data and add meta information such as the source chip address, the target chip address, the timestamp, and the data length. The encapsulated data forms a data frame for transmission. Based on the dynamic evolution rules of the cellular automaton, the data processing unit selects the optimal data transmission path. The cellular automaton is constantly evolving, and the routing is adjusted in real time according to the dynamic changes of the network to adapt to changes in load and link status. The data frame is transmitted sequentially between cells through the selected data transmission path. Each intermediate cell forwards the data frame according to the dynamic evolution rules of the cellular automaton, and updates the status information of itself and its neighboring cells.
[0094] In some embodiments, it further comprises: The data processing unit sends feedback information to the cell that sent the data based on the verification result of the received data; The feedback information includes a data retransmission indication signal corresponding to a verification failure, and / or a confirmation indication signal corresponding to a verification success.
[0095] The data processing unit, as a neighboring cell of other cells, verifies the data after receiving the data sent by other cells, and sends feedback information to the cell sending the data according to the verification result. The feedback information can be, for example, a data retransmission indication signal corresponding to a verification failure, and / or a confirmation indication information corresponding to a verification success.
[0096] Exemplarily, after receiving the data, the integrity and legitimacy of the data are first verified to check whether the information is correct. After successfully receiving the data, a confirmation indication message corresponding to the successful verification is sent to the cell that sent the data. The cell that sent the data updates the state information of the cellular automaton according to the confirmation indication message, completing a data transmission process.
[0097] During data transmission, each cell performs error detection on the received data, such as parity check, cyclic redundancy check, etc. If a data error is detected, that is, verification fails, a data retransmission indication signal is sent to the cell that sent the data, instructing the cell that sent the data to resend.
[0098] The embodiment of the present application also provides a flowchart of a resource scheduling method. The resource scheduling method provided in the embodiment of the present application can be applied to a digital signal processor. The digital signal processor is any digital signal processor of a digital signal processing module in a data processing system. The data processing system also includes a data processing module, and the data processing module includes at least one data processing unit. The data processing module and the digital signal processing module are connected to each other through an on-chip network interconnect chip. The data processing system in which the data processing unit in the embodiment of the present application is located can be, for example, Figure 1 The architecture shown in . Figure 31 is a flowchart of another resource scheduling method according to an embodiment of the present application. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here. Each data processing unit of the data processing module in the data processing system can be executed as an independent chip. Figure 3 The resource scheduling method shown. This embodiment of the application takes any data processing unit in the data processing system as an example to introduce in detail the specific principle of executing the resource scheduling method. Figure 3 As shown, the resource scheduling method provided by this application includes: S210: The digital signal processor sends its own operating status to the data processing unit.
[0099] S220: The digital signal processor executes the assigned task and feeds back the processing result to the data processing unit.
[0100] The assigned tasks are part of the tasks to be processed that are assigned by the data processing unit according to the task information of the tasks to be processed and the operating status of each processing node; the processing node includes any data processing unit or any digital signal processor.
[0101] The digital signal processor has strong digital signal processing capabilities and is good at executing complex digital signal processing algorithms such as filtering, Fourier transform, and convolution. The digital signal processor can send its own operating status to the data processing unit so that the data processing unit can assign some tasks to the digital signal processor based on the task information of the tasks to be processed and the operating status of each processing node. The digital signal processor receives the assigned tasks from the data processing unit and uses its computing power to perform efficient digital signal processing, such as audio processing, image processing, cumulative multiplication calculation, etc. After the processing is completed, the results are fed back to the data processing unit.
[0102] The resource scheduling method provided by the present application realizes collaborative work between the data processing unit and the digital signal processor, and can process different types of data tasks in parallel, thereby breaking the speed bottleneck of a single processor and significantly improving the overall data processing speed. Due to the full use of the respective processing characteristics of the data processing unit and the digital signal processor, for example, the digital signal processor processes tasks with high real-time requirements and intensive calculations, and the data processing unit processes data preprocessing and control logic tasks, efficient data diversion and processing are achieved, and the data throughput of the system can also be improved. The resource scheduling method provided by the present application integrates the functions of the data processing unit and the digital signal processor, and can also solve the problem of inflexible application scenarios of a single processor. It can not only use the signal processing advantages of the digital signal processor to process various complex computing functions, but also use the versatility of the data processing unit to complete system configuration, task scheduling, data storage management and other functions, and has a more comprehensive processing capability, which can adapt to different application scenarios.
[0103] In some embodiments, the resource scheduling method provided by the present application further includes: The digital signal processor determines the priority of each subtask according to the real-time requirements and computational load of each subtask in the assigned task.
[0104] Among them, subtasks refer to the subtasks that the data processing unit decomposes and assigns to the task to be processed. After receiving the assigned task from the data processing unit, the data signal processor can also perform local task scheduling within its own chip, and determine the priority of each subtask according to the real-time requirements and computing amount of each subtask in the assigned task sent by the data processing unit. For example, the deadline priority strategy is used for sorting, and the one with the largest current time plus the shortest computing time is executed first.
[0105] In some embodiments, the resource scheduling method provided by the present application further includes: The digital signal processor adjusts the operating frequency according to the real-time requirements and / or load of the assigned task; Among them, the operating frequency is positively correlated with the real-time requirement, and the operating frequency is positively correlated with the load.
[0106] The embodiments of the present application can dynamically adjust the operating frequency of the data signal processor according to the real-time requirements and / or load of the assigned tasks. For example, for assigned tasks with low real-time requirements, the operating frequency of the data signal processor can be reduced to save energy; for tasks with high real-time requirements, the operating frequency of the data signal processor can be increased to ensure that the assigned tasks are completed on time. When the current load of the data signal processor is low, the operating frequency of the data signal processor can be reduced to save energy; when the current load of the data signal processor is high, the operating frequency of the data signal processor can be increased to improve the calculation speed.
[0107] In some embodiments, the resource scheduling method provided by the present application further includes: The digital signal processor adopts the dynamic evolution rules of cellular automata to determine the data transmission path according to the state information of its own cells and the state information of its neighboring cells, and updates the state information of its own cells at the next moment.
[0108] Among them, the cells in the cellular automaton are data processing units or digital signal processors; neighbor cells are cells that are directly connected to their own cells.
[0109] As a cell of the cellular automaton, the data signal processor can collect the status information of other cells and select the optimal data transmission path according to the status information of its own cells and the status information of neighboring cells using the dynamic evolution rules of the cellular automaton. The cellular automaton continuously evolves and adjusts the routing in real time according to the dynamic changes of the network to adapt to the changes in load and link status.
[0110] The present application also provides a computing device. The computing device includes a data processing system in any of the above embodiments. The data processing system includes a data processing module and a digital signal processing module. The data processing module includes at least one data processing unit. The digital signal processing module includes at least one digital signal processor. The data processing system also includes an on-chip network interconnection chip, and the data processing module and the digital signal processing module are connected to each other through the on-chip network interconnection chip. In terms of connecting the network, the data processing module and the digital signal processing module use the on-chip network interconnection chip to achieve end-to-end direct data transmission. The data processing unit is configured to obtain the operating status of each processing node, and according to the task information of the task to be processed and the operating status of each processing node, part of the tasks to be processed are allocated to the digital signal processor of the digital signal processing module and / or other data processing units in the data processing module. The digital signal processor is configured to send its own operating status to the data processing unit, execute the assigned task, and feed back the processing result to the data processing unit. Among them, the assigned task is a part of the tasks to be processed that the data processing unit allocates according to the task information of the task to be processed and the operating status of each processing node.
[0111] The functional description of the data processing module, the digital signal processing module, and the on-chip network interconnection chip in the computing device can be found in the description of the corresponding embodiments above, which will not be repeated here. An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned resource scheduling method embodiments when running.
[0112] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0113] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the resource scheduling method embodiments are implemented.
[0114] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above-mentioned resource scheduling method embodiments are implemented.
[0115] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0116] The above is a detailed introduction to a resource scheduling method provided by the present application. This article uses specific examples to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core ideas of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A resource scheduling method, characterized in that: include: The data processing unit obtains the operating status of each processing node; The data processing unit distributes part of the tasks to be processed to the digital signal processor and / or other data processing units according to the task information of the tasks to be processed and the operation status of each processing node; Wherein, the processing node includes any of the data processing units or any of the digital signal processors.
2. The resource scheduling method according to claim 1, characterized in that: After the data processing unit allocates part of the tasks to be processed to the digital signal processor and / or other data processing units according to the task information of the tasks to be processed and the operation status of each processing node, the method further includes: The data processing unit stores the processed data after executing the task and the processing results fed back by the digital signal processor in the data storage module, and performs read and write management and preprocessing acceleration on the data storage module according to the preset data storage strategy.
3. The resource scheduling method according to claim 1, characterized in that: The data processing unit allocates part of the tasks to be processed to the digital signal processor and / or other data processing units according to the task information of the tasks to be processed and the operation status of each processing node, including: The data processing unit decomposes the task to be processed into multiple subtasks; The data processing unit distributes at least part of the subtasks to the digital signal processor and / or other data processing units according to the data flow dependency of each subtask in the task information of the task to be processed and the operating status of each processing node.
4. The resource scheduling method according to claim 3, characterized in that: The data processing unit allocates at least part of the subtasks to the digital signal processor and / or other data processing units according to the data flow dependency of each subtask in the task information of the task to be processed and the operation status of each processing node, including: The data processing unit uses a minimum communication overhead algorithm based on the data flow dependencies of each subtask in the task information of the task to be processed and the operating status of each processing node to assign at least two subtasks that meet the preset dependency to the same data processing unit or the digital signal processor.
5. The resource scheduling method according to claim 3, characterized in that: The data processing unit allocates at least part of the subtasks to the digital signal processor and / or other data processing units according to the data flow dependency of each subtask in the task information of the task to be processed and the operation status of each processing node, including: The data processing unit uses a minimum communication overhead algorithm based on the data flow dependency of each subtask in the task information of the task to be processed and the operating status of each processing node to batch transmit the subtasks to be assigned to different data processing units or digital signal processors.
6. The resource scheduling method according to claim 3, characterized in that: Also includes: The data processing unit determines the priority of each subtask to be executed according to the real-time requirements and the computational load of each subtask to be executed.
7. The resource scheduling method according to claim 1, characterized in that: Also includes: After the task to be processed is completed, the data processing unit recycles the computing resources corresponding to the task to be processed and updates the running status.
8. The resource scheduling method according to claim 1, characterized in that: Also includes: The data processing unit adopts the dynamic evolution rules of cellular automata to determine the data transmission path according to the state information of its own cells and the state information of neighboring cells, and updates the state information of its own cells at the next moment; The cells in the cellular automaton are data processing units or digital signal processors; the neighbor cells are cells directly connected to the own cells.
9. The resource scheduling method according to claim 8, characterized in that: Also includes: The data processing unit determines that a communication failure occurs based on the status information of its own cell, and triggers the neighboring cells to update the status information.
10. The resource scheduling method according to claim 8, characterized in that: Also includes: The data processing unit sends feedback information to the cell that sent the data based on the verification result of the received data; The feedback information includes a data retransmission indication signal corresponding to a verification failure and / or a confirmation indication information corresponding to a verification success.
11. The resource scheduling method according to claim 8, characterized in that: The data processing unit adopts the dynamic evolution rule of cellular automata to determine the data transmission path according to the state information of its own cells and the state information of neighboring cells, and updates the state information of its own cells at the next moment, including: The data processing unit obtains the state information of its own cells and the state information of neighboring cells; The data processing unit transfers part of the data of its own cell to the neighbor cell based on the state information of its own cell and the state information of the neighbor cell, and updates the state information of its own cell at the next moment, if the load of its own cell is greater than a first threshold, the load of a neighbor cell is less than a second threshold, and the link bandwidth occupancy rate between its own cell and the neighbor cell is less than a third threshold.
12. A resource scheduling method, characterized in that: Applications in digital signal processors, including: The digital signal processor sends its own operating status to the data processing unit; The digital signal processor executes the assigned tasks and feeds the processing results back to the data processing unit; The assigned tasks are part of the tasks to be processed that are assigned by the data processing unit according to the task information of the tasks to be processed and the operating status of each processing node; the processing node includes any of the data processing units or any of the digital signal processors.
13. The resource scheduling method according to claim 12, characterized in that: Also includes: The digital signal processor determines the priority of each subtask according to the real-time requirements and computational load of each subtask in the assigned task; The subtasks refer to subtasks that the data processing unit decomposes and allocates the task to be processed.
14. The resource scheduling method according to claim 12, characterized in that: Also includes: The digital signal processor adjusts the operating frequency according to the real-time requirements and / or load of the assigned task; The operating frequency is positively correlated with the real-time requirement, and the operating frequency is positively correlated with the load.
15. The resource scheduling method according to claim 12, characterized in that: Also includes: The digital signal processor adopts the dynamic evolution rules of cellular automata to determine the data transmission path according to the state information of its own cells and the state information of neighboring cells, and updates the state information of its own cells at the next moment; The cell in the cellular automaton is the data processing unit or the digital signal processor; the neighbor cell is a cell directly connected to the own cell.
16. A data processing system, characterized in that: include: A data processing module, wherein the data processing module comprises at least one data processing unit; A digital signal processing module, wherein the digital signal processing module comprises at least one digital signal processor; An on-chip network interconnection chip, through which the data processing module and the digital signal processing module are communicatively connected; The data processing unit is configured to obtain the operating status of each processing node, and allocate part of the tasks to be processed to the digital signal processor of the digital signal processing module and / or other data processing units in the data processing module according to the task information of the tasks to be processed and the operating status of each processing node; The digital signal processor is configured to send its own operating status to the data processing unit, perform the assigned task, and feed back the processing result to the data processing unit; The assigned tasks are part of the tasks to be processed that are assigned by the data processing unit according to the task information of the tasks to be processed and the operating status of each processing node; the processing node includes any of the data processing units or any of the digital signal processors.
17. The data processing system according to claim 16, characterized in that: Also included is a data storage module; The data storage module is communicatively connected with the data processing module via an on-chip network interconnection chip; The data processing unit is also configured to store the processed data after the data processing unit executes the task and the processing result fed back by the digital signal processor into the data storage module, and perform read and write management and preprocessing acceleration on the data storage module according to a preset data storage strategy.
18. A computing device, characterized in that Comprising a data processing system as claimed in any one of claims 16 or 17.
19. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the resource scheduling method as claimed in any one of claims 1 to 11 or any one of claims 12 to 15.
20. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the resource scheduling method according to any one of claims 1 to 11 or any one of claims 12 to 15 are implemented.
Citation Information
Patent Citations
Traffic scheduling method, VNF module and traffic scheduling server
CN107426109A
FPGA task scheduling method, scheduler and scheduling system
CN114721790A
Vehicle control method and system, electronic equipment and storage medium
CN116142236A
FPGA layout method based on cellular automaton and tabu search
CN116629190A
Creation method and device based on vehicle exterior environment instrument scene follow-up
CN117719329A
Cited By
Dynamic password task scheduling method and system based on hardware grouping
CN120415813A
A hardware grouping-based password task dynamic scheduling method and system
CN120415813B
Security monitoring system based on master-slave controller mode
CN120475032A
Task processing method and system based on multiple processing units, electronic equipment and storage medium
CN120687214A