Prediction processing method, device and electronic equipment for job scheduling

By obtaining the job plan information of the job to be executed in the cloud computing environment, determining the prediction plan and executing the prediction process, generating an available execution time window set, solving the resource competition problem caused by job activities, and achieving efficient job scheduling and rational utilization of system resources.

CN113850428BActive Publication Date: 2025-04-25LENOVO (BEIJING) LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111123438.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-24
Publication Date
2025-04-25
Estimated Expiration
2041-09-24

AI Technical Summary

Technical Problem

In a cloud computing environment, job activity may cause jobs with high loads to run slower, and may even cause jobs to time out or fail. Especially during multi-job execution, the disk read and write load reaches the load threshold, affecting the storage and application experience.

Method used

By obtaining the job plan information of the job to be executed, determining the prediction plan, and performing prediction processing for the job to be executed according to the prediction plan, predicting the system's resource indicator values ​​and/or resource status under the job activities in different time periods in the future, a set of available execution time windows are generated to schedule the job to be executed and reduce resource competition for other businesses.

Benefits of technology

Through the prediction processing method, appropriate job time windows can be planned for the job to be executed, resource competition for other businesses can be reduced, job timeouts or failures can be avoided, and system resource utilization efficiency can be improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113850428B_ABST
    Figure CN113850428B_ABST
Patent Text Reader

Abstract

The present application discloses a prediction processing method, device and electronic device for job scheduling. After obtaining the job plan information of the submitted job to be executed, the prediction plan of the job to be executed is determined at least based on the submitted job plan information, and the job to be executed is predicted according to the prediction plan. The resource indicator values ​​and / or resource states of the system are predicted under different assumed job activities of the job to be executed in different time periods in the future, and the prediction results are obtained. Based on the prediction results, a set of available execution time windows for the job to be executed is generated. Each available execution time window in the set can be used to make the resource state of the system resources meet the state conditions during the job activity of the job to be executed. Therefore, the available execution time window set can be used to plan a suitable job time window for the job to be executed, thereby reducing the resource competition for other businesses during the execution of the job to be executed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of job scheduling and resource management, and in particular, relates to a prediction processing method, device and electronic equipment for job scheduling. Background Art

[0002] In a cloud computing environment, job activities share resources from the infrastructure to the platform level with other cloud computing jobs. Job activities may cause jobs that are already heavily loaded to run slower, or even cause job timeouts or failures. For example, the Hadoop platform generates a large amount of disk reads and writes that even reach the load threshold during the execution of multiple jobs, which in turn has a significant impact on the platform storage and application experience. Therefore, it is necessary to make a job scheduling plan in advance to reduce the resource competition of jobs for other businesses through job scheduling. Summary of the invention

[0003] To this end, this application discloses the following technical solutions:

[0004] A prediction processing method for job scheduling, the method comprising:

[0005] Get the job plan information of the submitted job to be executed;

[0006] Determining a forecast plan based at least on the operation plan information;

[0007] According to the forecast plan, forecast processing is performed on the job to be executed to obtain a forecast result; the forecast result includes: a resource indicator value and / or a resource state of the system under different assumed job activities of the job to be executed in different time periods in the future;

[0008] According to the prediction result, a set of available execution time windows for the job to be executed is generated to schedule the job to be executed based on the set of available execution time windows; wherein each available execution time window in the set of available execution time windows can be used to make the resource state of system resources meet the state condition during the execution of the job to be executed.

[0009] Optionally, determining the forecast plan at least according to the operation plan information includes:

[0010] Acquire job data of a historical job corresponding to the job to be executed, and monitoring data obtained by monitoring system resource indicators and / or resource status during the execution of the historical job;

[0011] A forecast plan is determined based on the operation plan information and the operation data and monitoring data of the historical operations.

[0012] Optionally, the job plan information includes at least execution time plan information and node deployment plan information of the job to be executed, and the node deployment plan information is used to indicate relevant plan information when deploying the job to be executed to the corresponding node;

[0013] Determining a forecast plan based on the operation plan information and the operation data and monitoring data of the historical operation includes:

[0014] Determine, according to the node deployment plan information, each deployment location of the job to be executed and a first resource dependency relationship between each deployment location and the dependent resource;

[0015] According to the first resource dependency relationship between each deployment location and the dependent resource, at least determine a second resource dependency relationship between the to-be-executed job deployed at each location and the dependent resource;

[0016] A forecasting plan is determined according to the first resource dependency, the second resource dependency, and the job data and monitoring data of the historical jobs.

[0017] Optionally, the forecast plan includes: a medium-term forecast plan and a short-term forecast plan when performing forecast processing on the job to be executed;

[0018] Each of the medium-term forecast plan and the short-term forecast plan includes: a corresponding forecast time range, a plurality of time slices obtained by dividing the corresponding forecast time range according to a predetermined step length, a forecast algorithm corresponding to each time slice and parameters required by the forecast algorithm; the forecast time range corresponding to the medium-term forecast plan includes and is greater than the forecast time range corresponding to the corresponding short-term forecast plan;

[0019] The step of performing prediction processing on the job to be executed according to the prediction plan to obtain a prediction result includes:

[0020] According to the prediction algorithm and parameters in the short-term prediction plan, predict the resource indicator value and / or resource state of the system when the to-be-executed job is executed in each time slice corresponding to the short-term prediction plan, and obtain a first prediction result;

