CN111597045B - Shared resource management method, system and server system for managing mixed deployment - Google Patents

Shared resource management method, system and server system for managing mixed deployment Download PDF

Info

Publication number
CN111597045B
CN111597045B CN202010412531.7A CN202010412531A CN111597045B CN 111597045 B CN111597045 B CN 111597045B CN 202010412531 A CN202010412531 A CN 202010412531A CN 111597045 B CN111597045 B CN 111597045B
Authority
CN
China
Prior art keywords
cloud service
batch processing
resource
background batch
throughput
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010412531.7A
Other languages
Chinese (zh)
Other versions
CN111597045A (en
Inventor
陈�全
庞浦
过敏意
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202010412531.7A priority Critical patent/CN111597045B/en
Publication of CN111597045A publication Critical patent/CN111597045A/en
Application granted granted Critical
Publication of CN111597045B publication Critical patent/CN111597045B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention provides a method, a system and a server system for managing shared resources of mixed deployment, wherein the method for managing the shared resources of the mixed deployment comprises the following steps: receiving a user cloud service request, and distributing the user cloud service request to corresponding node servers, wherein different cloud services and background batch processing tasks are deployed in different node servers; after detecting the load change, the node server receiving the user cloud service request searches and applies a group of optimal resource configurations under the current load; and monitoring the cloud service quality, and recovering the resource compensation cloud service from the background batch processing task when the cloud service quality is illegal until the cloud service quality is met. According to the invention, under the advance that hardware equipment does not need to be upgraded and extra burden of a data center is not increased, the throughput of background batch processing tasks is maximized on the basis of simultaneously ensuring the service quality of cloud service and meeting the energy consumption limit of a server.

Description

Shared resource management method, system and server system for managing mixed deployment
Technical Field
The invention relates to the technical field of big data processing, in particular to the technical field of big data resource management.
Background
Nowadays, the huge energy consumption of data centers becomes a hot spot problem which is commonly concerned by academia and industry. The report issued by the international environmental protection organization 'green peace' and North China university of electric power in combination indicates that the total electricity consumption of the Chinese data center in 2018 is 1,608.89 hundred million kilowatt hours, which accounts for 2.35 percent of the electricity consumption of the whole society in China, and exceeds the electricity consumption of the whole society in 2018 in Shanghai city (1,567 million kilowatt hours). According to the trend, the total electricity consumption of the Chinese data center in 2023 reaches 2,667.92 hundred million kilowatts, the total electricity consumption increases by 66% in the next 5 years (2019-2023), and the annual average increase rate reaches 10.64%. In 2019, the "guidance opinions on strengthening the construction of the green data center" issued by the ministry of industry and trust, the office of affairs of state and government and the energy agency of state jointly emphasizes that the creation, operation, maintenance and transformation of the green data center are greatly promoted, the data center is guided to go through a high-efficiency, clean, intensive and cyclic green development road, and the continuous and healthy development of the data center is realized.
In order to meet the energy consumption challenge of the data center, the current data center adopts a Power Capping technology, namely, the peak energy consumption of the data center servers is limited, and the energy over-supply is avoided by accurately controlling the energy consumption of each server so as to control the operation cost. In addition, because the load of cloud services (network search, network shopping, and the like) running on the data center dynamically changes and is influenced by user activities, a day and night rule is generally presented, which causes that resources on servers are not fully utilized in other time except in a peak period, and a data center operator generally mixes and deploys the cloud services and background batch processing tasks on the same physical server and divides resources among the mixed and deployed applications by means of a shared resource isolation technology, which not only ensures the Quality of Service (Quality-of-Service, qos) of the cloud services, but also improves the resource utilization rate of the data center.
However, most conventional resource management systems for hybrid deployment lack consideration of energy consumption limitation of servers, and energy consumption is over-limited when resource allocation is performed on the application for hybrid deployment, and such systems, for example, running on a data center with limited energy consumption, will cause allocation failure. Some resource management systems reduce the CPU core frequency of the background batch processing task when detecting that energy consumption is about to exceed the limit, which can satisfy the energy consumption limit, but lacks consideration of application resource preference, and cannot maximize performance (throughput) of the background batch processing task. Specifically, under a certain system load, multiple sets of resource allocation schemes exist, which can simultaneously meet the cloud service quality requirement and the server energy consumption limit, the resource allocation schemes generate different throughput capacities of the background batch processing tasks, and a certain set of resource allocation can generate the highest throughput (optimal allocation). However, the optimal configuration is not always obtained by reducing the frequency, but is determined by the current system load, the server power consumption limit, and the resource preference of the hybrid deployment application.
In the prior art, a powerchip system can identify the energy consumption limitation condition of a server and apply a corresponding acceleration technology according to different execution stages of cloud services to ensure the service quality of the cloud services when the cloud services run on a resource-limited server. However, the Powerchief system does not consider the situation that the cloud service and the background batch processing task are mixed and deployed in the current mainstream, and cannot maximize the resource utilization rate of the data center. In addition, in the prior art, the Heracles system operates in a scene of mixed deployment of cloud services and background batch processing tasks, shared resources are allocated based on historical delay record information of the cloud services, and when energy consumption is detected to be about to exceed the limit, the core frequency of a Central Processing Unit (CPU) of the background batch processing tasks is reduced to control the energy consumption. However, the Heracles system does not consider the resource preference and the multi-group available resource configuration of the application program, and cannot maximize the throughput of the background batch processing task.
Disclosure of Invention
In view of the above drawbacks of the prior art, an object of the present invention is to provide a shared resource management method, system and server system for managing a hybrid deployment, which are used to solve the technical problem that the prior art cannot effectively configure and balance a cloud service and a background application of the hybrid deployment.
To achieve the above and other related objects, the present invention provides a method for managing a shared resource of a hybrid deployment, comprising: receiving a user cloud service request, and distributing the user cloud service request to corresponding node servers, wherein different cloud services and background batch processing tasks are deployed in different node servers; after detecting the load change, the node server receiving the user cloud service request searches and applies a group of optimal resource allocation under the current load; and monitoring the cloud service quality, and recovering the resource compensation cloud service from the background batch processing task when the cloud service quality is illegal until the cloud service quality is satisfied.
In an embodiment of the present invention, an implementation manner in which different cloud services and background batch processing tasks are deployed in different node servers includes: according to the historical load change condition of any node server, estimating the average throughput which can be achieved by a background batch processing task after a certain cloud service and different background batch processing tasks are mixed and deployed; different cloud services and background batch processing tasks are deployed in different node servers according to the average throughput which can be achieved by each background batch processing task, so that the sum of the average throughputs of the background batch processing tasks of each node server is maximized.
In an embodiment of the present invention, one implementation manner of the search for the set of optimal resource configurations under the current load is as follows: predicting whether each group of resource configuration can meet the service quality requirement of the cloud service and whether the overall power consumption is out of limit, and predicting the throughput of the background batch processing task under each group of configuration; searching and acquiring a plurality of candidate resource configurations, and selecting a group of resource configurations which generate the maximum throughput from the candidate resource configurations as the optimal resource configuration.
In an embodiment of the present invention, an implementation manner of the search for obtaining a plurality of candidate resource configurations is as follows: the cloud service is searched by a binary method to occupy as few shared resources as possible, so that the background batch processing task obtains as many shared resources as possible and generates resource configuration with high throughput as candidate resource configuration.
In an embodiment of the present invention, when the resource compensation cloud service is recovered from the background batch processing task, one type of shared resource that minimizes the throughput loss of the background batch processing task is recovered.
An embodiment of the present invention further provides a shared resource management system for managing mixed deployment, where the shared resource management system for managing mixed deployment includes: the cluster-level deployment module is used for deploying different cloud services and background batch processing tasks to different node servers, and distributing a user cloud service request to corresponding node servers when the user cloud service request is received; the prediction searching module is configured in the node server and used for receiving the user cloud service request, searching and applying a group of optimal resource configurations under the current load after detecting the load change of the node server; and the resource balancing module is configured in the node server and used for monitoring the cloud service quality and recovering the resource compensation cloud service from the background batch processing task when the cloud service quality is illegal until the cloud service quality is met.
In an embodiment of the present invention, the cluster-level deployment module estimates, according to a historical load change condition of any node server, an average throughput that can be achieved by a background batch processing task after a certain cloud service and different background batch processing tasks are mixed and deployed, and deploys different cloud services and different background batch processing tasks to different node servers according to the average throughput that can be achieved by each background batch processing task, so that a sum of the average throughputs of the background batch processing tasks of each node server is maximized, thereby implementing deployment of different cloud services and different background batch processing tasks to different node servers.
In an embodiment of the present invention, the predictive search module includes: the prediction unit is used for predicting whether the resource allocation of each group can meet the service quality requirement of the cloud service and whether the overall power consumption exceeds the limit or not and predicting the throughput of the background batch processing tasks under each group; the searching unit is used for searching and acquiring a plurality of candidate resource configurations and selecting a group of resource configurations which generate the maximum throughput from the candidate resource configurations as the optimal resource configuration; the search unit searches the shared resources which are occupied by the cloud service as little as possible through a dichotomy, so that the background batch processing task obtains the shared resources as much as possible and generates resource configuration with high throughput as candidate resource configuration.
In an embodiment of the present invention, when the resource balancing module recovers the resource compensation cloud service from the background batch processing task, the resource balancing module recovers a type of shared resource that minimizes the throughput loss of the background batch processing task.
The embodiment of the invention also provides a server system, which comprises a data center server and a plurality of node servers; the data center server is used for deploying different cloud services and background batch processing tasks to different node servers, and distributing a user cloud service request to a corresponding node server when receiving the user cloud service request; and each node server receives the user cloud service request, searches and applies a group of optimal resource allocation under the current load after detecting the load change, monitors the cloud service quality, and recovers resource compensation cloud service from a background batch processing task until the cloud service quality is met when the cloud service quality is illegal.
As described above, the method, system and server system for managing a hybrid deployment shared resource according to the present invention have the following advantages:
the invention provides a resource management system based on application program resource preference on an energy consumption limited data center, establishes a mechanism which is tightly matched on an integral cluster level and an individual server level, maximizes the throughput of background batch processing tasks, controls the energy consumption of the data center, improves the resource utilization rate of the data center and effectively assists a data center maintenance operator to construct a green and continuously healthy data center on the basis of simultaneously ensuring the service quality of cloud services and meeting the energy consumption limitation of servers in advance without upgrading hardware equipment and increasing the additional burden of the data center.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the description below are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings may be obtained according to these drawings without creative efforts.
Fig. 1 is a schematic overall flowchart of a shared resource management method for managing mixed deployment according to an embodiment of the present application.
Fig. 2 is a schematic diagram illustrating a specific implementation procedure in the method for managing shared resources for hybrid deployment according to an embodiment of the present application.
Fig. 3 is a schematic block diagram of a shared resource management system for managing a hybrid deployment according to an embodiment of the present application.
Fig. 4 is a schematic block diagram illustrating a predictive search module in a shared resource management system for managing a hybrid deployment according to an embodiment of the present application.
Fig. 5 is a schematic block diagram of a server system according to an embodiment of the present application.
Description of the element reference
100. Shared resource management system for managing mixed deployment
110. Cluster-level deployment module
120. Predictive search module
121. Prediction unit
122. Search unit
130. Resource balancing module
200. Server system
210. Data center server
220. Node server
S100-S300 steps
S1 to S6
Detailed Description
The following embodiments of the present invention are provided by way of specific examples, and other advantages and effects of the present invention will be readily apparent to those skilled in the art from the disclosure herein. The invention is capable of other and different embodiments and of being practiced or of being carried out in various ways, and its several details are capable of modification in various respects, all without departing from the invention. It should be noted that the features in the following embodiments and examples may be combined with each other without conflict.
The embodiment aims to provide a shared resource management method, a system and a server system for managing mixed deployment, which are used for solving the technical problem that the prior art cannot effectively configure and balance cloud services and background application programs of mixed deployment.
The embodiment aims to design and realize a system and a method for managing shared resources between cloud services and background application programs which are in mixed deployment and run on an energy consumption limited data center, and maximize the throughput of background batch processing tasks on the basis of ensuring the service quality of the cloud services and meeting the energy consumption limit of a server.
The principles and embodiments of the method, system and server system for managing shared resources for hybrid deployment according to the present invention will be described in detail below, so that those skilled in the art can understand the method, system and server system for managing shared resources for hybrid deployment without creative efforts.
Example 1
Specifically, as shown in fig. 1, this embodiment provides a shared resource management method for managing mixed deployment, where the shared resource management method for managing mixed deployment includes:
step S100, receiving a user cloud service request, and distributing the user cloud service request to corresponding node servers, wherein different cloud services and background batch processing tasks are deployed in different node servers;
step S200, after detecting load change, the node server receiving the user cloud service request searches a group of optimal resource allocation under the current load and applies the optimal resource allocation;
step S300, monitoring the cloud service quality, and recovering resources from the background batch processing task to compensate the cloud service when the cloud service quality is violated until the cloud service quality is met.
The steps S100 to S300 of the shared resource management method for managing mixed deployment according to the embodiment will be described in detail with reference to fig. 2.
Step S100, receiving a user cloud service request, and distributing the user cloud service request to corresponding node servers, wherein different cloud services and background batch processing tasks are deployed in different node servers.
In this embodiment, one implementation manner in which different cloud services and background batch processing tasks are deployed in different node servers includes:
according to the historical load change condition of any node server, estimating the average throughput which can be achieved by a background batch processing task after a certain cloud service and different background batch processing tasks are mixed and deployed;
different cloud services and background batch processing tasks are deployed in different node servers according to the average throughput which can be achieved by each background batch processing task, so that the sum of the average throughputs of the background batch processing tasks of each node server is maximized.
That is, in this embodiment, historical load change information of the cloud service recorded on the server is obtained, and average throughput that can be generated by a batch processing task after a certain cloud service and a background batch processing task are mixed and deployed is estimated. And according to the estimation information, deploying various cloud services and batch processing tasks borne by the data center to various server nodes. If the cloud service load change condition is found to have a great change compared with the previous cloud service load change condition, the deployment process is restarted.
As the data center server runs various cloud services and background batch processing tasks, different cloud services and batch processing tasks on the whole data center server are deployed on each node server. Since different cloud services and background batch tasks have different degrees of sensitivity to different shared resources (resource preferences), the deployment combination will also determine the upper limit that the background batch task throughput can reach during operation. According to the historical load change condition of a certain cloud service, the average throughput which can be achieved by the background batch processing task after the cloud service and different background batch processing tasks are mixed and deployed is estimated. Based on the estimation information, for example, a Kuhn-Munkres algorithm is adopted to seek the best match which maximizes the sum of the average throughputs of the background batch processing tasks on the whole data center, so as to determine how to deploy the cloud service and the background batch processing tasks.
Step S200, after detecting a load change, the node server receiving the user cloud service request searches for a set of optimal resource configurations under the current load and applies the optimal resource configurations.
In this embodiment, shared resources are allocated to cloud services and background batch processing tasks which are mixedly deployed on a node server through a shared resource isolation technology. The service quality of the cloud service is detected regularly, and when resource adjustment is needed, a group of optimal configurations which meet the service quality requirements of the cloud service, meet the energy consumption limitation of the server and maximize the throughput of background batch processing tasks are searched.
Specifically, in this embodiment, one implementation manner of searching for a set of optimal resource configurations under the current load is as follows: predicting whether each group of resource configuration can meet the service quality requirement of the cloud service and whether the overall power consumption is out of limit, and predicting the throughput of the background batch processing task under each group of configuration; and searching and acquiring a plurality of candidate resource configurations, and selecting a group of resource configurations which generate the maximum throughput from the candidate resource configurations as the optimal resource configuration.
In this embodiment, one implementation manner of obtaining a plurality of candidate resource configurations by searching is as follows: the cloud service is searched by the dichotomy to occupy as few shared resources as possible, so that the background batch processing task obtains as many shared resources as possible and generates high-throughput resource configuration as candidate resource configuration.
Specifically, the implementation process of searching for a set of optimal resource configurations under the current load is as follows:
firstly, forecasting methods such as decision trees, KNN regression and the like are adopted to forecast whether a group of resource configuration can meet the service quality requirement of cloud service and whether the overall power consumption is out of limit, and the throughput of batch processing tasks of a background of the group is forecasted. Secondly, based on an important observation fact that cloud service occupies as few shared resources as possible, background batch processing tasks acquire as many resources as possible and generate high throughput, a search algorithm based on binary search is adopted to search a small number of candidate configurations, and a group of configurations generating the maximum throughput is selected and applied. The search algorithm of binary search avoids huge expenses caused by exhaustive and complete configuration, avoids additional occupation of server computing resources, and is suitable for scenes with rapidly changing loads. The search algorithm of binary search is an algorithm for searching the optimal configuration when the system manages the number of CPU cores, the CPU core frequency and the last-level cache way number. A search algorithm for a binary search is shown in table 1.
Figure BDA0002493758130000071
After the optimal configuration search algorithm is applied, the running condition of the cloud service is continuously monitored in the next period of time, and if the service quality violation condition caused by non-controllable shared resource competition or system fluctuation is found, part of resources are recycled from the background batch processing task to perform resource compensation on the cloud service.
Step S300, monitoring the cloud service quality, and recovering resources from the background batch processing task to compensate the cloud service when the cloud service quality is violated until the cloud service quality is met.
In this embodiment, when the resource compensation cloud service is recovered from the background batch processing task, one type of shared resource that minimizes the throughput loss of the background batch processing task is recovered.
Specifically, the service quality after the new resource configuration is applied to the cloud service is further ensured. Due to non-controllable shared resource competition or system fluctuation, the service quality of the cloud service still has violation after the new configuration is applied, and at the moment, partial resources are recycled from the background batch processing task to accelerate the execution of the cloud service and eliminate the violation of the service quality. In resource reclamation, one type of shared resource is considered to be reclaimed at a time. And by predicting the throughput after recovering the resource, selecting to recover the resource which minimizes the throughput loss of the background batch processing task for recovering each time of recovering.
To make those skilled in the art further understand the method for managing shared resources for hybrid deployment according to the present embodiment, as shown in fig. 2, an implementation process of the method for managing shared resources for hybrid deployment according to the present embodiment is described below.
S1, a user uses cloud services provided by a cloud service provider, and submits a cloud service request to a data center.
S2, the cloud service and the background batch processing task are deployed to a certain physical server node, and the user cloud service request is distributed to the corresponding server node for processing.
And S3, after the user cloud service request reaches the server node for processing, the load of the server node is changed, and whether the service quality is violated after the load is changed, namely whether the service quality can be met is detected.
And S4, searching and applying a group of optimal resource allocation under the current load if the service quality cannot be met.
And S5, continuously monitoring the running condition of the cloud service after the new resource configuration is applied. And detecting whether the service quality is violated.
And S6, if the service quality violation condition still occurs, recovering the resource compensation cloud service from the background batch processing task until the service quality is met.
The user uses the cloud service, the cloud service request is sent to the data center, the data center ensures that the cloud service request is executed and returned within the specified time, the user service experience is smooth, and the phenomena of reducing the user experience such as overlong delay or blocking do not occur.
Example 2
As shown in fig. 3, the present embodiment provides a shared resource management system 100 for managing a hybrid deployment, where the shared resource management system 100 for managing a hybrid deployment includes: cluster-level deployment module 110, predictive search module 120, and resource balancing module 130.
In this embodiment, the cluster-level deployment module 110 is configured to deploy different cloud services and background batch processing tasks to different node servers, and when receiving a user cloud service request, allocate the user cloud service request to a corresponding node server.
In this embodiment, the cluster-level deployment module 110 estimates, according to a historical load change condition of any node server, an average throughput that can be achieved by a background batch processing task after a certain cloud service and different background batch processing tasks are mixed and deployed, and deploys different cloud services and different background batch processing tasks to different node servers according to the average throughput that can be achieved by each background batch processing task, so that a sum of the average throughputs of the background batch processing tasks of each node server is maximized, and the different cloud services and the different background batch processing tasks are deployed to different node servers.
That is, in this embodiment, historical load change information of a cloud service recorded on a data center server is obtained, and average throughput that can be generated by a batch processing task after a certain cloud service and a background batch processing task are mixed and deployed is estimated. And according to the estimation information, deploying various cloud services and batch processing tasks borne by the data center to various server nodes. If the cloud service load change condition is found to have a great change compared with the previous cloud service load change condition, the deployment process is restarted.
As the data center server runs various cloud services and background batch processing tasks, different cloud services and batch processing tasks on the whole data center server are deployed on each node server. Since different cloud services and background batch processing tasks have different degrees of sensitivity to different shared resources (resource preferences), the deployment combination also determines the upper limit that the throughput of the background batch processing tasks can reach during operation. And according to the historical load change condition of a certain cloud service, estimating the average throughput which can be achieved by the background batch processing task after the cloud service and different background batch processing tasks are mixed and deployed. Based on the estimation information, for example, a Kuhn-Munkres algorithm is adopted to seek the best match which maximizes the sum of the average throughputs of the background batch processing tasks on the whole data center, so as to determine how to deploy the cloud service and the background batch processing tasks.
In this embodiment, the prediction search module 120 and the resource balancing module 130 operate on the same server node, allocate a set of optimal resources to the application that is mixedly deployed on the server node after the load changes, and continuously monitor the cloud service operation condition after the new resource allocation is applied, so as to ensure that the service condition is stable.
In this embodiment, the predictive search module 120 is configured in the node server, and is configured to receive the user cloud service request, and search and apply a set of optimal resource configurations under a current load after detecting a load change of the node server.
In this embodiment, shared resources are allocated to cloud services and background batch processing tasks that are mixedly deployed on a node server through a shared resource isolation technology. The service quality of the cloud service is detected periodically, and when resource adjustment is needed, a group of optimal configurations which meet the service quality requirement of the cloud service, meet the energy consumption limitation of the server and maximize the throughput of background batch processing tasks are searched.
Specifically, in the present embodiment, as shown in fig. 4, the prediction search module 120 includes: a prediction unit 121 and a search unit 122.
In this embodiment, the prediction unit 121 is configured to predict whether each set of resource configuration can meet the qos requirement of the cloud service and whether the overall power consumption is out of limit, and predict the throughput of each set of background batch processing tasks.
In this embodiment, the searching unit 122 is configured to search for a plurality of candidate resource configurations, and select a group of resource configurations that generate the maximum throughput from the plurality of candidate resource configurations as the optimal resource configuration.
Further, the search unit 122 searches for the shared resources as little as possible by using a binary method, so that the background batch processing task obtains as many resources as possible and generates a high-throughput resource configuration as a candidate resource configuration.
Specifically, the implementation process of searching for a set of optimal resource configurations under the current load is as follows:
first, the prediction unit 121 predicts whether a group of resource configurations can meet the service quality requirement of the cloud service and whether the overall power consumption is out of limit by using prediction methods such as a decision tree and a KNN regression, and predicts the throughput of the group of background batch processing tasks. Secondly, the searching unit 122 searches for a small number of candidate configurations by using a search algorithm based on binary search based on an important observation fact that cloud service occupies as few shared resources as possible, so that the background batch processing task obtains as many shared resources as possible and generates high throughput, and selects and applies a group of configurations generating the maximum throughput. The search algorithm of binary search avoids huge expenses caused by exhaustive and complete configuration, avoids additional occupation of server computing resources, and is suitable for scenes with rapidly changing loads. The search algorithm of binary search is an algorithm for searching the optimal configuration when the system manages the number of CPU cores, the CPU core frequency and the last-level cache way number. A search algorithm for a binary search is shown in table 1 in example 1.
After the optimal configuration search algorithm is applied, the running condition of the cloud service is continuously monitored in the next period of time, and if a service quality violation condition caused by non-controllable shared resource competition or system fluctuation is found, part of resources are recycled from a background batch processing task to perform resource compensation on the cloud service.
In this embodiment, the resource balancing module 130 is configured in the node server, and is configured to monitor cloud service quality, and when the cloud service quality is violated, recover the resource compensation cloud service from the background batch processing task until the cloud service quality is satisfied.
Specifically, in this embodiment, when the resource balancing module 130 recovers the resource compensation cloud service from the background batch processing task, one type of shared resource that minimizes the throughput loss of the background batch processing task is recovered.
After the optimal configuration is applied, the running condition of the cloud service is continuously monitored in the next period of time, and if the service quality violation condition caused by uncontrollable shared resource competition or system fluctuation is found, part of resources are recycled from the background batch processing task to perform resource compensation on the cloud service.
Specifically, the service quality after the new resource configuration is applied to the cloud service is further ensured. Due to uncontrollable shared resource competition or system fluctuation, the service quality of the cloud service still has violation after the new configuration is applied, and at the moment, part of resources are recovered from the background batch processing task to accelerate the execution of the cloud service and eliminate the violation of the service quality. In resource reclamation, one type of shared resource is considered to be reclaimed at a time. And by predicting the throughput after recovering the resource, selecting to recover the resource which minimizes the throughput loss of the background batch processing task for recovering each time of recovering.
Through the interactive cooperation of the cluster level deployment module 110, the prediction search module 120 and the resource balancing module 130, the service quality of cloud services borne by the whole data center is guaranteed, the energy consumption of the data center is controlled, the average throughput of background batch processing tasks operated by the data center is improved, and the utilization rate of the whole resources is improved.
Example 3
As shown in fig. 5, the present embodiment provides a server system 200, and the server system 200 includes a data center server 210 and a plurality of node servers 220 (node server 1, node server 2 to node server N).
In this embodiment, the data center server 210 is configured to deploy different cloud services and background batch processing tasks to different node servers 220, and when receiving a user cloud service request, allocate the user cloud service request to the corresponding node server 220. Wherein the data center server 210 includes: a processor and a memory; the memory is used for storing a computer program; the processor is configured to execute the computer program stored in the memory, so as to enable the electronic device to execute step S100 of the shared resource management method for managing mixed deployment in embodiment 1. Since the specific implementation process of step S100 has already been described in detail in embodiment 1, it is not described herein again.
In this embodiment, each node server 220 receives the cloud service request of the user, searches and applies a group of optimal resource configurations under the current load after detecting the load change, monitors the cloud service quality, and recovers the resource compensation cloud service from the background batch processing task when the cloud service quality is violated until the cloud service quality is satisfied.
Wherein each of the node servers 220 includes: a processor and a memory; the memory is used for storing a computer program; the processor is configured to execute the computer program stored in the memory, so as to enable the electronic device to perform steps S200 to S300 of the shared resource management method for managing mixed deployment in embodiment 1. Since the specific implementation process of steps S200 to S300 has already been described in detail in embodiment 1, it is not described herein again.
The processor is a Central Processing Unit (CPU). The memory is connected with the processor through a system bus and used for finishing mutual communication, the memory is used for storing computer programs, and the processor is used for operating the computer programs so as to enable the processor to execute the shared resource management method for managing the hybrid deployment. The Memory may include a Random Access Memory (RAM), and may further include a non-volatile Memory (non-volatile Memory), such as at least one disk Memory.
Furthermore, the present embodiment also provides a computer-readable storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements step S100 or steps S200 to S300 in the shared resource management method for managing hybrid deployment. The above-mentioned shared resource management method for managing hybrid deployment has been described in detail, and is not described herein again.
Those of ordinary skill in the art will understand that: all or part of the steps for implementing the above method embodiments may be performed by hardware associated with a computer program. The aforementioned computer program may be stored in a computer-readable storage medium. When executed, the program performs steps comprising the method embodiments described above; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
In conclusion, the invention provides a set of resource management system based on application program resource preference on a data center with limited energy consumption, a mechanism which is tightly matched on an integral cluster level and an individual server level is established, under the premise of not upgrading hardware equipment and not increasing extra burden of the data center, on the basis of simultaneously ensuring the service quality of cloud service and meeting the energy consumption limitation of the server, the throughput of background batch processing tasks is maximized, the energy consumption of the data center is controlled, the resource utilization rate of the data center is improved, and a data center operator is effectively assisted to construct a green data center which is continuously and healthily developed. Therefore, the invention effectively overcomes various defects in the prior art and has high industrial utilization value.
The foregoing embodiments are merely illustrative of the principles and utilities of the present invention and are not intended to limit the invention. Any person skilled in the art can modify or change the above-mentioned embodiments without departing from the spirit and scope of the present invention. Accordingly, it will be apparent to one skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention.

Claims (9)

1. A method for managing a shared resource of a hybrid deployment, the method comprising: the method comprises the following steps:
receiving a user cloud service request, and distributing the user cloud service request to corresponding node servers, wherein the cloud service and a background batch processing task are deployed in the same node server, and different cloud services and background batch processing tasks are deployed in different node servers;
after detecting the load change, the node server receiving the user cloud service request searches a group of optimal resource allocation under the current load and applies the optimal resource allocation;
monitoring the cloud service quality, and recovering the resource compensation cloud service from the background batch processing task when the cloud service quality is illegal until the cloud service quality is met;
one implementation of the search for the set of optimal resource configurations under the current load is:
predicting whether each group of resource allocation can meet the service quality requirement of the cloud service and whether the overall power consumption is out of limit, and predicting the throughput of the background batch processing tasks under each group of resources;
searching and acquiring a plurality of candidate resource configurations, and selecting a group of resource configurations which generate the maximum throughput from the candidate resource configurations as the optimal resource configuration.
2. The method of managing shared resources for hybrid deployment according to claim 1, wherein: one implementation manner of different cloud services and background batch processing tasks deployed in different node servers includes:
according to the historical load change condition of any node server, estimating the average throughput which can be achieved by a background batch processing task after a certain cloud service and different background batch processing tasks are mixed and deployed;
different cloud services and background batch processing tasks are deployed in different node servers according to the average throughput which can be achieved by each background batch processing task, so that the sum of the average throughputs of the background batch processing tasks of each node server is maximized.
3. The method of claim 1, wherein the method comprises: one implementation way of obtaining a plurality of candidate resource configurations by the search is as follows:
and searching the shared resource occupying the least amount by the cloud service through the dichotomy, so that the background batch processing task obtains the most shared resource and generates high-throughput resource allocation as candidate resource allocation.
4. A method for managing shared resources for hybrid deployment according to claim 1 or 2, characterized in that: and when the resource compensation cloud service is recovered from the background batch processing task, recovering the shared resource of the type which minimizes the throughput loss of the background batch processing task.
5. A shared resource management system for managing a hybrid deployment, comprising: the shared resource management system for managing mixed deployment comprises:
the cluster-level deployment module is used for deploying different cloud services and background batch processing tasks to different node servers, and distributing a user cloud service request to a corresponding node server when the user cloud service request is received; the cloud service and the background batch processing task are deployed in the same node server;
the prediction searching module is configured in the node server and used for receiving the user cloud service request, searching and applying a group of optimal resource configurations under the current load after detecting the load change of the node server; one implementation of the search for the set of optimal resource configurations under the current load is as follows:
predicting whether each group of resource allocation can meet the service quality requirement of the cloud service and whether the overall power consumption is out of limit, and predicting the throughput of the background batch processing tasks under each group of resources;
searching and acquiring a plurality of candidate resource configurations, and selecting a group of resource configurations generating the maximum throughput from the candidate resource configurations as the optimal resource configuration;
and the resource balancing module is configured in the node server and used for monitoring the cloud service quality and recovering the resource compensation cloud service from the background batch processing task when the cloud service quality is illegal until the cloud service quality is met.
6. The shared resource management system for managing a hybrid deployment of claim 5, wherein: the cluster-level deployment module estimates the average throughput which can be achieved by a background batch processing task after a certain cloud service and different background batch processing tasks are mixed and deployed according to the historical load change condition of any node server, and deploys different cloud services and background batch processing tasks to different node servers according to the average throughput which can be achieved by each background batch processing task, so that the sum of the average throughputs of the background batch processing tasks of each node server is maximized, and different cloud services and different background batch processing tasks are deployed to different node servers.
7. A shared resource management system for managing a hybrid deployment according to claim 5 or 6, characterized in that: the predictive search module includes:
the prediction unit is used for predicting whether each group of resource allocation can meet the service quality requirement of the cloud service and whether the overall power consumption is out of limit, and predicting the throughput of the background batch processing tasks under each group of resources;
the searching unit is used for searching and acquiring a plurality of candidate resource configurations and selecting a group of resource configurations which generate the maximum throughput from the candidate resource configurations as the optimal resource configuration; the search unit searches the shared resources which occupy the least amount of the cloud service through a dichotomy, so that the background batch processing task obtains the most shared resources and generates high-throughput resource allocation as candidate resource allocation.
8. A shared resource management system for managing a hybrid deployment according to claim 5 or 6, characterized in that: and when the resource balancing module recovers the resource compensation cloud service from the background batch processing task, recovering the shared resource of the type which minimizes the throughput loss of the background batch processing task.
9. A server system, characterized by: the system comprises a data center server and a plurality of node servers;
the data center server is used for deploying different cloud services and background batch processing tasks to different node servers, wherein the cloud services and the background batch processing tasks are deployed to the same node server, and when a user cloud service request is received, the user cloud service request is distributed to the corresponding node servers;
each node server receives the user cloud service request, searches and applies a group of optimal resource allocation under the current load after detecting the load change, monitors the cloud service quality, and recovers resource compensation cloud service from a background batch processing task when the cloud service quality is violated until the cloud service quality is met;
one implementation of the search for the set of optimal resource configurations under the current load is:
predicting whether each group of resource allocation can meet the service quality requirement of the cloud service and whether the overall power consumption is out of limit, and predicting the throughput of the background batch processing tasks under each group of resources;
and searching and acquiring a plurality of candidate resource configurations, and selecting a group of resource configurations which generate the maximum throughput from the candidate resource configurations as the optimal resource configuration.
CN202010412531.7A 2020-05-15 2020-05-15 Shared resource management method, system and server system for managing mixed deployment Active CN111597045B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010412531.7A CN111597045B (en) 2020-05-15 2020-05-15 Shared resource management method, system and server system for managing mixed deployment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010412531.7A CN111597045B (en) 2020-05-15 2020-05-15 Shared resource management method, system and server system for managing mixed deployment

Publications (2)

Publication Number Publication Date
CN111597045A CN111597045A (en) 2020-08-28
CN111597045B true CN111597045B (en) 2023-04-07

Family

ID=72185627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010412531.7A Active CN111597045B (en) 2020-05-15 2020-05-15 Shared resource management method, system and server system for managing mixed deployment

Country Status (1)

Country Link
CN (1) CN111597045B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064712B (en) * 2021-04-16 2022-05-17 上海交通大学 Micro-service optimization deployment control method, system and cluster based on cloud edge environment
US11368539B1 (en) 2021-05-27 2022-06-21 International Business Machines Corporation Application deployment in a multi-cluster environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104184685A (en) * 2013-05-27 2014-12-03 华为技术有限公司 Data center resource allocation method, device and system
CN104216782A (en) * 2014-08-19 2014-12-17 东南大学 Dynamic resource management method for high-performance computing and cloud computing hybrid environment
CN107357661A (en) * 2017-07-12 2017-11-17 北京航空航天大学 A kind of fine granularity GPU resource management method for mixed load
CN109947619A (en) * 2019-03-05 2019-06-28 上海交通大学 The more resource management systems and server of handling capacity are improved based on quality of service aware
CN110580192A (en) * 2019-07-29 2019-12-17 杭州电子科技大学 Container I/O isolation optimization method in mixed scene based on service characteristics

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198636A1 (en) * 2004-02-26 2005-09-08 International Business Machines Corporation Dynamic optimization of batch processing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104184685A (en) * 2013-05-27 2014-12-03 华为技术有限公司 Data center resource allocation method, device and system
CN104216782A (en) * 2014-08-19 2014-12-17 东南大学 Dynamic resource management method for high-performance computing and cloud computing hybrid environment
CN107357661A (en) * 2017-07-12 2017-11-17 北京航空航天大学 A kind of fine granularity GPU resource management method for mixed load
CN109947619A (en) * 2019-03-05 2019-06-28 上海交通大学 The more resource management systems and server of handling capacity are improved based on quality of service aware
CN110580192A (en) * 2019-07-29 2019-12-17 杭州电子科技大学 Container I/O isolation optimization method in mixed scene based on service characteristics

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ESprint: QoS-Aware Management for Effective Computational Sprinting in Data Centers;Haoran Cai et al.;《2019 19th IEEE/ACM International Symposium on Clusters,Cloud and Computing(CCGRID)》;20190517;第420-429页 *
混合数据中心负载特征及其任务调度优化分析;王济伟等;《计算机工程与科学》;20200131;第42卷(第1期);全文 *

Also Published As

Publication number Publication date
CN111597045A (en) 2020-08-28

Similar Documents

Publication Publication Date Title
CN110858161B (en) Resource allocation method, device, system, equipment and medium
CN111953526B (en) Hierarchical computational power network arrangement method, device and storage medium
US8656404B2 (en) Statistical packing of resource requirements in data centers
US7856572B2 (en) Information processing device, program thereof, modular type system operation management system, and component selection method
CN111597045B (en) Shared resource management method, system and server system for managing mixed deployment
CN110221920B (en) Deployment method, device, storage medium and system
CN104679594B (en) A kind of middleware distributed computing method
CN101309208A (en) Job scheduling system suitable for grid environment and based on reliable expense
CN110838939B (en) Scheduling method based on lightweight container and edge Internet of things management platform
EP4029197B1 (en) Utilizing network analytics for service provisioning
CN112799817A (en) Micro-service resource scheduling system and method
CN110086726A (en) A method of automatically switching Kubernetes host node
CN112698952A (en) Unified management method and device for computing resources, computer equipment and storage medium
CN112463395A (en) Resource allocation method, device, equipment and readable storage medium
Marchese et al. Network-aware container placement in cloud-edge kubernetes clusters
Dimolitsas et al. A multi-criteria decision making method for network slice edge infrastructure selection
CN111767145A (en) Container scheduling system, method, device and equipment
Tseng et al. An mec-based vnf placement and scheduling scheme for ar application topology
CN115190121B (en) Cross-region-based micro-service overload scheduling system, method and equipment
CN116136799A (en) Computing power dispatching management side device and method, computing power providing side device and method
US8850440B2 (en) Managing the processing of processing requests in a data processing system comprising a plurality of processing environments
Yang et al. Resource reservation for graph-structured multimedia services in computing power network
Guo et al. Efficiently consolidating virtual data centers for time-varying resource demands
CN111858051A (en) Real-time dynamic scheduling method, system and medium suitable for edge computing environment
Zakria et al. Cloud-fog based load balancing using shortest remaining time first optimization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant