CN112732402B - Cloud computing center resource scheduling method, device and equipment - Google Patents

Cloud computing center resource scheduling method, device and equipment Download PDF

Info

Publication number
CN112732402B
CN112732402B CN202011609283.1A CN202011609283A CN112732402B CN 112732402 B CN112732402 B CN 112732402B CN 202011609283 A CN202011609283 A CN 202011609283A CN 112732402 B CN112732402 B CN 112732402B
Authority
CN
China
Prior art keywords
dimensional vector
temporary
cloud
random walk
walk
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
CN202011609283.1A
Other languages
Chinese (zh)
Other versions
CN112732402A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202011609283.1A priority Critical patent/CN112732402B/en
Publication of CN112732402A publication Critical patent/CN112732402A/en
Application granted granted Critical
Publication of CN112732402B publication Critical patent/CN112732402B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • 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
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The embodiment of the invention provides a resource scheduling method, device and equipment for a cloud computing center, which are used for acquiring a virtual machine information set, a cloud task information set to be distributed, the total number of virtual machines reflected by the virtual machine information set, the total number of cloud tasks reflected by the cloud task information set to be distributed, the step length of each random walk, the number of iterations of a preset random walk and the number of temporary walk iterations of each random walk; encapsulating the total execution time and the total energy consumption required by the execution of the cloud tasks represented by the cloud task information sets to be distributed into a fitness function by using a preset scheduling algorithm, and acquiring a solution when the fitness function is minimized by using a preset random walk; solving the following migration results of the preset random migration: an n-dimensional vector; and allocating the cloud tasks represented by the cloud task information sets to be allocated to the virtual machines represented by the virtual machine information sets by using the n-dimensional vectors as an allocation scheme. According to the scheme, the execution time and the resource consumption of resource scheduling of the cloud computing center can be reduced.

Description

