Resource scheduling method and device of data center based on application resource sensitivity

By measuring the applied MPKI curve in the data center and analyzing its resource sensitivity, the problem of difficult resource management and service quality in the data center is solved, and more efficient resource utilization and service quality improvement are achieved.

CN119961008AInactive Publication Date: 2025-05-09INST OF COMPUTING TECH CHINESE ACAD OF SCI
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202510439782.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-09
Publication Date
2025-05-09
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Data centers are difficult to cope with the problem of low system resource utilization and difficult to ensure service quality for hybrid applications, especially in processor core and on-chip end-level cache resource management.

Method used

By measuring the number of last-level cache missing per thousand instructions for each application under the last-level cache capacity of different on-chip, the MPKI curve is calculated, the application's resource sensitivity to the last-level cache on-chip, and the resource type is allocated based on this decision.

Benefits of technology

It realizes resource management of resource-sensitive applications in the data center at the processor core and on-chip end-level cache, improving the service quality and resource utilization of hybrid applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119961008A_ABST
    Figure CN119961008A_ABST
Patent Text Reader

Abstract

The invention provides a data center resource scheduling method and device based on application resource sensitivity, and the method comprises the steps: measuring the last-stage cache missing number of each thousand of instructions of each application under the capacities of different on-chip last-stage caches, and calculating an MPKI curve of each application; by comparing the MPKI curves of all the applications, the resource sensitivity of all the applications to the last-stage cache on the chip is analyzed; and according to the resource sensitivity, determining a resource type preferentially allocated to each application. The invention further provides a storage medium and electronic equipment. Therefore, the resource management of the resource sensitive application in the data center in the processor core and the on-chip last-stage cache can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a resource scheduling method, device, storage medium and electronic device for a data center based on application resource sensitivity. Background Art

[0002] Data centers are an important infrastructure for cloud computing, but they often have difficulty coping with the problems of low system resource utilization and poor quality of service for hybrid applications. In order to fully utilize the rich resources of data centers (such as processor cores, last-level cache, memory bandwidth, etc.), data centers often run various types of applications at the same time. These applications share system resources. Resource sharing brings greater uncertainty to application performance, making it difficult to guarantee the quality of service for hybrid applications.

[0003] Data center loads vary, and can be roughly divided into two types: latency critical (LC) and best efforts (BE). LC applications (such as online service applications such as web queries and social networks) use tail latency as a performance indicator. BE applications (such as big data mining applications) use IPC (Instructions Per Cycle) as a performance indicator. In data centers, the tail latency of LC applications is related to user experience and has a higher priority, while BE applications are mostly batch processing applications with a relatively low priority. However, the load of LC applications usually changes over time, and in many cases existing resources cannot be fully utilized. In order to improve resource utilization, data centers usually adopt a mixed application deployment method to place multiple applications on a real machine or virtual machine. In order to solve the interference between applications, resource scheduling strategies are needed to allocate resources.

[0004] In summary, the prior art obviously has inconveniences and defects in practical use, so it is necessary to improve it. Summary of the invention

[0005] In view of the above-mentioned defects, the object of the present invention is to provide a resource scheduling method, device, storage medium and electronic device for a data center based on application resource sensitivity, which can realize resource management of resource-sensitive applications in processor cores and on-chip last-level caches in data centers.

[0006] In order to solve the above-mentioned technical problems, the present invention is achieved as follows:

[0007] In a first aspect, an embodiment of the present invention provides a resource scheduling method for a data center based on application resource sensitivity, comprising:

[0008] Measuring the number of last-level cache misses per thousand instructions of each application under different on-chip last-level cache capacities, and calculating the MPKI curve of each application;

[0009] By comparing the MPKI curves of the various applications, analyzing the resource sensitivity of the various applications to the on-chip last-level cache;

[0010] The resource type to be preferentially allocated to each of the applications is determined according to the resource sensitivity.

[0011] According to the resource scheduling method for a data center of the present invention, the step of measuring the number of last-level cache misses per thousand instructions of each application under different on-chip last-level cache capacities and calculating the MPKI curve of each application includes:

[0012] Adjusting the capacity of the on-chip last-level cache available to each of the applications;

[0013] Obtaining the number of last-level cache misses and the number of executed instructions of each application, and calculating a ratio between the two to obtain an MPKI value of each application;

[0014] The MPKI curve is obtained according to the MPKI value changing with the capacity of the on-chip last-level cache.

[0015] According to the resource scheduling method for a data center of the present invention, the step of analyzing the resource sensitivity of each application to the on-chip last-level cache by comparing the MPKI curves of each application includes:

[0016] sorting the decreasing rates of the MPKI values ​​of the respective applications under the capacity of the current on-chip last-level cache;

[0017] If the drop rate is within a predetermined ranking ratio, the application is determined to be last-level cache sensitive.

[0018] According to the resource scheduling method for a data center of the present invention, the ranking ratio is in the top one third.

[0019] According to the resource scheduling method of the data center of the present invention, the step of determining the resource type to be preferentially allocated to each application according to the resource sensitivity comprises:

[0020] Determine the application to which resources need to be allocated based on the degree of tail latency violation of the application;

[0021] Determining whether the application is last-level cache sensitive according to a decrease rate of the MPKI value under the capacity of the current on-chip last-level cache of the application;

[0022] If so, it is identified as last-level cache sensitive and last-level cache resources are allocated;

[0023] Otherwise, it is considered as processor core sensitive and processor core resources are allocated.

[0024] According to the resource scheduling method for a data center of the present invention, the step of measuring the number of last-level cache misses per thousand instructions of each application under different on-chip last-level cache capacities and calculating the MPKI curve of each application includes:

[0025] Starting each of the applications and performing initial resource allocation;

[0026] Calculating the ReT value of the current residual interference tolerance of each application, and sorting the applications according to the ReT value;

[0027] Select the application with the largest ReT value as the resource victim, and select the application with the smallest ReT value as the resource beneficiary;

[0028] The step of determining the resource type to be preferentially allocated to each application according to the resource sensitivity comprises:

[0029] The number of scheduling rounds increases by one;

[0030] Determine whether the current scheduling round number reaches a predetermined scheduling round number threshold;

[0031] If so, the application is terminated; otherwise, the process returns to the step of calculating the ReT value of the current interference tolerance remainder of each application and sorting the applications according to the ReT value.

[0032] According to the resource scheduling method of the data center of the present invention, the step of calculating the ReT value of the current interference tolerance remainder of each application includes:

[0033] Before each adjustment, the current interference tolerance residual ReT value of each application is calculated, and the calculation method is shown in Formula 1:

[0034] (Formula 1)

[0035] Among them, M i represents the maximum tail delay that application i can tolerate, TL i1 It represents the tail delay of application i after being disturbed.

[0036] In a second aspect, an embodiment of the present invention provides a resource scheduling device for a data center based on application resource sensitivity constructed based on any one of the methods described above, including:

[0037] An MPKI curve calculation module, used to measure the number of last-level cache misses per thousand instructions of each application under different on-chip last-level cache capacities, and calculate the MPKI curve of each application;

[0038] A resource sensitivity calculation module, used to analyze the resource sensitivity of each application to the on-chip last-level cache by comparing the MPKI curves of each application;

[0039] The resource allocation module is used to determine the resource type to be preferentially allocated to each of the applications according to the resource sensitivity.

[0040] In a third aspect, an embodiment of the present invention provides a storage medium for storing a computer program for executing any one of the resource scheduling methods for a data center based on application resource sensitivity.

[0041] In a fourth aspect, an embodiment of the present invention provides an electronic device, comprising a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, wherein when the processor executes the computer program, it implements any one of the resource scheduling methods for a data center based on application resource sensitivity.

[0042] The resource scheduling technology of the data center based on application resource sensitivity of the present invention includes: measuring the number of final-level cache misses per thousand instructions of each application under different on-chip final-level cache capacities, and calculating the MPKI curve of each application; analyzing the resource sensitivity of each application to the on-chip final-level cache by comparing the MPKI curves of each application; and determining the resource type to be preferentially allocated to each application according to the resource sensitivity. In this way, the present invention can implement resource scheduling of the data center based on application resource sensitivity, and realize resource management of resource-sensitive applications in the data center in the processor core and on-chip final-level cache. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1 It is a flow chart of a resource scheduling method for a data center based on application resource sensitivity provided in the first embodiment of the present invention;

[0044] Figure 2 It is a flow chart of a resource scheduling strategy for a data center provided in Embodiment 2 of the present invention;

[0045] Figure 3 is a flowchart of measuring the MPKI curve provided in the third embodiment of the present invention;

[0046] Figure 4 It is a structural diagram of a resource scheduling device for a data center based on application resource sensitivity provided in the first embodiment of the present invention;

[0047] Figure 5 It is a structural diagram of a resource scheduling device for a data center based on application resource sensitivity provided in Embodiment 2 of the present invention;

[0048] Figure 6 It is a schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0049] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0050] It should be noted that references to "one embodiment", "embodiment", "example embodiment", etc. in this specification refer to the embodiment described, which may include specific features, structures or characteristics, but not every embodiment must include these specific features, structures or characteristics. In addition, such expressions do not refer to the same embodiment. Furthermore, when describing specific features, structures or characteristics in conjunction with an embodiment, whether or not there is an explicit description, it has been shown that it is within the knowledge of those skilled in the art to combine such features, structures or characteristics into other embodiments.

[0051] In addition, certain words are used in the specification and subsequent claims to refer to specific components or parts. Those with ordinary knowledge in the relevant field should understand that manufacturers can use different nouns or terms to refer to the same component or part. This specification and subsequent claims do not use differences in names as a way to distinguish components or parts, but use differences in the functions of components or parts as the criteria for distinction. "Including" and "including" mentioned throughout the specification and subsequent claims are open-ended terms and should be interpreted as "including but not limited to". In addition, the word "connected" here includes any direct and indirect electrical connection means. Indirect electrical connection means include connection through other devices.

[0052] The resource scheduling method for a data center based on application resource sensitivity provided by an embodiment of the present invention will be described in detail below with reference to the accompanying drawings through specific embodiments and application scenarios.

[0053] Figure 1 1 is a flow chart of a method for resource scheduling of a data center based on application resource sensitivity provided in Embodiment 1 of the present invention, the method comprising:

[0054] Step S101 , measuring the number of last-level cache misses per thousand instructions of each application under different on-chip last-level cache capacities, and calculating the MPKI curve of each application.

[0055] Preferably, this step further comprises:

[0056] (1) Adjust the size of the on-chip last-level cache available to each application.

[0057] (2) Obtain the number of last-level cache misses and the number of executed instructions of each application, and calculate the ratio of the two to obtain the MPKI value of each application.

[0058] (3) The MPKI curve is derived based on the MPKI value changing with the capacity of the on-chip last-level cache.

[0059] Step S102 , analyzing the resource sensitivity of each application to the on-chip last-level cache by comparing the MPKI curves of each application.

[0060] Preferably, this step further comprises:

[0061] (1) Sort the MPKI value decrease rate of each application under the current on-chip last-level cache capacity. Preferably, the ranking ratio is in the top one-third. That is, if the decrease rate is in the top 1 / 3, the application is considered to be sensitive to the on-chip last-level cache.

[0062] (2) If the drop rate is within the predetermined ranking ratio, the application is judged to be last-level cache sensitive.

[0063] Step S103, based on the resource sensitivity, determine the resource type to be allocated to each application first, that is, allocate processor cores or on-chip last-level cache to the application first.

[0064] Preferably, this step further comprises:

[0065] (1) Determine the application to which resources need to be allocated based on the degree of tail latency violation of the application.

[0066] (2) Determine whether the application is last-level cache sensitive based on the decrease rate of the MPKI value under the current on-chip last-level cache capacity of the application.

[0067] (3) If yes, it is identified as last-level cache sensitive and last-level cache resources are allocated.

[0068] (4) Otherwise, it is considered as processor core sensitive and processor core resources are allocated.

[0069] The present invention belongs to the field of data centers and is used for resource management and service quality improvement in computer systems. More specifically, it is used for resource management of LC applications in processor cores and on-chip last-level caches in data centers. A resource allocation strategy based on the resource sensitivity of the application is proposed for LC applications, which can improve the service quality of LC applications.

[0070] The present invention is a resource scheduling strategy for optimizing the service quality of a data center based on the resource sensitivity of applications, comprising: (1) when starting an LC application, measuring the number of misses per kilo instructions (MPKI) of the last-level cache of the LC application under different on-chip last-level cache capacities. (2) obtaining an MPKI curve for each application. By comparing the MPKI curves of each application. (3) obtaining a sensitivity ranking of each application to the on-chip last-level cache. (3) determining the type of resources to be preferentially allocated to the application based on the sensitivity ranking, improving resource utility, and improving the service quality of the LC application.