[0021] According to the prediction algorithm and parameters in the medium-term prediction plan, the resource indicator values ​​and / or resource states of the system when the to-be-executed job is executed in each time slice corresponding to the medium-term prediction plan are predicted to obtain a second prediction result.

[0022] Optionally, generating, according to the prediction result, a set of available execution time windows for the job to be executed, includes:

[0023] Determine, according to the first prediction result and the second prediction result, whether the time point corresponding to each time slice is an available execution time point; the available execution time point is a time point that can be used to make the resource state of the system resource meet the state condition when executing the job to be executed;

[0024] Merge various time points of the same assumed operation activity into an operation time window;

[0025] Determine whether each time point in each job time window is an available execution time point;

[0026] If yes, determine the job time window as an available execution time window; if no, determine the job time window as a non-available execution time window, or determine whether the job time window is an available execution time window based on a confirmation process of whether the job time window is available;

[0027] The determined available execution time windows constitute the available execution time window set.

[0028] Optionally, determining whether a time point corresponding to each time slice is an available execution time point according to the first prediction result and the second prediction result includes:

[0029] Aggregating the first prediction result and the second prediction result to obtain a result set of resource indicator values ​​and / or resource status prediction results at a time point corresponding to each time slice;

[0030] According to the corresponding result set, it is determined based on a predetermined strategy whether the time point corresponding to each time slice is an available execution time point.

[0031] Optionally, the above method further includes:

[0032] For a job time window in which each time point is an available execution time point, determining whether the job time window overlaps with an input time interval that is not available for executing the job;

[0033] If there is overlap, determining the job time window as a non-available execution time window;

[0034] If there is no overlap, the job time window is determined as an available execution time window.

[0035] Optionally, the above method, after generating the available execution time window set of the to-be-executed job, further includes:

[0036] If the available execution time window set is empty, the job parameters of the to-be-executed job are subjected to dimensionality reduction processing, so as to determine a matching available execution time window set according to the to-be-executed job after the dimensionality reduction processing of the job parameters;

[0037] The parameter combination of the job to be executed obtained after the dimensionality reduction process can be used to make the job result of the job to be executed meet the quality condition.

[0038] A prediction processing device for job scheduling, the device comprising:

[0039] The acquisition module is used to obtain the job plan information of the submitted job to be executed;

[0040] A determination module, configured to determine a forecast plan based at least on the operation plan information;

[0041] A prediction processing module, configured to perform prediction processing on the to-be-executed job according to the prediction plan to obtain a prediction result; the prediction result includes: a resource indicator value and / or a resource state of the system under different assumed job activities of the to-be-executed job assumed to be executed in different time periods in the future;

[0042] A generation module is used to generate a set of available execution time windows for the job to be executed according to the prediction results, so as to schedule the job to be executed based on the set of available execution time windows; wherein each available execution time window in the set of available execution time windows can be used to make the resource state of system resources meet the state condition during the execution of the job to be executed.

[0043] An electronic device, comprising:

[0044] Memory, used to store computer instruction sets;

[0045] A processor is used to implement the prediction processing method for job scheduling as described in any one of the above items by executing an instruction set stored in a memory.

[0046] It can be seen from the above scheme that the prediction processing method, device and electronic device for job scheduling disclosed in the present application, after obtaining the submitted job plan information of the job to be executed, determines the prediction plan of the job to be executed based on at least the submitted job plan information, and performs prediction processing on the job to be executed according to the prediction plan, predicts the resource indicator values ​​and / or resource status of the system under different assumed job activities of the job to be executed assumed to be executed in different time periods in the future, obtains the prediction results, and generates a set of available execution time windows for the job to be executed based on the prediction results. Each available execution time window in the set can be used to make the resource status of the system resources meet the status conditions during the job activity of the job to be executed, so that the available execution time window set can finally be used to plan a suitable job time window for the job to be executed, thereby reducing resource competition for other businesses during the execution of the job to be executed. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0048] Figure 1 It is a flow chart of a prediction processing method for job scheduling provided by the present application;

[0049] Figure 2 It is a processing logic diagram of the method of the present application provided by the present application;

[0050] Figure 3 It is a process diagram for determining a forecast plan for a job to be performed provided by the present application;

[0051] Figure 4 It is a process diagram of generating a set of available execution time windows for a job to be executed provided by the present application;

[0052] Figure 5 It is another flow chart of the prediction processing method for job scheduling provided by the present application;

[0053] Figure 6 is another processing logic diagram of the method of the present application provided by the present application;

[0054] Figure 7 It is a structural schematic diagram of a prediction processing device for job scheduling provided by the present application;

[0055] Figure 8 It is a structural schematic diagram of the electronic device provided by this application. DETAILED DESCRIPTION

[0056] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0057] In a cloud computing environment, job activities share infrastructure to platform-level resources with other cloud computing jobs. Job activities may cause jobs that are already heavily loaded to run slower, or even cause job timeouts or failures. In particular, many job activities in a cluster environment are difficult to stop quickly once started. In view of this feature of jobs, the present application proposes a technical approach of predicting the available execution time window of a job in advance and planning a more appropriate time window for the job activity, and discloses a predictive processing method, device and electronic device for job scheduling based on the above technical approach, so as to reduce the resource competition of jobs for other businesses in the environment.

[0058] The predictive processing method for job scheduling disclosed in the present application can be applied to devices in many general or special computing device environments or configurations, such as: personal computers, server computers, handheld devices or portable devices, tablet devices, multi-processor devices, distributed computing service platforms including the above devices or devices (such as cloud computing platforms), etc.