Cloud computing center resource scheduling method, device and equipment
Technical Field
The invention relates to the technical field of cloud computing, in particular to a resource scheduling method, device and equipment for a cloud computing center.
Background
In order to cope with high traffic caused by rapid development of the internet, a cloud computing center for processing traffic often takes the form of a server cluster. In the cloud computing center, a plurality of servers are connected through network equipment to form a server cluster, each server serves as a host and is provided with a virtual machine, and the virtual machine is a resource of the cloud computing center and provides network service.
In the related art, a dynamic scheduling algorithm is generally adopted as a resource scheduling policy. Specifically, the dynamic adjustment algorithm may determine the target virtual machine based on information of a cloud task of the cloud computing center and information of a virtual machine load, distribute the cloud task to the target virtual machine, and perform load balancing for migrating the task running on the virtual machine. The cloud task is a task executed by the cloud computing center for processing the service.
However, the dynamic scheduling algorithm is usually an artificial intelligence algorithm such as an ant colony algorithm, a particle swarm algorithm, and the like, and the local optimal solution is easily determined as the target virtual machine. For example, the ant colony algorithm is calculated according to a pheromone emission rule, and the particle swarm algorithm follows the current optimal particle to seek the optimal solution, so that the optimal solution is easily sought around the emitted pheromone or around the current optimal particle, and the obtained optimal solution, namely the target virtual machine, is the local optimal solution. After the tasks are distributed to the target virtual machines, load imbalance easily occurs due to the fact that the target virtual machines are locally optimal solutions, and therefore task migration related to load balancing needs to be performed for multiple times, and execution time of resource scheduling of the cloud computing center and resource consumption are increased.
Disclosure of Invention
The embodiment of the invention aims to provide a method, a device and equipment for scheduling resources of a cloud computing center, so as to achieve the effect of reducing the execution time and resource consumption of resource scheduling of the cloud computing center. The specific technical scheme is as follows:
in a first aspect, an embodiment of the present invention provides a method for scheduling resources in a cloud computing center, where the method includes:
acquiring a virtual machine information set of a cloud computing center, a cloud task information set to be distributed, the total number of virtual machines reflected by the virtual machine information set, the total number of cloud tasks reflected by the cloud task information set to be distributed, the step length of each random walk, the number of iterations of the random walk and the number of temporary walk iterations of each random walk;
inputting the total number of the virtual machines, the total number of the cloud tasks, the step length of each random walk, the iteration number of the random walks and the temporary walk iteration number of each random walk into a preset scheduling algorithm, so that the preset scheduling algorithm packages the total execution time and the total energy consumption required by the execution of the cloud tasks represented by the cloud task information set to be distributed into a fitness function, and obtains a solution when the fitness function is minimized by using the preset random walk; the solution is a migration result of the preset random migration: an n-dimensional vector; the n-dimensional vector comprises the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set; the n is the total number of the cloud tasks;
distributing the cloud tasks represented by the cloud task information set to be distributed to the virtual machines represented by the virtual machine information set by taking the n-dimensional vector as a distribution scheme;
wherein, in the preset random walk, the process of walking from the current n-dimensional vector to the next n-dimensional vector comprises: generating temporary n-dimensional vectors of the temporary walking iteration times, and performing the following processing on each temporary n-dimensional vector: performing z-score processing, performing scaling transformation on an obtained processing result to enable the range of elements of each dimension in a vector after scaling transformation to be (-m, m), acquiring an initial value of the next n-dimensional vector according to the step length of random walk each time based on the vector after scaling transformation and the current n-dimensional vector, and performing absolute value taking and modulus taking processing on the initial value of the next n-dimensional vector to obtain a temporary next n-dimensional vector; determining an optimal vector of the plurality of temporary next n-dimensional vectors as the next n-dimensional vector based on the temporary walk iteration numbers of the temporary next n-dimensional vectors and the fitness function; and m is the total number of the virtual machines.
In a second aspect, an embodiment of the present invention provides a cloud computing center resource scheduling apparatus, where the apparatus includes:
the data acquisition module is used for acquiring a virtual machine information set of the cloud computing center and a cloud task information set to be distributed, wherein the virtual machine information set reflects the total number of virtual machines, the cloud task information set to be distributed reflects the total number of cloud tasks, the step length of each random walk, and the iteration number of the random walk and the temporary walk iteration number of each random walk are preset;
an optimal solution obtaining module, configured to input a preset scheduling algorithm to the total number of the virtual machines, the total number of the cloud tasks, the step length of each random walk, the number of iterations of the random walks, and the number of iterations of the temporary walks of each random walk, so that the preset scheduling algorithm encapsulates, as a fitness function, total execution time of the cloud tasks represented by the cloud task information set to be allocated and total energy consumption required for execution, and obtains a solution when the fitness function is minimized by using the preset random walk; the solution is a migration result of the preset random migration: an n-dimensional vector; the n-dimensional vector comprises the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set; the n is the total number of the cloud tasks;
the task allocation module is used for allocating the cloud tasks represented by the cloud task information sets to be allocated to the virtual machines represented by the virtual machine information sets by taking the n-dimensional vectors as an allocation scheme;
wherein, in the preset random walk, the process of walking from the current n-dimensional vector to the next n-dimensional vector comprises: generating temporary n-dimensional vectors of the temporary walking iteration times, and performing the following processing for each temporary n-dimensional vector: performing z-score processing, performing scaling transformation on an obtained processing result to enable the range of elements of each dimension in a vector after scaling transformation to be (-m, m), acquiring an initial value of the next n-dimensional vector according to the step length of random walk each time based on the vector after scaling transformation and the current n-dimensional vector, and performing absolute value taking and modulus taking processing on the initial value of the next n-dimensional vector to obtain a temporary next n-dimensional vector; determining an optimal vector of the plurality of temporary next n-dimensional vectors as the next n-dimensional vector based on the temporary walk iteration numbers of the temporary next n-dimensional vectors and the fitness function; and m is the total number of the virtual machines.
In a third aspect, an embodiment of the present invention provides an electronic device, including a processor, a communication interface, a memory, and a communication bus, where the processor and the communication interface complete communication between the memory and the processor through the communication bus; a memory for storing a computer program; the processor is configured to implement the steps of the cloud computing center resource scheduling method according to the first aspect when executing the program stored in the memory.
The embodiment of the invention has the following beneficial effects:
in the scheme provided by the embodiment of the invention, the preset scheduling algorithm packages the total execution time of the cloud tasks represented by the cloud task information set to be distributed as the fitness function, and the solution when the fitness function is minimized is obtained by using the preset random walk. In the preset random walk, the process of walking from the current randomly generated n-dimensional vector to the next n-dimensional vector includes: a temporary n-dimensional vector is generated for the number of temporary walk iterations, rather than just one n-dimensional vector. And, z-score processing is carried out on each temporary n-dimensional vector, and the obtained processing result is subjected to scaling transformation, so that the range of elements of each dimension in the vector after scaling transformation is (-m, m), and the wandering range can be expanded. On the basis, based on the vector after the expansion transformation and the current n-dimensional vector, obtaining an initial value of a next n-dimensional vector according to the step length of random walk each time, performing absolute value taking and modulus taking on the initial value of the next n-dimensional vector to obtain a temporary next n-dimensional vector, determining an optimal vector in a plurality of temporary next n-dimensional vectors based on the temporary walk iteration and a fitness function, wherein the optimal vector is used as the next n-dimensional vector, elements of each dimension in the obtained next n-dimensional vector can be ensured to correspond to a virtual machine number, and the n-dimensional vector generated by the random walk is ensured to comprise the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set. Therefore, random walk is prevented from falling into a local optimal solution through the increase of the number of vectors and the expansion of the vector range in the walking process, and the solution when the fitness function is minimized is guaranteed to be a global optimal solution rather than a local optimal solution. Therefore, compared with the method that calculation is carried out according to the emission pheromone rule and the optimal solution is sought after following the current optimal particles, multiple task migration related to load balancing caused by the fact that the obtained optimal solution is the local optimal solution can be avoided, and the effects of reducing the execution time of resource scheduling in the cloud computing center and reducing resource consumption are achieved.
Of course, not all of the advantages described above need to be achieved at the same time in the practice of any one product or method of the invention.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other embodiments can be obtained by using the drawings without creative efforts.
Fig. 1 is a schematic flowchart of a resource scheduling method of a cloud computing center according to an embodiment of the present invention;
fig. 2 is an exemplary diagram of an application scenario of a cloud computing center resource scheduling method according to another embodiment of the present invention;
fig. 3 is a schematic structural diagram of a cloud computing center resource scheduling apparatus according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The resource scheduling method for the cloud computing center provided by the embodiment of the invention can be applied to load balancing equipment, a management server and other electronic equipment for resource scheduling of the cloud computing center. In particular applications, the electronic device may include a desktop computer, a portable computer, a server, and the like.
As shown in fig. 1, a cloud computing center resource scheduling method provided in an embodiment of the present invention includes the following steps:
s101, acquiring a virtual machine information set, a cloud task information set to be distributed, a total number of virtual machines reflected by the virtual machine information set, a total number of cloud tasks reflected by the cloud task information set to be distributed, a step length of each random walk, and preset iteration times of the random walks and temporary walk iteration times of each random walk.
In specific application, each piece of cloud task information in the cloud task information set mainly comprises information such as a cloud task number and a cloud task length, and each piece of virtual machine information in the virtual machine information set comprises information such as a virtual machine number and a computing speed of a virtual machine.
S102, inputting the total number of the virtual machines, the total number of the cloud tasks, the step length of each random walk, the iteration number of the random walks and the temporary walk iteration number of each random walk into a preset scheduling algorithm, so that the preset scheduling algorithm packages the total execution time of the cloud tasks represented by the cloud task information set to be distributed and the total energy consumption required by the execution into a fitness function, and the preset random walk is used for obtaining a solution when the fitness function is minimized.
Wherein the solution is a migration result of the preset random migration: an n-dimensional vector. The n-dimensional vector comprises the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set; and n is the total number of cloud tasks.
In the preset random walk, the process of walking from the current n-dimensional vector to the next n-dimensional vector comprises the following steps: generating temporary n-dimensional vectors of the temporary walking iteration times, and aiming at each temporary n-dimensional vector, performing the following processing: performing z-score processing, performing scaling transformation on an obtained processing result to enable the range of elements of each dimension in a vector after scaling transformation to be (-m, m), acquiring an initial value of a next n-dimensional vector according to a step length of random walk each time based on the vector after scaling transformation and the current n-dimensional vector, and performing absolute value taking and modulus taking processing on the initial value of the next n-dimensional vector to obtain a temporary next n-dimensional vector; determining an optimal vector in the plurality of temporary next n-dimensional vectors as a next n-dimensional vector based on the plurality of temporary next n-dimensional vectors of the temporary walking iteration and the fitness function; and m is the total number of the virtual machines.
In specific application, random walk (random walk) is also called random walk or random walk, and the core is that conservation quantities carried by any irregular walker correspond to a diffusion transport law respectively, are close to brownian motion, and are ideal mathematical states of brownian motion. In addition, the random walk is improved by generating temporary n-dimensional vectors of the number of temporary walk iterations and performing expansion transformation and other processing, so that the risk of falling into local optimum can be reduced, and a global optimum solution is obtained. For ease of understanding and reasonable layout, the specific process of obtaining the solution when the fitness function is minimized using the preset random walk will be described later in an alternative embodiment.
And S103, with the n-dimensional vector as an allocation scheme, allocating the cloud tasks represented by the cloud task information set to be allocated to the virtual machines represented by the virtual machine information set.
Illustratively, an n-dimensional vector X ═<x1,x2,x3,x4,...,xn>As a distribution scheme; wherein the jth element x in the n-dimensional vectorjI, assigning the jth cloud task to the ith virtual machine; and X is a vector representing the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set.
In the scheme provided by the embodiment of the invention, the preset scheduling algorithm packages the total execution time of the cloud tasks represented by the cloud task information set to be distributed as the fitness function, and the solution when the fitness function is minimized is obtained by using the preset random walk. In the preset random walk, the process of walking from the current randomly generated n-dimensional vector to the next n-dimensional vector includes: a temporary n-dimensional vector is generated for the number of temporary walk iterations, rather than just one n-dimensional vector. And, z-score processing is carried out on each temporary n-dimensional vector, and the obtained processing result is subjected to scaling transformation, so that the range of elements of each dimension in the vector after scaling transformation is (-m, m), and the wandering range can be expanded. On the basis, based on the vector after the expansion transformation and the current n-dimensional vector, obtaining an initial value of a next n-dimensional vector according to the step length of random walk each time, performing absolute value taking and modulus taking on the initial value of the next n-dimensional vector to obtain a temporary next n-dimensional vector, determining an optimal vector in a plurality of temporary next n-dimensional vectors based on the temporary walk iteration and a fitness function, wherein the optimal vector is used as the next n-dimensional vector, elements of each dimension in the obtained next n-dimensional vector can be ensured to correspond to a virtual machine number, and the n-dimensional vector generated by the random walk is ensured to comprise the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set. Therefore, random walk is prevented from falling into a local optimal solution through the increase of the number of vectors and the expansion of the vector range in the walking process, and the solution when the fitness function is minimized is guaranteed to be a global optimal solution rather than a local optimal solution. Therefore, compared with the method that calculation is carried out according to the emission pheromone rule and the optimal solution is sought after following the current optimal particles, multiple task migration related to load balancing caused by the fact that the obtained optimal solution is the local optimal solution can be avoided, and the effects of reducing the execution time of resource scheduling in the cloud computing center and reducing resource consumption are achieved.
In an alternative embodiment, the fitness function is:
f(x)=αFtime+βCost;
wherein, (x) is a fitness function, α and β are respectively preset weights, both are constants greater than 0 and smaller than 1, the sum of the two is 1, Ftime is the total execution time of the cloud task, and Cost is the total energy consumption required by the cloud task execution.
In a specific application, the energy consumption of all cloud hosts during task execution can be regarded as the power consumption of the cloud hosts during operation and the energy required for heat dissipation.
In an optional implementation manner, the total execution time of the cloud task is:
Figure BDA0002874237430000071
wherein the content of the first and second substances,
Figure BDA0002874237430000072
length for the execution time of the jth cloud task on the ith virtual machinejIs the length of the jth cloud task, MIPSiFor the CPU execution speed of the ith virtual machine, SiIs a cloud task set assigned to virtual machine i.
In an alternative embodiment, the total energy consumption required for the cloud task execution is as follows:
Figure BDA0002874237430000073
among them, CostrThe energy consumption of the R-th cloud host in unit time is shown, and R is the total number of the cloud hosts of the cloud computing center.
In an optional implementation manner, the obtaining the solution when the fitness function is minimized by using the preset random walk specifically includes the following steps:
randomly generating an n-dimensional vector X ═<x1,x2,x3,x4,...,xn>As an initial allocation scheme; wherein the jth element x in the n-dimensional vectorjI, assigning the jth cloud task to the ith virtual machine;
setting the current iteration number k to 1;
when k is less than or equal to N, making p equal to 0; wherein N is the iteration number of the preset random walk; p is the current temporary wandering frequency;
when p < iterNum, 1 element per dimension is randomly generated: vector uiRange belongs to the temporary n-dimension of (-1,1)Quantity U ═<u1,u2,u3,u4,...,un>(ii) a Wherein iterNum is the number of temporary walk iterations;
performing z-score processing on the temporary n-dimensional vector to obtain a standardized temporary n-dimensional vector;
performing telescopic transformation on the normalized temporary n-dimensional vector to enable the range of elements of each dimension in the normalized temporary n-dimensional vector to belong to (-m, m), and obtaining a telescopic temporary n-dimensional vector;
inputting the initial allocation scheme, the stretched temporary n-dimensional vector and the step length of random walk each time into a walk formula to obtain an initial value of the next n-dimensional vector; wherein the migration formula is X1=X+step*Uc;X1Is the initial value of the next n-dimensional vector, step is the step size of each random walk, UcThe temporary n-dimensional vector after expansion and contraction is obtained;
carrying out absolute value taking and modulus taking on the initial value of the next n-dimensional vector to enable the range of elements of each dimension in the next n-dimensional vector to belong to [0, m ], obtaining a temporary next n-dimensional vector, inputting the temporary next n-dimensional vector into a fitness function to obtain the fitness value of the distribution scheme of the temporary migration, and enabling p to be p + 1;
when p is more than or equal to iterNum, solving the corresponding solution of the minimum fitness value in the obtained iterNum fitness values: taking the temporary next n-dimensional vector as the wandering result of the random wandering: the next n-dimensional vector;
and if the wandering result of the current wandering is smaller than the fitness value of the initial distribution scheme, updating the initial distribution scheme to the wandering result of the current wandering, and returning to execute the current iteration time k to be 1, otherwise, making k to be k +1, and returning to execute the current iteration time k to be 0 when k is less than or equal to N.
In a specific application, the minimum fitness value among the obtained iernum fitness values is the fitness value with the minimum total execution time and total energy consumption corresponding to the obtained iernum fitness values. Therefore, the solution corresponding to the minimum fitness value among the obtained iterNum fitness values: the n-dimensional vector is used as a walking result of the random walk, namely the optimal solution in the solutions corresponding to the iterNum fitness values.
And if the result of the current wandering is smaller than the fitness value of the initial distribution scheme, indicating that the distribution scheme represented by the result of the current wandering is superior to the initial distribution scheme, updating the initial distribution scheme to the result of the current wandering, and returning to execute the current iteration number k equal to 1 to continuously search for a distribution scheme which is superior to the result of the current wandering. If the result of the current migration is not less than the fitness value of the initial allocation scheme, it indicates that the initial allocation scheme is better than the result of the current migration, therefore, let k be k +1, and return to execute the above-mentioned operation when k is less than or equal to N, let p be 0, so as to re-walk to find the result of the migration better than the initial allocation scheme.
In an optional implementation, the z-score processing on the temporary n-dimensional vector to obtain a normalized temporary n-dimensional vector may specifically include the following steps:
processing each element in the temporary n-dimensional vector by using a z-score formula to obtain a normalized temporary n-dimensional vector;
wherein the z-score is expressed as z-score
Figure BDA0002874237430000091
Figure BDA0002874237430000092
σ is the normalized provisional n-dimensional vector.
In an optional implementation, the scaling transform on the normalized temporary n-dimensional vector to make the range of the element of each dimension in the normalized temporary n-dimensional vector belong to (-m, m) to obtain the scaled temporary n-dimensional vector specifically includes the following steps:
processing elements of each dimension in the normalized temporary n-dimensional vector by using a scaling transformation formula to obtain a scaled temporary n-dimensional vector;
wherein the expansion transformation formula is uic=(uis-0.5)*2*m;uicFor elements in the warped temporary n-dimensional vector, uisAs elements of each dimension in the normalized provisional n-dimensional vector.
In an optional implementation manner, before the preset scheduling algorithm is input with the total number of virtual machines, the total number of cloud tasks, the step size of each random walk, the number of iterations of the random walk, and the number of iterations of the temporary walk of each random walk, the cloud computing center resource scheduling method provided in the embodiment of the present invention may further include the following steps:
obtaining step length change precision;
correspondingly, the inputting the total number of virtual machines, the total number of cloud tasks, the step size of each random walk, the number of iterations of the random walk, and the number of iterations of the temporary walk of each random walk into a preset scheduling algorithm may specifically include the following steps:
inputting the total number of the virtual machines, the total number of cloud tasks, the step length of each random walk, the iteration number of the random walks, the temporary walk iteration number of each random walk and the step length change precision into a preset scheduling algorithm;
correspondingly, after the current iteration number k is made to be 1, the cloud computing center resource scheduling method provided by the embodiment of the present invention may further include the following steps:
when k is larger than N and step is larger than or equal to e, step is made to be step/2, execution is returned, the current iteration time k is made to be 1, otherwise, the iteration of random walk is ended, and the N-dimensional vector which is the walk result of the random walk is used as the output of the preset scheduling algorithm; where e is the step change precision.
In a specific application, when k is larger than N, the situation that the distribution scheme which is better than the random walk result cannot be found for N times is shown. Therefore, the optimal solution, that is, the optimal allocation scheme of the cloud task and the virtual machine, is within an n-dimensional sphere with the current random walk step as the radius and the current random walk result as the center. Therefore, when k is larger than N and step is larger than or equal to e, step can be made to be step/2, and execution is returned to make the current iteration number k be 1, so that the optimal solution which is better than the current random walk result is searched in the N-dimensional sphere which takes the current random walk result as the center and takes the current random walk step length as the radius. Otherwise, that is, if the optimal solution superior to the current random walk result cannot be found in the n-dimensional sphere with the current random walk step size as the radius and the current random walk result as the center, the iteration of the random walk is ended, and the n-dimensional vector serving as the walk result of the current random walk is used as the output of the preset scheduling algorithm. At this time, the wandering result of the current random wandering is the global optimal solution.
Illustratively, the resource scheduling method for the cloud computing center provided by the embodiment of the present invention may be applied to the cloud computing center shown in fig. 2. The cloud computing center is composed of a task processor, a resource agent, middleware and a data center. The first part is a task processor. And collecting information of all tasks and sending the tasks to the resource agent. And a second partial resource broker. And the resource agent receives the task data, collects the load information of the virtual machine from the resource information aggregator and sends the load information to the dynamic algorithm scheduler. The dynamic algorithm scheduler searches for an optimal solution by using the cloud computing center resource scheduling method provided by the embodiment of the invention, and then returns the mapping relation between the task corresponding to the optimal solution and the virtual machine to the controller. And the controller sends the task to the resource distributor according to the received mapping relation, and the resource distributor sends the task to the middleware. And a third part intermediate piece. The resource load monitor in the middleware is responsible for monitoring the distribution and recovery conditions of the virtual machines in the host and dynamically monitoring the number of the virtual machines and the resource occupation condition. And the task instance monitor is responsible for monitoring the task execution condition and interacting information to the middleware and the resource agent. And a fourth part of data center. The data center is a server cluster and is composed of a plurality of hosts, and each host can accommodate and generate a plurality of virtual machines for executing tasks.
Corresponding to the method embodiment, the embodiment of the invention also provides a cloud computing center resource scheduling device.
As shown in fig. 3, an embodiment of the present invention provides an apparatus for scheduling resources in a cloud computing center, where the apparatus includes:
the data acquisition module 301 is configured to acquire a virtual machine information set of a cloud computing center and a cloud task information set to be allocated, where the virtual machine information set reflects the total number of virtual machines, the cloud task information set to be allocated reflects the total number of cloud tasks, a step length of each random walk, and preset random walk iteration times and temporary walk iteration times of each random walk;
an optimal solution obtaining module 302, configured to input a preset scheduling algorithm to the total number of the virtual machines, the total number of the cloud tasks, the step length of each random walk, the iteration number of the random walks, and the temporary walk iteration number of each random walk, so that the preset scheduling algorithm encapsulates, as a fitness function, the total execution time of the cloud tasks represented by the cloud task information set to be allocated and the total energy consumption required for execution, and obtains a solution when the fitness function is minimized by using the preset random walk; the solution is a migration result of the preset random migration: an n-dimensional vector; the n-dimensional vector comprises the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set; the n is the total number of the cloud tasks;
a task allocation module 303, configured to allocate, by using the n-dimensional vector as an allocation scheme, the cloud task represented by the cloud task information set to be allocated to the virtual machine represented by the virtual machine information set;
wherein, in the preset random walk, the process of walking from the current n-dimensional vector to the next n-dimensional vector comprises: generating temporary n-dimensional vectors of the temporary walking iteration times, and performing the following processing for each temporary n-dimensional vector: z-score processing, namely performing scaling transformation on an obtained processing result to enable the range of elements of each dimension in a vector after scaling transformation to be (-m, m), acquiring an initial value of the next n-dimensional vector according to the step length of random walk each time based on the vector after scaling transformation and the current n-dimensional vector, and performing absolute value taking and modulus taking on the initial value of the next n-dimensional vector to obtain a temporary next n-dimensional vector; determining an optimal vector of the plurality of temporary next n-dimensional vectors as the next n-dimensional vector based on the temporary walk iteration numbers of the temporary next n-dimensional vectors and the fitness function; and m is the total number of the virtual machines.
In the scheme provided by the embodiment of the invention, the preset scheduling algorithm packages the total execution time of the cloud tasks represented by the cloud task information sets to be distributed into the fitness function, and the solution of the fitness function in the minimization is obtained by using the preset random walk. In the preset random walk, the process of walking from the current randomly generated n-dimensional vector to the next n-dimensional vector includes: a temporary n-dimensional vector is generated for the number of temporary walk iterations, rather than just one n-dimensional vector. And, z-score processing is carried out on each temporary n-dimensional vector, and the obtained processing result is subjected to scaling transformation, so that the vector range of each dimension is (-m, m), and the migration range can be expanded. On the basis, absolute values and modulus of the values of the dimensions after the telescopic transformation are processed, so that the value of each dimension corresponds to a virtual machine number, and the n-dimensional vector generated by random walk comprises the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set. Therefore, random walk is prevented from falling into a local optimal solution through the increase of the number of vectors and the expansion of the vector range in the walking process, and the solution when the fitness function is minimized is guaranteed to be a global optimal solution rather than a local optimal solution. Therefore, compared with the method that calculation is carried out according to the emission pheromone rule and the optimal solution is sought after following the current optimal particles, multiple task migration related to load balancing caused by the fact that the obtained optimal solution is the local optimal solution can be avoided, and the effects of reducing the execution time of resource scheduling in the cloud computing center and reducing resource consumption are achieved.
An embodiment of the present invention further provides an electronic device, as shown in fig. 4, including a processor 401, a communication interface 402, a memory 403, and a communication bus 404, where the processor 401, the communication interface 402, and the memory 403 complete mutual communication through the communication bus 404,
a memory 403 for storing a computer program;
the processor 401, when executing the program stored in the memory 403, implements the following steps:
acquiring a virtual machine information set of a cloud computing center and a cloud task information set to be distributed, wherein the virtual machine information set reflects the total number of virtual machines, the cloud task information set to be distributed reflects the total number of cloud tasks, the step length of each random walk, and the iteration number of the preset random walks and the temporary walk iteration number of each random walk;
inputting the total number of the virtual machines, the total number of the cloud tasks, the step length of each random walk, the iteration number of the random walks and the temporary walk iteration number of each random walk into a preset scheduling algorithm, so that the preset scheduling algorithm packages the total execution time and the total energy consumption required by the execution of the cloud tasks represented by the cloud task information set to be distributed into a fitness function, and obtains a solution when the fitness function is minimized by using the preset random walk; the solution is a migration result of the preset random migration: an n-dimensional vector; the n-dimensional vector comprises the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set; the n is the total number of the cloud tasks;
distributing the cloud task represented by the cloud task information set to be distributed to the virtual machine represented by the virtual machine information set by taking the n-dimensional vector as a distribution scheme;
wherein, in the preset random walk, the process of walking from the current n-dimensional vector to the next n-dimensional vector comprises: generating temporary n-dimensional vectors of the temporary walking iteration times, and performing the following processing for each temporary n-dimensional vector: z-score processing, namely performing scaling transformation on an obtained processing result to enable the range of elements of each dimension in a vector after scaling transformation to be (-m, m), acquiring an initial value of the next n-dimensional vector according to the step length of random walk each time based on the vector after scaling transformation and the current n-dimensional vector, and performing absolute value taking and modulus taking on the initial value of the next n-dimensional vector to obtain a temporary next n-dimensional vector; determining an optimal vector of the plurality of temporary next n-dimensional vectors as the next n-dimensional vector based on the temporary walk iteration numbers of the temporary next n-dimensional vectors and the fitness function; and m is the total number of the virtual machines.
In the scheme provided by the embodiment of the invention, the preset scheduling algorithm packages the total execution time of the cloud tasks represented by the cloud task information sets to be distributed into the fitness function, and the solution of the fitness function in the minimization is obtained by using the preset random walk. In the preset random walk, the process of walking from the current randomly generated n-dimensional vector to the next n-dimensional vector includes: a temporary n-dimensional vector is generated for the number of temporary walk iterations, rather than just one n-dimensional vector. And, z-score processing is carried out on each temporary n-dimensional vector, and the obtained processing result is subjected to scaling transformation, so that the range of elements of each dimension in the vector after scaling transformation is (-m, m), and the wandering range can be expanded. On the basis, based on the vector after the expansion transformation and the current n-dimensional vector, obtaining an initial value of a next n-dimensional vector according to the step length of random walk each time, performing absolute value taking and modulus taking on the initial value of the next n-dimensional vector to obtain a temporary next n-dimensional vector, determining an optimal vector in a plurality of temporary next n-dimensional vectors based on the temporary walk iteration and a fitness function, wherein the optimal vector is used as the next n-dimensional vector, elements of each dimension in the obtained next n-dimensional vector can be ensured to correspond to a virtual machine number, and the n-dimensional vector generated by the random walk is ensured to comprise the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set. Therefore, random walk is prevented from falling into a local optimal solution through the increase of the number of vectors and the expansion of the vector range in the walking process, and the solution when the fitness function is minimized is guaranteed to be a global optimal solution rather than a local optimal solution. Therefore, compared with the method that calculation is carried out according to the emission pheromone rule and the optimal solution is sought after following the current optimal particles, multiple task migration related to load balancing caused by the fact that the obtained optimal solution is the local optimal solution can be avoided, and the effects of reducing the execution time of resource scheduling in the cloud computing center and reducing resource consumption are achieved.
In a specific application, the electronic device may be a device for resource scheduling in a cloud computing center, such as a management server, a load balancing device, and a dynamic algorithm scheduler.
The communication bus mentioned in the electronic device may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this is not intended to represent only one bus or type of bus.
The communication interface is used for communication between the electronic equipment and other equipment.
The Memory may include a Random Access Memory (RAM) or a Non-Volatile Memory (NVM), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The Processor may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but also Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components.
In another embodiment of the present invention, a computer-readable storage medium is further provided, where a computer program is stored in the computer-readable storage medium, and when executed by a processor, the computer program implements the steps of any one of the foregoing cloud computing center resource scheduling methods.
In another embodiment, the present invention further provides a computer program product containing instructions, which when run on a computer, causes the computer to execute any of the cloud computing center resource scheduling methods in the foregoing embodiments.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be 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, the description is relatively simple, and reference may be made to the partial description of the method embodiment for relevant points.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (10)

1. A cloud computing center resource scheduling method is characterized by comprising the following steps:
acquiring a virtual machine information set of a cloud computing center and a cloud task information set to be distributed, wherein the virtual machine information set reflects the total number of virtual machines, the cloud task information set to be distributed reflects the total number of cloud tasks, the step length of each random walk, and the iteration number of the preset random walks and the temporary walk iteration number of each random walk;
inputting the total number of the virtual machines, the total number of the cloud tasks, the step length of each random walk, the iteration number of the random walks and the temporary walk iteration number of each random walk into a preset scheduling algorithm, so that the preset scheduling algorithm packages the total execution time and the total energy consumption required by the execution of the cloud tasks represented by the cloud task information set to be distributed into a fitness function, and obtains a solution when the fitness function is minimized by using the preset random walk; the solution is a walk result of the preset random walk: an n-dimensional vector; the n-dimensional vector comprises the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set; the n is the total number of the cloud tasks;
distributing the cloud task represented by the cloud task information set to be distributed to the virtual machine represented by the virtual machine information set by taking the n-dimensional vector as a distribution scheme;
wherein, in the preset random walk, the process of walking from the current n-dimensional vector to the next n-dimensional vector comprises: generating temporary n-dimensional vectors of the temporary walking iteration times, and performing the following processing for each temporary n-dimensional vector: z-score processing, namely performing scaling transformation on an obtained processing result to enable the range of elements of each dimension in a vector after scaling transformation to be (-m, m), acquiring an initial value of the next n-dimensional vector according to the step length of random walk each time based on the vector after scaling transformation and the current n-dimensional vector, and performing absolute value taking and modulus taking on the initial value of the next n-dimensional vector to obtain a temporary next n-dimensional vector; determining an optimal vector of the plurality of temporary next n-dimensional vectors as the next n-dimensional vector based on the temporary walk iteration numbers of the temporary next n-dimensional vectors and the fitness function; and m is the total number of the virtual machines.
2. The method of claim 1, wherein the fitness function is:
f(x)=αFtime+βCost;
wherein, f (x) is the fitness function, α and β are respectively preset weights, both are constants greater than 0 and smaller than 1, and the sum of both is 1, the Ftime is the total execution time of the cloud task, and Cost is the total energy consumption required by the cloud task execution.
3. The method of claim 2, wherein the total time for execution of the cloud task is:
Figure FDA0002874237420000021
wherein, the
Figure FDA0002874237420000022
The Length is the execution time of the jth cloud task on the ith virtual machinejThe MIPS is the length of the jth cloud taskiFor the CPU execution speed of the ith virtual machine, SiIs a cloud task set assigned to virtual machine i.
4. The method of claim 2, wherein the total energy cost required for the cloud task to execute is:
Figure FDA0002874237420000023
wherein, the CostrAnd the energy consumption of the R-th cloud host in unit time is shown, and the R is the total number of the cloud hosts of the cloud computing center.
5. The method according to claim 1, wherein the obtaining the solution when the fitness function is minimized by using a preset random walk comprises:
randomly generating an n-dimensional vector X ═ X1,x2,x3,x4,...,xn>As an initial allocation scheme; wherein the j-th element x in the n-dimensional vectorjI, assigning the jth cloud task to the ith virtual machine;
setting the current iteration number k to 1;
when k is less than or equal to N, making p equal to 0; wherein, the N is the iteration number of the preset random walk; the p is the current temporary wandering frequency;
when p < iterNum, randomly generating 1 element of each dimension: vector uiRange is (-1,1) of the provisional n-dimensional vector U ═<u1,u2,u3,u4,...,un>(ii) a Wherein, the iterNum is the number of the temporary walking iterations;
performing z-score processing on the temporary n-dimensional vector to obtain a normalized temporary n-dimensional vector;
performing telescopic transformation on the normalized temporary n-dimensional vector to enable the range of elements of each dimension in the normalized temporary n-dimensional vector to belong to the (-m, m) to obtain a telescopic temporary n-dimensional vector;
inputting the initial allocation scheme, the stretched temporary n-dimensional vector and the step length of each random walk into a walk formula to obtain an initial value of the next n-dimensional vector; wherein the migration formula is X1=X+step*Uc(ii) a Said X1The initial value of the next n-dimensional vector is the step of the random walk, and the U is the step of the random walkcThe expanded temporary n-dimensional vector is obtained;
carrying out absolute value taking and modulus taking on the initial value of the next n-dimensional vector to enable the range of elements of each dimension in the next n-dimensional vector to belong to [0, m ], obtaining a temporary next n-dimensional vector, inputting the temporary next n-dimensional vector into the fitness function to obtain the fitness value of the distribution scheme of the temporary migration, and enabling p to be p + 1;
when the p is more than or equal to iterNum, solving the corresponding solution of the minimum fitness value in the obtained iterNum fitness values: taking the temporary next n-dimensional vector as the wandering result of the random wandering: the next n-dimensional vector;
and if the wandering result of the current wandering is smaller than the fitness value of the initial distribution scheme, updating the initial distribution scheme to the wandering result of the current wandering, and returning to execute the current iteration time k to be 1, otherwise, returning to execute the current iteration time k to be k +1, and returning to execute the current iteration time when k is less than or equal to N, and making p to be 0.
6. The method of claim 5, wherein the z-score processing the temporary n-dimensional vector to obtain a normalized temporary n-dimensional vector comprises:
processing each element in the temporary n-dimensional vector by using a z-score formula to obtain a normalized temporary n-dimensional vector;
wherein, the z isThe number z-score is given by the formula
Figure FDA0002874237420000031
The above-mentioned
Figure FDA0002874237420000032
The above-mentioned
Figure FDA0002874237420000033
The sigma is the normalized provisional n-dimensional vector.
7. The method of claim 5, wherein scaling the normalized temporary n-dimensional vector such that the range of elements of each dimension in the normalized temporary n-dimensional vector belongs to the (-m, m) to obtain a scaled temporary n-dimensional vector comprises:
processing elements of each dimension in the normalized temporary n-dimensional vector by using a scaling transformation formula to obtain a scaled temporary n-dimensional vector;
wherein the scaling transformation formula is uic=(uis-0.5) × 2 × m; u is a unit oficThe element is the element in the expanded temporary n-dimensional vector, the uisFor each dimension element in the normalized provisional n-dimensional vector.
8. The method according to claim 5, wherein before the inputting the total number of virtual machines, the total number of cloud tasks, the step size of each random walk, the iteration number of the random walk, and the temporary walk iteration number of each random walk into a preset scheduling algorithm, the method further comprises:
obtaining step length change precision;
inputting the total number of the virtual machines, the total number of the cloud tasks, the step length of each random walk, the iteration number of the random walks and the temporary walk iteration number of each random walk into a preset scheduling algorithm, wherein the preset scheduling algorithm comprises the following steps:
inputting the total number of the virtual machines, the total number of the cloud tasks, the step length of each random walk, the iteration number of the random walks, the temporary walk iteration number of each random walk and the step length change precision into a preset scheduling algorithm;
after the setting the current iteration number k to 1, the method further includes:
when k is larger than N and step is larger than or equal to e, making step equal to step/2, and returning to execute the current iteration times k equal to 1, otherwise, ending the iteration of random walk, and taking the N-dimensional vector as the walk result of the current random walk as the output of the preset scheduling algorithm; wherein e is the step change precision.
9. An apparatus for scheduling resources in a cloud computing center, the apparatus comprising:
the data acquisition module is used for acquiring a virtual machine information set of the cloud computing center and a cloud task information set to be distributed, wherein the virtual machine information set reflects the total number of virtual machines, the cloud task information set to be distributed reflects the total number of cloud tasks, the step length of each random walk, and the iteration number of the random walk and the temporary walk iteration number of each random walk are preset;
an optimal solution obtaining module, configured to input a preset scheduling algorithm to the total number of the virtual machines, the total number of the cloud tasks, the step length of each random walk, the number of iterations of the random walks, and the number of iterations of the temporary walks of each random walk, so that the preset scheduling algorithm encapsulates, as a fitness function, total execution time of the cloud tasks represented by the cloud task information set to be allocated and total energy consumption required for execution, and obtains a solution when the fitness function is minimized by using the preset random walk; the solution is a migration result of the preset random migration: an n-dimensional vector; the n-dimensional vector comprises the corresponding relation between the cloud task information in the cloud task information set to be distributed and the virtual machine information in the virtual machine information set; the n is the total number of the cloud tasks;
the task allocation module is used for allocating the cloud tasks represented by the cloud task information sets to be allocated to the virtual machines represented by the virtual machine information sets by taking the n-dimensional vectors as an allocation scheme;
wherein, in the preset random walk, the process of walking from the current n-dimensional vector to the next n-dimensional vector comprises: generating temporary n-dimensional vectors of the temporary walking iteration times, and performing the following processing for each temporary n-dimensional vector: performing z-score processing, performing scaling transformation on an obtained processing result to enable the range of elements of each dimension in a vector after scaling transformation to be (-m, m), acquiring an initial value of the next n-dimensional vector according to the step length of random walk each time based on the vector after scaling transformation and the current n-dimensional vector, and performing absolute value taking and modulus taking processing on the initial value of the next n-dimensional vector to obtain a temporary next n-dimensional vector; determining an optimal vector of the plurality of temporary next n-dimensional vectors as the next n-dimensional vector based on the temporary walk iteration numbers of the temporary next n-dimensional vectors and the fitness function; and m is the total number of the virtual machines.
10. The electronic equipment is characterized by comprising a processor, a communication interface, a memory and a communication bus, wherein the processor and the communication interface are used for realizing the communication between the processor and the memory through the communication bus;
a memory for storing a computer program;
a processor for implementing the method steps of any of claims 1 to 8 when executing a program stored in the memory.
CN202011609283.1A 2020-12-30 2020-12-30 Cloud computing center resource scheduling method, device and equipment Active CN112732402B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011609283.1A CN112732402B (en) 2020-12-30 2020-12-30 Cloud computing center resource scheduling method, device and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011609283.1A CN112732402B (en) 2020-12-30 2020-12-30 Cloud computing center resource scheduling method, device and equipment

