A Task Scheduling Method for Heterogeneous Computing Platforms

By building a computing resource expenditure prediction model and an optimal allocation model on a heterogeneous computing platform, analyzing and optimizing the interaction overhead of tasks is solved, and the problem of large resource overhead in the task interaction process in a heterogeneous computing platform is improved.

CN119166304BActive Publication Date: 2025-06-03BEIJING INST OF COMP TECH & APPL
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411240666.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-05
Publication Date
2025-06-03
Estimated Expiration
2044-09-05

AI Technical Summary

Technical Problem

During task processing, heterogeneous computing platforms have a large amount of resource overhead during task processing due to the inevitable data interaction and the fixed number of computing hardware channels.

Method used

A task scheduling method for heterogeneous computing platforms is proposed. By building a computing resource expenditure prediction model, analyzing the computing resource overhead requirements of the tasks to be executed, dividing the task sequence, filtering the core points of interaction overhead, and building an optimal allocation model based on the load state and aggregation points to generate a task scheduling plan.

Benefits of technology

Reduce task interaction overhead, reduce the waiting time during task execution, and improve the efficiency of task execution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119166304B_ABST
    Figure CN119166304B_ABST
Patent Text Reader

Abstract

The present invention relates to a task scheduling method for a heterogeneous computing platform, belonging to the technical field of heterogeneous computing platforms. The present invention predicts the load status of the heterogeneous computing platform per unit time; determines the computing power resource overhead requirements of the tasks to be executed; divides the tasks to be executed according to the preference of the computing power resource overhead requirements of the tasks to be executed, obtaining a subtask sequence of the tasks to be executed; analyzes the interaction overhead of the subtask sequence of the tasks to be executed, screens out the core points of the interaction overhead that affect each subtask sequence of the tasks to be executed, denoted as the aggregation points of the tasks to be executed; constructs an optimal allocation model for the aggregation points of the tasks to be executed based on the load status of the heterogeneous computing platform per unit time and the aggregation points of the tasks to be executed, and generates a task scheduling scheme. The present invention can reduce the task interaction overhead, reduce the waiting time during task execution, and improve the task execution efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of heterogeneous computing platforms, and particularly relates to a task scheduling method for a heterogeneous computing platform. Background Art

[0002] A heterogeneous computing platform refers to a computing system that integrates multiple different types of processors (such as CPUs, GPUs, FPGAs, ASICs, etc.) and storage devices. These components work together through efficient data exchange to optimize the performance, power consumption, and cost of specific applications or workloads, achieving higher computing efficiency and flexibility than a single-processor architecture.

[0003] Since the underlying execution logic of a heterogeneous computing platform is to split tasks and randomly allocate them to the optimal computing power hardware to complete task operations, and then classify and package the operation results for output, but data interaction is inevitable during the task processing, and the number of channels of the computing power hardware is fixed, and task synchronization also needs to be maintained during task execution. Therefore, there are a large number of resource overheads during the task interaction process. Summary of the Invention

[0004] (1) Technical Problems to be Solved

[0005] The technical problem to be solved by the present invention is how to provide a task scheduling method for a heterogeneous computing platform to solve the above problems. Since the underlying execution logic of a heterogeneous computing platform is to split tasks and randomly allocate them to the optimal computing power hardware to complete task operations, and then classify and package the operation results for output, but data interaction is inevitable during the task processing, and the number of channels of the computing power hardware is fixed, and task synchronization also needs to be maintained during task execution. Therefore, there are a large number of resource overheads during the task interaction process.

[0006] (2) Technical Solutions

[0007] To solve the above technical problems, the present invention proposes a task scheduling method for a heterogeneous computing platform, which includes the following steps:

[0008] S1. Based on the historical computing power resource expenditure data of the heterogeneous computing platform, construct a computing power resource expenditure prediction model of the heterogeneous computing platform to predict the unit-time load status of the heterogeneous computing platform;

[0009] S2. Obtain the tasks to be executed in the storage medium of the heterogeneous computing platform, analyze the attribute parameters of the tasks to be executed, and determine the computing power resource overhead requirements of the tasks to be executed;

[0010] S3. Divide the tasks to be executed according to the preference of the computing power resource overhead requirements of the tasks to be executed to obtain a subtask sequence of the tasks to be executed;

[0011] S4. Analyze the interaction overhead of the subtask sequence of the task to be executed, filter out the core points of the interaction overhead that affect the subtask sequence of each task to be executed, and record them as the aggregation points of the task to be executed;

[0012] S5. Based on the unit-time load status of the heterogeneous computing platform and the aggregation points of the tasks to be executed, construct an optimal allocation model for the aggregation points of the tasks to be executed, and generate a task scheduling plan.

