CN114741190A - Scheduling method and device of cloud computing resources - Google Patents

Scheduling method and device of cloud computing resources Download PDF

Info

Publication number
CN114741190A
CN114741190A CN202210326369.6A CN202210326369A CN114741190A CN 114741190 A CN114741190 A CN 114741190A CN 202210326369 A CN202210326369 A CN 202210326369A CN 114741190 A CN114741190 A CN 114741190A
Authority
CN
China
Prior art keywords
resource pool
gru
virtual machines
cloud computing
screening
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.)
Pending
Application number
CN202210326369.6A
Other languages
Chinese (zh)
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202210326369.6A priority Critical patent/CN114741190A/en
Publication of CN114741190A publication Critical patent/CN114741190A/en
Pending legal-status Critical Current

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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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
    • 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

Abstract

The embodiment of the application discloses a method and a device for scheduling cloud computing resources, wherein the method comprises the following steps: the method comprises the steps of screening a plurality of resource pool groups GRU according to a first screening condition to obtain a first resource pool group GRU set, determining the number of the maximum virtual machines which can be allocated to each resource pool group GRU according to the number of the residual resources of each resource pool group GRU in the first resource pool group GRU set, sorting the plurality of resource pool groups GRU in a descending order according to the number of the maximum virtual machines which can be allocated, and determining the resource pool group GRU which is positioned at the first position in the sorting order as the resource for cloud computing of a user. Therefore, the cloud computing resources meeting the screening conditions and having the largest number of the remaining resources are scheduled to the user through the screening conditions and the number of the remaining resources of the GRUs, and compared with the method that the cloud resources are scheduled to the user only according to the application of the user, the method and the device for scheduling the private cloud can achieve flexibility and high efficiency of private cloud scheduling.

Description