Publications (2)

Publication Number Publication Date
CN112732402A CN112732402A (en) 2021-04-30
CN112732402B true CN112732402B (en) 2022-06-21

Family

ID=75611770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011609283.1A Active CN112732402B (en) 2020-12-30 2020-12-30 Cloud computing center resource scheduling method, device and equipment

Country Status (1)

Country Link
CN (1) CN112732402B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062682A (en) * 2018-06-29 2018-12-21 广东工业大学 A kind of resource regulating method and system of cloud computing platform
CN109062664A (en) * 2018-07-25 2018-12-21 南京邮电大学 Cloud computing method for scheduling task based on ant lion optimization algorithm

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10931583B2 (en) * 2018-10-04 2021-02-23 Purdue Research Foundation Methods of load balancing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062682A (en) * 2018-06-29 2018-12-21 广东工业大学 A kind of resource regulating method and system of cloud computing platform
CN109062664A (en) * 2018-07-25 2018-12-21 南京邮电大学 Cloud computing method for scheduling task based on ant lion optimization algorithm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Load Balancing in Distributed Cloud Data Center Configurations -Performance and Energy Efficiency";Paul J. Kueh 等;《https://doi.org/10.1145/3077839.3084027》;20170516;全文 *

Also Published As

Publication number Publication date
CN112732402A (en) 2021-04-30