[0071] Figure 2 : is a flow chart of a resource scheduling strategy for a data center provided by Embodiment 2 of the present invention, wherein the method comprises:

[0072] Step S201, start each application and perform initial resource allocation.

[0073] Step S202: Calculate the ReT value of the current residual interference tolerance of each application, and sort the applications according to the ReT value.

[0074] Preferably, this step further comprises:

[0075] Before each adjustment, the current interference tolerance residual ReT value of each application is calculated. The calculation method is shown in formula (1):

[0076]

[0077] Among them, M i represents the maximum tail delay that application i can tolerate, TL i1 It represents the tail delay of application i after being disturbed.

[0078] Step S203: Select the application with the largest ReT value as the resource victim, and select the application with the smallest ReT value as the resource beneficiary.

[0079] Step S204, measuring the number of last-level cache misses per thousand instructions of each application under different on-chip last-level cache capacities, and calculating the MPKI curve of each application.

[0080] Step S205 , analyzing the resource sensitivity of each application to the on-chip last-level cache by comparing the MPKI curves of each application.

[0081] Step S206: Determine the resource type to be preferentially allocated to each application according to the resource sensitivity.

[0082] Step S207, the scheduling round number is increased by one.

[0083] Step S208, determine whether the current scheduling round number reaches a predetermined scheduling round number threshold. If yes, execute step S209 to terminate the application, otherwise return to step S202.

[0084] Step S209, terminate the application.

[0085] The present invention proposes a method for real-time measurement of the MPKI curve of an application under different on-chip last-level cache capacities, and based on the measured MPKI curve, develops a resource scheduling strategy based on the application's sensitivity to processor cores and on-chip last-level cache resources to improve the service quality of the data center system.

[0086] The scheduling strategy algorithm ARQ-M strategy proposed in the present invention modifies the ARQ scheduling strategy pseudo code as shown in Table 1 below. The adjustResource function is modified, and the findResourceType function is added to determine the sensitive resource type. In addition, in order to obtain MPKI curve data for scheduling, it is necessary to obtain the MPKI curve data of the application. Since it is observed that the MPKI curve of the LC application remains stable during operation, this strategy only performs an offline measurement before the start of the scheduling cycle, as shown in the third line of the algorithm. When the MPKI curve of the LC application fluctuates during operation, it can also be added to the scheduling process for real-time measurement. From the overhead analysis in the previous section, it can be seen that the measurement overhead of the MPKI curve is small and can be measured online.

[0087]

[0088] Table 1 ARQ-M scheduling strategy algorithm sequence table

[0089] The modification of the resource adjustment function adjustResource in the ARQ strategy is shown in lines 23 and 24 of the algorithm. The main modification is to change the resource type R from being determined by the victim to being determined by the beneficiary, so as to preferentially allocate more sensitive resources to the beneficiaries.

[0090] The newly added function findResourceType in lines 29-45 of the algorithm is used to determine the resource type allocated to the beneficiary application. This code traverses all resource types. If the application is sensitive to a certain type of resource, the application is given priority to allocate that resource. If multiple resources meet the requirements, a random selection is made from them. If no resource meets the requirements, it falls back to the original ARQ resource selection algorithm (i.e., random selection).

[0091] The determination of whether an application is sensitive to resources is performed in lines 34-38 of the findResourceType function. Since this strategy only considers the division of two types of resources, it only determines the sensitivity of the application to LLC resources. That is, by comparing the MPKI values ​​of each LC application under the current last-level cache capacity, if the ranking is in the top 1 / 3 of all applications, the application is considered to be sensitive to LLC resources, otherwise it is considered to be sensitive to core resources.

[0092] The reason why sensitivity ranking is used instead of specific values ​​to determine whether it is sensitive is that in the resource scheduling problem, there is no absolute resource sensitivity or not, but only relative to other applications. Resources such as cores and LLC only need to be allocated to the most sensitive applications among all applications (considering the scenario where all applications are sensitive or insensitive to resources).

[0093] In the proposed strategy, the taskset command is used to bind the application threads to the specified cores to control the number of processor cores allocated to each application. The Intel CAT (Cache Allocation Technology) tool is used to set the last-level cache ways that each application can access, and the capacity of the last-level cache that each application can use is controlled by way.

[0094] Figure 3 This is a workflow diagram for measuring the MPKI curve provided in the third embodiment of the present invention, which describes the measurement method of the real-time MPKI curve. This strategy uses Intel CAT (Intel Cache Allocation Technology) technology to change the number of ways of the last-level cache when the application is running, and online measure the L3MPKI value under the capacity of the current last-level cache, and then obtain the MPKI curve. The continuous measurement time under each last-level cache way configuration during measurement is called the measurement interval. The shorter the measurement interval, the shorter the total measurement time and the smaller the overhead, but the measured miss rate data may not be the data when the application is in a stable state. For example, when a new cache way is added, the application may not be fully preheated within a shorter measurement interval. Since the effective time of adjusting the number of application LLC ways using CAT technology is about 0.01s, and the impact on the measurement accuracy under this measurement interval is not large, the measurement interval selected for this strategy is 0.01s.

[0095] Figure 3 The following shows the resource allocation and scheduling process when multiple applications (APPs) share the last-level cache (LLC). The details are as follows:

[0096] (1) Meaning of the coordinate axes: The vertical axis "LLC ways" represents the number of ways of the last-level cache, which is a unit of cache division; the horizontal axis "Time" represents time.

[0097] (2) Meaning of different areas: The “Co-running APPs” area indicates the period when multiple applications are running simultaneously; the “APP1”, “APP2”, and “APP3” areas indicate the number of last-level cache paths occupied by different applications.

[0098] (3) Measuring interval: “measuring interval t” means the measuring time interval. Every time t, the number of cache paths occupied by the application is measured or adjusted.

[0099] (4) Time nodes and changes in the number of cache ways: At each time node such as "t (ways - 1)" and "2t (ways - 1)", the number of last-level cache ways occupied by applications will change, showing a step-like increase or decrease, indicating that as time goes by, different applications change in cache resource allocation. This process is controlled by "Scheduling".

[0100] Figure 2 It shows the changes in the number of last-level cache ways occupied by multiple applications at different times, reflecting the time-based cache resource scheduling mechanism.

[0101] Figure 4 1 is a schematic diagram of a resource scheduling device for a data center based on application resource sensitivity provided in the first embodiment of the present invention. The device 100 includes an MPKI curve calculation module 10, a resource sensitivity calculation module 20, and a resource allocation module 30, wherein:

[0102] The MPKI curve calculation module 10 is used to measure the number of last-level cache misses per thousand instructions of each application under different on-chip last-level cache capacities, and calculate the MPKI curve of each application.

[0103] The resource sensitivity calculation module 20 is used to analyze the resource sensitivity of each application to the on-chip last-level cache by comparing the MPKI curves of each application.

[0104] The resource allocation module 30 is used to determine the resource type to be preferentially allocated to each application according to the resource sensitivity.

[0105] Figure 5 1 is a schematic diagram of a resource scheduling device for a data center based on application resource sensitivity provided in Embodiment 2 of the present invention. The device 100 includes an MPKI curve calculation module 10, a resource sensitivity calculation module 20, and a resource allocation module 30, wherein:

[0106] The MPKI curve calculation module 10 is used to measure the number of final level cache misses per thousand instructions of each application under different on-chip final level cache capacities, and calculate the MPKI curve of each application. Preferably, the MPKI curve calculation module 10 includes:

[0107] The capacity adjustment submodule 11 is used to adjust the capacity of the on-chip last-level cache available to each application.

[0108] The MPKI value calculation submodule 12 is used to obtain the number of last-level cache misses and the number of executed instructions of each application, and calculate the ratio of the two to obtain the MPKI value of each application.

[0109] The MPKI curve generating submodule 13 is used to obtain the MPKI curve according to the MPKI value changing with the capacity of the on-chip last-level cache.

[0110] The resource sensitivity calculation module 20 is used to analyze the resource sensitivity of each application to the on-chip last-level cache by comparing the MPKI curves of each application. Preferably, the resource sensitivity calculation module 20 includes:

[0111] The drop rate ranking submodule 21 is used to rank the drop rates of the MPKI values ​​of various applications under the capacity of the current on-chip last-level cache. Preferably, the ranking ratio is in the top one-third.

