Resource scheduling method and device based on hybrid load

By monitoring the quality of service of latency-sensitive applications and calculating the marginal utility of best-effort applications in the data center, the most efficient applications are identified and resources are allocated, solving the problems of low resource utilization and difficulty in guaranteeing service quality in the data center, and maximizing system throughput.

CN121711399APending Publication Date: 2026-03-20INST OF COMPUTING TECH CHINESE ACAD OF SCI
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202511876302.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-12
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

Existing technologies struggle to simultaneously improve system resource utilization and ensure quality of service for hybrid applications in data centers, especially since they overlook the differences in the ability of different best-effort applications to utilize additional resources, leading to resource waste and underutilization of throughput potential.

Method used

By monitoring the service quality metrics of latency-sensitive applications and using real-time parallelizable scaling to calculate the marginal utility of each best-effort application when additional processor core hardware resources are added, the application with the highest marginal utility is identified and resources are allocated to it, thus achieving refined resource management.

Benefits of technology

While ensuring the quality of service for latency-sensitive applications, we aim to maximize the overall system throughput, improve the performance of best-effort applications, and achieve efficient resource utilization and maximize system throughput.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121711399A_ABST
    Figure CN121711399A_ABST
Patent Text Reader

Abstract

The invention provides a hybrid load-based resource scheduling method, which comprises the following steps of: monitoring a service quality index of a delay sensitive application, and judging whether the service quality index meets a preset target or not; if yes, the resource scheduling method based on the hybrid load comprises the following steps: monitoring a service quality index of a delay sensitive application, and judging whether the service quality index meets a preset target or not; if the service quality index meets a preset target, utilizing a real-time parallelizable proportion to calculate and predict the marginal utility obtained by each best effort type application when a unit of processor core hardware resources is additionally added, and defining the best effort type application with the highest marginal utility as a beneficiary application; available processor core hardware resources are allocated to beneficiary applications. Correspondingly, the invention further provides a resource scheduling device based on the hybrid load, a storage medium and electronic equipment. Therefore, according to the invention, the maximization of the overall throughput of the system can be realized while the high-quality service is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data center resource management technology, and in particular to a resource scheduling method, apparatus, storage medium and electronic device based on mixed load. Background Technology

[0002] Data centers are a crucial infrastructure for cloud computing, but they often struggle to simultaneously address the issues of low system resource utilization and inconsistent quality of service (QoS) for hybrid applications. To fully utilize the abundant resources of data centers (such as processor cores, last-level cache, and memory bandwidth), various types of applications often run concurrently. These applications share system resources, and this resource sharing introduces significant uncertainty into application performance, making it difficult to guarantee the QoS of hybrid applications.

[0003] Data center workloads are diverse, broadly categorized into Latency Critical (LC) and Best Efforts (BE) applications. LC applications (such as web queries and social networking services) use tail latency as their performance metric. BE applications (such as big data mining applications) use IPC (Instructions Per Cycle) as their performance metric. In data centers, tail latency for LC applications is crucial for user experience and has a higher priority, while BE applications, often batch processing applications, have a relatively lower priority. However, the workload of LC applications typically varies over time, often failing to fully utilize existing resources. To improve resource utilization, data centers typically employ application co-location, placing multiple applications on a single physical or virtual machine. Therefore, data centers require resource scheduling strategies for resource allocation to mitigate operational interference between applications.

[0004] Chinese invention patent application CN202210303023.4 discloses a resource scheduling method, application identification method, and related equipment for a cloud computing system. It introduces an ARQ strategy for allocating cores and last-level caches, which focuses more on ensuring the performance of cloud computing applications (LC), while the optimization of cloud computing applications (BE) is indirect and passive. This scheme makes decisions entirely based on the state (ReT) of LC applications. Resources are only reclaimed from their isolation areas to a unified shared resource pool when the performance of an LC application meets preset requirements. All BE applications passively and equally share this shared resource pool. Therefore, it only cares about whether the total amount of resources allocated to the BE application group increases, without considering how resources are allocated within these BE applications. It cannot identify or prioritize the allocation of resources to BE applications that can bring higher returns. This makes the performance improvement of BE applications more like a byproduct of satisfying LC application requirements, rather than a goal actively pursued by the system, thus the effect is not ideal.

[0005] Specifically, most existing resource schedulers prioritize or even exclusively focus on the quality of service (QoS) assurance of LC applications. For BE applications, they either fail to actively manage them, allowing them to be randomly allocated in a shared resource pool, or simply treat all BE applications as a homogeneous whole and manage them uniformly. These methods ignore the differences in the ability of different BE applications to utilize additional resources to improve performance (i.e., scalability differences), often resulting in resources being allocated to BE applications that cannot effectively utilize them, leading to a significant waste of throughput potential.

[0006] In conclusion, the existing technology obviously has inconveniences and defects in practical use, so it is necessary to improve it. Summary of the Invention

[0007] To address the aforementioned shortcomings, the present invention aims to provide a resource scheduling method, apparatus, storage medium, and electronic device based on mixed load, which can maximize the overall system throughput while ensuring high-quality service.

[0008] To solve the above-mentioned technical problems, the present invention is implemented as follows:

[0009] In a first aspect, embodiments of the present invention provide a resource scheduling method based on hybrid load, comprising:

[0010] The service quality monitoring steps involve monitoring the service quality indicators of latency-sensitive applications and determining whether the service quality indicators meet preset targets.

[0011] The marginal utility calculation step involves, if the service quality index meets the preset target, using a real-time parallelizable ratio, calculating and predicting the marginal utility obtained by each best-effort application when an additional unit of processor core hardware resources is added, and defining the best-effort application with the highest marginal utility as the beneficiary application.

[0012] The resource allocation step allocates available processor core hardware resources to the beneficiary application.

[0013] According to the resource scheduling method based on mixed load of the present invention, the marginal utility refers to the increase in the number of instructions per cycle after adding an additional unit of the processor core hardware resources for the best-effort application, compared to the number of processor core hardware resources before allocation.

[0014] According to the resource scheduling method based on mixed load described in this invention, the incremental IPC of the number of instructions per cycle... p Let represent the number of instructions per clock cycle when the best-effort application uses p units of processor core hardware resources. Then, the marginal utility Δ brought by adding one unit of processor core hardware resources is:

[0015]

[0016] Wherein, parameter S p S is the ratio of IPC with p units of processor core hardware resources to IPC with 1 unit of processor core hardware resources, i.e., speedup ratio. p The calculation method is as follows:

[0017]

[0018] The marginal utility calculation method in the actual scheduling process is as follows: prediction is performed using the real-time parallelizable ratio f. The calculation method for the real-time parallelizable ratio f is as follows:

[0019]

[0020] Therefore, the relationship between the speedup ratio and the real-time parallelizability ratio is as follows:

[0021]

[0022] Speedup S in the current resource state of p unit processor core hardware resources p The real-time parallelizability ratio is obtained through Formula 2, and then calculated through Formula 3. According to Formula 4, the speedup S after adding one unit of processor core hardware resources is calculated using the real-time parallelizability ratio. p+1 Make a prediction:

[0023]

[0024] Combining formulas 1, 2, 4, and 5, we can obtain:

[0025]

[0026] Formula 6 is used to predict the marginal utility under the current resource state, i.e., the IPC increment obtained after increasing the processor core hardware resources by one unit to p+1 with p units of processor core hardware resources. In the actual calculation of marginal utility, since continuously monitoring the parallelizable ratio will incur additional overhead, an intermittent sampling strategy is adopted. This intermittent strategy allows the application to run normally for one cycle T. r Then, a brief measurement window T is entered. m In T m In this phase, the application is restricted to running on a single processor core hardware resource to collect IPC1. This data is then used to estimate the speedup ratio via Equation 2 and to calculate the real-time parallelizability ratio via Equation 3. This design minimizes resource interference and distributes overhead over a longer timescale (T). r Within the range;

[0027] Specifically, for applications where the current processor core hardware resource is 1 unit, when calculating marginal utility, in T... m In this phase, the application is restricted to running on two unit processor core hardware resources to collect IPC2, thereby calculating the speedup ratio using Equation 2, and then directly calculating the marginal utility using Equation 1.

[0028] According to the resource scheduling method based on mixed load of the present invention, the service quality index is residual interference tolerance (ReT). When the residual interference tolerance of all the latency-sensitive applications is higher than the preset stability threshold, it is determined that the preset target is met.

[0029] According to the resource scheduling method based on mixed load of the present invention, the formula for calculating the residual interference tolerance ReT is as follows:

[0030]

[0031] Among them, M i TL represents the maximum tail delay that user i can tolerate. i1 This indicates the tail delay of the delay-sensitive application i after it is disturbed.

[0032] According to the resource scheduling method based on hybrid load of the present invention, the service quality monitoring step includes the following steps prior to the following:

[0033] The isolation zone allocation step allocates an isolation resource zone to each of the latency-sensitive applications and the best-effort applications.

[0034] The resource allocation step further includes:

[0035] If the quality of service metric of the latency-sensitive application meets the preset target, then the available processor core hardware resources in the isolation resource zone of the latency-sensitive application and the best-effort application are allocated to the beneficiary application. At this time, the beneficiary application is the best-effort application with the highest marginal utility, that is, the resource isolation zone of the best-effort application.

[0036] If the Quality of Service (QoS) metric of the latency-sensitive application does not meet the preset target, the available processor core hardware resources in the isolation resource area between the best-effort applications are reclaimed to the resource sharing area, awaiting allocation to the beneficiary application. At this point, the beneficiary application has two options: the first option is to have the lowest ReT... i And its ReT i The resource isolation zone is for latency-sensitive applications with a value of less than -0.01; the second case is when the conditions of the first case are not met, in which case the resource sharing zone becomes the beneficiary.

[0037] According to the resource scheduling method based on mixed load of the present invention, the marginal utility calculation step further includes:

[0038] If the service quality index meets the preset target, the marginal utility obtained by each best-effort application when an additional unit of processor core hardware resources is added is predicted by intermittently sampling the real-time parallelizable ratio and calculating it separately. The best-effort application with the highest marginal utility is defined as the beneficiary application, and the best-effort application with the lowest marginal utility is defined as the victim application.

[0039] The step of allocating the available processor core hardware resources in the isolation resource zone of the best-effort application to the beneficiary application if the service quality index of the latency-sensitive application does not meet the preset target further includes:

[0040] First, the processor core hardware resources in the isolated resource area of ​​the best-effort application are reclaimed to the resource sharing area, awaiting allocation to the beneficiary application. At this point, the beneficiary application has two options: the first option is to have the lowest ReT... i And its ReT i The resource isolation zone for latency-sensitive applications with a value of less than -0.01 is used in two ways: First, if the conditions of the first case are not met, the resource sharing zone becomes the beneficiary. After determining the beneficiary, resources are moved from the resource sharing zone to the beneficiary, thus completing one round of resource scheduling. In the second beneficiary selection case, the entire resource scheduling process is completed when the processor core hardware resources of the best-effort application are reclaimed to the resource sharing zone.

[0041] Secondly, embodiments of the present invention provide a resource scheduling device based on hybrid load, the device comprising:

[0042] The service quality monitoring module is used to monitor the service quality indicators of latency-sensitive applications and determine whether the service quality indicators meet the preset targets.

[0043] The marginal utility calculation module is used to calculate and predict the marginal utility of each best-effort application when an additional unit of processor core hardware resources is added, using a real-time parallelizable ratio, if the service quality index meets the preset target, and define the best-effort application with the highest marginal utility as the beneficiary application.

[0044] The resource allocation module is used to allocate available processor core hardware resources to the beneficiary application.

[0045] Thirdly, embodiments of the present invention provide a storage medium for storing a computer program for performing any of the methods described herein.