Scheduling method and device of cloud computing resources
Technical Field
The present application relates to the field of computers, and in particular, to a method and an apparatus for scheduling cloud computing resources.
Background
With the development of computer technology, cloud computing is also widely applied, so that the importance of a scheduling algorithm of a cloud computing platform is increasingly highlighted. Cloud computing is a service related to information technology, software and the internet, and a plurality of computing resources are integrated by the cloud computing to realize automatic management through the software. The cloud computing platform is also called a cloud platform, and is a service based on hardware resources and software resources, and provides computing, network and storage capabilities. The cloud platform hides hardware implementation and management details from a user, and the user can obtain resource services of different degrees and different types only by sending a request to the cloud platform.
Cloud resources include public clouds and private clouds, which are typically private clouds deployed within enterprise data centers for their special needs for data, security, and quality of service. How the private cloud can be extracted from complicated hardware and resource management, various resources required by a plurality of users can be flexibly and efficiently scheduled, and meanwhile, the stable, energy-saving and high-availability scheduling process can be ensured, so that the problem that the private cloud needs to be solved urgently is solved.
Disclosure of Invention
The application provides a scheduling method of cloud computing resources, which can realize flexibility and high efficiency of private cloud scheduling.
The embodiment of the application provides a scheduling method of cloud computing resources, which comprises the following steps:
screening a plurality of resource pool groups GRU according to a first screening condition to obtain a first resource pool group GRU set;
determining the maximum number of virtual machines which can be allocated to each resource pool GRU according to the residual resource number of each resource pool GRU in the first resource pool GRU set;
sorting the resource pool GRUs in a descending order according to the maximum number of the virtual machines capable of being distributed;
and determining the resource pool GRU positioned at the first position in the sequence as the resource of the user for cloud computing.
Optionally, the first screening condition comprises a first sub-screening condition and a second sub-screening condition; the first sub-screening conditions at least comprise disaster recovery levels, the number and network areas of the virtual machines required by cloud computing; the second sub-screening condition is that the number of the residual internet protocol IP addresses of the GRUs in the first resource pool group is larger than the required IP number of the virtual machines required by the cloud computing;
the screening a plurality of resource pool groups GRU according to the first screening condition to obtain a first resource pool group GRU set includes:
and sequentially screening a plurality of resource pool groups GRU according to the first sub-screening condition and the second sub-screening condition to obtain a first resource pool group GRU set.
Optionally, the remaining resources include a central processing unit CPU, a memory, and a storage space; each resource pool group GRU comprises a plurality of minimum resource pool units RU;
the determining the maximum number of virtual machines that can be allocated to each resource pool group GRU according to the remaining resource number of each resource pool group GRU in the first resource pool group GRU set includes:
determining the maximum virtual machine number capable of being allocated by each minimum resource pool unit RU according to the residual CPU number, the residual memory number and the residual storage space number of each minimum resource pool unit RU in each resource pool group GRU;
and determining the maximum virtual machine number capable of being allocated to each resource pool group GRU according to the maximum virtual machine number capable of being allocated to each minimum resource pool unit RU in each resource pool group GRU.
Optionally, before sorting the plurality of resource pool groups GRU in descending order according to the maximum number of virtual machines that can be allocated, the method further includes:
and judging whether the maximum number of the virtual machines which can be allocated by each resource pool GRU is less than the number of the virtual machines required by the user for cloud computing, if so, continuing the subsequent steps, and if not, deleting the resource pools GRUs which are less than the number of the virtual machines required by the user for cloud computing in the first resource pool GRU set.
Optionally, each resource pool group GRU includes a plurality of minimum resource pool units RU, each minimum resource pool unit RU includes a plurality of host hosts host;
the method further comprises the following steps:
the number of the actual virtual machines allocated to each host is less than half of the number of the virtual machines required by the user for cloud computing.
Optionally, the plurality of host hosts include a first host and a second host, and the number of actual virtual machines that can be allocated by the first host and the second host is the same;
the method further comprises the following steps:
and distributing the actual number of the virtual machines to the first host machine and the second host machine according to the descending order of the unused time.
The embodiment of the application provides a scheduling device of cloud computing resources, the device includes:
the screening unit is used for screening the resource pool groups GRU according to a first screening condition to obtain a first resource pool group GRU set;
a first determining unit, configured to determine, according to the remaining resource quantity of each resource pool GRU in the first resource pool GRU set, a maximum virtual machine quantity that can be allocated to each resource pool GRU;
the sorting unit is used for sorting the resource pool GRUs in a descending order according to the maximum number of the virtual machines capable of being allocated;
and the second determining unit is used for determining the resource pool GRU positioned at the first position in the sequence as the resource of the user for cloud computing.
Optionally, the first screening condition comprises a first sub-screening condition and a second sub-screening condition; the first sub-screening conditions at least comprise disaster recovery levels, the number and network areas of the virtual machines required by cloud computing; the second sub-screening condition is that the number of the residual internet protocol IP addresses of the GRUs in the first resource pool group is larger than the required IP number of the virtual machines required by the cloud computing;
the screening unit is specifically configured to:
and sequentially screening a plurality of resource pool groups GRU according to the first sub-screening condition and the second sub-screening condition to obtain a first resource pool group GRU set.
Optionally, the remaining resources include a central processing unit CPU, a memory, and a storage space; each resource pool group GRU comprises a plurality of minimum resource pool units RU;
the first determining unit is specifically configured to:
determining the maximum virtual machine number capable of being allocated by each minimum resource pool unit RU according to the remaining CPU number, the remaining memory number and the remaining storage space number of each minimum resource pool unit RU in each resource pool group GRU;
and determining the maximum virtual machine number which can be allocated to each resource pool group GRU according to the maximum virtual machine number which can be allocated to each minimum resource pool unit RU in each resource pool group GRU.
Optionally, the apparatus further comprises:
and the judging unit is used for judging whether the maximum number of the virtual machines which can be allocated by each resource pool group GRU is smaller than the number of the virtual machines required by the user for cloud computing, if so, continuing the subsequent steps, and if not, deleting the resource pool groups GRU which are smaller than the number of the virtual machines required by the user for cloud computing in the first resource pool group GRU set.
The embodiment of the application provides a scheduling method of cloud computing resources, which comprises the following steps: the method comprises the steps of screening a plurality of resource pool groups GRU according to a first screening condition to obtain a first resource pool group GRU set, determining the number of the maximum virtual machines which can be allocated to each resource pool group GRU according to the number of the residual resources of each resource pool group GRU in the first resource pool group GRU set, sorting the plurality of resource pool groups GRU in a descending order according to the number of the maximum virtual machines which can be allocated, and determining the resource pool group GRU which is positioned at the first position in the sorting order as the resource for cloud computing of a user. Therefore, the cloud computing resources meeting the screening conditions and having the largest number of the remaining resources are scheduled to the user through the screening conditions and the number of the remaining resources of the GRUs, and compared with the method that the cloud resources are scheduled to the user only according to the application of the user, the method and the device for scheduling the private cloud can achieve flexibility and high efficiency of private cloud scheduling.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 is a flowchart of a scheduling method for cloud computing resources according to an embodiment of the present application;
fig. 2 is a flowchart of virtual machine allocation provided in an embodiment of the present application;
fig. 3 is a block diagram of a structure of a scheduling apparatus for cloud computing resources according to an embodiment of the present disclosure.
Detailed Description
In order to make the technical solutions of the present application better understood, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present application without making any creative effort belong to the protection scope of the present application.
With the development of computer technology, cloud computing is also widely applied, so that the importance of a scheduling algorithm of a cloud computing platform is increasingly highlighted. Cloud computing is a service related to information technology, software and the internet, and a plurality of computing resources are aggregated by the cloud computing, and automatic management is realized through the software. The cloud computing platform is also called a cloud platform, and is a service based on hardware resources and software resources, and provides computing, network and storage capabilities. The cloud platform hides hardware implementation and management details from a user, and the user can obtain resource services of different degrees and different types only by sending a request to the cloud platform.
The cloud era is a staged era of human science and technology advancement, and with the continuous development and progress of information technology, cloud computing is applied to more and more fields. The wide application of cloud computing makes the cloud computing platform server allocation policy critical, because the allocation policy of the server directly affects the performance and user experience of the cloud computing platform.
Cloud computing is a novel internet mode that provides convenience, acquisition on demand, and configurability. How to realize cost reduction, efficiency improvement, stability and high availability of resource allocation on the premise of meeting the service quality of users is a difficult problem to be solved urgently at present in cloud computing.
Cloud resources include public clouds and private clouds, which are typically private clouds deployed within enterprise data centers for their special needs for data, security, and quality of service. How the private cloud can be extracted from complicated hardware and resource management, various resources required by a plurality of users can be flexibly and efficiently scheduled, and meanwhile, the stable, energy-saving and high-availability scheduling process can be ensured.
The current scheduling mode for the private cloud is to acquire required resource information input by a user, search current all resource information according to the resource information applied by the user, randomly select resources meeting the user requirements from all the searched resources and allocate the resources to the user, and belongs to a resource allocation scheme with a satisfied condition. The resource allocation mode of the condition-satisfied type is not the optimal solution of the enterprise private cloud, the number, the sequence and the rule of the screening elements are not considered comprehensively in the aspect of horizontal dimension, the scientificity of the screening idea is not sufficient, the design of a multi-level fault domain is not considered in the aspect of vertical dimension, and the high availability is ensured. The method has the advantages that no structured work is carried out, the screening and distribution work is rough, the attention is not enough in the aspects of cost reduction, efficiency improvement, speed improvement and the like, and the fine management is not facilitated.
Based on this, an embodiment of the present application provides a method for scheduling cloud computing resources, where the method includes: the method comprises the steps of screening a plurality of resource pool groups GRU according to a first screening condition to obtain a first resource pool group GRU set, determining the number of the maximum virtual machines which can be allocated to each resource pool group GRU according to the number of the residual resources of each resource pool group GRU in the first resource pool group GRU set, sorting the plurality of resource pool groups GRU in a descending order according to the number of the maximum virtual machines which can be allocated, and determining the resource pool group GRU which is positioned at the first position in the sorting order as the resource for cloud computing of a user. Therefore, the cloud computing resources meeting the screening conditions and having the largest number of the remaining resources are scheduled to the user through the screening conditions and the number of the remaining resources of the GRUs, and compared with the method that the cloud resources are scheduled to the user only according to the application of the user, the method and the device for scheduling the private cloud can achieve flexibility and high efficiency of private cloud scheduling.
Referring to fig. 1, the figure is a flowchart of a scheduling method for cloud computing resources according to an embodiment of the present application.
The scheduling method of the cloud computing resources provided by the embodiment comprises the following steps:
s101, screening a plurality of resource pool groups GRU according to a first screening condition to obtain a first resource pool group GRU set.
In the embodiment of the application, cloud resources can be integrated into resource pools, all computing resources are changed into one pool, and cloud computing is built based on the resource pools and delivers the resources in a service mode. That is, the cloud Resource includes a plurality of Resource pool Groups (GRUs) composed of 3 peer minimum Resource pool units (RUs). Multiple virtual machines of an application may poll for creation in 3 peer RUs of a GRU.
The plurality of resource pool groups GRU may be screened according to a first screening condition to obtain a first resource pool group GRU set. That is, not all GRUs meet the resource requirement of the user, and therefore the screening may be performed according to the first screening condition.
The first screening condition comprises a first sub-screening condition and a second sub-screening condition, the first sub-screening condition at least comprises the disaster recovery level, the number and the network area of the virtual machines required by the cloud computing, and the second sub-screening condition is that the number of the remaining internet protocol IP addresses of the GRU of the first resource pool group is larger than the number of the required IP addresses of the virtual machines required by the cloud computing.
Specifically, a plurality of resource pool groups GRU are sequentially screened according to a first sub-screening condition and a second sub-screening condition, so as to obtain a first resource pool group GRU set.
The method includes the steps that firstly, screening is conducted according to a first sub-screening condition, namely, GRUs are screened according to the disaster backup level, the number and the network area of the virtual machines required by cloud computing, all attributes in the screening condition correspond to specific attributes in a resource pool, computing is not needed in the judging process, only each GRU in a current residual GRU set needs to be traversed, corresponding attribute information is compared with request attribute information, if the attribute information meets the requirement, the GRU is reserved, and if the attribute information does not meet the requirement, the GRU is filtered.
As an example, if the disaster level is less than 4, the shared disk resource is selected, and if the disaster level is greater than or equal to 4, the local disk resource is selected.
Then, the screening is continued based on the second sub-screening condition, which involves a part of simple calculation. The IP number belongs to a queryable item of the available network segment attribute in a GRU, the residual total number of available IP of the network segment obtained by taking intersection of the network segment in the current GRU and the network segment of the network area selected by the user is queried according to the network segment information in the GRU, and then the residual total number is compared with the number of the requested virtual machines (one virtual machine is correspondingly allocated with an IP address), if the available IP number in the current GRU is smaller than the virtual machine number created in the current application, the GRU is filtered.
And S102, determining the maximum number of virtual machines which can be allocated to each resource pool GRU according to the residual resource number of each resource pool GRU in the first resource pool GRU set.
In the embodiment of the application, after the first resource pool group GRU set is obtained through screening, the maximum number of virtual machines that can be allocated to each resource pool group GRU is determined according to the remaining resource number of each resource pool group GRU in the first resource pool group GRU set. The remaining resources include a Central Processing Unit (CPU), a memory, and a storage space.
Specifically, the maximum virtual machine number that each minimum resource pool unit RU can allocate may be determined according to the remaining CPU number, the remaining memory number, and the remaining storage space number of each minimum resource pool unit RU in each resource pool group GRU, and then the maximum virtual machine number that each resource pool group GRU can allocate may be determined according to the maximum virtual machine number that each minimum resource pool unit RU can allocate in each resource pool group GRU.
And screening GRUs aiming at the residual resources of each resource pool GRU, wherein slightly complex statistical calculation is required for the screening conditions. The calculation does not need to repeatedly count the CPU residual quantity, the memory residual quantity and the storage residual quantity of each host of each RU in the GRU for many times to compare with the resource quantity applied currently, and can complete basic judgment and screening within O (nlogn) time complexity, and the screened GRU can meet the distribution requirement of all virtual machines currently.
In practical application, when GRU is screened according to the remaining resources, the following three conditions can be classified according to whether the host has affinity: affinity, host affinity and host non-affinity were not considered.
In the first case, statistics is performed on the CPU margin, the memory margin, and the storage margin in each host in an RU in the current GRU, and the statistics is stored in one set, as follows:
resource_set={CPU(Z1)&MEM(Z1)&STO(Z1),......CPU(Zn)&MEM(Zn)&STO(Zn)}
wherein, CPU (Z)1)&MEM(Z1)&STO(Z1) Representing the CPU margin, the memory margin and the storage margin in a host. After obtaining the CPU margin information and the memory margin information of all host machines in the RU and the storage margin information set, determining the maximum number of virtual machines that can be allowed to be created in the current host according to the following formula:
Max_VM=min{CPU(Zi)/spec(CPU),MEM(Zi)/spec(MEM),STO(Zi)/STO(storage)}
where, spec (CPU), spec (mem), sto (storage) respectively represent the CPU specification, memory specification, and storage requirement size of the virtual machine set currently applied.
At this time, the number of virtual machines theoretically allocatable in one RU can be counted as:
Figure BDA0003573607370000081
in the embodiment of the application, when the affinity does not need to be considered, it is determined whether the maximum number of virtual machines that can be allocated to each resource pool group GRU is less than the number of virtual machines required for the user to perform cloud computing, if so, the subsequent steps are continued, and if not, the resource pool group GRU that is less than the number of virtual machines required for the user to perform cloud computing is deleted from the first resource pool group GRU set. This is because virtual machines are allocated to each RU in a round robin fashion, so a determination can be made given the number of virtual machines that can be allocated in an RU and the number of virtual machines that need to be allocated in the current RU, and if the number of virtual machines that can be allocated in the current RU is less than the number of virtual machines that the current RU actually needs to allocate, the GRU is not available.
In the second case, the virtual machines are n stations, and the host machine comprises MiCNjY, i is more than or equal to 1, and j is more than or equal to 1. The number of virtual machines which can be respectively distributed by each host machine is as follows:
min{M1//X,N1//Y}=Z1
min{M2//X,N2//Y}=Z2
...
min{Mi//X,Ni//Y}=Zi
the number of virtual machines which can be allocated to one host machine is as follows
max{Zi,i=1,2,3...}
When the host machine affinity is considered, comparing the number of the virtual machines which can be allocated by one host machine at most with the number n of the virtual machines, if the number of the virtual machines which can be allocated by one host machine at most is more than n, the requirement is met, otherwise, the requirement is not met.
In the third case, the number of virtual machines is less than or equal to the total number of host machines
min{M1//X,N1//Y}=Z1
min{M2//X,N2//Y}=Z2
...
min{Mi//X,Ni//Y}=Zi
Determining the number of virtual machines allocated to each host machine as
{Zi,i=1,2,3...}
And counting the number q of elements which are more than or equal to 1 in the number of the distributed virtual machines of each host machine, wherein if the q is more than or equal to n, the requirement is met, and otherwise, the requirement is not met.
That is, the above three cases are specific screening cases when screening GRUs based on the remaining resources.
S103, sorting the resource pool GRUs in a descending order according to the maximum number of the virtual machines capable of being distributed.
In an embodiment of the present application, after determining the maximum number of virtual machines that can be allocated for each resource pool GRU, the plurality of resource pool GRUs may be sorted in a descending order according to the maximum number of virtual machines that can be allocated.
For the first case, when affinity is not considered, after counting the number of virtual machines theoretically allocable in one RU, all RUs in one GRU are counted according to the number of virtual machines theoretically allocable, then all current GRUs meeting the requirement are sorted, and the total number of virtual machines allocable for each GRU is sorted from large to small.
And S104, determining the resource pool GRU positioned at the first position in the sequence as the resource of the user for cloud computing.
In the embodiment of the present application, after the plurality of resource pool groups GRU are sorted in a descending order according to the maximum allocable virtual machine number, the resource pool group GRU located first in the sorting is determined as a resource for the user to perform cloud computing, that is, the GRU with the maximum allocable virtual machine number is returned.
In an embodiment of the present application, each resource pool group GRU includes a plurality of minimum resource pool units RU, and each minimum resource pool unit RU includes a plurality of host hosts host. After the GRU with the largest number of assignable virtual machines is allocated to the user, the virtual machines can be allocated according to the balance of the hosts and whether the hosts have affinity.
Specifically, the number of the actual virtual machines allocated to each host is less than half of the number of the virtual machines required for the cloud computing of the user. That is to say, it is ensured that the number of virtual machines allocated to the same host machine in the same application is less than 50% of the total number of virtual machines, and when virtual machines are allocated, each host machine needs to update the corresponding numerical value in real time, so that the host machine can be selected in the next round.
After selecting GRU, the RUs in the GRU are sequentially and uniformly distributed in turn according to the number of RUs, for each host in each RU, calculating the maximum creatable virtual machine number max _ num of the host, comparing the maximum creatable virtual machine number max _ num with 50% (rounding down) of (the total virtual machine number vmNum-0.5), and selecting the smaller value min (max _ num, [ (vmNum-0.5) × 0.5]) of the two as the final creatable virtual machine maximum number total _ max _ num of the host, wherein the reason is that the following 3 special cases need to be considered:
the first case is that the number of virtual machines to be created is 1, and the second case is that the number of virtual machines to be created is 2, in both cases, [ (vmNum-0.5) × 0.5] is 0, therefore, the number of virtual machines to be created takes the max value with 3, that is: vmNum is max (vmNum, 3), and then min (max _ num, [ (vmNum-0.5) × 0.5]) is used to get the final maximum number of creatable virtual machines of the host, total _ max _ num.
The third case is that the number of c virtual machines is an even number greater than 2, and 1 is subtracted after rounding down, so that 0.5 is subtracted and then 0.5 is added for each virtual machine, and rounding down is performed.
And carrying out polling judgment on each host according to the conditions until the virtual machines are distributed.
As an example, referring to fig. 2, after obtaining the GRU with the largest number of creatable virtual machines, 3 RUs in the GRU are sequentially calculated, specifically, the host in RU is sequentially calculated, that is, using the formulas vmNum ═ max (vmNum, 3) and min (max _ num, [ (vmNum-0.5) × 0.5]), the final maximum creatable virtual machine number of each host in the RU is obtained, RU (sum) is stored, whether RU (sum) is greater than RU required allocation number is determined, if it is less than, failure occurs, an RU unsatisfied condition exists, the high available requirement of GRU is not satisfied, the GRU is not usable, exception information is thrown out, if it is greater than, the RU allocable state is recorded, the RU allocable state is operated, whether each RU can be allocated as required is continuously determined, if it is not satisfied, failure occurs, there is an unsatisfied condition, and the high available requirement of GRU is not satisfied, and if the GRU is unavailable, entering a virtual machine allocation process, circulating by taking the number of virtual machines to be allocated as an index, traversing the ordered Host in the RU, judging whether the number of virtual machines which can be created by the Host is greater than 0, if not, jumping out of the circulation, selecting the next round of Host for virtual machine allocation, if so, selecting the Host, performing virtual machine allocation, and correspondingly, subtracting 1 from the number of virtual machines which can be created and correspond to the selected Host, and entering the allocation circulation of the next round of Host.
In the embodiment of the application, when virtual machine allocation is performed, the host hosts include a first host and a second host, the number of the actual virtual machines which can be allocated by the first host and the second host is the same, and the number of the actual virtual machines can be allocated to the first host and the second host in a descending order of unused time. The reason is that the clock main frequency of a crystal oscillator in the server is changed due to overhigh or overlow temperature, so that the technical parameters of components are deviated, a logic circuit generates logic errors, an electronic circuit of the server works in an unstable state, and nearly 11% of data center faults are caused by overheating temperature. When a server cluster has a "hot spot area", the hot spot area usually accelerates the failure speed of hardware, which brings additional overhead. Therefore, in order to maintain normal and stable operation of the server and reduce the loss of the server, energy consumption is saved without shutdown or hibernation. And when the maximum number of the creatable virtual machines of each host is obtained by calculation, judging the states of the creatable virtual machines with the same number, and reading the state value of the previous distribution time. When in distribution: and selecting the host which is not used for the longest time from the host set with the maximum created virtual machines equal in number for distribution, and updating the state value of the distribution time of the host.
Therefore, the method provided by the embodiment of the application firstly pools the current cloud resources of the enterprise private cloud computing platform, including computing resources, network resources, storage resources and the like, comprehensively analyzes all factors restricting allocation, classifies and sorts according to the screening range, the screening efficiency and the like, designs an intelligent screening algorithm in the resource allocation process, defines key elements, screening and scheduling processes of the intelligent scheduling algorithm, dynamically allocates the required resources of current users by using the intelligent resource allocation logic algorithm, restricts the number of virtual machines allocated to the same host machine, supports affinity and non-affinity selection, ensures balanced use of resources, and aims to reduce cost, improve efficiency and improve speed and stably and highly available resource allocation work.
The embodiment of the application provides a scheduling method of cloud computing resources, which comprises the following steps: the method comprises the steps of screening a plurality of resource pool groups GRU according to a first screening condition to obtain a first resource pool group GRU set, determining the number of the maximum virtual machines which can be allocated to each resource pool group GRU according to the number of the residual resources of each resource pool group GRU in the first resource pool group GRU set, sorting the plurality of resource pool groups GRU in a descending order according to the number of the maximum virtual machines which can be allocated, and determining the resource pool group GRU which is positioned at the first position in the sorting order as the resource for cloud computing of a user. Therefore, the cloud computing resources meeting the screening conditions and having the largest number of the remaining resources are scheduled to the user through the screening conditions and the number of the remaining resources of the GRUs, and compared with the method that the cloud resources are scheduled to the user only according to the application of the user, the method and the device for scheduling the private cloud can achieve flexibility and high efficiency of private cloud scheduling.
Based on the scheduling method of the cloud computing resources provided by the above embodiments, the embodiments of the present application also provide a scheduling apparatus of the cloud computing resources, and the working principle of the scheduling apparatus is described in detail below with reference to the accompanying drawings.
Referring to fig. 3, the figure is a block diagram of a scheduling apparatus for cloud computing resources according to an embodiment of the present application.
The scheduling apparatus 300 for cloud computing resources provided in this embodiment includes:
the screening unit 310 is configured to screen a plurality of resource pool groups GRU according to a first screening condition to obtain a first resource pool group GRU set;
a first determining unit 320, configured to determine, according to the remaining resource quantity of each resource pool GRU in the first resource pool GRU set, a maximum virtual machine quantity that can be allocated to each resource pool GRU;
the sorting unit 330 is configured to sort the resource pool groups GRU in a descending order according to the maximum number of virtual machines that can be allocated;
a second determining unit 340, configured to determine the resource pool GRU located first in the ranking as a resource for the user to perform cloud computing.
Optionally, the first screening condition comprises a first sub-screening condition and a second sub-screening condition; the first sub-screening conditions at least comprise disaster recovery levels, the number and network areas of the virtual machines required by cloud computing; the second sub-screening condition is that the number of the residual internet protocol IP addresses of the GRUs in the first resource pool group is larger than the required IP number of the virtual machines required by the cloud computing;
the screening unit is specifically configured to:
and sequentially screening a plurality of resource pool groups GRU according to the first sub-screening condition and the second sub-screening condition to obtain a first resource pool group GRU set.
Optionally, the remaining resources include a central processing unit CPU, a memory, and a storage space; each resource pool group GRU comprises a plurality of minimum resource pool units RU;
the first determining unit is specifically configured to:
determining the maximum virtual machine number capable of being allocated by each minimum resource pool unit RU according to the residual CPU number, the residual memory number and the residual storage space number of each minimum resource pool unit RU in each resource pool group GRU;
and determining the maximum virtual machine number capable of being allocated to each resource pool group GRU according to the maximum virtual machine number capable of being allocated to each minimum resource pool unit RU in each resource pool group GRU.
Optionally, the apparatus further comprises:
and the judging unit is used for judging whether the maximum number of the virtual machines which can be allocated by each resource pool group GRU is smaller than the number of the virtual machines required by the user for cloud computing, if so, continuing the subsequent steps, and if not, deleting the resource pool groups GRU which are smaller than the number of the virtual machines required by the user for cloud computing in the first resource pool group GRU set.
Optionally, each resource pool group GRU includes a plurality of minimum resource pool units RU, each minimum resource pool unit RU includes a plurality of host hosts host;
the device further comprises:
the first allocation unit is used for allocating the actual number of the virtual machines to each host to be less than one half of the number of the virtual machines required by the user for cloud computing.
Optionally, the plurality of host hosts include a first host and a second host, and the number of actual virtual machines that can be allocated by the first host and the second host is the same;
the device further comprises:
and the second distribution unit is used for distributing the actual number of the virtual machines to the first host machine and the second host machine according to the descending order of the unused time.
When introducing elements of various embodiments of the present application, the articles "a," "an," "the," and "said" are intended to mean that there are one or more of the elements. The terms "comprising," "including," and "having" are intended to be inclusive and mean that there may be additional elements other than the listed elements.
It should be noted that, as one of ordinary skill in the art would understand, all or part of the processes of the above method embodiments may be implemented by a computer program to instruct related hardware, where the computer program may be stored in a computer readable storage medium, and when executed, the computer program may include the processes of the above method embodiments. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the apparatus embodiment, since it is substantially similar to the method embodiment, it is relatively simple to describe, and reference may be made to some descriptions of the method embodiment for relevant points. The above-described apparatus embodiments are merely illustrative, and the units and modules described as separate components may or may not be physically separate. In addition, some or all of the units and modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment. One of ordinary skill in the art can understand and implement without inventive effort.
The foregoing is illustrative of the present disclosure and it will be appreciated by those skilled in the art that changes may be made in this embodiment without departing from the principles of the disclosure, the scope of which is defined by the appended claims.

Claims (10)

1. A method for scheduling cloud computing resources, the method comprising:
screening a plurality of resource pool groups GRU according to a first screening condition to obtain a first resource pool group GRU set;
determining the maximum number of virtual machines which can be allocated to each resource pool GRU according to the residual resource number of each resource pool GRU in the first resource pool GRU set;
sorting the resource pool GRUs in a descending order according to the maximum number of the virtual machines capable of being distributed;
and determining the resource pool GRU positioned at the first position in the sequence as the resource of the user for cloud computing.
2. The method of claim 1, wherein the first screening condition comprises a first sub-screening condition and a second sub-screening condition; the first sub-screening conditions at least comprise disaster recovery levels, the number and network areas of the virtual machines required by cloud computing; the second sub-screening condition is that the number of the residual internet protocol IP addresses of the GRUs in the first resource pool group is larger than the required IP number of the virtual machines required by the cloud computing;
the screening a plurality of resource pool groups GRU according to the first screening condition to obtain a first resource pool group GRU set includes:
and sequentially screening a plurality of resource pool groups GRU according to the first sub-screening condition and the second sub-screening condition to obtain a first resource pool group GRU set.
3. The method of claim 1, wherein the remaining resources include a Central Processing Unit (CPU), memory, and storage space; each resource pool group GRU comprises a plurality of minimum resource pool units RU;
the determining the maximum number of virtual machines that can be allocated to each resource pool group GRU according to the remaining resource number of each resource pool group GRU in the first resource pool group GRU set includes:
determining the maximum virtual machine number capable of being allocated by each minimum resource pool unit RU according to the remaining CPU number, the remaining memory number and the remaining storage space number of each minimum resource pool unit RU in each resource pool group GRU;
and determining the maximum virtual machine number capable of being allocated to each resource pool group GRU according to the maximum virtual machine number capable of being allocated to each minimum resource pool unit RU in each resource pool group GRU.
4. The method of claim 3, wherein before sorting the plurality of resource pool groups GRUs in descending order of a maximum number of virtual machines that can be allocated, the method further comprises:
and judging whether the maximum number of the virtual machines which can be allocated by each resource pool GRU is less than the number of the virtual machines required by the user for cloud computing, if so, continuing the subsequent steps, and if not, deleting the resource pools GRUs which are less than the number of the virtual machines required by the user for cloud computing in the first resource pool GRU set.
5. The method of claim 1, wherein each resource pool group GRU comprises a plurality of minimum resource pool units RU, each minimum resource pool unit RU comprising a plurality of host hosts host;
the method further comprises the following steps:
the number of the actual virtual machines allocated to each host is less than half of the number of the virtual machines required by the user for cloud computing.
6. The method of claim 5, wherein the plurality of host hosts comprises a first host and a second host, and the number of virtual machines that can be allocated to the first host and the second host is the same;
the method further comprises the following steps:
and distributing the actual number of the virtual machines to the first host machine and the second host machine according to the descending order of the unused time.
7. An apparatus for scheduling cloud computing resources, the apparatus comprising:
the screening unit is used for screening the resource pool groups GRU according to a first screening condition to obtain a first resource pool group GRU set;
a first determining unit, configured to determine, according to the remaining resource quantity of each resource pool GRU in the first resource pool GRU set, a maximum virtual machine quantity that can be allocated to each resource pool GRU;
the sorting unit is used for sorting the GRUs of the resource pool groups in a descending order according to the number of the maximum virtual machines capable of being distributed;
and the second determining unit is used for determining the resource pool GRU positioned at the first position in the sequence as the resource of the user for cloud computing.
8. The apparatus of claim 7, wherein the first screening condition comprises a first sub-screening condition and a second sub-screening condition; the first sub-screening conditions at least comprise disaster recovery levels, the number and network areas of the virtual machines required by cloud computing; the second sub-screening condition is that the number of the residual internet protocol IP addresses of the GRUs in the first resource pool group is larger than the required IP number of the virtual machines required by the cloud computing;
the screening unit is specifically configured to:
and sequentially screening a plurality of resource pool groups GRU according to the first sub-screening condition and the second sub-screening condition to obtain a first resource pool group GRU set.
9. The apparatus of claim 7, wherein the remaining resources comprise a Central Processing Unit (CPU), a memory, and a storage space; each resource pool group GRU comprises a plurality of minimum resource pool units RU;
the first determining unit is specifically configured to:
determining the maximum virtual machine number capable of being allocated by each minimum resource pool unit RU according to the residual CPU number, the residual memory number and the residual storage space number of each minimum resource pool unit RU in each resource pool group GRU;
and determining the maximum virtual machine number capable of being allocated to each resource pool group GRU according to the maximum virtual machine number capable of being allocated to each minimum resource pool unit RU in each resource pool group GRU.
10. The apparatus of claim 9, further comprising:
and the judging unit is used for judging whether the maximum number of the virtual machines which can be allocated by each resource pool group GRU is smaller than the number of the virtual machines required by the user for cloud computing, if so, continuing the subsequent steps, and if not, deleting the resource pool groups GRU which are smaller than the number of the virtual machines required by the user for cloud computing in the first resource pool group GRU set.
CN202210326369.6A 2022-03-30 2022-03-30 Scheduling method and device of cloud computing resources Pending CN114741190A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210326369.6A CN114741190A (en) 2022-03-30 2022-03-30 Scheduling method and device of cloud computing resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210326369.6A CN114741190A (en) 2022-03-30 2022-03-30 Scheduling method and device of cloud computing resources

Publications (1)

Publication Number Publication Date
CN114741190A true CN114741190A (en) 2022-07-12

Family

ID=82279276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210326369.6A Pending CN114741190A (en) 2022-03-30 2022-03-30 Scheduling method and device of cloud computing resources

Country Status (1)

Country Link
CN (1) CN114741190A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115567537A (en) * 2022-09-20 2023-01-03 中国联合网络通信集团有限公司 Resource scheduling method and equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115567537A (en) * 2022-09-20 2023-01-03 中国联合网络通信集团有限公司 Resource scheduling method and equipment

Similar Documents

Publication Publication Date Title
Abbas et al. Streaming graph partitioning: an experimental study
CN109783237B (en) Resource allocation method and device
Mondal et al. Managing large dynamic graphs efficiently
JP4304535B2 (en) Information processing apparatus, program, modular system operation management system, and component selection method
US8631410B2 (en) Scheduling jobs in a cluster having multiple computing nodes by constructing multiple sub-cluster based on entry and exit rules
CN104050042B (en) The resource allocation methods and device of ETL operations
CN109582433A (en) A kind of resource regulating method, device, cloud computing system and storage medium
CN106033373A (en) A method and a system for scheduling virtual machine resources in a cloud computing platform
CN111309440B (en) Method and equipment for managing and scheduling multiple types of GPUs
CN106095531B (en) A kind of dispatching method of virtual machine loaded based on grade and physical machine in cloud platform
Litoiu A performance analysis method for autonomic computing systems
Ma et al. Dependency-aware data locality for MapReduce
Liu et al. Towards intelligent data placement for scientific workflows in collaborative cloud environment
Deng et al. A data and task co-scheduling algorithm for scientific cloud workflows
CN111857977B (en) Elastic expansion method, device, server and storage medium
CN114741190A (en) Scheduling method and device of cloud computing resources
CN113240037B (en) Target area determination method, device, equipment and storage medium
US9280387B2 (en) Systems and methods for assigning code lines to clusters with storage and other constraints
Nivetha et al. Modeling fuzzy based replication strategy to improve data availabiity in cloud datacenter
Kinger et al. Priority-aware resource allocation algorithm for cloud computing
CN115604269A (en) Load balancing method and device of server, electronic equipment and storage medium
Meddeber et al. Dependent tasks assignment and data consistency management for grid computing
CN109558214B (en) Host machine resource management method and device in heterogeneous environment and storage medium
Al-Yatama et al. Memory allocation algorithm for cloud services
Rampersaud et al. An approximation algorithm for sharing-aware virtual machine revenue maximization

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