[0059] The processing flow of the prediction processing method for job scheduling provided in the embodiment of the present application is as follows: Figure 1 As shown, specifically including:

[0060] Step 101: Obtain the job plan information of the submitted job to be executed.

[0061] In a job execution environment such as a cloud computing platform or a container platform, see Figure 2 Engineers or Web API (Application Programming Interface) or other program interfaces can submit the job plan information of the job to be executed to the job execution device deployed in the environment, such as the platform server, according to the needs. The job execution device correspondingly obtains the submitted job plan information of the job to be executed.

[0062] The job to be executed may be, but is not limited to, a model training job, an image processing job, a data storage job, etc. The job plan information of the job to be executed includes at least the execution time plan information and the node deployment plan information of the job to be executed. Among them, the execution time plan information includes parameters such as the planned job start time, the planned job duration, and the expected job end time for a job to be executed for a certain job identifier (such as job number) and job type (such as model training). The node deployment plan information is used to indicate the relevant plan information when deploying the job to be executed to the corresponding node, specifically including but not limited to which server nodes the job to be executed is deployed to, and for the server node to which it is deployed, which virtual machines are specifically deployed on the node, etc.

[0063] In addition to the above information, the job plan information of the job to be executed may also include any one or more of the following information: concurrency, sensitive resource / sensitive indicator range, load pressure assessment (such as CPU occupancy, storage IO pressure) that may be generated by performing internal node jobs, etc. Among them, the concurrency of the job to be executed refers to the pre-set concurrency of the job to be executed on each host machine such as a server node, and the sensitive resources / sensitive indicators of the job to be executed refer to the resources or indicators that are greatly affected by the job activities of the job to be executed. In other words, it can also be understood as resources or indicators that easily cause the job to be executed to compete with other jobs on the platform and cause the platform performance to decline, such as computing resources, storage resources, network resources, storage delay, network throughput, CPU load, etc.

[0064] Step 102: Determine a forecast plan based at least on the job plan information of the job to be executed.

[0065] After obtaining the submitted job plan information of the job to be executed, a forecast plan is determined at least according to the job plan information of the job to be executed.

[0066] In this embodiment, in addition to the job plan information, the job data of the historical job corresponding to the job to be executed and the monitoring data obtained by monitoring the system resource indicators and / or resource status during the execution of the historical job of the job to be executed are also obtained as a reference for the current job to be executed. For example, with respect to storage jobs, different jobs are executed under different Block Sizes, and some job parameters can be referenced or directly reused. On this basis, according to the job plan information of the job to be executed and the job data and monitoring data of the historical job corresponding to the job to be executed, a forecast plan is determined for the job to be executed.

[0067] Among them, the historical job corresponding to the job to be executed refers to the job that has been executed in history and is the same or similar to the job to be executed (for example, the job has been completed in history, or the job has not been completed but the job has been upgraded, and the job activity before the upgrade is regarded as the job executed in history). Taking the job to be executed as a neural network model training job as an example, the corresponding historical job refers to the neural network model training job executed in history.

[0068] The job data of the historical jobs corresponding to the job to be executed includes, but is not limited to, the execution time information (start time, running time, end time), concurrency, node deployment information, and other jobs running on the deployed nodes / virtual machines, etc., of the historical jobs corresponding to the job to be executed, so as to know when and where these historical jobs that are the same or similar to the job to be executed are executed, and what other jobs are executed during the execution process; the monitoring data of the historical jobs corresponding to the job to be executed includes, but is not limited to, the monitoring values ​​of system resource indicators and / or resource status in the execution environment obtained based on the monitoring database or job history records, such as CPU, memory, network resource status, etc. If the job to be executed has not been executed in the past, the above information can be marked based on experience as a reference for formulating a forecast plan for the job to be executed.

[0069] See also Figure 3 , according to the job plan information of the job to be executed and the job data and monitoring data of the corresponding historical jobs, the process of determining the forecast plan for the job to be executed can be further implemented as follows:

[0070] Step 301: Determine, according to the node deployment plan information of the job to be executed, each deployment location of the job to be executed and a first resource dependency relationship between each deployment location and the dependent resource.

[0071] The various deployment locations of the jobs to be executed include but are not limited to: the various server nodes (host machines) to which the jobs to be executed need to be deployed as indicated by the node deployment plan information in the job plan information, and the corresponding virtual machines to which they need to be deployed under the corresponding server nodes.

[0072] Correspondingly, in this step, based on the node deployment plan information of the job to be executed, the server node (host machine) to which the job to be executed needs to be deployed and the corresponding virtual machine to be deployed under the corresponding server node are determined, and the determined information is used as the various deployment locations of the job to be executed.

[0073] Afterwards, based on the correspondence between different nodes, different virtual machines on the nodes and the allocated resources in the job execution environment such as the cloud computing platform or the container platform, the resource dependency relationship between each deployment location of the job to be executed and the dependent resources is determined to obtain the first resource dependency relationship.