[0013] (3) Beneficial effects

[0014] The present invention proposes a task scheduling method for a heterogeneous computing platform. The present invention proposes a task scheduling plan for a heterogeneous computing platform. By constructing an optimal allocation model for the aggregation points of the tasks to be executed, analyzing the aggregation points of the interaction overhead in the heterogeneous computing tasks to be executed, preferentially allocating the aggregation points of the interaction overhead in the tasks to be executed to the same computing power hardware node, reducing the task interaction overhead, reducing the waiting time during task execution, and improving the task execution efficiency. Description of the drawings

[0015] Figure 1 It is a flowchart of the task scheduling method for the heterogeneous computing platform of the present invention;

[0016] Figure 2 It is a flowchart of the method for predicting the unit-time load status of the heterogeneous computing platform;

[0017] Figure 3 It is a flowchart of the method for determining the computing power resource overhead requirements of the task to be executed;

[0018] Figure 4 It is a flowchart of the subtask sequence of the task to be executed;

[0019] Figure 5 It is a flowchart of the method for obtaining the aggregation points of the tasks to be executed;

[0020] Figure 6 It is a flowchart of the method for generating a task scheduling plan;

[0021] Figure 7 It is a schematic diagram of the structure of the electronic device of the present invention;

[0022] Figure 8 It is a schematic diagram of the structure of the computer-readable storage medium of the present invention. Specific embodiments

[0023] To make the objectives, contents, and advantages of the present invention clearer, the following further describes in detail the specific embodiments of the present invention with reference to the drawings and embodiments.

[0024] To solve the above technical problems, a task scheduling method for a heterogeneous computing platform is provided, including: predicting the load status of the heterogeneous computing platform per unit time; determining the computing power resource overhead requirements of the tasks to be executed; dividing the tasks to be executed according to the preference of the computing power resource overhead requirements of the tasks to be executed to obtain a subtask sequence of the tasks to be executed; analyzing the interaction overhead of the subtask sequence of the tasks to be executed, screening out the core points of the interaction overhead that affect the subtask sequence of each task to be executed, and recording them as the aggregation points of the tasks to be executed; and constructing an optimal allocation model for the aggregation points of the tasks to be executed based on the load status of the heterogeneous computing platform per unit time and the aggregation points of the tasks to be executed, and generating a task scheduling scheme. The advantages of the present invention are: reducing the task interaction overhead, reducing the waiting time during task execution, and improving the task execution efficiency.

[0025] The technical solution adopted by the present invention is as follows:

[0026] A task scheduling method for a heterogeneous computing platform, including:

[0027] S1. Based on the historical computing power resource expenditure data of the heterogeneous computing platform, construct a computing power resource expenditure prediction model of the heterogeneous computing platform to predict the load status of the heterogeneous computing platform per unit time;

[0028] S2. Obtain the tasks to be executed in the storage medium of the heterogeneous computing platform, analyze the attribute parameters of the tasks to be executed, and determine the computing power resource overhead requirements of the tasks to be executed;

[0029] S3. Divide the tasks to be executed according to the preference of the computing power resource overhead requirements of the tasks to be executed to obtain a subtask sequence of the tasks to be executed;

[0030] S4. Analyze the interaction overhead of the subtask sequence of the tasks to be executed, screen out the core points of the interaction overhead that affect the subtask sequence of each task to be executed, and record them as the aggregation points of the tasks to be executed;

[0031] S5. Based on the load status of the heterogeneous computing platform per unit time and the aggregation points of the tasks to be executed, construct an optimal allocation model for the aggregation points of the tasks to be executed, and generate a task scheduling scheme.

[0032] Preferably, in S1, based on the historical computing power resource expenditure data of the heterogeneous computing platform, constructing a computing power resource expenditure prediction model of the heterogeneous computing platform to predict the load status of the heterogeneous computing platform per unit time specifically includes:

[0033] S11. Based on the historical computing power resource expenditure data of the heterogeneous computing platform, bind the computing power resources expenditure per unit time to the computing power hardware, and package it into a computing power resource expenditure time series data L; L = [x 1t ,..., x it ,..., x nt , where xit It is the computing power resource expenditure of the i-th computing power hardware in the t-th unit time; the computing power resource expenditure includes: CPU usage rate, GPU usage rate, memory occupancy rate, disk I / O rate, network bandwidth usage rate;

[0034] S12. Preprocess the time series data of the computing power resource expenditure through normalization;

[0035] S13. Based on the computing power resource expenditure value of the computing power hardware in the unit time in the time series data of the computing power resource expenditure after normalization processing, calculate the overall performance occupancy rate of the heterogeneous computing platform in the unit time, denoted as the time series computing power resource expenditure feature data;

[0036] S14. Construct a computing power resource expenditure prediction model for the heterogeneous computing platform; substitute the historical computing power resource expenditure data of the heterogeneous computing platform into the computing power resource expenditure prediction model based on the heterogeneous computing platform, use the time series computing power resource expenditure feature data in the historical computing power resource expenditure data as the independent variable input, and use the predicted load value of the heterogeneous computing platform in the unit time as the dependent variable output;

[0037] Among them, the expression of the computing power resource expenditure prediction model of the heterogeneous computing platform is:

[0038]

[0039] In the formula, y t is the load value of the heterogeneous computing platform in the t-th unit time, x it-h is the computing power resource expenditure of the i-th computing power hardware in the t-h-th unit time, δ h is the h-th order autoregressive coefficient, ε t is the error term in the t-th unit time, H is the total number of lag orders, and n is the total number of computing power hardware.

[0040] Preferably, in S2, obtaining the to-be-executed tasks in the storage medium of the heterogeneous computing platform, analyzing the attribute parameters of the to-be-executed tasks, and determining the computing power resource overhead requirements of the to-be-executed tasks specifically include:

[0041] S21. Based on the storage medium of the heterogeneous computing platform, read the message queue of the to-be-executed tasks to obtain the to-be-executed task data set;

[0042] S22. Based on the virtual address byte position of each to-be-executed task in the to-be-executed task data set, determine the attributes of the to-be-executed tasks. The attributes of the tasks include logical computing tasks and graphics rendering tasks, and initialize the computing power resource requirements of the to-be-executed tasks; the computing power resource requirements include: CPU core number requirements, GPU core number requirements, memory space requirements, network bandwidth requirements;

[0043] S23. Obtain the binary data stream of each to-be-executed task in the to-be-executed task data set, and calculate the complexity coefficient of the to-be-executed task based on the traffic and constrained execution time of the binary data stream;

[0044] S24. Calculate the computing power resource overhead requirement of the to-be-executed task based on the computing power resource requirement of the initialized to-be-executed task and the complexity coefficient of the to-be-executed task;

[0045] Among them, the formula for calculating the complexity coefficient of the to-be-executed task is:

[0046]

[0047] In the formula, P is the complexity coefficient of the to-be-executed task, S j is the traffic of the binary data stream of the jth to-be-executed task, S j ' is the expected value of the traffic of the binary data stream of the jth to-be-executed task, T j is the constrained execution time of the jth to-be-executed task, T j ' is the expected constrained execution time of the jth to-be-executed task, is the difficulty adjustment factor, set based on the complexity coefficient;

[0048] Among them, the formula for calculating the computing power resource overhead requirement of the to-be-executed task is:

[0049]

[0050] In the formula, G is the computing power resource overhead requirement of the to-be-executed task, F j is the initialized computing power resource requirement of the jth to-be-executed task, m is the number of to-be-executed tasks, and P is the complexity coefficient of the to-be-executed task.

[0051] Preferably, in S3, dividing the to-be-executed tasks according to the preference of the computing power resource overhead requirement of the to-be-executed task, and the specific steps for obtaining the subtask sequence of the to-be-executed task include:

[0052] S31. Determine the access computing hardware relationship graph of the binary data stream of the to-be-executed task based on the computing power resource overhead requirement of the to-be-executed task;

[0053] S32. Perform access preference mapping on the access computing hardware relationship graph of the binary data stream of the to-be-executed task to obtain several preference binary data stream arrays of the to-be-executed task;

[0054] S33. Pack the several preference binary data stream arrays of the to-be-executed task into the subtask sequence of the to-be-executed task according to the operation rule of the computing power resource overhead requirement preference.

[0055] Preferably, in S4, analyze the interaction overhead of the sub-task sequence of the task to be executed, screen out the core points affecting the interaction overhead of the sub-task sequence of each task to be executed, and record them as the aggregation points of the task to be executed, specifically including:

[0056] S41. Based on the task target direction of the sub-task sequence of the task to be executed, conduct sub-task dependency analysis and construct a directed acyclic graph of the task to be executed;

[0057] S42. Mark each sub-task cross-path in the directed acyclic graph of the task to be executed, and record it as a sub-task interaction node;

[0058] S43. Use the preferred running rule of the task to be executed as an influencing condition to evaluate the interaction overhead of each sub-task interaction node of the task to be executed;

[0059] S44. Screen out the maximum value of the interaction overhead of each sub-task interaction node of the task to be executed, and use the sub-task interaction node corresponding to this maximum value as the aggregation point of the task to be executed;

[0060] Among them, the specific evaluation of the interaction overhead of each sub-task interaction node of the task to be executed is as follows:

[0061]

[0062] In the formula, C j ” is the interaction overhead of the j'-th sub-task interaction node of the task to be executed, d j' is the data transmission volume of the j'-th sub-task of the task to be executed, r j' is the communication delay time of the j'-th sub-task of the task to be executed, h j' is the synchronization waiting time of the j'-th sub-task of the task to be executed, α, β, and γ are the data transmission volume coefficient, communication delay time coefficient, and synchronization waiting time coefficient in sequence, max is the maximum function, and m' is the total number of sub-task interaction nodes.

[0063] Preferably, in S5, based on the unit-time load status of the heterogeneous computing platform and the aggregation points of the tasks to be executed, construct an optimal allocation model for the aggregation points of the tasks to be executed and generate a task scheduling plan, specifically including:

[0064] S51. Based on the predicted load value of the heterogeneous computing platform per unit time, determine the computing power resource redundancy value of the computing power hardware of the heterogeneous computing platform per unit time;

[0065] S52. Based on the requirement preferences of the task to be executed, taking the condition that the redundancy value of the computing power resources of the computing power hardware per unit time of the heterogeneous computing platform meets the computing power resource overhead requirement of the task to be executed as a constraint condition; taking the minimization of the redundancy value of the computing power resources of the computing power hardware per unit time of the heterogeneous computing platform for calculating the aggregation point interaction overhead of the task to be executed as the optimal objective, constructing an objective function; thereby constructing an optimal allocation model for the aggregation points of the task to be executed.

[0066] S53. Substitute the task to be executed in the storage medium of the heterogeneous computing platform into the optimal allocation model for the aggregation points of the task to be executed, and under the constraint condition, screen out the optimal task scheduling scheme that meets the objective function.

[0067] Among them, the optimal allocation model for the aggregation points of the task to be executed is specifically:

[0068]

[0069] In the formula, C' ki (t) is the interaction overhead of allocating the aggregation point of the k-th sub-task of the task to be executed to the i-th computing power hardware at t unit times, and Z ki (t) is a binary decision variable (0, 1), indicating whether to allocate the aggregation point of the k-th sub-task of the task to be executed to the i-th computing power hardware at t unit times. 0 means not allocated, and 1 means allocated. B i (t) is the redundancy value of the computing power resources of the i-th computing power hardware at the t-th unit time, and C' k is the interaction overhead of the k-th sub-task aggregation point, and K is the total number of sub-task aggregation points.

[0070] Embodiment 1:

[0071] Referring to Figure 1 shown, a task scheduling method for a heterogeneous computing platform includes:

[0072] Based on the historical computing power resource expenditure data of the heterogeneous computing platform, predict the load status of the heterogeneous computing platform per unit time;

[0073] Obtain the task to be executed in the storage medium of the heterogeneous computing platform, analyze the attribute parameters of the task to be executed, and determine the computing power resource overhead requirement of the task to be executed;

[0074] Divide the task to be executed according to the computing power resource overhead requirement preference of the task to be executed to obtain a sub-task sequence of the task to be executed;

[0075] Analyze the interaction overhead of the sub-task sequence of the task to be executed, and screen out the core points affecting the interaction overhead of each sub-task sequence of the task to be executed, which are recorded as the aggregation points of the task to be executed;

[0076] Based on the aggregation points of the unit-time load status and the to-be-executed tasks of the heterogeneous computing platform, an optimal allocation model for the to-be-executed task aggregation points is constructed to generate a task scheduling scheme.

[0077] This scheme constructs an optimal allocation model for the to-be-executed task aggregation points, analyzes the aggregation points of the interaction overhead in the to-be-executed tasks of heterogeneous computing, preferentially allocates the aggregation points of the interaction overhead in the to-be-executed tasks to the same computing power hardware node, reduces the task interaction overhead, reduces the waiting time during task execution, and improves the task execution efficiency.

[0078] Refer to Figure 2 As shown, predicting the unit-time load status of the heterogeneous computing platform based on the historical computing power resource expenditure data of the heterogeneous computing platform specifically includes:

[0079] Based on the historical computing power resource expenditure data of the heterogeneous computing platform, the computing power resource expenditure of the computing power hardware bound per unit time is calculated and packaged as the time series data L of the computing power resource expenditure; L = [x 1t ,..., x it ,..., x nt , where x it is the computing power resource expenditure of the i-th computing power hardware at the t-th unit time; the computing power resource expenditure includes: CPU usage rate, GPU usage rate, memory occupancy rate, disk I / O rate, network bandwidth usage rate;

[0080] Preprocess the time series data of the computing power resource expenditure through normalization;

[0081] Based on the computing power resource expenditure value of the computing power hardware per unit time in the normalized time series data of the computing power resource expenditure, calculate the overall performance occupancy rate of the heterogeneous computing platform per unit time, denoted as the time series computing power resource expenditure feature data;

[0082] Construct a computing power resource expenditure prediction model for the heterogeneous computing platform;

[0083] Substitute the historical computing power resource expenditure data of the heterogeneous computing platform into the computing power resource expenditure prediction model based on the heterogeneous computing platform, use the time series computing power resource expenditure feature data in the historical computing power resource expenditure data as the independent variable input, and use the predicted load value of the heterogeneous computing platform per unit time as the dependent variable output;

[0084] Among them, the expression of the computing power resource expenditure prediction model of the heterogeneous computing platform is:

[0085]

[0086] In the formula, y t is the load value of the heterogeneous computing platform at the t-th unit time, x it-his the computing power resource expenditure of the i-th computing power hardware at the (t - h)-th unit time, δ h is the h-th order autoregressive coefficient, ε t is the error term at the t-th unit time, H is the total number of lag orders, and n is the total number of computing power hardwares.

[0087] Referring to Figure 3 as shown, obtaining the to-be-executed tasks in the storage medium of the heterogeneous computing platform, analyzing the attribute parameters of the to-be-executed tasks, and determining the computing power resource overhead requirements of the to-be-executed tasks specifically include:

[0088] Based on the storage medium of the heterogeneous computing platform, reading the message queue of the to-be-executed tasks to obtain the to-be-executed task data set;

[0089] Based on the virtual address byte position of each to-be-executed task in the to-be-executed task data set, determining the attribute plan of the to-be-executed task and initializing the computing power resource requirements of the to-be-executed task; the computing power resource requirements include: GPU core number requirements, GPU core number requirements, memory space requirements, network bandwidth requirements;

[0090] Obtaining the binary data stream of each to-be-executed task in the to-be-executed task data set, and calculating the complexity coefficient of the to-be-executed task based on the traffic and constrained execution time of the binary data stream;

[0091] Based on the initialized computing power resource requirements of the to-be-executed task and the complexity index of the to-be-executed task, calculating the computing power resource overhead requirements of the to-be-executed task;

[0092] Among them, the formula for calculating the complexity coefficient of the computing execution task is:

[0093]

[0094] In the formula, P is the complexity coefficient of the to-be-executed task, S j is the traffic of the binary data stream of the j-th to-be-executed task, S j ' is the expected value of the traffic of the binary data stream of the j-th to-be-executed task, T j is the constrained execution time of the j-th to-be-executed task, T j ' is the expected constrained execution time of the j-th to-be-executed task, is the difficulty adjustment factor, set based on the complexity coefficient;

[0095] Among them, the formula for calculating the computing power resource overhead requirements of the to-be-executed task is:

[0096]

[0097] In the formula, G is the computing power resource overhead requirement of the to-be-executed task, F j$R_{j}$ is the computing power resource requirement for initializing the $j$-th task to be executed, $m$ is the number of tasks to be executed, and $P$ is the complexity coefficient of the tasks to be executed.

[0098] It should be noted that the expected value of the binary data stream for task execution is usually preset based on factors such as historical data, system specifications, or task types. It represents the average or expected binary data traffic that a task needs to process under normal conditions. The constrained execution time of the task to be executed is determined by factors such as task requirements, system real-time requirements, or user-specified deadlines, which stipulates the time limit for task completion.

[0099] Refer to Figure 4 As shown, the tasks to be executed are divided according to the preference of the computing power resource overhead requirements of the tasks to be executed, and the obtained subtask sequence of the tasks to be executed specifically includes:

[0100] Based on the computing power resource overhead requirements of the tasks to be executed, determine the access computing hardware relationship graph of the binary data stream of the tasks to be executed;

[0101] Perform access preference mapping on the access computing hardware relationship graph of the binary data stream of the tasks to be executed to obtain several preference binary data stream arrays of the tasks to be executed;

[0102] Pack the several preference binary data stream arrays of the tasks to be executed into a subtask sequence of the tasks to be executed according to the operation rules of the computing power resource overhead requirements preference.

[0103] It can be understood that the underlying processing rules of a task to be processed are all binary data stream logical operations to control the pixel points on the screen. Although all tasks to be processed can be realized through logic gates and branch operations, when facing large-scale image decryption tasks, the CPU serial processing method has poor execution efficiency when dealing with massive data. Therefore, this part of the data is divided into GPU parallel processing to reduce the accumulation of tasks to be processed.

[0104] It should be noted that the implementation process of preference mapping involves matching the binary data stream of the tasks to be executed with the access relationship graph of the computing hardware, analyzing the access mode and computing requirements of each data stream, comparing these requirements with the capabilities and load conditions of the computing hardware, and sorting and grouping the data streams according to the hardware access efficiency and resource requirements based on the performance characteristics of the hardware and the priority of the data streams.

[0105] Refer to Figure 5 As shown, analyze the interaction overhead of the subtask sequence of the tasks to be executed, and screen out the core points that affect the interaction overhead of each subtask sequence of the tasks to be executed, denoted as the aggregation points of the tasks to be executed, specifically including:

[0106] Perform subtask dependency analysis based on the task target direction of the subtask sequence to be executed, and construct a directed acyclic graph of the task to be executed;

[0107] Mark each subtask cross-path in the directed acyclic graph of the task to be executed, denoted as a subtask interaction node;

[0108] Take the preferred running rule of the task to be executed as an influencing condition, calculate the subtask interaction nodes of the task to be executed, and evaluate the interaction overhead of each subtask interaction node of the task to be executed;

[0109] Filter out the maximum value of the interaction overhead of each subtask interaction node of the task to be executed as the aggregation point of the task to be executed;

[0110] Among them, the specific evaluation of the interaction overhead of each subtask interaction node of the task to be executed is as follows:

[0111]

[0112] In the formula, C j ” is the interaction overhead of the j'-th subtask aggregation point of the task to be executed, d j' is the data transfer volume of the j'-th subtask of the task to be executed, r j' is the communication delay time of the j'-th subtask of the task to be executed under the influencing condition, h j' is the synchronization waiting time of the j'-th subtask of the task to be executed under the influencing condition, α, β, γ are the data transfer volume coefficient, communication delay time coefficient, and synchronization waiting time coefficient in turn, max is the maximum function, and m' is the total number of subtask sequences.

[0113] Refer to Figure 6 As shown, based on the unit time load status of the heterogeneous computing platform and the aggregation point of the task to be executed, constructing an optimal allocation model for the aggregation point of the task to be executed and generating a task scheduling scheme specifically includes:

[0114] Based on the predicted load value of the heterogeneous computing platform per unit time, determine the redundant value of the computing power resources of the computing power hardware of the heterogeneous computing platform per unit time;

[0115] Based on the demand preference of the task to be executed, use the redundant value of the computing power resources of the computing power hardware of the heterogeneous computing platform per unit time to meet the computing power resource overhead demand of the task to be executed as a constraint condition;

[0116] Use the operation of minimizing the redundant value of the computing power resources of the computing power hardware of the heterogeneous computing platform per unit time for the interaction overhead of the aggregation point of the task to be executed as the optimal allocation node to construct an objective function;

[0117] Construct an optimal allocation model for the aggregation point of the task to be executed;

[0118] Substitute the to-be-executed tasks in the storage medium of the heterogeneous computing platform into the optimal allocation model of the to-be-executed task aggregation points, and under the constraint conditions, screen out the optimal task scheduling scheme of the objective function;

[0119] Among them, the optimal allocation model of the to-be-executed task aggregation points is specifically:

[0120]

[0121] In the formula, C' ki (t) is the interaction overhead of allocating the k-th sub-task aggregation point of the to-be-executed task to the i-th computing power hardware at t unit times, and Z ki (t) is a binary decision variable (0, 1), indicating whether to allocate the k-th sub-task aggregation point of the to-be-executed task to the i-th computing power hardware at t unit times. 0 means not allocated, and 1 means allocated. B i (t) is the computing power resource redundancy value of the i-th computing power hardware at the t-th unit time, and C' k is the interaction overhead of the k-th sub-task aggregation point, and K is the total number of sub-task aggregation points.

[0122] It can be understood that since the underlying execution logic of the heterogeneous computing platform usually splits the tasks and randomly allocates them to the optimal computing power hardware to complete the task operations when facing the to-be-processed tasks, and classifies and packages the results after the operations and outputs them, but the data interaction in the task processing process is inevitable, and due to the fixed number of channels of the computing power hardware, task synchronization also needs to be maintained during task execution. Therefore, there are a large number of resource overheads in the task interaction process. By allocating the tasks of the aggregation points to the nodes of the same computing power hardware, the interaction overhead can be greatly reduced.

[0123] Embodiment 2:

[0124] Figure 7 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. As Figure 7 shown, according to another aspect of the present application, an electronic device 500 is further provided. The electronic device 500 may include one or more processors and one or more memories. Among them, computer-readable code is stored in the memory, and when the computer-readable code is run by one or more processors, it can execute a task scheduling method for a heterogeneous computing platform as described above.

[0125] Embodiment 3:

[0126] Figure 8 It is a schematic structural diagram of a computer-readable storage medium provided by an embodiment of the present application. As Figure 8As shown, it is a computer-readable storage medium 600 according to an embodiment of the present application. Computer-readable instructions are stored on the computer-readable storage medium 600. When the computer-readable instructions are run by a processor, a task scheduling method for a heterogeneous computing platform according to an embodiment of the present application described with reference to the above drawings can be executed.

[0127] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0128] The present invention proposes a task scheduling scheme for a heterogeneous computing platform. By constructing an optimal allocation model for the aggregation points of tasks to be executed, analyzing the aggregation points of interaction overheads in the tasks to be executed on the heterogeneous computing platform, and preferentially allocating the aggregation points of interaction overheads in the tasks to be executed to the same computing power hardware node, the task interaction overhead is reduced, the waiting time during task execution is reduced, and the task execution efficiency is improved.

[0129] The above are only the preferred embodiments of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the technical principle of the present invention, several improvements and modifications can be made, and these improvements and modifications should also be regarded as the protection scope of the present invention.

Claims

1. A task scheduling method for heterogeneous computing platforms, characterized in that: The method comprises the following steps: S1. Based on the historical computing resource expenditure data of the heterogeneous computing platform, a computing resource expenditure prediction model of the heterogeneous computing platform is constructed to predict the load status per unit time of the heterogeneous computing platform; S2. Obtain the tasks to be executed in the storage medium of the heterogeneous computing platform, analyze the attribute parameters of the tasks to be executed, and determine the computing resource overhead requirements of the tasks to be executed; S3, dividing the tasks to be executed according to the computing power resource consumption demand preference of the tasks to be executed, and obtaining a subtask sequence of the tasks to be executed; S4, analyzing the interaction overhead of the subtask sequence of the task to be executed, screening out the core points of the interaction overhead that affect each subtask sequence of the task to be executed, and recording them as the aggregation points of the task to be executed; S5. Based on the unit time load status of the heterogeneous computing platform and the aggregation points of the tasks to be executed, an optimal allocation model of the aggregation points of the tasks to be executed is constructed to generate a task scheduling plan; in, The S2 specifically includes: S21, based on the storage medium of the heterogeneous computing platform, reading the message queue of the task to be executed, and obtaining a data set of the task to be executed; S22, based on the virtual address byte position of each task to be executed in the task data set to be executed, determine the attributes of the task to be executed, the attributes of the task include logical computing tasks and graphics rendering tasks, and initialize the computing power resource requirements of the task to be executed; the computing power resource requirements include: CPU core number requirements, GPU core number requirements, memory space requirements, and network bandwidth requirements; S23, obtaining the binary data stream of each task to be executed in the task data set to be executed, and calculating the complexity difficulty coefficient of the task to be executed based on the flow rate of the binary data stream and the constraint execution time; S24. Based on the computing power resource requirement of the initialized task to be executed and the complexity difficulty coefficient of the task to be executed, the computing power resource overhead requirement of the task to be executed is calculated.

2. The task scheduling method for heterogeneous computing platforms according to claim 1, characterized in that: The S1 specifically includes: S11. Based on the historical computing resource expenditure data of the heterogeneous computing platform, the computing resource expenditure of the computing hardware is bound according to the unit time, and packaged into the computing resource expenditure time series data L; L = [x 1t ,...,x it ,...,x nt ], where x it The computing resource expenditure of the i-th computing hardware in the t-th unit time; the computing resource expenditure includes: CPU utilization, GPU utilization, memory occupancy, disk I / O rate, and network bandwidth utilization; S12. Preprocessing the computing resource expenditure time series data by normalization; S13. Based on the computing power resource expenditure value of the computing power hardware per unit time in the normalized computing power resource expenditure time series data, calculate the overall performance occupancy rate of the heterogeneous computing platform per unit time, and record it as the time series computing power resource expenditure characteristic data; S14. Construct a computing power resource expenditure prediction model for heterogeneous computing platforms; substitute the historical computing power resource expenditure data of the heterogeneous computing platforms into the computing power resource expenditure prediction model based on the heterogeneous computing platforms, use the time series computing power resource expenditure feature data in the historical computing power resource expenditure data as the independent variable input, and use the predicted load value of the heterogeneous computing platform per unit time as the dependent variable output.

3. The task scheduling method for heterogeneous computing platforms according to claim 2, characterized in that: The computing power resource expenditure prediction model expression of the heterogeneous computing platform is: In the formula, y t is the load value of the heterogeneous computing platform at the tth unit time, x it-h is the computing resource expenditure of the i-th computing hardware in the th unit time, δ h is the h-th order autoregressive coefficient, ε t is the error term of the t-th unit time, H is the total number of lag orders, and n is the total number of computing power hardware.

4. The task scheduling method for heterogeneous computing platforms according to claim 3, characterized in that: The formula for the complex difficulty coefficient of the task to be performed is: In the formula, P is the complexity coefficient of the task to be performed, S j is the binary data flow of the jth task to be executed, S j ′ is the expected value of the binary data flow of the jth task to be executed, T j is the constrained execution time of the jth task to be executed, T j ′ is the expected execution time of the jth task to be executed. It is a difficulty adjustment factor, which is set based on the complexity coefficient.

5. The task scheduling method for heterogeneous computing platforms according to claim 4, characterized in that: The computing resource cost requirement formula of the task to be executed is: In the formula, G is the computing resource overhead requirement of the task to be executed, and F j is the initial computing resource requirement for the jth task to be executed, m is the number of tasks to be executed, and P is the complexity coefficient of the task to be executed.

6. The task scheduling method for heterogeneous computing platforms according to claim 4 or 5, characterized in that: The S3 specifically includes: S31. Based on the computing resource overhead requirements of the task to be executed, determine the access computing hardware relationship map of the binary data stream of the task to be executed; S32, performing access preference mapping on the access computing hardware relationship graph of the binary data stream of the task to be executed, and obtaining a plurality of preference binary data stream arrays of the task to be executed; S33. Packing several preferred binary data stream arrays of the tasks to be executed into a subtask sequence of the tasks to be executed according to the computing power resource overhead requirement preference operation rules.

7. The task scheduling method for heterogeneous computing platforms according to claim 6, characterized in that: The S4 specifically includes: S41, based on the task target direction of the subtask sequence of the task to be executed, performing subtask dependency analysis and constructing a directed acyclic graph of the task to be executed; S42, marking each subtask cross path in the directed acyclic graph of the task to be executed as a subtask interaction node; S43, taking the preferred operation rules of the task to be executed as the influencing condition, evaluating the interaction cost of each subtask interaction node of the task to be executed; S44: Filter the maximum value of the interaction cost of each subtask interaction node of the task to be executed, and use the subtask interaction node corresponding to the maximum value as the aggregation point of the task to be executed.

8. The task scheduling method for heterogeneous computing platforms according to claim 7, characterized in that: The interaction overhead of each subtask interaction node of the task to be executed is specifically: In the formula, C j ” is the interaction cost of the j′th subtask interaction node of the task to be executed, d j ′ is the data transmission volume of the j′th subtask to be executed, r j ′ is the communication delay time of the j′th subtask to be executed, h j ′ is the synchronization waiting time of the j′th subtask to be executed, α, β, γ are the data transmission coefficient, communication delay time coefficient and synchronization waiting time coefficient respectively, max is the maximum function, and m′ is the total number of subtask interaction nodes.

9. The task scheduling method for heterogeneous computing platforms according to claim 8, characterized in that: The S5 specifically includes: S51, based on the predicted load value of the heterogeneous computing platform per unit time, determining the computing power resource redundancy value of the computing power hardware of the heterogeneous computing platform per unit time; S52, based on the demand preference of the task to be executed, taking the computing power resource redundancy value of the computing power hardware of the heterogeneous computing platform per unit time to meet the computing power resource overhead demand of the task to be executed as a constraint condition; taking minimizing the computing power resource redundancy value of the computing power hardware of the heterogeneous computing platform per unit time to calculate the aggregation point interaction overhead of the task to be executed as the optimal goal, constructing an objective function; thereby constructing an optimal allocation model of the aggregation points of the task to be executed; S53, substituting the tasks to be executed in the storage medium of the heterogeneous computing platform into the optimal allocation model of the aggregation points of the tasks to be executed, and screening out the optimal task scheduling scheme that meets the objective function under the constraint conditions; Among them, the optimal allocation model of the aggregation points of the tasks to be executed is specifically as follows: In the formula, C′ ki (t) is the interaction cost of allocating the kth subtask aggregation point of the task to be executed to the i-th computing hardware in t unit time, Z ki (t) is a binary decision variable (0,1), indicating whether to allocate the kth subtask aggregation point of the task to be executed to the i-th computing power hardware in t unit time, 0 for unallocated, 1 for allocated, B i (t) is the computing resource redundancy value of the i-th computing hardware under the t-th unit time, C′ k is the interaction cost of the kth subtask aggregation point, and K is the total number of subtask aggregation points.

Citation Information

Patent Citations

  • Task distributed decomposition and distribution method and device, storage medium and equipment

    CN117472565A

  • Computing power resource processing method

    CN118069380A