Similar Documents

Publication Publication Date Title
Abdulhamid et al. Fault tolerance aware scheduling technique for cloud computing environment using dynamic clustering algorithm
Convolbo et al. Cost-aware DAG scheduling algorithms for minimizing execution cost on cloud resources
Chen et al. A multi-objective optimization for resource allocation of emergent demands in cloud computing
CN108173905B (en) Resource allocation method and device and electronic equipment
Patel et al. Survey on resource allocation strategies in cloud computing
US20130007755A1 (en) Methods, computer systems, and physical computer storage media for managing resources of a storage server
JP2012118987A (en) Computer implementation method, computer program, and system for memory usage query governor (memory usage query governor)
CN107070709B (en) NFV (network function virtualization) implementation method based on bottom NUMA (non uniform memory Access) perception
JP2016042284A (en) Parallel computer system, management device, method for controlling parallel computer system, and management device control program
US8819239B2 (en) Distributed resource management systems and methods for resource management thereof
Han et al. Energy efficient VM scheduling for big data processing in cloud computing environments
Doostali et al. CP-PGWO: multi-objective workflow scheduling for cloud computing using critical path
Joshi et al. Evaluating the performance of load balancing algorithm for heterogeneous cloudlets using HDDB algorithm
US20200293372A1 (en) Efficient resource allocation for concurrent graph workloads
CN112732402B (en) Cloud computing center resource scheduling method, device and equipment
Zhu et al. Optimal bandwidth allocation for web crawler systems with time constraints
Nosrati et al. Energy efficient and latency optimized media resource allocation
Oliveira et al. Optimizing query prices for data-as-a-service
Komarasamy et al. ScHeduling of jobs and Adaptive Resource Provisioning (SHARP) approach in cloud computing
Tomar et al. Improving QoS of cloudlet scheduling via effective particle swarm model
Kumar et al. Analysis on Resource Allocation for parallel processing and Scheduling in Cloud Computing
Mehta et al. A two level broker system for infrastructure as a service cloud
Olmsted et al. FogWeaver: Task allocation optimization strategy across hybrid fog environments
CN106844037B (en) KNL-based test method and system
Ray et al. Is high performance computing (HPC) ready to handle big data?

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