[0074] During implementation, relevant cloud platform information can be obtained through the cloud platform database or API based on the node deployment plan information of the job to be executed, including but not limited to the number of host machines (server nodes) for the job to be executed, which virtual machines are running on the host machine, the size of the host machine / the size of the virtual machine, and how different virtual machines are connected to which resources. In combination with this information, the resource dependency relationship between each deployment location of the job to be executed and the dependent resources is determined, such as the dependency relationship between each server node, virtual machine and resource used to deploy the job to be executed. For the same type of resources, different server nodes / virtual machines may depend on the same resource or different resources of the same type of resources, such as different server nodes / virtual machines depend on the same storage resource or different storage resources.

[0075] Step 302: According to the first resource dependency relationship between each deployment location and the dependent resources, at least determine the second resource dependency relationship between the to-be-executed job deployed at each location and the dependent resources.

[0076] After obtaining the first resource dependency relationship between each deployment location and the dependent resources, the second resource dependency relationship between the jobs to be executed deployed at each location and the dependent resources is derived based on the first resource dependency relationship between each deployment location and the dependent resources, and in combination with the types of resources that the operation of the jobs to be executed depends on, such as storage resources, computing resources, network resources, etc.

[0077] Step 303: Determine a forecast plan for the job to be executed based on the first resource dependency relationship, the second resource dependency relationship, and the job data and monitoring data of the historical jobs of the job to be executed.

[0078] Afterwards, the above-mentioned first resource dependency, second resource dependency and the job data and monitoring data of the historical jobs to be executed are used as the data basis, and the cloud platform load forecast is planned in combination with the resources, key indicators, test rules, test duration, planned completion time, etc. reflected in this information, and then the corresponding forecast plan is formulated and generated for the job to be executed.

[0079] In this embodiment, preferably, the prediction plan generated for the job to be executed includes a medium-term prediction plan and a short-term prediction plan when performing prediction processing on the job to be executed.

[0080] Among them, each prediction plan in the medium-term prediction plan and the short-term prediction plan includes: the corresponding prediction time range, multiple time slices obtained by dividing the corresponding prediction time range according to a predetermined step size, the prediction algorithm corresponding to each time slice and the parameters required by the prediction algorithm.

[0081] The prediction time range corresponding to the medium-term prediction plan includes and is greater than the prediction time range corresponding to the corresponding short-term prediction plan. In the embodiment of the present application, the medium-term prediction plan and the short-term prediction plan are relative. For a specific prediction plan A of a job to be executed, if its prediction time range is less than the prediction time range of the prediction plan B of the job to be executed, then A is a short-term prediction plan and B is a medium-term prediction plan; if the prediction time range corresponding to A is greater than the prediction time range of the prediction plan C of the job to be executed, then A is a medium-term prediction plan and C is a short-term prediction plan; therefore, in this embodiment, the medium-term and short-term prediction plans cover a series (such as 20) of prediction plans corresponding to different time ranges and time slice lengths, respectively, and do not represent two specific prediction plans.

[0082] Specifically, for example, assuming that in the forecast plan of the job, the total execution time of the job is 2 hours, for the job, forecast plans corresponding to the time ranges of the first 20 minutes, the first 40 minutes, the first hour, the first hour and 20 minutes, the first hour and 40 minutes, and the first 2 hours of the job are respectively formulated. Then, starting from the second forecast plan, the time range of each forecast plan includes the time range of the previous forecast plan, and among the above forecast plans, a certain forecast plan is a medium-term forecast plan relative to the previous forecast plan, and is a short-term forecast plan relative to the subsequent forecast plan.

[0083] In addition, for each medium-term forecast plan or short-term forecast plan, this embodiment divides it into several segments with a certain step size (time length), and each segment is regarded as a time slice of the forecast plan. Each segment will be used for comparison and analysis of forecast data in the future to obtain corresponding forecast results.

[0084] Different short-term / medium-term prediction plans may use the same or different step sizes when performing segment division, and there is no limitation here.

[0085] According to the different time slices and different prediction time ranges, several short-term / medium-term prediction plans will be generated in batches. Each prediction plan contains the corresponding prediction time range, a series of time slices obtained by dividing the prediction time range, the prediction algorithm (function) to be used in the corresponding prediction time range, and some parameters required by the prediction algorithm. For example, assuming that the job is doing deep learning activities, the model characteristics, the number of iterations, the target optimization function used, the network structure used and other job parameters can be used as the parameters required by the prediction algorithm.

[0086] The forecast plan of the job to be executed includes the overall forecast time range covered by the medium-term and short-term forecast plans corresponding to the same job activity, which is related to the total execution time range of the job to be executed indicated by the time plan information of the job to be executed. For example, around the total execution time range of the plan (such as the two hours from 13:00 to 15:00 on a future afternoon), combined with system resources, key indicators, test scale, and test duration, multiple time periods related to the total execution time range of the plan in the future are determined for the job to be executed (including the total execution time range of the plan, or only including part of it and appropriately extending the time before or after it, etc.), and each time period is divided into corresponding medium / short-term time ranges and fragments.

[0087] In this embodiment, by assuming that the job to be executed is executed in each of the above-mentioned multiple time periods, predictive processing of the job to be executed is achieved, wherein the assumed execution process of the job to be executed in each time period can be regarded as the same assumed job activity of the job to be executed.

[0088] Step 103: According to the determined prediction plan, prediction processing is performed on the job to be executed to obtain a prediction result; the prediction result includes: the resource indicator value and / or resource status of the system under different assumed job activities of the job to be executed that are assumed to be executed in different time periods in the future.

[0089] On the basis of determining the forecast plan for the tasks to be performed, continue to perform relevant short-term and medium-term forecasts according to different forecast plans, combined with reference Figure 2 , the process can be further implemented as:

[0090] 1) According to the prediction algorithm and parameters in the short-term prediction plan, predict the resource indicator value and / or resource status of the system when the job to be executed is executed in each time slice corresponding to the short-term prediction plan, and obtain a first prediction result;

[0091] 2) According to the prediction algorithm and parameters in the medium-term prediction plan, the resource indicator values ​​and / or resource states of the system when the job to be executed is executed in each time slice corresponding to the medium-term prediction plan are predicted to obtain a second prediction result.

[0092] That is to say, assuming that the job to be executed is to be executed in a certain time period in the future, the prediction algorithms and parameters required by the algorithms corresponding to the short-term / medium-term prediction plans contained in the time period are used to predict the job activities of the job to be executed at each time slice (such as the time point corresponding to the time slice) within the time range of the short-term / medium-term prediction plan, and the resource status (such as overload, non-overload) and / or specific resource indicator values ​​(such as CPU occupancy, storage IO throughput, etc.) of system resources such as CPU, memory, network, storage, etc.

[0093] The various short-term prediction and medium-term prediction processes can be executed serially or in parallel. Since there are many prediction and inference processes to be executed, it is preferred to execute the various short-term / medium-term prediction processes in parallel.

[0094] Step 104: Generate a set of available execution time windows for the job to be executed based on the prediction results, so as to schedule the job to be executed based on the set of available execution time windows; wherein each available execution time window in the set of available execution time windows can be used to make the resource state of system resources meet the state condition during the execution of the job to be executed.

[0095] The status condition may refer to a condition that can be used to indicate that there is no abnormality in the resource performance of the cloud computing platform or container platform, such as the CPU occupancy rate is lower than a set occupancy rate threshold, the IO throughput is lower than a set throughput, and the like.

[0096] See also Figure 4 In this step, the process of generating the available execution time window set of the job to be executed according to the above prediction results can be implemented as follows:

[0097] Step 401: Determine whether the time point corresponding to each time slice is an available execution time point based on the first prediction result and the second prediction result.

[0098] Among them, the available execution time point is a time point that can be used to make the resource status of system resources in an execution environment such as a cloud computing platform or a container platform meet the above status conditions when executing the above-mentioned to-be-executed job.

[0099] In this step, the first prediction result and the second prediction result mentioned above can be specifically aggregated to obtain a result set of resource indicator values ​​and / or resource status prediction results at the time point corresponding to each time slice; and according to the corresponding result set, it is determined based on a predetermined strategy whether the time point corresponding to each time slice is an available execution time point.

[0100] In this embodiment, preferably, the predetermined strategy is specifically a decision-making strategy based on a voting mechanism. In this strategy, if for a certain time point, the prediction results of all medium-term / short-term prediction plans that include this time point indicate that when it is assumed that the job to be executed is executed at this time point, the resource status of the system resources satisfies the status condition (i.e., unanimous approval), then this time point is determined to be an available execution time point; otherwise, this time point is determined to be a non-available execution time point.

[0101] Step 402: Combine various time points of the same assumed job activity of the job to be processed into a job time window.

[0102] Step 403 , determine whether each time point in each job time window is an available execution time point; if so, proceed to step 404 , if not, proceed to step 405 .

[0103] Step 404: Determine the job time window as an available execution time window.

[0104] Step 405: Determine the job time window as a non-available execution time window, or determine whether the job time window is an available execution time window based on a confirmation process of whether the job time window is available.

[0105] If all time points in a job time window are not all available execution time points, the job time window can be directly determined as a non-available execution time window based on the policy. Alternatively, it can be provided to an engineer for confirmation, and the engineer decides whether to keep or discard it, that is, the engineer decides whether the job time window is an available execution time window.

[0106] Finally, the determined available execution time windows constitute the above-mentioned available execution time window set.

[0107] It can be seen from the above scheme that the method of this embodiment, after obtaining the job plan information of the submitted job to be executed, determines the prediction plan of the job to be executed based on at least the submitted job plan information, and performs prediction processing on the job to be executed according to the prediction plan, predicting the resource indicator values ​​and / or resource status of the system under different assumed job activities of the job to be executed assumed to be executed in different time periods in the future, and obtains the prediction results, and generates a set of available execution time windows for the job to be executed based on the prediction results. Each available execution time window in the set can be used to make the resource status of the system resources meet the status conditions during the job activity of the job to be executed, so that the available execution time window set can finally be used to plan a suitable job time window for the job to be executed, thereby reducing resource competition for other businesses during the execution of the job to be executed.

[0108] In one embodiment, the prediction processing method for job scheduling disclosed in the present application, when determining whether a job time window is an available execution time window, further includes the following processing:

[0109] For a job time window in which all time points are available execution time points, determine whether the job time window overlaps with the input time interval that cannot be used to execute the job; if there is an overlap, determine the job time window as a non-available execution time window; if there is no overlap, determine the job time window as an available execution time window.

[0110] For details, see Figure 2In a cloud computing platform or container platform environment, a server node may be required to be offline in a specific time period based on system operation and maintenance requirements, or an important job needs to be executed on the server node in a certain time period, and no other jobs are required to be executed. Based on this situation, engineers can mark the time interval that cannot be used to execute the above-mentioned jobs to be executed, or the platform system can submit the time interval that cannot be used to execute the above-mentioned jobs to be executed based on preset operation and maintenance information or job attributes.