[0112] The type determination submodule 22 is used to determine that the application is last-level cache sensitive if the drop rate is within a predetermined ranking ratio.

[0113] The resource allocation module 30 is used to determine the resource type to be preferentially allocated to each application according to resource sensitivity. Preferably, the resource allocation module 30 includes:

[0114] The application analysis submodule 31 is used to determine the application to which resources need to be allocated according to the degree of tail delay violation of the application.

[0115] The resource allocation submodule 32 is used to determine whether the application is last-level cache sensitive according to the decrease rate of the MPKI value under the capacity of the current on-chip last-level cache of the application. If so, it is determined to be last-level cache sensitive and the last-level cache resources are allocated. Otherwise, it is determined to be processor core sensitive and the processor core resources are allocated.

[0116] Preferably, the device 100 further includes

[0117] The initialization module 40 is used to start each application and perform initial resource allocation.

[0118] The application sorting module 50 is used to calculate the ReT value of the current residual interference tolerance of each application and sort the applications according to the ReT value.

[0119] Preferably, before each adjustment, the current interference tolerance residual ReT value of each application is calculated, and the calculation method thereof is shown in Formula 1:

[0120] (Formula 1)

[0121] Among them, M i represents the maximum tail delay that application i can tolerate, TL i1 It represents the tail delay of application i after being disturbed.

[0122] The application selection module 60 is used to select the application with the largest ReT value as the resource victim, and select the application with the smallest ReT value as the resource beneficiary.

[0123] The scheduling discussion module 70 is used to increase the scheduling round number by one and determine whether the current scheduling round number reaches the predetermined scheduling round number threshold. If so, the application is terminated. Otherwise, it returns to the application sorting module 50 to calculate the ReT value of the current interference tolerance remainder of each application and sort each application according to the ReT value.

[0124] The present invention also provides a storage medium for storing Figure 1~Figure 3 A computer program for any of the resource scheduling methods for a data center based on application resource sensitivity. For example, a computer program instruction, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer, and can achieve the same technical effect. To avoid repetition, it will not be repeated here. The program instructions for calling the method 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-bearing medium and / or stored in a storage medium of a computer device that runs according to the program instructions.

[0125] According to one embodiment of the present invention, the present invention also provides a Figure 6The electronic device 400 shown in the figure may optionally include a storage medium 200 for storing a computer program and a processor 300 for executing the computer program, wherein when the computer program is executed by the processor 300, any of the above-mentioned resource scheduling methods for a data center based on application resource sensitivity is implemented, triggering the electronic device 400 to execute the methods and / or technical solutions based on the aforementioned multiple embodiments, and the same technical effects can be achieved. To avoid repetition, it will not be repeated here. It should be noted that the electronic devices in the embodiments of the present invention include mobile electronic devices and non-mobile electronic devices. Exemplarily, the mobile electronic device may be a mobile phone, a tablet computer, a laptop computer, a PDA, an in-vehicle electronic device, a wearable device, a super mobile personal computer, a netbook or a personal digital assistant, etc., and the non-mobile electronic device may be a server, a network attached storage (Network Attached Storage, NAS), a personal computer (personal computer, PC), a television (television, TV), a teller machine or a self-service machine, etc., which is not specifically limited in the embodiments of the present invention.

[0126] It should be noted that the present invention can be implemented in software and / or a combination of software and hardware, for example, it can be implemented 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 above steps or functions. Similarly, the software program of the present invention (including related data structures) can be stored in a computer-readable recording medium, for example, a RAM memory, a magnetic or optical drive or a floppy disk and the like. In addition, some steps or functions of the present invention can be implemented using hardware, for example, as a circuit that cooperates with a processor to perform various steps or functions.

[0127] The present invention can be implemented on a computer as a computer-implemented method, or implemented in dedicated hardware, or implemented in a combination of the two. The executable code or part thereof for the method according to the present 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 a non-temporary program code component stored on a computer-readable medium so as to perform the method according to the present invention when the program product is executed on a computer.

[0128] In an alternative embodiment, the computer program comprises computer program code means 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.

[0129] It should be noted that, in this article, the terms "comprise", "include" 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, an element defined by the sentence "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the method and device in the embodiment of the present invention is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.

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

Claims

1. A data center resource scheduling method based on application resource sensitivity, characterized in that: include: Measuring the number of last-level cache misses per thousand instructions of each application under different on-chip last-level cache capacities, and calculating the MPKI curve of each application; By comparing the MPKI curves of the various applications, analyzing the resource sensitivity of the various applications to the on-chip last-level cache; The resource type to be preferentially allocated to each of the applications is determined according to the resource sensitivity.

2. The resource scheduling method of a data center according to claim 1, characterized in that: The step of measuring the number of last-level cache misses per thousand instructions of each application under different on-chip last-level cache capacities and calculating the MPKI curve of each application comprises: Adjusting the capacity of the on-chip last-level cache available to each of the applications; Obtaining the number of last-level cache misses and the number of executed instructions of each application, and calculating a ratio between the two to obtain an MPKI value of each application; The MPKI curve is obtained according to the MPKI value changing with the capacity of the on-chip last-level cache.

3. The resource scheduling method of a data center according to claim 2, characterized in that: The step of analyzing the resource sensitivity of each application to the on-chip last-level cache by comparing the MPKI curves of each application includes: sorting the decreasing rates of the MPKI values ​​of the respective applications under the capacity of the current on-chip last-level cache; If the drop rate is within a predetermined ranking ratio, the application is determined to be last-level cache sensitive.

4. The resource scheduling method of a data center according to claim 3, characterized in that: The ranking ratio is in the top one third.

5. The resource scheduling method of a data center according to claim 1, characterized in that: The step of determining the resource type to be preferentially allocated to each application according to the resource sensitivity comprises: Determine the application to which resources need to be allocated based on the degree of tail latency violation of the application; Determining whether the application is last-level cache sensitive according to a decrease rate of the MPKI value under the capacity of the current on-chip last-level cache of the application; If so, it is identified as last-level cache sensitive and last-level cache resources are allocated; Otherwise, it is considered as processor core sensitive and processor core resources are allocated.

6. The resource scheduling method of a data center according to claim 1, characterized in that: The step of measuring the number of last-level cache misses per thousand instructions of each application under different on-chip last-level cache capacities and calculating the MPKI curve of each application includes: Starting each of the applications and performing initial resource allocation; Calculating the ReT value of the current residual interference tolerance of each application, and sorting the applications according to the ReT value; Select the application with the largest ReT value as the resource victim, and select the application with the smallest ReT value as the resource beneficiary; The step of determining the resource type to be preferentially allocated to each application according to the resource sensitivity comprises: The number of scheduling rounds increases by one; Determine whether the current scheduling round number reaches a predetermined scheduling round number threshold; If so, the application is terminated; otherwise, the process returns to the step of calculating the ReT value of the current interference tolerance remainder of each application and sorting the applications according to the ReT value.

7. The resource scheduling method of a data center according to claim 6, characterized in that: The step of calculating the ReT value of the current interference tolerance remainder of each application comprises: Before each adjustment, the current interference tolerance residual ReT value of each application is calculated, and the calculation method is shown in Formula 1: Formula 1 Among them, M i represents the maximum tail delay that application i can tolerate, TL i1 It represents the tail delay of application i after being disturbed.

8. A resource scheduling device for a data center based on application resource sensitivity constructed based on the method described in any one of claims 1 to 7, characterized in that: include: An MPKI curve calculation module, used to measure the number of last-level cache misses per thousand instructions of each application under different on-chip last-level cache capacities, and calculate the MPKI curve of each application; A resource sensitivity calculation module, used to analyze the resource sensitivity of each application to the on-chip last-level cache by comparing the MPKI curves of each application; The resource allocation module is used to determine the resource type to be preferentially allocated to each of the applications according to the resource sensitivity.

9. A storage medium, characterized in that: A computer program for storing a computer program for executing a data center resource scheduling method based on application resource sensitivity 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, the resource scheduling method for a data center based on application resource sensitivity according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Method for dynamically distributing isomerism storage resources on instruction parcel based on virtual memory mechanism

    CN101763316A

  • Sampling-based prediction method for application program CPU last-stage cache missing rate curve

    CN111258927A

  • Cache division method and system for ensuring service quality of multiple delay key programs

    CN113504977A

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

    CN116846978A

  • Core particle system memory controller layout optimization method

    CN118332999A