[0046] Fourthly, embodiments of the present invention provide an electronic device, including a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, wherein the processor, when executing the computer program, implements any of the methods described above.

[0047] Therefore, this invention provides a resource scheduling technology based on hybrid load, comprising: monitoring the service quality indicators (SMI) of latency-sensitive applications; determining whether the SMI meets a preset target; if it does, calculating the marginal utility of each best-effort application when an additional unit of processor core hardware resource is added; defining the best-effort application with the highest marginal utility as the beneficiary application and the other best-effort applications as the victim applications; and allocating available processor core hardware resources to the beneficiary application. This invention only allocates available processor core hardware resources from latency-sensitive applications and victim applications to beneficiary applications when the SMI of latency-sensitive applications meets the preset target; conversely, only allocating available processor core hardware resources from victim applications to beneficiary applications when the SMI of latency-sensitive applications does not meet the preset target. Thus, this resource scheduling technology can maximize the overall system throughput while ensuring high-quality service. Attached Figure Description

[0048] Figure 1 This is a flowchart illustrating the resource scheduling method based on hybrid load provided in Embodiment 1 of the present invention.

[0049] Figure 2 This is a flowchart illustrating the resource scheduling method based on hybrid load provided in Embodiment 2 of the present invention;

[0050] Figure 3 This is an example diagram of the resource scheduling method based on hybrid load provided in Embodiment 3 of the present invention;

[0051] Figure 4 This is a schematic diagram of the structure of the resource scheduling device based on hybrid load provided in Embodiment 4 of the present invention;

[0052] Figure 5 This is a schematic diagram of the structure of the resource scheduling device based on hybrid load provided in Embodiment 5 of the present invention;

[0053] Figure 6 This is a schematic diagram of the structure of the electronic device provided in an embodiment of the present invention. Detailed Implementation

[0054] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0055] It should be noted that references to "an embodiment," "embodiment," "example embodiment," etc., in this specification refer to the described embodiment including specific features, structures, or characteristics, but not every embodiment must include these specific features, structures, or characteristics. Furthermore, such expressions do not refer to the same embodiment. Moreover, when describing specific features, structures, or characteristics in conjunction with embodiments, whether or not explicitly described, it is indicated that incorporating such features, structures, or characteristics into other embodiments is within the knowledge of those skilled in the art.

[0056] Furthermore, certain terms are used in the specification and subsequent claims to refer to specific components or parts. Those skilled in the art will understand that manufacturers may use different names or terms to refer to the same component or part. This specification and subsequent claims do not distinguish components or parts by differences in name, but rather by differences in function. The terms "comprising" and "including" used throughout the specification and subsequent claims are open-ended and should be interpreted as "including but not limited to." Additionally, the term "connection" here includes any direct and indirect electrical connection means. Indirect electrical connection means include connections made through other means.

[0057] The resource scheduling method based on hybrid load provided by the present invention will be described in detail below with reference to the accompanying drawings and through specific embodiments and application scenarios.

[0058] This invention relates to the field of data center resource management, and in particular to a data center hybrid load resource scheduling technology based on best-effort application throughput scalability awareness that maximizes total system throughput while ensuring high-quality service.

[0059] Figure 1 This is a flowchart illustrating a resource scheduling method based on hybrid load provided in Embodiment 1 of the present invention. The method includes the following steps:

[0060] Step S101, Service Quality Monitoring Step: Monitor the Service Quality (QoS) indicators of latency-sensitive applications and determine whether the service quality indicators meet the preset targets.

[0061] Preferably, the service quality indicator is residual interference tolerance (ReT). When the residual interference tolerance of all latency-sensitive applications is higher than the preset stability threshold, it is determined that the preset target is met.

[0062] Better yet, the formula for calculating the residual interference tolerance ReT is:

[0063]

[0064] Among them, M i TL represents the maximum tail delay that user i can tolerate. i1 This represents the tail delay of delay-sensitive application i after it is disturbed.

[0065] Step S102, marginal utility calculation step: If the service quality index meets the preset target, the real-time parallelizable ratio is used to calculate and predict the marginal utility obtained by each best-effort application when an additional unit of processor core hardware resources is added, and the best-effort application with the highest marginal utility is defined as the beneficiary application.

[0066] Preferably, marginal utility refers to the increase in instructions per cycle (IPC) for a best-effort application after adding an additional unit of processor core hardware resources, compared to the number of instructions per cycle before the allocation of processor core hardware resources.

[0067] Better yet, incremental IPC of instructions per cycle p Let p represent the number of instructions per clock cycle for a best-effort application using p units of processor core hardware resources. Then, the marginal utility Δ of adding one unit of processor core hardware resources is:

[0068]

[0069] Among them, parameters It is the ratio of IPC with p units of processor core hardware resources to IPC with 1 unit of processor core hardware resources, i.e. speedup ratio.

[0070] Step S103, resource allocation step, allocates available processor core hardware resources to the beneficiary application.

[0071] This invention discloses a resource scheduling method for hybrid load data centers. While ensuring the Quality of Service (QoS) of latency-critical (LC) applications, this method addresses the insufficient performance optimization of best-efforts (BE) applications by proposing a scheduling mechanism based on scalability analysis. The method first monitors the QoS metrics of latency-critical applications. When these metrics are within a safe range, surplus processor core hardware resources are used to optimize best-efforts applications. The core of this method is that the system evaluates the scalability of each best-efforts application online, calculating the marginal utility (IPC gain) it can gain after acquiring additional resources. The scheduler then selects to allocate resources to the best-efforts application with the highest marginal utility, thereby ensuring that every allocated resource generates the maximum throughput return.

[0072] This invention aims to address the problem of insufficient management of best-effort applications in existing technologies, which prevents the maximization of total system throughput. The core idea is to transform the resource allocation problem for best-effort applications into an optimization problem with the highest return on investment after ensuring that latency-sensitive applications meet quality of service requirements. By quantifying the marginal utility of each best-effort application online, the invention precisely identifies which application yields the greatest optimization benefit and then allocates resources to it, thereby maximizing the overall system throughput.