[0111] In this case, for the job time window in which all time points are available execution time points, the submitted time interval that cannot be used to execute the above-mentioned job to be executed is further combined to finally determine whether the job time window is an available execution time window. Specifically, if the job time window overlaps with the submitted time interval that cannot be used to execute the job to be executed, the job time window is determined to be a non-available execution time window. If there is no overlap, the job time window is determined to be an available execution time window.

[0112] This embodiment further combines system operation and maintenance with important job plans to determine the available execution time windows, so that the final available execution time window set can have higher accuracy.

[0113] In one embodiment, see Figure 5 A flowchart of a prediction processing method for job scheduling is provided. The prediction processing method for job scheduling disclosed in the present application may further include, after generating a set of available execution time windows for jobs to be executed:

[0114] Step 105: If the available execution time window set is empty, the job parameters of the job to be executed are processed with dimension reduction, so as to determine a matching available execution time window set according to the job to be executed after the job parameter dimension reduction processing.

[0115] Among them, the parameter combination of the job to be executed obtained after the dimensionality reduction process can be used to make the job result of the job to be executed meet the quality conditions.

[0116] If the set of available execution time windows for the job to be executed is empty, it indicates that it is predicted that there will be no suitable time window in the future to execute the job to be executed. In response to this situation, this embodiment performs dimensionality reduction processing on the job parameters of the job to be executed. Through this processing, it is possible to support matching the job to be executed with a suitable executable time window.

[0117] Performing dimensionality reduction processing on the job parameters of the job to be executed, including but not limited to streamlining / pruning the job parameters involved in the job to be executed, and / or reducing the values ​​of the job parameters involved in the job to be executed. Taking the deep learning-based model training job as an example, performing dimensionality reduction processing on the job parameters of the job may refer to reducing the concurrency of the job, streamlining the network structure of the deep learning network, pruning the model features to reduce their number, and / or reducing the number of iterations of the training process, etc.

[0118] For details, see Figure 6 , the main restricted resources (key competitive resources) or indicators can be identified according to the prediction results corresponding to the job to be executed. For example, if the platform performance of the cloud computing platform or container platform is reduced due to CPU overload, high IO throughput, insufficient memory, insufficient network resources, etc., and the appropriate executable time window is not obtained, the main restricted resources or indicators are identified as CPU, IO throughput, memory, or network resources. After that, different parameter combinations or different value combinations of each parameter of the job to be executed are configured within the parameter threshold range allowed by the main restricted resources or indicators, and the Cartesian product of each job parameter after the adjustment of the parameters is obtained. At the same time, based on the Cartesian product of each job parameter after the adjustment of the parameters, it is evaluated whether the job execution result of the job to be executed based on each job parameter after the adjustment of the parameters can meet the quality conditions, for example, whether the model training result after model feature clipping can still meet the set model accuracy requirements, etc., so as to obtain the dimensionality reduction processing result that meets the parameter threshold range allowed by the main restricted resources and meets the quality conditions required by the job result of the job to be executed.

[0119] Afterwards, the parameters of the job to be executed after the dimensionality reduction process are brought into the automatically generated updated job prediction plan execution prediction to obtain a suitable executable time window.

[0120] In this embodiment, in view of the situation that there is no suitable job time window in the future for the job to be executed, by performing corresponding dimensionality reduction processing on the job parameters of the job to be executed, a suitable job time window is planned for the job to be executed while ensuring the job quality.

[0121] Corresponding to the above-mentioned prediction processing method for job scheduling, the embodiment of the present application also discloses a prediction processing device for job scheduling, the composition structure of the device is as follows: Figure 7 As shown, specifically including:

[0122] The acquisition module 701 is used to acquire the job plan information of the submitted job to be executed;

[0123] A determination module 702, configured to determine a forecast plan based at least on the operation plan information;

[0124] The prediction processing module 703 is used to perform prediction processing on the to-be-executed job according to the prediction plan to obtain a prediction result; the prediction result includes: the resource indicator value and / or resource status of the system under different assumed job activities of the to-be-executed job assumed to be executed in different time periods in the future;

[0125] Generation module 704 is used to generate a set of available execution time windows for the job to be executed according to the prediction results, so as to schedule the job to be executed based on the set of available execution time windows; wherein each available execution time window in the set of available execution time windows can be used to make the resource state of system resources meet the state condition during the execution of the job to be executed.

[0126] In one implementation, the determination module 702 is specifically configured to:

[0127] Obtaining job data of a historical job corresponding to the job to be executed, and monitoring data obtained by monitoring system resource indicators and / or resource status during the execution of the historical job;

[0128] Determine the forecast plan based on the job plan information of the job to be executed and the job data and monitoring data of its historical jobs.

[0129] In one embodiment, the job plan information of the job to be executed includes at least the execution time plan information and the node deployment plan information of the job to be executed, and the node deployment plan information is used to indicate the relevant plan information when deploying the job to be executed to the corresponding node;

[0130] When determining the forecast plan based on the job plan information of the job to be executed and the job data and monitoring data of its historical jobs, the determination module 702 is specifically used to:

[0131] Determine, according to the node deployment plan information, each deployment location of the job to be executed and a first resource dependency relationship between each deployment location and the dependent resource;

[0132] According to the first resource dependency relationship between each deployment location and the dependent resource, at least determine the second resource dependency relationship between the to-be-executed job deployed at each location and the dependent resource;

