Task scheduling method for heterogeneous computing platform
By building the computing power resource expenditure prediction model and the aggregation point optimal allocation model of the heterogeneous computing platform, the task scheduling of the heterogeneous computing platform is solved, and the task execution efficiency is improved.
Patent Information
- Application Number
- CN202411240666.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-05
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2044-09-05
AI Technical Summary
During the task processing, heterogeneous computing platforms have an inevitable data interaction and the fixed number of computing hardware channels, resulting in a large amount of resource overhead during the task interaction, which affects efficiency.
By constructing a computing resource expenditure prediction model of a heterogeneous computing platform, 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 the optimal aggregation point of the task to be executed based on the unit time load state. Assign a model, generate a task scheduling scheme to optimize task allocation.
Reduce task interaction overhead, reduce wait time, and improve task execution efficiency.
Smart Images

Figure CN119166304A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of heterogeneous computing platforms, and in particular relates to a task scheduling method for heterogeneous computing platforms. Background Art
[0002] A heterogeneous computing platform refers to a computing system that integrates multiple different types of processors (such as CPU, GPU, FPGA, ASIC, etc.) and storage devices. These components optimize the performance, power consumption and cost of specific applications or workloads through efficient data exchange and collaboration, achieving higher computing efficiency and flexibility than a single processor architecture.
[0003] Since the underlying execution logic of the heterogeneous computing platform is to split the tasks and randomly assign them to the optimal computing hardware to complete the task calculations, and classify and package the results of the calculations for output, data interaction is inevitable during the task processing, and the number of channels of the computing hardware is fixed. Task synchronization is also required when executing tasks. Therefore, there is a lot of resource overhead in the task interaction process. Summary of the invention
[0004] 1. Technical issues to be resolved
[0005] The technical problem to be solved by the present invention is how to provide a task scheduling method for heterogeneous computing platforms to solve the above-mentioned problem that the underlying execution logic of the heterogeneous computing platform is to split the tasks and randomly assign them to the optimal computing power hardware to complete the task calculations, and classify and package the results after the calculations 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 needs to be maintained when executing tasks, so there is a large amount of resource overhead in the task interaction process.
[0006] (II) Technical solution
[0007] In order to solve the above technical problems, the present invention proposes a task scheduling method for a heterogeneous computing platform, which comprises the following steps:
[0008] 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;
[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 resource overhead requirements of the tasks to be executed;
[0010] 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;
[0011] 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;
[0012] 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 for the aggregation points of the tasks to be executed is constructed to generate a task scheduling plan.
[0013] (III) Beneficial effects
[0014] The present invention proposes a task scheduling method for heterogeneous computing platforms. The present invention proposes a task scheduling solution for heterogeneous computing platforms. By constructing an optimal allocation model for aggregation points of tasks to be executed, the aggregation points of interaction overheads in heterogeneous computing tasks to be executed are analyzed, and the aggregation points of interaction overheads in tasks to be executed are preferentially allocated to the same computing power hardware node, thereby reducing task interaction overheads, reducing waiting time during task execution, and improving the efficiency of task execution. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 This is a flow chart of the task scheduling method for heterogeneous computing platforms of the present invention;
[0016] Figure 2 A flow chart of a method for predicting the load state per unit time of a heterogeneous computing platform;
[0017] Figure 3 A flow chart of a method for determining the computing resource overhead requirements for a task to be executed;
[0018] Figure 4 A flow chart of the subtask sequence method of the task to be executed;
[0019] Figure 5 A flow chart of the method for obtaining the aggregation point of the task to be performed;
[0020] Figure 6 A flow chart of a method for generating a task scheduling scheme;
[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 computer-readable storage medium structure of the present invention. DETAILED DESCRIPTION
[0023] In order to make the purpose, content and advantages of the present invention more clear, the specific implementation methods of the present invention are further described in detail below in conjunction with the drawings and examples.
[0024] In order to solve the above technical problems, a task scheduling method for heterogeneous computing platforms is provided, including: predicting the load state per unit time of the heterogeneous computing platform; determining the computing power resource overhead demand of the task to be executed; dividing the task to be executed according to the computing power resource overhead demand preference of the task to be executed, and obtaining the subtask sequence of the task to be executed; analyzing the interaction overhead of the subtask sequence of the task to be executed, screening out the interaction overhead core points that affect each subtask sequence of the task to be executed, and recording them as the aggregation points of the task to be executed; based on the load state per unit time of the heterogeneous computing platform and the aggregation points of the task to be executed, constructing an optimal allocation model of the aggregation points of the task to be executed, and generating a task scheduling plan. The advantages of the present invention are: reducing the task interaction overhead, reducing the waiting time when the task is executed, and improving the efficiency of task execution.
[0025] The technical solution adopted by the present invention is:
[0026] A task scheduling method for a heterogeneous computing platform, comprising:
[0027] 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;
[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 resource overhead requirements of the tasks to be executed;
[0029] 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;
[0030] 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;
[0031] 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 for the aggregation points of the tasks to be executed is constructed to generate a task scheduling plan.
[0032] Preferably, in 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, and predicting the unit time load state of the heterogeneous computing platform specifically includes:
[0033] 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 xit 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;
[0034] S12. Preprocessing the computing power resource expenditure time series data by normalization;
[0035] 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;
[0036] S14, constructing a computing power resource expenditure prediction model for a heterogeneous computing platform; substituting 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, using the time series computing power resource expenditure feature data in the historical computing power resource expenditure data as the independent variable input, and using the predicted load value of the heterogeneous computing platform per unit time as the dependent variable output;
[0037] Among them, the computing power resource expenditure prediction model expression of the heterogeneous computing platform is:
[0038]
[0039] 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.
[0040] Preferably, in S2, obtaining the tasks to be executed in the storage medium of the heterogeneous computing platform, analyzing the attribute parameters of the tasks to be executed, and determining the computing resource overhead requirements of the tasks to be executed specifically include:
[0041] 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;
[0042] 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;
[0043] 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;
[0044] S24, calculating the computing resource overhead requirement of the task to be executed based on the initial computing resource requirement of the task to be executed and the complexity coefficient of the task to be executed;
[0045] The formula for calculating the complexity coefficient of the task to be performed is:
[0046]
[0047] 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 time for the constraint execution of the jth task to be executed, It is the difficulty adjustment factor, which is set based on the complexity difficulty coefficient;
[0048] The calculation formula for computing the computing resource overhead requirement of the task to be executed is:
[0049]
[0050] 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.
[0051] Preferably, in S3, the tasks to be executed are divided according to the computing power resource overhead demand preference of the tasks to be executed, and the subtask sequence of the tasks to be executed is obtained, which specifically includes:
[0052] 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;
[0053] 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;
[0054] 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.
[0055] Preferably, in S4, analyzing the interaction overhead of the subtask sequence of the task to be executed, screening out the interaction overhead core points that affect each subtask sequence of the task to be executed, and recording them as the aggregation points of the task to be executed specifically include:
[0056] 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;
[0057] S42, marking each subtask cross path in the directed acyclic graph of the task to be executed as a subtask interaction node;
[0058] 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;
[0059] S44, screening the maximum value of the interaction cost of each subtask interaction node of the task to be executed, and the subtask interaction node corresponding to the maximum value is used as the aggregation point of the task to be executed;
[0060] The evaluation of the interaction cost of each subtask interaction node of the task to be executed is specifically:
[0061]
[0062] 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.
[0063] Preferably, in S5, based on the unit time load state 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, and the task scheduling scheme is generated, which specifically includes:
[0064] 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;
[0065] 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;
[0066] 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;
[0067] Among them, the optimal allocation model of the aggregation points of the tasks to be executed is specifically as follows:
[0068]
[0069] Where 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.
[0070] Embodiment 1:
[0071] Reference Figure 1 As shown, a task scheduling method for a heterogeneous computing platform includes:
[0072] Based on the historical computing resource expenditure data of heterogeneous computing platforms, predict the unit time load status of heterogeneous computing platforms;
[0073] 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;
[0074] Divide the tasks to be executed according to their computing power resource consumption requirements to obtain a subtask sequence of the tasks to be executed;
[0075] Analyze the interaction cost of the subtask sequence of the task to be executed, filter out the core points of the interaction cost that affect each subtask sequence of the task to be executed, and record them as the aggregation points of the task to be executed;
[0076] Based on the unit time load status of heterogeneous computing platforms and the aggregation points of tasks to be executed, an optimal allocation model for the aggregation points of tasks to be executed is constructed to generate a task scheduling plan.
[0077] This solution constructs an optimal allocation model for the aggregation points of tasks to be executed, analyzes the aggregation points of the interaction overhead in heterogeneous computing tasks to be executed, and preferentially allocates the aggregation points of the interaction overhead in the tasks to be executed to the same computing power hardware node, thereby reducing the task interaction overhead, reducing the waiting time during task execution, and improving the efficiency of task execution.
[0078] Reference Figure 2 As shown in the figure, based on the historical computing resource expenditure data of the heterogeneous computing platform, the prediction of the unit time load status of the heterogeneous computing platform specifically includes:
[0079] Based on the historical computing resource expenditure data of heterogeneous computing platforms, the computing resource expenditure of computing hardware is bound according to unit time and packaged into 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;
[0080] Preprocess the computing resource expenditure time series data through normalization;
[0081] 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, the overall performance occupancy rate of the heterogeneous computing platform per unit time is calculated and recorded as the time series computing power resource expenditure feature data;
[0082] Build a computing resource expenditure prediction model for heterogeneous computing platforms;
[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 computing power resource expenditure prediction model expression of the heterogeneous computing platform is:
[0085]
[0086] In the formula, y t is the load value of the heterogeneous computing platform at the tth unit time, x it-his 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.
[0087] Reference Figure 3 As shown, obtaining the tasks to be executed in the storage medium of the heterogeneous computing platform, analyzing the attribute parameters of the tasks to be executed, and determining the computing power resource overhead requirements of the tasks to be executed specifically include:
[0088] Based on the storage medium of the heterogeneous computing platform, the message queue of the task to be executed is read to obtain the data set of the task to be executed;
[0089] Based on the virtual address byte position of each task to be executed in the task data set to be executed, determine the attribute planning of the task to be executed, and initialize the computing power resource requirements of the task to be executed; the computing power resource requirements include: GPU core number requirements, GPU core number requirements, memory space requirements, and network bandwidth requirements;
[0090] Obtain the binary data stream of each task to be executed in the task data set to be executed, and calculate the complexity difficulty coefficient of the task to be executed based on the flow of the binary data stream and the constraint execution time;
[0091] Based on the initial computing resource requirements of the tasks to be executed and the complexity index of the tasks to be executed, the computing resource overhead requirements of the tasks to be executed are calculated;
[0092] The formula for calculating the complexity of the task is:
[0093]
[0094] 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 time for the constraint execution of the jth task to be executed, It is the difficulty adjustment factor, which is set based on the complexity difficulty coefficient;
[0095] The calculation formula for computing the computing resource overhead requirement of the task to be executed is:
[0096]
[0097] In the formula, G is the computing resource overhead requirement of the task to be executed, and F jis the computing resource requirement for initializing 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.
[0098] It should be noted that the expected value of the binary data flow of the task is usually pre-set based on historical data, system specifications or task type, and it represents the average or expected binary data flow that the task needs to process without special conditions. The constraint execution time of the task to be executed is determined by factors such as task requirements, system real-time requirements or user-specified deadlines, and it specifies the time limit within which the task must be completed.
[0099] Reference Figure 4 As shown, the tasks to be executed are divided according to the computing power resource overhead demand preference of the tasks to be executed, and the subtask sequence of the tasks to be executed specifically includes:
[0100] 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;
[0101] 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;
[0102] Several preferred binary data stream arrays of the tasks to be executed are packaged into a subtask sequence of the tasks to be executed according to the computing power resource overhead requirement preference operation rules.
[0103] It is understandable that the underlying processing rules of a task to be processed are all binary data flow logic operations to control the pixels on the screen. Although all tasks to be processed can be processed through logic gates and branch operations, when faced with large-scale image decryption tasks, the CPU serial processing method has poor execution efficiency when faced 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 task to be executed with the access relationship map of the computing hardware, analyzing the access pattern and computing requirements of each data stream, and comparing these requirements with the capabilities and load of the computing hardware. Based on the performance characteristics of the hardware and the priority of the data stream, the data streams are sorted and grouped according to the efficiency of hardware access and resource requirements.
[0105] Reference Figure 5 As shown, the interaction overhead of the subtask sequence of the task to be executed is analyzed, and the core points of the interaction overhead that affect each subtask sequence of the task to be executed are screened out, which are recorded as the aggregation points of the task to be executed. Specifically, they include:
[0106] Based on the task target direction of the subtask sequence of the task to be executed, subtask dependency analysis is performed to construct a directed acyclic graph of the tasks to be executed;
[0107] Mark each subtask cross-path in the directed acyclic graph of the task to be executed as a subtask interaction node;
[0108] Taking the preferred operation rules of the task to be executed as the influencing conditions, calculating the subtask interaction nodes of the task to be executed, and evaluating the interaction cost of each subtask interaction node of the task to be executed;
[0109] Filter out the maximum interaction cost of each subtask interaction node of each task to be executed as the aggregation point of the task to be executed;
[0110] The evaluation of the interaction cost of each subtask interaction node of the task to be executed is specifically:
[0111]
[0112] In the formula, C j ” is the interaction cost of the j'th subtask aggregation point 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 under the influence condition, h j' is the synchronization waiting time of the j'th subtask to be executed under the influencing condition, α, β, γ are the data transmission volume coefficient, communication delay time coefficient and synchronization waiting time coefficient respectively, max is the maximum function, and m' is the total number of subtask sequences.
[0113] Reference Figure 6 As shown in the figure, 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 for the aggregation points of the tasks to be executed is constructed, and the task scheduling scheme generated specifically includes:
[0114] Based on the predicted load value per unit time of the heterogeneous computing platform, the computing power resource redundancy value of the computing power hardware per unit time of the heterogeneous computing platform is determined;
[0115] Based on the demand preference of the task to be executed, the computing resource redundancy value of the computing hardware of the heterogeneous computing platform per unit time is used as a constraint condition to meet the computing resource overhead demand of the task to be executed;
[0116] The objective function is constructed by minimizing the interaction overhead of the aggregation points of the tasks to be executed by minimizing the redundant value of the computing power resources of the computing power hardware of the heterogeneous computing platform per unit time as the optimal allocation node;
[0117] Construct an optimal allocation model for aggregation points of tasks to be executed;
[0118] Substitute 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 select the optimal task scheduling solution of the objective function under the constraints;
[0119] Among them, the optimal allocation model of the aggregation points of the tasks to be executed is specifically as follows:
[0120]
[0121] Where 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.
[0122] It is understandable that the underlying execution logic of the heterogeneous computing platform usually splits the tasks to be processed and randomly assigns them to the optimal computing hardware to complete the task calculations, and classifies and packages the results of the calculations for output. However, data interaction is inevitable during the processing of tasks, and since the number of channels of the computing hardware is fixed, task synchronization is required when executing tasks. Therefore, there is a lot of resource overhead in the task interaction process. By assigning the tasks of the aggregation point to the nodes of the same computing hardware, the interaction overhead is greatly reduced.
[0123] Embodiment 2:
[0124] Figure 7 1 is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application. Figure 7 As shown, according to another aspect of the present application, an electronic device 500 is also provided. The electronic device 500 may include one or more processors and one or more memories. The memories store computer readable codes, and when the computer readable codes are executed by one or more processors, the task scheduling method for heterogeneous computing platforms as described above may be executed.
[0125] Embodiment 3:
[0126] Figure 8 Schematic diagram of a computer-readable storage medium structure provided by an embodiment of the present application. Figure 8As shown, a computer-readable storage medium 600 according to an embodiment of the present application is shown. The computer-readable storage medium 600 stores computer-readable instructions. When the computer-readable instructions are executed 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 figures can be executed.
[0127] Compared with the prior art, the present invention has the following beneficial effects:
[0128] The present invention proposes a task scheduling solution for heterogeneous computing platforms. By constructing an optimal allocation model for aggregation points of tasks to be executed, the aggregation points of interaction overheads in heterogeneous computing tasks to be executed are analyzed, and the aggregation points of interaction overheads in tasks to be executed are preferentially allocated to the same computing power hardware node, thereby reducing task interaction overheads, reducing waiting time during task execution, and improving the efficiency of task execution.
[0129] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the technical principles of the present invention. These improvements and modifications should also be regarded as the scope of protection 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 for the aggregation points of the tasks to be executed is constructed to generate a task scheduling plan.
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 2, characterized in that: 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.
5. The task scheduling method for heterogeneous computing platforms according to claim 4, 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 time for the constraint execution of the jth task to be executed, It is a difficulty adjustment factor, which is set based on the complexity difficulty coefficient.
6. The task scheduling method for heterogeneous computing platforms according to claim 5, 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.
7. The task scheduling method for heterogeneous computing platforms according to any one of claims 4 to 6, 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.
8. The task scheduling method for heterogeneous computing platforms according to claim 7, 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.
9. The task scheduling method for heterogeneous computing platforms according to claim 8, 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.
10. The task scheduling method for heterogeneous computing platforms according to claim 9, 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: Where 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
Distributed task scheduling method, device and system based on queues
CN103559082A
Predicting performance degradation with non-linear characteristics
CN115699037A
Dependent task unloading method and device in edge computing environment
CN117407089A
Task distributed decomposition and distribution method and device, storage medium and equipment
CN117472565A
Computing power resource processing method
CN118069380A
Cited By
Large model reasoning scheduling method based on off-network computing power server
CN119537032A
Mobile phone cloud computing power lease scheduling method for virtual computer
CN119537035A
Task scheduling optimization method based on edge computing
CN122691841A
