CN108521446B - Scheduling method, device and equipment of cloud computing resources and storage medium - Google Patents

Scheduling method, device and equipment of cloud computing resources and storage medium Download PDF

Info

Publication number
CN108521446B
CN108521446B CN201810230196.1A CN201810230196A CN108521446B CN 108521446 B CN108521446 B CN 108521446B CN 201810230196 A CN201810230196 A CN 201810230196A CN 108521446 B CN108521446 B CN 108521446B
Authority
CN
China
Prior art keywords
coding
population
cloud computing
information base
code
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
CN201810230196.1A
Other languages
Chinese (zh)
Other versions
CN108521446A (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.)
Shenzhen University
Original Assignee
Shenzhen 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 Shenzhen University filed Critical Shenzhen University
Priority to CN201810230196.1A priority Critical patent/CN108521446B/en
Publication of CN108521446A publication Critical patent/CN108521446A/en
Application granted granted Critical
Publication of CN108521446B publication Critical patent/CN108521446B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Abstract

The invention is applicable to the technical field of cloud computing, and provides a method, a device, equipment and a storage medium for scheduling cloud computing resources, wherein the method comprises the following steps: generating a coding population of a cloud computing environment according to the number of hosts and virtual machines and a group coding strategy, evolving the coding population, storing the coding population after each evolution in a historical information base, generating a next generation coding population according to the historical information base when the cloud computing environment dynamically changes, skipping to the step of evolving the coding population, otherwise directly obtaining an optimal coding individual after the evolution, decoding the optimal coding individual, judging whether a decoding result meets a constraint condition or not according to resource information of the hosts and the virtual machines, and scheduling resources of cloud computing resources according to the decoding result when the decoding result meets the constraint condition, so that the convergence speed of a cloud computing resource scheduling algorithm and the representativeness of the coding population are improved, the computing intensity is low, and the scheduling efficiency of the cloud computing resources is improved.

Description