[0133] A forecasting plan is determined based on the first resource dependency relationship, the second resource dependency relationship, and the operation data and monitoring data of the historical operations.

[0134] In one embodiment, the forecast plan of the job to be executed includes: a medium-term forecast plan and a short-term forecast plan when the forecast processing is performed on the job to be executed;

[0135] Each forecast plan in the medium-term forecast plan and the short-term forecast plan includes: a corresponding forecast time range, a plurality of time slices obtained by dividing the corresponding forecast time range according to a predetermined step length, a forecast algorithm corresponding to each time slice and parameters required by the forecast algorithm; the forecast time range corresponding to the medium-term forecast plan includes and is greater than the forecast time range corresponding to the corresponding short-term forecast plan;

[0136] The prediction processing module 703 is specifically used for:

[0137] According to the prediction algorithm and parameters in the short-term prediction plan, predict the resource indicator value and / or resource state of the system when the job to be executed is executed in each time slice corresponding to the short-term prediction plan, and obtain a first prediction result;

[0138] According to the prediction algorithm and parameters in the mid-term prediction plan, the resource indicator values ​​and / or resource states of the system when the job to be executed is executed in each time slice corresponding to the mid-term prediction plan are predicted to obtain a second prediction result.

[0139] In one implementation, the generating module 704 is specifically configured to:

[0140] According to the first prediction result and the second prediction result, determining whether the time point corresponding to each time slice is an available execution time point; the available execution time point is a time point that can be used to make the resource state of the system resource meet the state condition when executing the job to be executed;

[0141] Merge various time points of the same assumed operation activity into an operation time window;

[0142] Determine whether each time point in each job time window is an available execution time point;

[0143] If yes, determine the job time window as an available execution time window; if no, determine the job time window as a non-available execution time window, or determine whether the job time window is an available execution time window based on confirmation processing of whether the job time window is available;

[0144] The determined available execution time windows constitute an available execution time window set of the job to be executed.

[0145] In one implementation, when the generation module 704 determines whether the time point corresponding to each time slice is an available execution time point according to the first prediction result and the second prediction result, it is specifically used to:

[0146] Aggregate the first prediction result and the second prediction result to obtain a result set of resource indicator values ​​and / or resource status prediction results at a time point corresponding to each time slice;

[0147] According to the corresponding result set, it is determined based on a predetermined strategy whether the time point corresponding to each time slice is an available execution time point.

[0148] In one embodiment, the above device further comprises:

[0149] A dimensionality reduction processing module is used for performing dimensionality reduction processing on the job parameters of the job to be executed when the available execution time window set determined for the job to be executed is empty, so as to determine a matching available execution time window set according to the job to be executed after the dimensionality reduction processing of the job parameters;

[0150] Among them, the parameter combination of the job to be executed obtained after the dimensionality reduction process can be used to make the job result of the job to be executed meet the quality conditions.

[0151] With regard to the prediction processing device for job scheduling disclosed in the embodiments of the present application, since it corresponds to the prediction processing method for job scheduling disclosed in the above method embodiments, the description is relatively simple. For relevant similarities, please refer to the description of the corresponding method embodiments above, and no further details will be given here.

[0152] The embodiment of the present application also discloses an electronic device, which may be, but is not limited to, a server device in a cloud computing environment. The composition structure of the electronic device is as follows: Figure 8 As shown, specifically including:

[0153] Memory 801, used for storing computer instruction sets;

[0154] A set of computer instructions can be implemented in the form of a computer program.

[0155] The processor 802 is used to implement the control method disclosed in any of the above method embodiments by executing a computer instruction set.

[0156] The processor 802 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices.

[0157] In addition, the electronic device may also include components such as a communication interface and a communication bus. The memory, the processor and the communication interface communicate with each other through the communication bus.

[0158] The communication interface is used for communication between electronic devices and other devices. The communication bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc.

[0159] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0160] For the convenience of description, the above system or device is described by dividing it into various modules or units according to its functions. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0161] It can be known from the description of the above implementation methods that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present application can be essentially or partly contributed to the prior art in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments of the present application or certain parts of the embodiments.

[0162] Finally, it should be noted that, in this article, relational terms such as first, second, third and fourth are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0163] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A prediction processing method for job scheduling, the method comprising: Get the job plan information of the submitted job to be executed; Determining a forecast plan based at least on the operation plan information; According to the forecast plan, forecast processing is performed on the job to be executed to obtain a forecast result; the forecast result includes: a resource indicator value and / or a resource state of the system under different assumed job activities of the job to be executed in different time periods in the future; Generate an available execution time window set of the job to be executed according to the prediction result, so as to schedule the job to be executed based on the available execution time window set; wherein each available execution time window in the available execution time window set can be used to make the resource state of the system resource meet the state condition during the execution of the job to be executed; Wherein, determining the forecast plan at least according to the operation plan information includes: Acquire job data of a historical job corresponding to the job to be executed, and monitoring data obtained by monitoring system resource indicators and / or resource status during the execution of the historical job; Determine a forecast plan based on the operation plan information and the operation data and monitoring data of the historical operation; The job plan information at least includes the execution time plan information and node deployment plan information of the job to be executed, and the node deployment plan information is used to indicate the relevant plan information when deploying the job to be executed to the corresponding node; Determining a forecast plan based on the operation plan information and the operation data and monitoring data of the historical operation includes: Determine, according to the node deployment plan information, each deployment location of the job to be executed and a first resource dependency relationship between each deployment location and the dependent resource; According to the first resource dependency relationship between each deployment location and the dependent resource, at least determine a second resource dependency relationship between the to-be-executed job deployed at each location and the dependent resource; A forecasting plan is determined according to the first resource dependency, the second resource dependency, and the job data and monitoring data of the historical jobs.