[0073] Figure 2 This is a flowchart illustrating a resource scheduling method based on hybrid load provided in Embodiment 2 of the present invention. The method includes the following steps:

[0074] Step S201, Isolation zone allocation step, allocates isolation resource zones to each latency-sensitive application and best-effort application.

[0075] Step S202, Service Quality Monitoring Step, monitors the service quality indicators of latency-sensitive applications and determines whether the service quality indicators meet the preset targets.

[0076] Preferably, the service quality indicator is the residual interference tolerance (ReT). When the residual interference tolerance of all latency-sensitive applications is higher than the preset stability threshold, it is determined that the preset target is met.

[0077] Better yet, the formula for calculating the residual interference tolerance ReT is:

[0078]

[0079] Among them, M i TL represents the maximum tail delay that user i can tolerate. i1 This represents the tail delay of delay-sensitive application i after it is disturbed.

[0080] Step S203, marginal utility calculation step: If the service quality index meets the preset target, the real-time parallelizable ratio is used to calculate and predict the marginal utility obtained by each best-effort application when an additional unit of processor core hardware resources is added, and the best-effort application with the highest marginal utility is defined as the beneficiary application.

[0081] Preferably, if the service quality index meets the preset target, the marginal utility obtained by each best-effort application when an additional unit of processor core hardware resource is added is calculated, and the best-effort application with the highest marginal utility is defined as the beneficiary application, and the best-effort application with the lower marginal utility is defined as the victim application.

[0082] Preferably, marginal utility refers to the increase in the number of instructions per cycle for a best-effort application after adding an additional unit of processor core hardware resources, compared to the number of processor core hardware resources allocated before.

[0083] Better yet, incremental IPC of instructions per cycle p Let p represent the number of instructions per clock cycle for a best-effort application using p units of processor core hardware resources. Then, the marginal utility Δ of adding one unit of processor core hardware resources is:

[0084]

[0085] Wherein, parameter S p S is the ratio of IPC with p units of processor core hardware resources to IPC with 1 unit of processor core hardware resources, i.e., speedup ratio. p The calculation method is as follows:

[0086]

[0087] The marginal utility calculation method in the actual scheduling process is as follows: prediction is performed using the real-time parallelizable ratio f. The calculation method for the real-time parallelizable ratio f is as follows:

[0088]

[0089] Therefore, the relationship between the speedup ratio and the real-time parallelizability ratio is as follows:

[0090]

[0091] Speedup S in the current resource state of p unit processor core hardware resources p The real-time parallelizability ratio is obtained through Formula 2, and then calculated through Formula 3. According to Formula 4, the speedup S after adding one unit of processor core hardware resources is calculated using the real-time parallelizability ratio.p+1 Make a prediction:

[0092]

[0093] Combining formulas 1, 2, 4, and 5, we can obtain:

[0094]

[0095] Formula 6 is used to predict the marginal utility under the current resource state, i.e., the IPC increment obtained after increasing the processor core hardware resources by one unit to p+1 with p units of processor core hardware resources. In the actual calculation of marginal utility, since continuously monitoring the parallelizable ratio will incur additional overhead, an intermittent sampling strategy is adopted. This intermittent strategy allows the application to run normally for one cycle T. r Then, a brief measurement window T is entered. m In T m In this phase, the application is restricted to running on a single processor core to collect IPC1. This data is then used to estimate the speedup using Equation 2, and the real-time parallelizability ratio is calculated using Equation 3. This design minimizes resource interference and amortizes overhead over a longer T timescale. r Within the range.

[0096] Specifically, for applications where the current processor core hardware resource is 1 unit, when calculating marginal utility, in T... m In this phase, the application is restricted to running on two unit processor core hardware resources to collect IPC2, thereby calculating the speedup ratio using Equation 2, and then directly calculating the marginal utility using Equation 1.

[0097] Preferably, the marginal utility calculation step further includes:

[0098] If the service quality metrics meet the preset targets, the marginal utility of each best-effort application when an additional unit of processor core hardware resources is added is predicted by intermittently sampling the real-time parallelizable proportion and calculating it separately. The best-effort application with the highest marginal utility is defined as the beneficiary application, and the best-effort application with the lowest marginal utility is defined as the victim application.

[0099] If the service quality metrics of a latency-sensitive application do not meet the preset targets, the step of allocating available processor core hardware resources in the isolation resource zone of a best-effort application to the beneficiary application further includes:

[0100] First, the processor core hardware resources in the isolated resource area of ​​the best-effort application are reclaimed to the resource-sharing area, awaiting allocation to the beneficiary application. At this point, the beneficiary application has two options: the first option is to have the lowest ReT... iAnd its ReT i Resource isolation zones for latency-sensitive applications with a threshold of -0.01 are used. The second scenario occurs when the conditions of the first scenario are not met, in which case the resource-shared area becomes the beneficiary. After determining the beneficiary, resources are moved from the resource-shared area to the beneficiary, thus completing one round of resource scheduling. In this second beneficiary selection scenario, the entire resource scheduling process is completed when the processor core hardware resources of best-effort applications are reclaimed to the resource-shared area.

[0101] Step S204, resource allocation step, allocates available processor core hardware resources to the beneficiary application.

[0102] Preferably, the resource allocation step further includes:

[0103] If the service quality metrics of a latency-sensitive application meet the preset target, then the available processor core hardware resources in the isolated resource zones of the latency-sensitive application and the best-effort application are allocated to the beneficiary application. At this time, the beneficiary application is the best-effort application with the highest marginal utility, that is, the resource isolation zone of the best-effort application.

[0104] If the service quality metrics of latency-sensitive applications do not meet the preset targets, the available processor core hardware resources in the isolation resource area between best-effort applications will be reclaimed to the resource sharing area, awaiting allocation to beneficiary applications. At this point, the beneficiary application has two options: the first option is to have the lowest ReT... i And its ReT i Resource isolation zones for latency-sensitive applications with a value less than -0.01. The second scenario is when the conditions of the first scenario are not met, in which case the resource-shared zone becomes the beneficiary.

[0105] In its optimization strategy for best-effort applications, this invention treats each best-effort application as an independent entity with unique performance and scalability potential. Its core lies in quantifying the efficiency of each best-effort application's utilization of additional resources by analyzing its marginal utility Δ online. Based on this, the invention proactively transfers resources (such as processor cores) from best-effort applications with low marginal utility to those with high marginal utility. Its goal is to proactively maximize the overall throughput of all best-effort applications, representing a refined, performance-oriented optimization.

[0106] Table 1 illustrates a Pharos resource scheduling algorithm according to a specific embodiment of the present invention, including:

[0107] I. Mode Switching

[0108] It also provides resource pools for isolated zones for latency-sensitive and best-effort applications. Under this design, resources can be transferred between isolated zones for each best-effort application.

[0109] A dual-mode scheduling strategy is employed, which involves switching between two optimization modes—delay-sensitive applications and best-effort applications—under different circumstances, corresponding to the `AdjustForLC` and `AdjustForBE` functions, respectively. In each scheduling cycle, the main loop (lines 2-18) enters a conditional judgment process after completing monitoring and calculation. In this process, there are two scenarios where proactive resource scheduling will be performed on best-effort applications:

[0110]

[0111]

[0112] Table 1. Pharos Resource Scheduling Algorithm

[0113] (1) When all latency-sensitive applications have sufficient performance margin (resource scheduling between the isolated and shared areas of a best-effort application):

[0114] Line 12 of the code checks if the minimum residual interference tolerance (ReT) is found in all delay-sensitive applications. i If the value is greater than 0.3, the system considers that the QoS of latency-sensitive applications is adequately guaranteed and there are surplus resources. At this time, the scheduler will immediately and proactively call isAdjust ← AdjustForBE(△, shared) to maximize the throughput of best-effort applications by utilizing the resources of the shared area.

[0115] (2) When a latency-sensitive application faces risks and attempts to increase its resources fail (resource scheduling is performed between the isolation zones of two best-effort applications):

[0116] When min(ReTi) < 0.05 (line 15), the system attempts to call the AdjustForLC function to increase resources for the affected latency-sensitive application. If the AdjustForLC function returns False after execution (line 17 isAdjust == False), it indicates that the adjustment for the latency-sensitive application has failed.

[0117] At this point, the system will fall back to call AdjustForBE(△). Note that this call does not provide the victimFlag=shared parameter. Therefore, inside the AdjustForBE function (lines 43 and 47-48), it performs resource scheduling between the two best-effort applications: transferring resources from the best-effort application with the lowest marginal utility (the victim) to the best-effort application with the highest marginal utility (the beneficiary).

[0118] The ReT calculation method is shown in equation (1), where M i TL represents the maximum tail delay that user i can tolerate. i1 Represents the tail delay after application i is disturbed. Applications are sorted according to their ReT values, with the application with the largest ReT value selected as the victim and the application with the smallest ReT value as the beneficiary.

[0119]

[0120] II. Calculating Marginal Utility

[0121] Marginal utility Δ quantifies the incremental performance gain that a best-effort application can obtain by adding an extra unit of resource. Let IPC p Let p represent the number of instructions per clock cycle when the application uses p units of resources. Then, the marginal utility of adding one unit of resources is defined as:

[0122]

[0123] III. Utility-Driven Allocation: The system call `AdjustForBE` performs resource scheduling for best-effort applications. This function scans all best-effort applications and finds the application with the highest Δ value as the beneficiary. Resources are allocated to this beneficiary during this scheduling cycle. There are two scenarios for victim selection: when the ReT of all latency-sensitive applications meets the preset requirements, the resource-sharing area is selected as the victim, meaning resources are directly transferred from the shared area to the benefiting best-effort application (lines 44-46); when a latency-sensitive application's ReT does not meet the preset requirements, if scheduling for the latency-sensitive application fails, the best-effort application with the lowest Δ value is found as the victim (lines 41-43), and a resource transfer is performed from the victim's best-effort application to the beneficiary's best-effort application.

[0124] Figure 3This is an example diagram of the resource scheduling method based on mixed load provided in Embodiment 3 of the present invention. The system contains two best-effort applications simultaneously: Stream and Swaptions. Through online profiling, the present invention found that Swaptions have higher scalability (i.e., higher marginal utility). Therefore, this system wisely allocates surplus processor cores to Swaptions, rather than Stream. However, the ARQ strategy for allocating cores and last-level cache described in the patent "Resource Scheduling Method, Application Identification Method, and Related Devices for Cloud Computing Systems" does not specifically consider resource allocation for best-effort applications. The results show that this decision leads to a significant overall IPC improvement, demonstrating the superiority of the scalability-aware BE optimization method.

[0125] In short, this invention aims to allocate every resource to where it can generate the highest efficiency; ARQ, on the other hand, first ensures that critical tasks meet the conditions before delegating the remaining resources. The core lies in the dual-mode scheduling strategy shown in Algorithm 1.

[0126] It should be noted that the resource scheduling method based on mixed load provided in this embodiment of the invention can be executed by an electronic device, a apparatus, or a control module within that apparatus for executing the method. This embodiment of the invention uses an apparatus executing the method as an example to illustrate the resource scheduling apparatus based on mixed load provided in this embodiment of the invention.

[0127] The resource scheduling device based on hybrid load provided in this embodiment of the invention can achieve... Figures 1-3 The various processes implemented in the resource scheduling method embodiment based on hybrid load shown are not described in detail here to avoid repetition.

[0128] Figure 4 This is a schematic diagram of the structure of a resource scheduling device based on hybrid load provided in Embodiment 4 of the present invention. The device 100 includes a service quality monitoring module 10, a marginal utility calculation module 20, and a resource allocation module 30, wherein:

[0129] The service quality monitoring module 10 is used to monitor the service quality (QoS) indicators of latency-sensitive applications and determine whether the service quality indicators meet the preset targets.

[0130] Preferably, the service quality indicator is residual interference tolerance (ReT). When the residual interference tolerance of all latency-sensitive applications is higher than a preset stability threshold, it is determined that the preset target is met.

[0131] The marginal utility calculation module 20 is used to calculate, using a real-time parallelizable ratio, predict the marginal utility obtained by each best-effort application when an additional unit of processor core hardware resources is added if the service quality index meets the preset target, and define the best-effort application with the highest marginal utility as the beneficiary application.

[0132] Once it is confirmed that the QoS of all latency-sensitive applications meets the requirements, the marginal utility calculation module 20 is activated to calculate the marginal utility of multiple best-effort applications after obtaining additional resources, and to identify the best-effort application with the highest utility.

[0133] Preferably, the marginal utility refers to the increase in the number of instructions per cycle for a best-effort application after adding an additional unit of processor core hardware resources, compared to the number of processor core hardware resources allocated before.

[0134] The resource allocation module 30 is used to allocate available processor core hardware resources to the beneficiary application.

[0135] The resource allocation module 30 is used to allocate surplus resources to the identified best-effort applications with the highest marginal utility, according to the instructions of the decision module.

[0136] Figure 5 This is a schematic diagram of the structure of a resource scheduling device based on hybrid load provided in Embodiment 5 of the present invention. The device 100 includes a service quality monitoring module 10, a marginal utility calculation module 20, and a resource allocation module 30, wherein:

[0137] The service quality monitoring module 10 is used to monitor the service quality (QoS) indicators of latency-sensitive applications and determine whether the service quality indicators meet the preset targets.

[0138] Preferably, the service quality indicator is residual interference tolerance (ReT). When the residual interference tolerance of all latency-sensitive applications is higher than the preset stability threshold, it is determined that the preset target is met.

[0139] Better yet, the formula for calculating the residual interference tolerance ReT is:

[0140]

[0141] Among them, M i TL represents the maximum tail delay that user i can tolerate. i1 This indicates the tail delay of the delay-sensitive application i after it is disturbed.

[0142] The marginal utility calculation module 20 is used to calculate, using a real-time parallelizable ratio, predict the marginal utility obtained by each best-effort application when an additional unit of processor core hardware resources is added if the service quality index meets the preset target, and define the best-effort application with the highest marginal utility as the beneficiary application.

[0143] Preferably, the marginal utility refers to the increase in the number of instructions per cycle after adding an additional unit of the processor core hardware resources for the best-effort application, compared to the number of processor core hardware resources before the allocation of the processor core hardware resources.

[0144] Preferably, the incremental IPC of the instruction count per cycle p Let represent the number of instructions per clock cycle when the best-effort application uses p units of processor core hardware resources. Then, the marginal utility Δ brought by adding one unit of processor core hardware resources is:

[0145]

[0146] Wherein, parameter S p S is the ratio of IPC with p units of processor core hardware resources to IPC with 1 unit of processor core hardware resources, i.e., speedup ratio. p The calculation method is as follows:

[0147]

[0148] The marginal utility calculation method in the actual scheduling process is as follows: prediction is performed using the real-time parallelizable ratio f. The calculation method for the real-time parallelizable ratio f is as follows:

[0149]

[0150] Therefore, the relationship between the speedup ratio and the real-time parallelizability ratio is as follows:

[0151]

[0152] Speedup S in the current resource state of p unit processor core hardware resources p The real-time parallelizability ratio is obtained through Formula 2, and then calculated through Formula 3. According to Formula 4, the speedup S after adding one unit of processor core hardware resources is calculated using the real-time parallelizability ratio. p+1 Make a prediction:

[0153]

[0154] Combining formulas 1, 2, 4, and 5, we can obtain:

[0155]

[0156] Formula 6 is used to predict the marginal utility under the current resource state, i.e., the IPC increment obtained after increasing the processor core hardware resources by one unit to p+1 with p units of processor core hardware resources. In the actual calculation of marginal utility, since continuously monitoring the parallelizable ratio will incur additional overhead, an intermittent sampling strategy is adopted. This intermittent strategy allows the application to run normally for one cycle T. r Then, a brief measurement window T is entered. m In T m In this phase, the application is restricted to running on a single processor core hardware resource to collect IPC1. This data is then used to estimate the speedup ratio via Equation 2 and to calculate the real-time parallelizability ratio via Equation 3. This design minimizes resource interference and distributes overhead over a longer timescale (T). r Within the range;

[0157] Specifically, for applications where the current processor core hardware resource is 1 unit, when calculating marginal utility, in T... m In this phase, the application is restricted to running on two unit processor core hardware resources to collect IPC2, thereby calculating the speedup ratio using Equation 2, and then directly calculating the marginal utility using Equation 1.

[0158] The resource allocation module 30 is used to allocate available processor core hardware resources to the beneficiary application.

[0159] Preferably, the resource allocation module 30 further performs the following actions:

[0160] If the service quality metrics of a latency-sensitive application meet the preset targets, then the available processor core hardware resources in the isolated resource areas of latency-sensitive and best-effort applications will be allocated to the beneficiary application.

[0161] If the service quality metrics of latency-sensitive applications do not meet the preset targets, the available processor core hardware resources in the isolation resource area between best-effort applications will be allocated to the beneficiary application.

[0162] More preferably, the resource scheduling device 100 based on mixed load of the present invention further includes:

[0163] The isolation zone allocation module 40 is used to allocate isolation resource zones for each latency-sensitive application and best-effort application.

[0164] The marginal utility calculation module 20 further performs the following actions:

[0165] If the service quality index meets the preset target, the marginal utility obtained by each best-effort application when an additional unit of processor core hardware resources is added is predicted by intermittently sampling the real-time parallelizable ratio and calculating it separately. The best-effort application with the highest marginal utility is defined as the beneficiary application, and the best-effort application with the lowest marginal utility is defined as the victim application.