Scheduling method, device and equipment of cloud computing resources and storage medium
Technical Field
The invention belongs to the technical field of cloud computing, and particularly relates to a method, a device, equipment and a storage medium for scheduling cloud computing resources.
Background
With the expansion of the network scale of the internet, the traffic of the internet which needs to be processed rapidly increases, and how to process mass data and services provides convenient and fast network services for users becomes a problem in the current development of the internet. In this context, based on the development of distributed computing, and in particular network technologies, a new service computing model is generated: and (4) cloud computing.
Cloud computing resource scheduling is a main research direction of cloud computing, and in the aspect of cloud computing resource scheduling, a main method is to dynamically optimize and allocate physical resources for virtual resources (namely, dynamically optimize and allocate host machines for virtual machines) so as to reduce physical resources required by cloud computing and improve system resource rate. At present, cloud computing resource scheduling can be realized through a genetic algorithm, an ant colony algorithm and the like, but the algorithms have low convergence speed, large calculation amount and weak representativeness of the calculated solution.
Disclosure of Invention
The invention aims to provide a scheduling method, a scheduling device and a scheduling storage medium of cloud computing resources, and aims to solve the problem that in the prior art, the algorithm of the scheduling method of the cloud computing resources is low in convergence speed, large in calculation amount and poor in representativeness of a calculated solution, so that the scheduling efficiency of the cloud computing resources is poor.
In one aspect, the present invention provides a method for scheduling cloud computing resources, including the following steps:
when a cloud computing resource scheduling request input by a user is received, the number of host machines and virtual machines and resource information in a cloud computing environment are obtained;
coding the cloud computing environment according to the number of the host machines, the number of the virtual machines and a preset group coding strategy to generate a coding population;
evolving the code population through a preset evolutionary algorithm, and storing the code population after each evolution in a pre-constructed historical information base;
detecting whether the cloud computing environment is dynamically changed;
when the cloud computing environment dynamically changes, generating a next generation coding population according to the historical information base, and jumping to a step of evolving the coding population through a preset evolutionary algorithm, otherwise, obtaining an optimal coding individual after evolution;
decoding the optimal coding individual to obtain a decoding result, and judging whether the decoding result meets a preset constraint condition or not according to the resource information of the host machine and the resource information of the virtual machine;
and when the decoding result meets the constraint condition, performing resource scheduling on the cloud computing environment according to the decoding result.
In another aspect, the present invention provides an apparatus for scheduling cloud computing resources, where the apparatus includes:
the information acquisition unit is used for acquiring the number of hosts and virtual machines and resource information in the cloud computing environment when receiving a cloud computing resource scheduling request input by a user;
the group coding unit is used for coding the cloud computing environment according to the number of the host machines, the number of the virtual machines and a preset group coding strategy to generate a coding population;
the population evolution unit is used for evolving the code population through a preset evolution algorithm and storing the code population after each evolution in a pre-constructed historical information base;
the change detection unit is used for detecting whether the cloud computing environment is dynamically changed;
the dynamic processing unit is used for generating a next generation code population according to the historical information base when the cloud computing environment is dynamically changed, and triggering the population evolution unit to execute a step of evolving the code population through a preset evolution algorithm, otherwise, obtaining an optimal code individual after evolution;
the individual decoding unit is used for decoding the optimal coding individual to obtain a decoding result, and judging whether the decoding result meets a preset constraint condition or not according to the resource information of the host machine and the resource information of the virtual machine; and
and the resource scheduling unit is used for scheduling the resources of the cloud computing environment according to the decoding result when the decoding result meets the constraint condition.
In another aspect, the present invention further provides a cloud computing device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the steps of the scheduling method for cloud computing resources as described above when executing the computer program.
In another aspect, the present invention further provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the computer program implements the steps of the scheduling method for cloud computing resources.
The method generates the coding population of the cloud computing environment through a group coding strategy, evolves the coding population, stores the coding population after each evolution in a historical information base, generates the next generation coding population according to the historical information base when the cloud computing environment dynamically changes, increases the diversity of the population, accelerates the convergence of an evolutionary algorithm, and continuously jumps to the step of evolving the coding population, otherwise, directly obtains the optimized coding individual after evolution, and performs resource scheduling on the cloud computing environment according to a decoding result when the decoding result of the optimized coding individual meets a constraint condition, so that the convergence speed of a cloud computing resource scheduling algorithm and the representativeness of the coding population are improved, the computing intensity is low, and the scheduling efficiency of cloud computing resources is improved.
Drawings
Fig. 1 is a flowchart illustrating an implementation of a scheduling method for cloud computing resources according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a scheduling apparatus for cloud computing resources according to a second embodiment of the present invention;
fig. 3 is a schematic structural diagram of a scheduling apparatus of cloud computing resources according to a second embodiment of the present invention; and
fig. 4 is a schematic structural diagram of a cloud computing device according to a third embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The following detailed description of specific implementations of the present invention is provided in conjunction with specific embodiments:
the first embodiment is as follows:
fig. 1 shows an implementation flow of a scheduling method for cloud computing resources according to a first embodiment of the present invention, and for convenience of description, only parts related to the first embodiment of the present invention are shown, which are detailed as follows:
in step S101, when a cloud computing resource scheduling request input by a user is received, the number of hosts and virtual machines and resource information in the cloud computing environment are acquired.
In the embodiment of the invention, when a request for scheduling cloud computing resources input by a user is received, the number of hosts, the resource information of the hosts, the number of virtual machines and the resource information of the virtual machines are acquired from the cloud computing environment, so that the cloud computing environment is encoded according to the data information. The resource information of the host machine may include a CPU, a memory, and a physical storage of the host machine, and the resource information of the virtual machine may include a CPU, a memory, and a physical storage of the virtual machine.
In step S102, the cloud computing environment is encoded according to the number of hosts, the number of virtual machines, and a preset group encoding policy, so as to generate an encoding population.
In the embodiment of the present invention, the group coding policy refers to that the virtual machines hosted (or located) on the same host machine are called a group, the same group is represented by the same number, and different host machines correspond to different numbers. Assuming that the cloud computing environment is composed of M virtual machines and N physical machines, an integer array with an array length of M may be used to represent a scheduling condition of the cloud computing resource, where a subscript of the integer array is a reference number of the virtual machine, and an array value of the integer array is a number of the array machine.
Preferably, the process of encoding the cloud computing environment according to the number of hosts, the number of virtual machines, and a preset group encoding policy is implemented by the following steps:
(1) and constructing an integer array with the number of the virtual machines, and performing random assignment on the integer array according to the number of the host machines to generate a coding individual of the cloud computing environment.
In the embodiment of the invention, an integer array with the array length being the number of virtual machines is constructed, the assignment range of the integer array is determined according to the number of host machines, the array positions of the number of host machines are randomly selected from the integer array, and the array value at each array position in the integer array is randomly assigned according to the assignment range, wherein the randomly selected array values at the array positions of the number of host machines are different. For example, when the number of hosts is N, N array positions are randomly selected from the integer array, the assignment range of the integer array is determined to be 0-N-1, different values of 0-N-1 are assigned to the randomly selected N array positions, and any value of 0-N-1 is assigned to the rest positions of the integer array, so that the coding individuals obtained by coding the cloud computing environment correspond to the corresponding relations between the virtual machines and the hosts one by one, when the value of any position in the coding individuals changes, the host corresponding to the virtual machine at the position also changes, and the coding of the cloud computing environment meets the non-redundancy property.
(2) And judging whether the number of the coding individuals reaches a preset number threshold value.
In the embodiment of the invention, the integer array is constructed once and assigned, so that one coding individual can be obtained, and the step (1) is executed for multiple times, so that a plurality of different coding individuals can be obtained. And (3) judging whether the number of the coding individuals reaches a preset number threshold value, if so, executing the step (3), otherwise, skipping to the step (1) to continue coding the cloud computing environment.
(3) When the number of the coding individuals reaches a number threshold value, the coding population is formed by all the coding individuals.
In the embodiment of the invention, the code population is formed by a threshold number of code individuals, so that the population evolution can be carried out subsequently.
In step S103, the code population is evolved through a preset evolutionary algorithm, and the code population after each evolution is stored in a pre-constructed historical information base.
In the embodiment of the invention, the scale of the historical information base is preset, the coding population is evolved through a preset evolution algorithm (such as a genetic algorithm), and the coding population in the evolution process is stored in the historical information base. Illustratively, when the size of the historical information base is 2 code populations (that is, only two code populations can be stored), the historical information base is updated in real time according to the evolution process, and the currently evolved code population and the previous generation code population of the code population can be stored in the historical information base.
In step S104, it is detected whether a dynamic change occurs in the cloud computing environment.
In the embodiment of the invention, the cloud computing environment can be considered to be dynamically changed by detecting that the requirement of the user on the resource is changed. And executing step S105 when the cloud computing environment is dynamically changed, otherwise executing step S106.
In step S105, a next generation code population is generated according to the history information base, and the process jumps to step S103 to evolve the code population through a preset evolution algorithm.
In the embodiment of the invention, when the cloud computing environment dynamically changes, the coding population can be changed according to the historical information base so as to increase the diversity of the coding population in the evolution process. Specifically, population prediction is performed according to the coding population stored in the historical information base to generate a prediction coding population, the prediction coding population is combined with the coding population of the latest generation stored in the historical information base to generate a next generation coding population, and the step S103 is skipped, so that the diversity of the coding population is increased by predicting the evolution direction of the coding population, and the convergence of the evolution algorithm is accelerated based on the historical information carried by the coding population in the historical information base. When the cloud computing environment is not dynamically changed, step S106 is executed.
Preferably, when population prediction is performed according to the coding population stored in the historical information base, the prediction coding population is obtained through calculation by a preset exponential smoothing method and all the coding populations in the historical information base, and the accuracy of predicting the evolution direction of the coding population is effectively improved. Further preferably, in order to adapt to the cloud computing environment, when a value exceeding N-1(N is the number of hosts) exists in the coding individuals in the calculated prediction coding population through an exponential smoothing method and all the coding populations in the historical information base, the value is set to be N-1.
Preferably, when the prediction code population and the code population of the last generation stored in the history information base are combined to generate the code species population of the next generation, half of the number of good code individuals are selected from the prediction code population, half of the number of good code individuals are selected from the code population of the last generation in the history information base, and the half of the number of good code individuals in the prediction code population and the half of the number of good code individuals in the code population of the last generation in the history information base form the code population of the next generation, so that the convergence of the evolutionary algorithm is effectively accelerated. In addition, when the number of the code population stored in the history information base is one, the code population in the history information base is directly set as the next generation code population.
Preferably, after the next-generation coding population is obtained, when the number of coding individuals in the next-generation coding population does not reach the number threshold, new coding individuals are continuously generated in a group coding mode, and the newly generated coding individuals are added into the next-point coding population, so that the integrity of the coding population is ensured.
In step S106, the optimized encoding individual after evolution is obtained.
In the embodiment of the invention, when the cloud computing environment is not changed, the optimal coding individual is obtained through calculation by the coding population obtained through the final evolution.
In step S107, the optimal encoding individuals are decoded to obtain decoding results, and whether the decoding results meet the preset constraint conditions is determined according to the resource information of the host and the resource information of the virtual machine.
In the embodiment of the present invention, according to the value on the optimal coding individual and the array position corresponding to the value, the distribution of the virtual machine on the host is determined, that is, the corresponding relationship between the virtual machine and the host is determined, so as to decode the optimal coding individual, for example, when the optimal coding individual is {3,3,1,2,0,1,2,3}, the decoding result is VM0、VM1、VM7Parasitic on PM3Upper, VM2、VM5Parasitic on PM1Upper, VM4Parasitic on PM0In the above, VM denotes a virtual machine, and PM denotes a host machine.
Preferably, after the decoding result is obtained, the CPU resource sum, the memory resource sum and the physical storage resource sum of all the virtual machines located on the host machine in the decoding result can be calculated according to the resource information of the host machine and the virtual machines, and whether the CPU resource sum, the memory resource sum and the physical storage resource sum of the virtual machines in the decoding result exceed the CPU resource, the memory resource and the physical storage resource of the host machine where the virtual machines are located is judged, if yes, the optimal coding individual does not satisfy the constraint condition, otherwise, the optimal coding individual satisfies the constraint condition, so that the validity of coding the cloud computing environment is effectively ensured.
In step S108, when the decoding result meets the constraint condition, performing resource scheduling on the cloud computing environment according to the decoding result.
In the embodiment of the invention, when the decoding result meets the constraint condition, a host is allocated to the virtual machine in the cloud computing environment according to the decoding result.
In the embodiment of the invention, the coding population of the cloud computing environment is generated through a group coding strategy, the coding population is evolved, the coding population after each evolution is stored in a historical information base, when the cloud computing environment is dynamically changed, the next generation coding population is generated according to the historical information base so as to increase the diversity of the population, accelerate the convergence of the evolutionary algorithm and continue to jump to the step of evolving the coding population, otherwise, the optimal coding individual after evolution is directly obtained, and when the decoding result of the optimal coding individual meets the constraint condition, the resource scheduling is carried out on the cloud computing environment according to the decoding result, so that the convergence speed of the cloud computing resource scheduling algorithm and the representativeness of the coding population are improved, the computing intensity is low, and the scheduling efficiency of the cloud computing resource is improved.
Example two:
fig. 2 shows a structure of a scheduling apparatus for cloud computing resources according to a second embodiment of the present invention, and for convenience of description, only a part related to the second embodiment of the present invention is shown, where the structure includes:
the information obtaining unit 21 is configured to obtain the number of hosts and virtual machines and resource information in the cloud computing environment when a cloud computing resource scheduling request input by a user is received.
In the embodiment of the invention, when a request for scheduling cloud computing resources input by a user is received, the number of hosts, the resource information of the hosts, the number of virtual machines and the resource information of the virtual machines are acquired from the cloud computing environment, so that the cloud computing environment is encoded according to the data information.
The group encoding unit 22 is configured to encode the cloud computing environment according to the number of the host machines, the number of the virtual machines, and a preset group encoding policy, so as to generate an encoding population.
In the embodiment of the invention, an integer array with the array length being the number of virtual machines is constructed, the assignment range of the integer array is determined according to the number of host machines, the array positions of the number of host machines are randomly selected from the integer array, and the array value at each array position in the integer array is randomly assigned according to the assignment range, wherein the randomly selected array values at the array positions of the number of host machines are different. For example, when the number of hosts is N, N array positions are randomly selected from the integer array, the assignment range of the integer array is determined to be 0-N-1, different values of 0-N-1 are assigned to the randomly selected N array positions, and any value of 0-N-1 is assigned to the rest positions of the integer array.
In the embodiment of the invention, a coding individual can be obtained by constructing the integer array once and assigning values to the integer array. And when a plurality of different coding individuals are obtained, and when the number of the coding individuals reaches a preset number threshold value, all the coding individuals form a coding population.
And the population evolution unit 23 is configured to evolve the code population through a preset evolution algorithm, and store the code population after each evolution in a pre-constructed historical information base.
In the embodiment of the invention, the scale of the historical information base is preset, the coding population is evolved through a preset evolution algorithm, and the coding population in the evolution process is stored in the historical information base. Illustratively, when the size of the history information base is 2 encoding species, the history information base is updated in real time according to the evolution process.
And the change detection unit 24 is configured to detect whether the cloud computing environment changes dynamically.
In the embodiment of the invention, the cloud computing environment can be considered to be dynamically changed by detecting that the requirement of the user on the resource is changed.
And the dynamic processing unit 25 is configured to generate a next-generation code population according to the historical information base when the cloud computing environment dynamically changes, and trigger the population evolution unit 23 to perform a step of evolving the code population through a preset evolution algorithm, otherwise, obtain an optimal code individual after evolution.
In the embodiment of the invention, when the cloud computing environment dynamically changes, the coding population can be changed according to the historical information base so as to increase the diversity of the coding population in the evolution process. Specifically, population prediction is performed according to the coding population stored in the historical information base to generate a prediction coding population, the prediction coding population is combined with the coding population of the latest generation stored in the historical information base to generate a next generation coding population, and the population evolution unit 23 continues to evolve the coding population, so that the diversity of the coding population is increased by predicting the evolution direction of the coding population, and the convergence of the evolution algorithm is accelerated based on the historical information carried by the coding population in the historical information base. And when the cloud computing environment does not dynamically change, calculating to obtain the optimal coding individual through the coding population obtained by final evolution.
Preferably, when population prediction is performed according to the coding population stored in the historical information base, the prediction coding population is obtained through calculation by a preset exponential smoothing method and all the coding populations in the historical information base, and the accuracy of predicting the evolution direction of the coding population is effectively improved. Further preferably, in order to adapt to the cloud computing environment, when a value exceeding N-1(N is the number of hosts) exists in the coding individuals in the calculated prediction coding population through an exponential smoothing method and all the coding populations in the historical information base, the value is set to be N-1.
Preferably, after the next-generation coding population is obtained, when the number of coding individuals in the next-generation coding population does not reach the number threshold, new coding individuals are continuously generated in a group coding mode, and the newly generated coding individuals are added into the next-point coding population, so that the integrity of the coding population is ensured.
And the individual decoding unit 26 is configured to decode the optimal coding individual to obtain a decoding result, and determine whether the decoding result meets a preset constraint condition according to the resource information of the host and the resource information of the virtual machine.
In the embodiment of the invention, the distribution condition of the virtual machines on the host machine, namely the corresponding relation between the virtual machines and the host machine is determined according to the values on the optimal coding individual and the array positions corresponding to the values, so as to decode the optimal coding individual.
Preferably, after the decoding result is obtained, the CPU resource sum, the memory resource sum and the physical storage resource sum of all the virtual machines located on the host in the decoding result can be calculated according to the resource information of the host and the virtual machines, and whether the CPU resource sum, the memory resource sum and the physical storage resource sum of the virtual machines in the decoding result exceed the CPU resource, the memory resource and the physical storage resource of the host where the virtual machines are located is judged, if yes, the optimal coding individual does not satisfy the constraint condition, otherwise, the optimal coding individual satisfies the constraint condition, so that the validity of coding the cloud computing environment is effectively ensured
And the resource scheduling unit 27 is configured to perform resource scheduling on the cloud computing environment according to the decoding result when the decoding result meets the constraint condition.
In the embodiment of the invention, when the decoding result meets the constraint condition, a host is allocated to the virtual machine in the cloud computing environment according to the decoding result.
Preferably, as shown in fig. 3, the dynamic processing unit 25 includes:
the population prediction unit 351 is used for performing population prediction according to the coding population in the historical information base to generate a prediction coding population; and
a population combination unit 352, configured to combine the prediction coding population and the coding population of the latest generation in the history information base into a coding population of the next generation.
Preferably, the population prediction unit 351 includes:
and the index smoothing calculation unit is used for calculating to obtain a prediction coding population through a preset index smoothing method and the coding population in the historical information base.
Preferably, the population combining unit 352 includes:
the individual selecting unit is used for selecting half of the excellent coding individuals from the predictive coding population and selecting half of the excellent coding individuals from the coding population of the latest generation in the historical information base; and
and the next generation population generating unit is used for forming a next generation coding population by half of the excellent coding individuals in the prediction coding population and half of the excellent coding individuals in the coding population of the latest generation in the history information base.
In the embodiment of the invention, when the prediction coding population and the coding population of the latest generation stored in the historical information base are combined to generate the coding population of the next generation, half of the number of excellent coding individuals are selected from the prediction coding population, half of the number of excellent coding individuals are selected from the coding population of the latest generation in the historical information base, and the half of the number of excellent coding individuals in the prediction coding population and the half of the number of excellent coding individuals in the coding population of the latest generation in the historical information base form the coding population of the next generation, thereby effectively accelerating the convergence of the evolutionary algorithm. In addition, when the number of the code population stored in the history information base is one, the code population in the history information base is directly set as the next generation code population.
In the embodiment of the invention, the coding population of the cloud computing environment is generated through a group coding strategy, the coding population is evolved, the coding population after each evolution is stored in a historical information base, when the cloud computing environment is dynamically changed, the next generation coding population is generated according to the historical information base so as to increase the diversity of the population, accelerate the convergence of the evolutionary algorithm and continue to jump to the step of evolving the coding population, otherwise, the optimal coding individual after evolution is directly obtained, and when the decoding result of the optimal coding individual meets the constraint condition, the resource scheduling is carried out on the cloud computing environment according to the decoding result, so that the convergence speed of the cloud computing resource scheduling algorithm and the representativeness of the coding population are improved, the computing intensity is low, and the scheduling efficiency of the cloud computing resource is improved.
In the embodiment of the present invention, each unit of the scheduling apparatus for cloud computing resources may be implemented by a corresponding hardware or software unit, and each unit may be an independent software or hardware unit, or may be integrated into a software or hardware unit, which is not limited herein.
Example three:
fig. 4 shows a structure of a cloud computing device provided in the third embodiment of the present invention, and for convenience of explanation, only a part related to the third embodiment of the present invention is shown.
The cloud computing device 4 of the embodiment of the present invention includes a processor 40, a memory 41, and a computer program 42 stored in the memory 41 and executable on the processor 40. The processor 40, when executing the computer program 42, implements the steps of the above-described method embodiments, such as the steps S101 to S108 shown in fig. 1. Alternatively, the processor 40, when executing the computer program 42, implements the functionality of the units in the above-described apparatus embodiments, such as the functionality of the units 21 to 27 shown in fig. 2.
In the embodiment of the invention, the coding population of the cloud computing environment is generated through a group coding strategy, the coding population is evolved, the coding population after each evolution is stored in a historical information base, when the cloud computing environment is dynamically changed, the next generation coding population is generated according to the historical information base so as to increase the diversity of the population, accelerate the convergence of the evolutionary algorithm and continue to jump to the step of evolving the coding population, otherwise, the optimal coding individual after evolution is directly obtained, and when the decoding result of the optimal coding individual meets the constraint condition, the resource scheduling is carried out on the cloud computing environment according to the decoding result, so that the convergence speed of the cloud computing resource scheduling algorithm and the representativeness of the coding population are improved, the computing intensity is low, and the scheduling efficiency of the cloud computing resource is improved.
Example four:
in an embodiment of the present invention, a computer-readable storage medium is provided, which stores a computer program that, when executed by a processor, implements the steps in the above-described method embodiments, e.g., steps S101 to S108 shown in fig. 1. Alternatively, the computer program realizes the functions of the units in the above-described apparatus embodiments, such as the functions of the units 21 to 27 shown in fig. 2, when executed by the processor.
In the embodiment of the invention, the coding population of the cloud computing environment is generated through a group coding strategy, the coding population is evolved, the coding population after each evolution is stored in a historical information base, when the cloud computing environment is dynamically changed, the next generation coding population is generated according to the historical information base so as to increase the diversity of the population, accelerate the convergence of the evolutionary algorithm and continue to jump to the step of evolving the coding population, otherwise, the optimal coding individual after evolution is directly obtained, and when the decoding result of the optimal coding individual meets the constraint condition, the resource scheduling is carried out on the cloud computing environment according to the decoding result, so that the convergence speed of the cloud computing resource scheduling algorithm and the representativeness of the coding population are improved, the computing intensity is low, and the scheduling efficiency of the cloud computing resource is improved.
The computer readable storage medium of the embodiments of the present invention may include any entity or device capable of carrying computer program code, a recording medium, such as a ROM/RAM, a magnetic disk, an optical disk, a flash memory, or the like.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and improvements made within the spirit and principle of the present invention are intended to be included within the scope of the present invention.

Claims (9)

1. A scheduling method of cloud computing resources is characterized by comprising the following steps:
when a cloud computing resource scheduling request input by a user is received, the number of host machines and virtual machines and resource information in a cloud computing environment are obtained;
coding the cloud computing environment according to the number of the host machines, the number of the virtual machines and a preset group coding strategy to generate a coding population;
evolving the code population through a preset evolutionary algorithm, and storing the code population after each evolution in a pre-constructed historical information base;
detecting whether the cloud computing environment is dynamically changed;
when the cloud computing environment dynamically changes, generating a next generation coding population according to the historical information base, and jumping to a step of evolving the coding population through a preset evolutionary algorithm, otherwise, obtaining an optimal coding individual after evolution;
decoding the optimal coding individual to obtain a decoding result, and judging whether the decoding result meets a preset constraint condition or not according to the resource information of the host machine and the resource information of the virtual machine;
when the decoding result meets the constraint condition, performing resource scheduling on the cloud computing environment according to the decoding result;
according to the number of the host machines, the number of the virtual machines and a preset group coding strategy, coding the cloud computing environment to generate a coding population, wherein the coding population generating step comprises the following steps:
constructing an integer array with the number of the virtual machines, and performing random assignment on the integer array according to the number of the host machines to generate the coding individuals of the cloud computing environment;
judging whether the number of the coding individuals reaches a preset number threshold value or not;
and when the number of the coding individuals reaches the number threshold value, forming the coding population by all the coding individuals, otherwise, jumping to the step of constructing the integer array of the virtual machine number.
2. The method of claim 1, wherein the step of generating a next generation code population from the historical information base comprises:
performing population prediction according to the coding population in the historical information base to generate a prediction coding population;
and combining the prediction coding population and the coding population of the latest generation in the historical information base into the coding population of the next generation.
3. The method of claim 2, wherein the step of performing population prediction based on the code population in the historical information base to generate a predicted code population comprises:
calculating to obtain the prediction coding population through a preset exponential smoothing method and the coding population in the historical information base;
the step of combining the prediction code population and the code population of the latest generation in the history information base into the code population of the next generation includes:
selecting half of the excellent coding individuals from the prediction coding population, and selecting half of the excellent coding individuals from the coding population of the latest generation in the historical information base;
and forming the next generation coding population by half of the excellent coding individuals in the prediction coding population and half of the excellent coding individuals in the coding population of the latest generation in the historical information base.
4. The method of claim 1, wherein the step of generating a next generation code population from the historical information base further comprises:
and when the number of the coding populations in the historical information base is one, setting the coding populations in the historical information base as the next generation coding populations.
5. An apparatus for scheduling cloud computing resources, the apparatus comprising:
the information acquisition unit is used for acquiring the number of hosts and virtual machines and resource information in the cloud computing environment when receiving a cloud computing resource scheduling request input by a user;
the group coding unit is used for coding the cloud computing environment according to the number of the host machines, the number of the virtual machines and a preset group coding strategy to generate a coding population;
the population evolution unit is used for evolving the code population through a preset evolution algorithm and storing the code population after each evolution in a pre-constructed historical information base;
the change detection unit is used for detecting whether the cloud computing environment is dynamically changed;
the dynamic processing unit is used for generating a next generation code population according to the historical information base when the cloud computing environment is dynamically changed, and triggering the population evolution unit to execute a step of evolving the code population through a preset evolution algorithm, otherwise, obtaining an optimal code individual after evolution;
the individual decoding unit is used for decoding the optimal coding individual to obtain a decoding result, and judging whether the decoding result meets a preset constraint condition or not according to the resource information of the host machine and the resource information of the virtual machine; and
the resource scheduling unit is used for scheduling the resources of the cloud computing environment according to the decoding result when the decoding result meets the constraint condition;
the group encoding unit encodes the cloud computing environment according to the number of the hosts, the number of the virtual machines and a preset group encoding strategy, and when generating an encoding seed group, the group encoding unit includes:
constructing an integer array with the number of the virtual machines, and performing random assignment on the integer array according to the number of the host machines to generate the coding individuals of the cloud computing environment;
judging whether the number of the coding individuals reaches a preset number threshold value or not;
and when the number of the coding individuals reaches the number threshold value, forming the coding population by all the coding individuals, otherwise, jumping to the step of constructing the integer array of the virtual machine number.
6. The apparatus of claim 5, wherein the dynamic processing unit comprises:
the population prediction unit is used for performing population prediction according to the coding population in the historical information base to generate a prediction coding population; and
and the population combination unit is used for combining the prediction coding population and the coding population of the latest generation in the historical information base into the coding population of the next generation.
7. The apparatus of claim 6, wherein the population prediction unit comprises:
the index smoothing calculation unit is used for calculating the prediction coding population through a preset index smoothing method and the coding population in the historical information base;
the population combination unit comprises:
the individual selecting unit is used for selecting half of the excellent coding individuals from the predictive coding population and selecting half of the excellent coding individuals from the coding population of the latest generation in the historical information base; and
and a next generation population generating unit configured to form the next generation code population from half the number of good code individuals in the prediction code population and half the number of good code individuals in the code population of the latest generation in the history information base.
8. Cloud computing device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any of claims 1 to 4 when executing the computer program.
9. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 4.
CN201810230196.1A 2018-03-20 2018-03-20 Scheduling method, device and equipment of cloud computing resources and storage medium Active CN108521446B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810230196.1A CN108521446B (en) 2018-03-20 2018-03-20 Scheduling method, device and equipment of cloud computing resources and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810230196.1A CN108521446B (en) 2018-03-20 2018-03-20 Scheduling method, device and equipment of cloud computing resources and storage medium

Publications (2)

Publication Number Publication Date
CN108521446A CN108521446A (en) 2018-09-11
CN108521446B true CN108521446B (en) 2021-02-23

Family

ID=63433857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810230196.1A Active CN108521446B (en) 2018-03-20 2018-03-20 Scheduling method, device and equipment of cloud computing resources and storage medium

Country Status (1)

Country Link
CN (1) CN108521446B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947551B (en) * 2019-03-19 2021-04-23 中南大学 Multi-turn task allocation method, edge computing system and storage medium thereof
CN113434267B (en) * 2021-05-25 2022-12-02 深圳大学 Cloud computing workflow dynamic scheduling method, device, equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516785A (en) * 2014-12-19 2015-04-15 上海电机学院 Cloud computing resource scheduling system and method
CN105843666A (en) * 2015-12-01 2016-08-10 武汉科技大学 Virtual machine placement method based on multi-objective optimization during cloud computing
CN106484512A (en) * 2016-10-08 2017-03-08 电子科技大学 The dispatching method of computing unit

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8020176B2 (en) * 2000-04-06 2011-09-13 Infineon Technologies Ag Virtual machine interface for hardware reconfigurable and software programmable processors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516785A (en) * 2014-12-19 2015-04-15 上海电机学院 Cloud computing resource scheduling system and method
CN105843666A (en) * 2015-12-01 2016-08-10 武汉科技大学 Virtual machine placement method based on multi-objective optimization during cloud computing
CN106484512A (en) * 2016-10-08 2017-03-08 电子科技大学 The dispatching method of computing unit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"A novel multi-objective evolutionary algorithm based on a further decomposition strategy";Songbai Liu etc.;《IEEE 2017 13th International Conference on CIS》;20180212;全文 *

Also Published As

Publication number Publication date
CN108521446A (en) 2018-09-11

Similar Documents

Publication Publication Date Title
Zhao et al. Offloading tasks with dependency and service caching in mobile edge computing
JP2020537231A (en) Cloud computing task assignment methods, devices, equipment and storage media
CN108173938B (en) Server load distribution method and device
KR101781339B1 (en) Method and device for updating client
CN108521446B (en) Scheduling method, device and equipment of cloud computing resources and storage medium
CN112953981A (en) Node selection method, block chain consensus method, device, system and equipment
CN110321217B (en) Multi-target cloud resource scheduling method, device, equipment and storage medium
KR20140007004A (en) Parallel generation of topics from documents
Fathi et al. Consolidating VMs in green cloud computing using harmony search algorithm
CN103595736B (en) Access request treating method and apparatus in video monitoring system
JP2020025210A (en) Resource allocation device and resource allocation method
CN106375382B (en) Method, system, control server and the node client of data distribution
CN111601328B (en) Mobile edge computing device and method
JP7107671B2 (en) Resource allocation device
CN115794358A (en) Cloud workflow task scheduling method and device, electronic equipment and storage medium
CN111294318A (en) IP address analysis method, device and storage medium for network attack
CN110062237B (en) Intra-frame coding mode selection method and device for video coding
CN110297704B (en) Particle swarm optimization method and system integrating reverse learning and heuristic perception
CN113760484A (en) Data processing method and device
TW201227510A (en) Confidence-based static analysis
CN112019630A (en) Load balancing method and device
CN107103236B (en) Network anti-virus index optimization method and device
US20190334895A1 (en) Forwarding a request to a radius server
CN115118732B (en) Dynamic weight-based consensus method for block chain enabled data sharing
Medhioub et al. Adaptive risk treatment for cloud computing based on Markovian game

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