2. The method according to claim 1, wherein the forecast plan comprises: A medium-term forecast plan and a short-term forecast plan when performing forecast processing on the job to be executed; Each of the medium-term forecast plan and the short-term forecast plan includes: a corresponding forecast time range, a plurality of time slices obtained by dividing the corresponding forecast time range according to a predetermined step length, a forecast algorithm corresponding to each time slice and parameters required by the forecast algorithm; the forecast time range corresponding to the medium-term forecast plan includes and is greater than the forecast time range corresponding to the corresponding short-term forecast plan; The step of performing prediction processing on the job to be executed according to the prediction plan to obtain a prediction result includes: According to the prediction algorithm and parameters in the short-term prediction plan, predict the resource indicator value and / or resource state of the system when the to-be-executed job is executed in each time slice corresponding to the short-term prediction plan, and obtain a first prediction result; According to the prediction algorithm and parameters in the medium-term prediction plan, the resource indicator values ​​and / or resource states of the system when the to-be-executed job is executed in each time slice corresponding to the medium-term prediction plan are predicted to obtain a second prediction result.

3. The method according to claim 2, wherein generating the available execution time window set of the to-be-executed job according to the prediction result comprises: Determining whether a time point corresponding to each time slice is an available execution time point according to the first prediction result and the second prediction result; The available execution time point is a time point that can be used to make the resource state of the system resource meet the state condition when executing the job to be executed; Merge various time points of the same assumed operation activity into an operation time window; Determine whether each time point in each job time window is an available execution time point; If yes, determine the job time window as an available execution time window; if no, determine the job time window as a non-available execution time window, or determine whether the job time window is an available execution time window based on a confirmation process of whether the job time window is available; The determined available execution time windows constitute the available execution time window set.

4. The method according to claim 3, wherein determining whether the time point corresponding to each time slice is an available execution time point according to the first prediction result and the second prediction result comprises: Aggregating the first prediction result and the second prediction result to obtain a result set of resource indicator values ​​and / or resource status prediction results at a time point corresponding to each time slice; According to the corresponding result set, it is determined based on a predetermined strategy whether the time point corresponding to each time slice is an available execution time point.

5. The method according to claim 3, further comprising: For a job time window in which each time point is an available execution time point, determining whether the job time window overlaps with an input time interval that is not available for executing the job; If there is overlap, determining the job time window as a non-available execution time window; If there is no overlap, the job time window is determined as an available execution time window.

6. The method according to claim 1, after generating the available execution time window set of the to-be-executed job, further comprises: If the available execution time window set is empty, the job parameters of the to-be-executed job are subjected to dimensionality reduction processing, so as to determine a matching available execution time window set according to the to-be-executed job after the dimensionality reduction processing of the job parameters; The parameter combination of the job to be executed obtained after the dimensionality reduction process can be used to make the job result of the job to be executed meet the quality condition.

7. A prediction processing device for job scheduling, the device comprising: The acquisition module is used to obtain the job plan information of the submitted job to be executed; A determination module, configured to determine a forecast plan based at least on the operation plan information; A prediction processing module, configured to perform prediction processing on the to-be-executed job according to the prediction plan to obtain a prediction result; the prediction result includes: a resource indicator value and / or a resource state of the system under different assumed job activities of the to-be-executed job assumed to be executed in different time periods in the future; A generating module, configured to generate, according to the prediction result, a set of available execution time windows of the job to be executed, so as to schedule the job to be executed based on the set of available execution time windows; wherein each available execution time window in the set of available execution time windows can be used to make the resource state of the system resources satisfy the state condition during the execution of the job to be executed; Wherein, determining the forecast plan at least according to the operation plan information includes: Acquire job data of a historical job corresponding to the job to be executed, and monitoring data obtained by monitoring system resource indicators and / or resource status during the execution of the historical job; Determine a forecast plan based on the operation plan information and the operation data and monitoring data of the historical operation; The job plan information at least includes the execution time plan information and node deployment plan information of the job to be executed, and the node deployment plan information is used to indicate the relevant plan information when deploying the job to be executed to the corresponding node; Determining a forecast plan based on the operation plan information and the operation data and monitoring data of the historical operation includes: Determine, according to the node deployment plan information, each deployment location of the job to be executed and a first resource dependency relationship between each deployment location and the dependent resource; According to the first resource dependency relationship between each deployment location and the dependent resource, at least determine a second resource dependency relationship between the to-be-executed job deployed at each location and the dependent resource; A forecasting plan is determined according to the first resource dependency, the second resource dependency, and the job data and monitoring data of the historical jobs.

8. An electronic device, comprising: Memory, used to store computer instruction sets; A processor, used to implement the prediction processing method for job scheduling as described in any one of claims 1 to 6 by executing an instruction set stored in a memory.

Citation Information

Patent Citations

  • Task optimization scheduling method based on Hadoop

    CN105487930A

  • Data processing job scheduling method and device, computer equipment and storage medium

    CN110297701A

  • Method for training trajectory prediction model and trajectory prediction method

    CN111488984A