[0166] The step of allocating the available processor core hardware resources in the isolation resource zone of the best-effort application to the beneficiary application if the service quality index of the latency-sensitive application does not meet the preset target further includes:

[0167] First, the processor core hardware resources in the isolated resource area of ​​the best-effort application are reclaimed to the resource sharing area, awaiting allocation to the beneficiary application. At this point, the beneficiary application has two options: the first option is to have the lowest ReT... i And its ReT i The resource isolation zone for latency-sensitive applications with a value of less than -0.01 is used in two ways: First, if the conditions of the first case are not met, the resource sharing zone becomes the beneficiary. After determining the beneficiary, resources are moved from the resource sharing zone to the beneficiary, thus completing one round of resource scheduling. In the second beneficiary selection case, the entire resource scheduling process is completed when the processor core hardware resources of the best-effort application are reclaimed to the resource sharing zone.

[0168] The resource allocation module 30 further performs the following actions:

[0169] If the quality of service metric of the latency-sensitive application meets the preset target, then the available processor core hardware resources in the isolation resource zone of the latency-sensitive application and the best-effort application are allocated to the beneficiary application. At this time, the beneficiary application is the best-effort application with the highest marginal utility, that is, the resource isolation zone of the best-effort application.

[0170] If the Quality of Service (QoS) metric of the latency-sensitive application does not meet the preset target, the available processor core hardware resources in the isolation resource area between the best-effort applications are reclaimed to the resource sharing area, awaiting allocation to the beneficiary application. At this point, the beneficiary application has two options: the first option is to have the lowest ReT... i And its ReT i The resource isolation zone is for latency-sensitive applications with a value of less than -0.01; the second case is when the conditions of the first case are not met, in which case the resource sharing zone becomes the beneficiary.

[0171] The resource scheduling device based on hybrid load provided in this invention allocates available processor core hardware resources of both latency-sensitive applications and victim applications to beneficiary applications only when the service quality indicators of latency-sensitive applications meet preset targets. Conversely, when the service quality indicators of latency-sensitive applications do not meet preset targets, only the available processor core hardware resources of victim applications are allocated to beneficiary applications. Therefore, the resource scheduling technology of this invention can maximize the overall system throughput while ensuring high-quality service.

[0172] The present invention also provides a storage medium for storing, for example, Figures 1-3 The computer program for any of the resource scheduling methods based on mixed loads. For example, computer program instructions, when executed by a computer, can invoke or provide the methods and / or technical solutions according to the present invention through the operation of the computer, and can achieve the same technical effect. To avoid repetition, they will not be described again here. The program instructions for invoking the methods of the present invention may be stored in a fixed or removable storage medium, and / or transmitted through a data stream in a broadcast or other signal carrying medium, and / or stored in the storage medium of a computer device operating according to the program instructions.

[0173] According to one embodiment of the present invention, the present invention also provides such a Figure 6 The illustrated electronic device 400 may optionally include a storage medium 200 for storing computer programs and a processor 300 for executing the computer programs. When the computer program is executed by the processor 300, it implements any of the aforementioned resource scheduling methods based on mixed load, triggering the electronic device 400 to execute methods and / or technical solutions based on the foregoing embodiments, achieving the same technical effect. To avoid repetition, these methods will not be elaborated upon here. It should be noted that the electronic devices in this embodiment include mobile electronic devices and non-mobile electronic devices. For example, mobile electronic devices may be mobile phones, tablets, laptops, PDAs, in-vehicle electronic devices, wearable devices, super mobile personal computers, netbooks, or personal digital assistants, etc., while non-mobile electronic devices may be servers, network-attached storage (NAS), personal computers (PCs), televisions (TVs), ATMs, or self-service machines, etc. This embodiment does not specifically limit the scope of the invention.

[0174] It should be noted that the present invention can be implemented in software and / or a combination of software and hardware, for example, using an application-specific integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In one embodiment, the software program of the present invention can be executed by a processor to implement the steps or functions described above. Similarly, the software program of the present invention (including associated data structures) can be stored in a computer-readable recording medium, such as RAM memory, a magnetic or optical drive, a floppy disk, or similar devices. Furthermore, some steps or functions of the present invention can be implemented in hardware, for example, as circuitry that works with a processor to perform the various steps or functions.

[0175] This invention can be implemented on a computer as a computer-based method, or in dedicated hardware, or a combination of both. Executable code or portions thereof for the method according to the invention can be stored on a computer program product. Examples of computer program products include memory devices, optical storage devices, integrated circuits, servers, online software, etc. Optionally, the computer program product includes non-transitory program code components stored on a computer-readable medium so as to execute the method according to the invention when the program product is executed on a computer.

[0176] In an optional embodiment, the computer program includes computer program code components adapted to perform all the steps of the method according to the invention when the computer program is run on a computer. Optionally, the computer program is embodied on a computer-readable medium.

[0177] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of the present invention is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0178] Of course, the present invention may have other various embodiments. Without departing from the spirit and essence of the present invention, those skilled in the art can make various corresponding changes and modifications according to the present invention, but these corresponding changes and modifications should all fall within the protection scope of the appended claims.

Claims

1. A resource scheduling method based on hybrid load, characterized in that, include: The service quality monitoring steps involve monitoring the service quality indicators of latency-sensitive applications and determining whether the service quality indicators meet preset targets. The marginal utility calculation step involves calculating the marginal utility of each best-effort application when an additional unit of processor core hardware resources is added, based on the real-time parallelizable ratio, if the service quality index meets the preset target. The best-effort application with the highest marginal utility is defined as the beneficiary application. The resource allocation step allocates available processor core hardware resources to the beneficiary application.

2. The resource scheduling method based on hybrid load according to claim 1, characterized in that, The marginal utility refers to the increase in the number of instructions per cycle after adding an additional unit of the processor core hardware resources for the best-effort application, compared to the number of processor core hardware resources allocated before.

3. The resource scheduling method based on hybrid load according to claim 2, characterized in that, The incremental IPC of instructions per cycle p Let represent the number of instructions per clock cycle when the best-effort application uses p units of processor core hardware resources. Then, the marginal utility Δ brought by adding one unit of processor core hardware resources is: Wherein, parameter S p S is the ratio of IPC with p units of processor core hardware resources to IPC with 1 unit of processor core hardware resources, i.e., speedup ratio. p The calculation method is as follows: The marginal utility calculation method in the actual scheduling process is as follows: prediction is performed using the real-time parallelizable ratio f. The calculation method for the real-time parallelizable ratio f is as follows: Therefore, the relationship between the speedup ratio and the real-time parallelizability ratio is as follows: Speedup S in the current resource state of p unit processor core hardware resources p The real-time parallelizability ratio is obtained through Formula 2, and then calculated through Formula 3. According to Formula 4, the speedup S after adding one unit of processor core hardware resources is calculated using the real-time parallelizability ratio. p+1 Make a prediction: Combining formulas 1, 2, 4, and 5, we can obtain: Formula 6 is used to predict the marginal utility under the current resource state, i.e., the IPC increment obtained after increasing the processor core hardware resources by one unit to p+1 with p units of processor core hardware resources. In the actual calculation of marginal utility, since continuously monitoring the parallelizable ratio will incur additional overhead, an intermittent sampling strategy is adopted. This intermittent strategy allows the application to run normally for one cycle T. r Then, a brief measurement window T is entered. m In T m In this phase, the application is restricted to running on a single processor core hardware resource to collect IPC1. This data is then used to estimate the speedup ratio via Equation 2 and to calculate the real-time parallelizability ratio via Equation 3. This design minimizes resource interference and distributes overhead over a longer timescale (T). r Within the range; Specifically, for applications where the current processor core hardware resource is 1 unit, when calculating marginal utility, in T... m In this phase, the application is restricted to running on two unit processor core hardware resources to collect IPC2, thereby calculating the speedup ratio using Equation 2, and then directly calculating the marginal utility using Equation 1.

4. The resource scheduling method based on hybrid load according to claim 1, characterized in that, The service quality indicator is the residual interference tolerance (ReT). When the residual interference tolerance of all the latency-sensitive applications is higher than the preset stability threshold, it is determined that the preset target is met.

5. The resource scheduling method based on hybrid load according to claim 4, characterized in that, The formula for calculating the residual interference tolerance ReT is as follows: Among them, M i TL represents the maximum tail delay that user i can tolerate. i1 This indicates the tail delay of the delay-sensitive application i after it is disturbed.

6. The resource scheduling method based on hybrid load according to claim 1, characterized in that, Prior to the service quality monitoring steps, the following is included: The isolation zone allocation step allocates an isolation resource zone to each of the latency-sensitive applications and the best-effort applications. The resource allocation step further includes: If the quality of service metric of the latency-sensitive application meets the preset target, then the available processor core hardware resources in the isolation resource zone of the latency-sensitive application and the best-effort application are allocated to the beneficiary application. At this time, the beneficiary application is the best-effort application with the highest marginal utility, that is, the resource isolation zone of the best-effort application. If the Quality of Service (QoS) metric of the latency-sensitive application does not meet the preset target, the available processor core hardware resources in the isolation resource area between the best-effort applications are reclaimed to the resource sharing area, awaiting allocation to the beneficiary application. At this point, the beneficiary application has two options: the first option is to have the lowest ReT... i And its ReT i The resource isolation zone is for latency-sensitive applications with a value of less than -0.01; the second case is when the conditions of the first case are not met, in which case the resource sharing zone becomes the beneficiary.

7. The resource scheduling method based on hybrid load according to claim 6, characterized in that, The marginal utility calculation step further includes: If the service quality index meets the preset target, the marginal utility obtained by each best-effort application when an additional unit of processor core hardware resources is added is predicted by intermittently sampling the real-time parallelizable ratio and calculating it separately. The best-effort application with the highest marginal utility is defined as the beneficiary application, and the best-effort application with the lowest marginal utility is defined as the victim application. The step of allocating the available processor core hardware resources in the isolation resource zone of the best-effort application to the beneficiary application if the service quality index of the latency-sensitive application does not meet the preset target further includes: First, the processor core hardware resources in the isolated resource area of ​​the best-effort application are reclaimed to the resource sharing area, awaiting allocation to the beneficiary application. At this point, the beneficiary application has two options: the first option is to have the lowest ReT... i And its ReT i The resource isolation zone for latency-sensitive applications with a value of less than -0.01 is used in two ways: First, if the conditions of the first case are not met, the resource sharing zone becomes the beneficiary. After determining the beneficiary, resources are moved from the resource sharing zone to the beneficiary, thus completing one round of resource scheduling. In the second beneficiary selection case, the entire resource scheduling process is completed when the processor core hardware resources of the best-effort application are reclaimed to the resource sharing zone.

8. A resource scheduling device based on hybrid load constructed according to the method of any one of claims 1 to 7, characterized in that, The device includes: The service quality monitoring module is used to monitor the service quality indicators of latency-sensitive applications and determine whether the service quality indicators meet the preset targets. The marginal utility calculation module is used to calculate and predict the marginal utility of each best-effort application when an additional unit of processor core hardware resources is added, using a real-time parallelizable ratio, if the service quality index meets the preset target, and define the best-effort application with the highest marginal utility as the beneficiary application. The resource allocation module is used to allocate available processor core hardware resources to the beneficiary application.

9. A storage medium, characterized in that, Used to store a computer program for performing the method according to any one of claims 1 to 7.

10. An electronic device comprising a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 7.

Citation Information

Patent Citations

  • Scheduling a mix of best effort (BE) and delay QOS flows

    CN101849393A

  • Resource scheduling method of cloud computing system, application identification method and related equipment

    CN116846978A

  • Resource scheduling method and device of data center, storage medium and electronic equipment

    CN119938344A

  • Scheduling a mix of best effort (BE) and delay QOS flows

    US20090116439A1