CN103118124B - A kind of cloud computing load balancing method based on the many agencies of layering - Google Patents

A kind of cloud computing load balancing method based on the many agencies of layering Download PDF

Info

Publication number
CN103118124B
CN103118124B CN201310056525.2A CN201310056525A CN103118124B CN 103118124 B CN103118124 B CN 103118124B CN 201310056525 A CN201310056525 A CN 201310056525A CN 103118124 B CN103118124 B CN 103118124B
Authority
CN
China
Prior art keywords
task
resource
virtual machine
node
information
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
CN201310056525.2A
Other languages
Chinese (zh)
Other versions
CN103118124A (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.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
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 Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN201310056525.2A priority Critical patent/CN103118124B/en
Publication of CN103118124A publication Critical patent/CN103118124A/en
Application granted granted Critical
Publication of CN103118124B publication Critical patent/CN103118124B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)

Abstract

The present invention is a kind of cloud computing load balancing method based on the many agencies of layering, in multiple nodes that cloud computing platform connects through network, 2 nodes are that task monitoring control agency and monitoring resource are acted on behalf of, 1 ~ n node of the lower task agent layer of task monitoring control agency is task sub agent, 1 ~ m node of the lower Resource Broker layer of monitoring resource agency is resource sub agent, each agency is the management node of cloud computing platform jointly, each management node carries out task matching according to loading condition, different management nodes is responsible for Mission Monitor respectively, monitoring resource, Resourse Distribute etc., the management node of different levels has different functions, mutually mission bit stream and resource information is circulated a notice of between levels management node, coordination, concurrent and process multiple cloud computing task efficiently, realize the load balancing of cloud computing platform, promote the task disposal ability of cloud computing platform.

Description

A kind of cloud computing load balancing method based on the many agencies of layering
Technical field
The present invention relates to a kind of cloud computing method for scheduling task, particularly relate to a kind of cloud computing load balancing method based on the many agencies of layering.
Background technology
Along with the explosive increase of network size and speed, traditional data processing and method of service are difficult to resist, so cloud computing is arisen at the historic moment.Data handling procedure is transferred in the cloud computing cluster that the Internet, multiple node is formed from personal computer or server by cloud computing, cluster is by a certain central server unified management, this i.e. central administration node, respectively forms cloud computing platform from node in central administration node and network.Central administration node, by the resource of the task matching cloud computing platform of the proposition of client, finally can reach the effect identical with supercomputer, effectively solves the problems such as mass data processing.
The key problem of cloud computing technology is exactly the resource management of platform, and its target is exactly the rational management by resource, enables cloud computing platform Processing tasks efficiently.
In cloud computing environment, when the mission requirements of magnanimity, there will be the irrational situation of Resourse Distribute.What have leaves unused for a long time from the resource of node, have from node because its resource frequently used, overload, each is from the unbalanced task disposal ability having had a strong impact on cloud computing platform of node load.Therefore must have rational load balancing, each load balancing from node when making Resourse Distribute, could improve the operational efficiency of cloud computing platform.
Now there is the method for multiple cloud computing platform task process, as the Chinese invention patent application " cloud computing resources distribution method " that the patent No. is 201210236332, the patent No. is the Chinese invention patent application " resource allocation methods in cloud computing system " of 201210472862.5, the patent No. is the Chinese invention patent application " a kind of cloud computing load balancing method and equipment " of 201010199455.2, the patent No. is the Chinese invention patent application " network load balancing method based on cloud computing " of 201110051656.2, the patent No. is the Chinese invention patent application " under a kind of cloud computing environment implementation of load balancing " etc. of 201210116060.0.Above method can be summarized as: (1), by obtaining respectively from the performance parameter of node, calculates from the current loading condition of node, and by certain selection strategy, and selecting suitable provides Energy Resources Service to manage current task from node; (2) by Intel Virtualization Technology, virtual resource is dispatched, by increase and decrease and the dynamic migration of virtual machine, ensure each load balancing from node; (3) based on SLA(service-level agreement) load balancing, to ensure for the purpose of SLA, each load from node is evaluated and optimized.
In cloud computing platform framework, central administration node concentrates the management carrying out platform, is namely a kind of way to manage of master slave mode.Central administration node is as host node, and other node of platform, as from node, is managed from node by central administration node unification.Under this way to manage, central administration node needs constantly to monitor from the implementation status of node load state, task, carries out dispatching distribution etc. to resource, the computing cost that these tasks are brought is very large, and cause in cloud computing platform, the load pressure of central administration node is very heavy.The method of above-mentioned solution load balancing is all only consider respectively from the problem of load balancing between node, and have ignored the loading condition of central administration node.Central administration node will dispose above-mentioned load balancing, and its burden can increase the weight of further, causes its operational efficiency step-down, even paralyses.
Therefore, need at present to balance cloud computing platform each from the load between node, effectively can share again the load of central administration node, adapt to the cloud computing load balancing method of the lifting task disposal ability of actual demand.
Summary of the invention
The object of the invention is for the deficiencies in the prior art, a kind of cloud computing load balancing method based on the many agencies of layering is provided, the multiple agency of layering is set and bears the central administration node monitoring of current cloud computing platform from node load state, the implementation status of task, resource is carried out to the work of dispatching distribution, mutually exchange between acting on behalf of more, collaborative work, walk abreast and process multiple cloud computing task efficiently, each layer proxy carries out the distribution of task according to loading condition, effective load sharing, realize each node load balancing of cloud computing platform, promote the task disposal ability of cloud computing platform.
To achieve these goals, a kind of cloud computing load balancing method based on the many agencies of layering of the present invention's design, cloud computing platform is containing the multiple nodes connected through network, wherein 2 nodes are respectively task monitoring control agency and monitoring resource agency, under task monitoring control agency, task agent layer is set, task agent layer has 1 ~ n node to be task sub agent, under monitoring resource agency, Resource Broker layer is set, Resource Broker layer has 1 ~ m node to be resource sub agent, monitoring resource is acted on behalf of, 1 ~ n task sub agent of task monitoring control agency and lower floor thereof, 1 ~ m resource sub agent is the management node of cloud computing platform jointly, physical resource layer have 1 ~ M to possess computational resource from node, have client to submit in task pool 1 ~ N number of waiting task, the present invention includes following steps:
The virtual resource information that the current task information of S1, Mission Monitor agents monitor task pool, the current load information of each task sub agent, virtual resource pond are current, regularly to all task sub agent circular current virtual resource informations;
S2, Mission Monitor agency give priority respectively by each waiting task current in task pool, and certain waiting task is distributed to certain task sub agent;
The task sub agent of S3, reception task creates virtual machine according to mission requirements, and monitoring virtual machine runs, and is acted on behalf of to Mission Monitor by tasks carrying information reporting;
S4, monitoring resource agency collects each from node current load information, regularly each from node current load information to all resource sub agent circulars, the current load information of each resource sub agent of monitoring resource agents monitor simultaneously;
S5, monitoring resource agency will be virtualized into virtual resource information, be sent to the virtual resource pond of virtual resource layer from node resource, and according to the virtual machine information that task sub agent is sent, divide virtual resource;
S6, monitoring resource agency, according to agent selection strategy, selects certain resource sub agent to dispose virtual machine;
Described agent selection strategy is specially: monitoring resource agents monitor all resource sub agents load M 1, M 2m m, compare its load, by the resource sub agent that the virtual machine information that certain task sub agent sends sends to load minimum;
S7, disposed virtual machine by the resource sub agent of monitoring resource agent selection, and monitor this virtual machine and run, simultaneously to the task sub agent feedback tasks carrying information creating this virtual machine.
The mission bit stream that in described step S1, Mission Monitor agents monitor task pool is current comprises deadline of task, task length, the internal memory of task needs, hard disk, the network bandwidth; The current load information of task sub agent comprises the current CPU usage of task sub agent, memory usage, task queue length, response time; Virtual resource information comprise virtual after cpu frequency, memory size, hard disk size, the network bandwidth.
Described step S2 specifically comprises following sub-step:
S21, Mission Monitor agents monitor task pool, read current waiting task in task pool, obtain each waiting task T deadline 1;
S22, Mission Monitor agency compares T deadline of certain waiting task x 1xwith current time T 2determine this task priority G x, x is the Arbitrary Digit in 1 ~ N, and the priority specific formula for calculation of waiting task x is: G x=T 1x-T 2, priority G is less shows that this priority of task rank is higher;
S23, Mission Monitor agency reads the priority G of waiting task in task pool 1, G 2g n, compare its priority, the task that priority treatment priority level is high;
S24, Mission Monitor agents monitor all task sub agents load L 1, L 2l n, compare its load, task be distributed to the task sub agent that load is minimum;
S25, Mission Monitor agency collects the tasks carrying information of each task sub agent report;
In described sub-step S24, the specific formula for calculation of certain task sub agent i load is: L ithe response time of the task queue length+a4* task sub agent i of the memory usage+a3* task sub agent i of the CPU usage+a2* task sub agent i of=a1* task sub agent i, wherein i is the Arbitrary Digit in 1 ~ n, a1, a2, a3, a4 are that load calculates weights, are more than or equal to 0 and meet a1+a2+a3+a4=1.
Described step S3 specifically comprises following sub-step:
S31, task sub agent are according to received task, and the virtual machine information needed for calculating, creates virtual machine;
S32, task sub agent, according to acting on behalf of the virtual resource information received from Mission Monitor, judge whether have enough virtual resources to meet this virtual machine in virtual resource pond; If had, then send to monitoring resource to act on behalf of this virtual machine information, if do not had, then, after waiting for virtual resource information updating, again judge;
If S33 task sub agent receives virtual resource and divides successful information, then perform step S34; If task sub agent receives virtual resource and divides failure information, then perform step S32;
S34, task sub agent monitor the running status of its virtual machine created;
Task is sent on this virtual machine and performs after monitoring its virtual machine activation created by S35, task sub agent;
S36, task sub agent collect tasks carrying information from corresponding resource sub agent, are reported to Mission Monitor agency;
S37, task sub agent cancel its virtual machine created when task is finished.
In described sub-step S31, virtual machine information comprises virtual machine cpu frequency, memory size, hard disk size, the network bandwidth; The specific formula for calculation of virtual machine information is: virtual machine cpu frequency=task length/task priority G, virutal machine memory=required by task internal memory, virtual hard disk=required by task hard disk, virtual machine network bandwidth=required by task network bandwidth.Resources of virtual machine demand Q=(virtual machine cpu frequency, virutal machine memory, virtual hard disk, virtual machine network bandwidth).
In described step S4, certain comprises cpu frequency, memory size, hard disk size, the network bandwidth, CPU usage, memory usage, hard disk utilization rate, network usage from node load information; The load information of resource sub agent comprises the CPU usage of resource sub agent, memory usage, virtual machine queue length, response time.
Described step S5 specifically comprises following sub-step:
S51, monitoring resource agency, by respectively becoming virtual resource information from node load information virtualization, is sent to the virtual resource pond of virtual resource layer;
S52, monitoring resource agency receives the virtual machine information that certain task sub agent sends, and checks virtual resource information, for this virtual machine divides virtual resource; As divided successfully, perform step S53; As divided failure, perform step S54;
This virtual machine is added virtual resource pond by S53, monitoring resource agency, upgrades virtual resource information, and virtual resource is divided successful information and send to and create described virtual machine task sub agent;
S54, monitoring resource agency sends virtual resource and divides failure information to the task sub agent creating described virtual machine;
After S55, monitoring resource agency receives certain virtual machine revocation information, this virtual machine is deleted from virtual resource pond, and upgrades virtual resource information.
In described step S6, the specific formula for calculation of certain resource sub agent j load is: M jthe response time of the virtual machine queue length+b4* resource sub agent j of the memory usage+b3* resource sub agent j of the CPU usage+b2* resource sub agent j of=b1* resource sub agent j, wherein j is the Arbitrary Digit of 1 ~ m, b1, b2, b3, b4 are that load calculates weights, are more than or equal to 0 and meet b1+b2+b3+b4=1.
Described step S7 specifically comprises following sub-step:
S71, by the resource sub agent of monitoring resource agent selection receive monitoring resource agency send current from node load information and virtual machine information;
S72, described resource sub agent are according to calculating each from node load information from node present load O 1, O 2o mwith available resources P 1, P 2p m;
S73, described resource sub agent compare available resources P 1, P 2p msize with resources of virtual machine demand Q, meets P kthe feasible from node of virtual machine is disposed in being called from node of>=Q condition;
The more all feasible present loads from node of S74, described resource sub agent, select the feasible from node of least-loaded, dispose current virtual machine;
S75, described resource sub agent start current virtual machine, monitor this virtual machine running status;
S76, described resource sub agent are collected current task from this virtual machine and are performed information, feed back to the task sub agent creating this virtual machine;
S77, described resource sub agent monitor after this virtual machine cancels, discharge that this virtual machine disposes from node resource, and send to monitoring resource to act on behalf of this virtual machine revocation information.
In described sub-step S72, certain from the specific formula for calculation of node k present load is: O k=r1* is from the CPU usage+r2* of node k from the memory usage+r3* of node k from the hard disk utilization rate+r4* of node k from the network usage of node k, wherein, k is the Arbitrary Digit of 1 ~ M, and r1, r2, r3, r4 are that load calculates weights, are more than or equal to 0 and meet r1+r2+r3+r4=1; Certain from the specific formula for calculation of node k current available resource is: P k={ from the cpu frequency * (1-is from the CPU usage of node k) of node k, from the memory size * (1-is from the memory usage of node k) of node k, from the hard disk size * (1-is from the hard disk utilization rate of node k) of node k, the network bandwidth * (1-is from the network usage of node k) from node k }.
Compared with prior art, the advantage of a kind of cloud computing load balancing method based on the many agencies of layering of the present invention is: 1, adopt the many agencies of layering, the management work of existing cloud computing platform central administration node is shared jointly by multiple management node, the management node of different levels has different functions, mutually mission bit stream and resource information is circulated a notice of between levels management node, coordinate between multiple management node, concurrent and process multiple cloud computing task efficiently, promote the task disposal ability of cloud computing platform; 2, each management node carries out task matching according to loading condition, and is responsible for Mission Monitor, monitoring resource, Resourse Distribute etc. respectively by different management nodes, and effective load sharing, realizes the load balancing of cloud computing platform.
Accompanying drawing explanation
Fig. 1 is originally based on the cloud computing load balancing method embodiment cloud computing platform general structure block diagram of the many agencies of layering;
Fig. 2 is Mission Monitor factorage flow chart in Fig. 1;
Fig. 3 is the task sub agent workflow diagram in Fig. 1;
Fig. 4 is the monitoring resource factorage flow chart in Fig. 1;
Fig. 5 is the resource sub agent workflow diagram in Fig. 1;
The load balancing degrees comparative graph of Fig. 6 node when to be this use with static load balancing method based on cloud computing load balancing method embodiment of the many agencies of layering on identical cloud computing platform.
Embodiment
Below in conjunction with accompanying drawing, provide specific embodiments of the invention, the present invention is described in further detail.It should be noted that: the present invention is not limited to the following examples.
This is based on the cloud computing load balancing method embodiment of the many agencies of layering, cloud computing platform general structure as shown in Figure 1, containing the multiple nodes connected through network, wherein 2 nodes are respectively task monitoring control agency and monitoring resource agency, under task monitoring control agency, task agent layer is set, task agent layer has 1 ~ n node to be task sub agent, under monitoring resource agency, Resource Broker layer is set, Resource Broker layer has 1 ~ m node to be resource sub agent, monitoring resource is acted on behalf of, 1 ~ n task sub agent of task monitoring control agency and lower floor thereof, 1 ~ m resource sub agent is the management node of cloud computing platform jointly, physical resource layer have 1 ~ M to possess computational resource from node, have client to submit in task pool 1 ~ N number of waiting task.
In order to more clearly illustrate originally based on the cloud computing load balancing method of the many agencies of layering, by cloud computing emulation platform CloudSim simulated experimental environments.N=4, m=4 in this example, task agent monitoring, Resource Broker monitoring, the CPU of task sub agent, resource sub agent, internal memory, hard disk, network bandwidth parameter stochastic generation within the specific limits.M=30, its CPU, internal memory, hard disk, network bandwidth parameter stochastic generation within the specific limits.N=100, its task length, required memory, hard disk, bandwidth parameter stochastic generation within the specific limits, appointed task arrives time t1 stochastic generation between scope [0:00-0:15] of task pool, task t2 deadline is stochastic generation between time range [0:05-0:20], in order to ensure to there is the time interval of executing the task between t1 and t2, stochastic generation t1 and t2 satisfies condition: t1+5≤t2.
This example comprises the steps:
The virtual resource information that the current task information of S1, Mission Monitor agents monitor task pool, the current load information of each task sub agent, virtual resource pond are current, regularly to all task sub agent circular current virtual resource informations;
The mission bit stream that wherein Mission Monitor agents monitor task pool is current comprises deadline of task, task length, the internal memory of task needs, hard disk, the network bandwidth; The current load information of task sub agent comprises the current CPU usage of task sub agent, memory usage, task queue length, response time; Virtual resource information comprise virtual after cpu frequency, memory size, hard disk size, the network bandwidth.
S2, Mission Monitor agency give priority respectively by each waiting task current in task pool, and certain waiting task is distributed to certain task sub agent;
Specifically comprise following sub-step, its workflow as shown in Figure 2,
S21, Mission Monitor agents monitor task pool, read current waiting task in task pool, obtain each waiting task T deadline 1;
S22, Mission Monitor agency compares T deadline of certain waiting task x 1xwith current time T 2determine the priority Gx of this task, x is the Arbitrary Digit in 1 ~ N, and the priority specific formula for calculation of waiting task x is: G x=T 1x-T 2, priority G is less shows that this priority of task rank is higher;
Suppose current time T 2for 0:00, there are two task A and B, T deadline of task A 1Afor 0:05, T deadline of task B 1Bfor 0:10.So can calculate, the priority G of task A athe priority G of=5min, task B b=10min, due to G a<G b, therefore the priority of task A is high.
S23, Mission Monitor agency reads the priority G of waiting task in task pool 1, G 2g n, compare its priority, the task that priority treatment priority level is high;
S24, Mission Monitor agents monitor all task sub agents load L 1, L 2l n, compare its load, task be distributed to the task sub agent that load is minimum;
S25, Mission Monitor agency collects the tasks carrying information of each task sub agent report;
In described sub-step S24, the specific formula for calculation of certain task sub agent i load is: L ithe response time of the task queue length+a4* task sub agent i of the memory usage+a3* task sub agent i of the CPU usage+a2* task sub agent i of=a1* task sub agent i, wherein i is the Arbitrary Digit in 1 ~ n, a1, a2, a3, a4 are that load calculates weights, are more than or equal to 0 and meet a1+a2+a3+a4=1.Such as weights a1=0.3, a2=0.3, a3=0.2, a4=0.2.
The task sub agent of S3, reception task creates virtual machine according to mission requirements, and monitoring virtual machine runs, and is acted on behalf of to Mission Monitor by tasks carrying information reporting;
Described step S3 specifically comprises following sub-step, its workflow as shown in Figure 3,
S31, task sub agent are according to received task, and the virtual machine information needed for calculating, creates virtual machine;
Described virtual machine information comprises virtual machine cpu frequency, memory size, hard disk size, the network bandwidth; The specific formula for calculation of virtual machine information is: virtual machine cpu frequency=task length/task priority G, virutal machine memory=required by task internal memory, virtual hard disk=required by task hard disk, virtual machine network bandwidth=required by task network bandwidth.Resources of virtual machine demand Q=(virtual machine cpu frequency, virutal machine memory, virtual hard disk, virtual machine network bandwidth).
Suppose that task sub agent is learnt from the mission bit stream of task A, task length is 30,000 hundred ten thousand instructions, and required memory, hard disk, the network bandwidth are respectively 512MB, 4GB, 10Mbit/s, and its priority is acted on behalf of by Mission Monitor and provided G a=5min.Then required by task virtual machine information can be drawn by calculating: virtual machine cpu frequency=30,000 1,000,000 instruction/5min=100MIPS(million instructions per seconds), virutal machine memory=512MB, virtual hard disk=4GB, virtual machine network bandwidth=10Mbit/s, resources of virtual machine demand Q=(100MIPS, 512MB, 4GB, 10Mbit/s)
S32, task sub agent, according to acting on behalf of the virtual resource information received from Mission Monitor, judge whether have enough virtual resources to meet this virtual machine in virtual resource pond; If had, then send to monitoring resource to act on behalf of this virtual machine information, if do not had, then, after waiting for virtual resource information updating, again judge;
If S33 task sub agent receives virtual resource and divides successful information, then perform step S34; If task sub agent receives virtual resource and divides failure information, then perform step S32;
S34, task sub agent monitor the running status of its virtual machine created;
Task is sent on this virtual machine and performs after monitoring its virtual machine activation created by S35, task sub agent;
S36, task sub agent collect tasks carrying information from corresponding resource sub agent, are reported to Mission Monitor agency;
S37, task sub agent cancel its virtual machine created when task is finished.
S4, monitoring resource agency collects each from node current load information, regularly each from node current load information to all resource sub agent circulars, the current load information of each resource sub agent of monitoring resource agents monitor simultaneously;
Certain comprises cpu frequency, memory size, hard disk size, the network bandwidth, CPU usage, memory usage, hard disk utilization rate, network usage from node load information; The load information of resource sub agent comprises the CPU usage of resource sub agent, memory usage, virtual machine queue length, response time.
S5, monitoring resource agency will be virtualized into virtual resource information, be sent to the virtual resource pond of virtual resource layer from node resource, and according to the virtual machine information that task sub agent is sent, divide virtual resource;
Specifically comprise following sub-step, its workflow as shown in Figure 4,
S51, monitoring resource agency, by respectively becoming virtual resource information from node load information virtualization, is sent to the virtual resource pond of virtual resource layer;
S52, monitoring resource agency receives the virtual machine information that certain task sub agent sends, and checks virtual resource information, for this virtual machine divides virtual resource; As divided successfully, perform step S53; As divided failure, perform step S54;
This virtual machine is added virtual resource pond by S53, monitoring resource agency, upgrades virtual resource information, and virtual resource is divided successful information and send to and create described virtual machine task sub agent;
S54, monitoring resource agency sends virtual resource and divides failure information to the task sub agent creating described virtual machine;
After S55, monitoring resource agency receives certain virtual machine revocation information, this virtual machine is deleted from virtual resource pond, and upgrades virtual resource information.
S6, monitoring resource agency, according to agent selection strategy, selects certain resource sub agent to dispose virtual machine;
Agent selection strategy is specially: monitoring resource agents monitor all resource sub agents load M 1, M 2m m, compare its load, by the resource sub agent that the virtual machine information that certain task sub agent sends sends to load minimum; The specific formula for calculation of certain resource sub agent j load is: M jthe response time of the virtual machine queue length+b4* resource sub agent j of the memory usage+b3* resource sub agent j of the CPU usage+b2* resource sub agent j of=b1* resource sub agent j, wherein j is the Arbitrary Digit of 1 ~ m, b1, b2, b3, b4 are that load calculates weights, are more than or equal to 0 and meet b1+b2+b3+b4=1.
S7, disposed virtual machine by the resource sub agent of monitoring resource agent selection, and monitor this virtual machine and run, simultaneously to the task sub agent feedback tasks carrying information creating this virtual machine.
Specifically comprise following sub-step, its workflow as shown in Figure 5,
S71, by the resource sub agent of monitoring resource agent selection receive monitoring resource agency send current from node load information and virtual machine information;
S72, described resource sub agent are according to calculating each from node load information from node present load O 1, O 2o mwith available resources P 1, P 2p m;
Certain from the specific formula for calculation of node k present load is: O k=r1* is from the CPU usage+r2* of node k from the memory usage+r3* of node k from the hard disk utilization rate+r4* of node k from the network usage of node k, wherein, k is the Arbitrary Digit of 1 ~ M, and r1, r2, r3, r4 are that load calculates weights, are more than or equal to 0 and meet r1+r2+r3+r4=1; Certain from the specific formula for calculation of node k current available resource is: P k={ from the cpu frequency * (1-is from the CPU usage of node k) of node k, from the memory size * (1-is from the memory usage of node k) of node k, from the hard disk size * (1-is from the hard disk utilization rate of node k) of node k, the network bandwidth * (1-is from the network usage of node k) from node k }.
Suppose from node Y, cpu frequency be 300MIPS, CPU usage 50%, in save as 2GB, memory usage 60%, hard disk 100GB, hard disk utilization rate 30%, the network bandwidth be 100Mbit/s, utilization rate 20%.By calculating from nodal information above, from node Y present load O y=0.3*50+0.3*60+0.2*30+0.2*20=43, from node Y current available resource P y={ 150MIPS, 800MB, 70GB, 80Mbit/s}.
S73, described resource sub agent compare available resources P 1, P 2p msize with resources of virtual machine demand Q, meets P kthe feasible from node of virtual machine is disposed in being called from node k of>=Q condition;
Such as compare sub-step 72 gained P y={ 150MIPS, 800MB, 70GB, 80Mbit/s} and sub-step 37 gained virtual machine demand resource Q={100MIPS, 512MB, 4GB, 10Mbit/s}, P yfor disposing the feasible from node of virtual machine.
The more all feasible present loads from node of S74, described resource sub agent, select the feasible from node of least-loaded, dispose current virtual machine;
By comparing each feasible load current from node, feasible from node P ypresent load O yfor minimum, so resource sub agent just by deploying virtual machine at P yupper operation
S75, described resource sub agent start current virtual machine, monitor this virtual machine running status;
S76, described resource sub agent are collected current task from this virtual machine and are performed information, feed back to the task sub agent creating this virtual machine;
S77, described resource sub agent monitor after this virtual machine cancels, discharge that this virtual machine disposes from node resource, and send to monitoring resource to act on behalf of this virtual machine revocation information.
In order to assess the validity of load-balancing method of the present invention, introduce load balancing degrees as evaluation index, it is defined as the variance of the load of each node of moment t, and its computing formula is as follows:
LB t = 1 m &Sigma; i = 1 m ( Load i - Load avg ) 2
In above formula, m is number of nodes, Load ifor the load of node i, Load avgfor all node average loads, load balancing degrees is less, represents that the load between node is more balanced.
For the ease of comparing, the experimental situation of comparative example static load balancing method (Static) is simulated by cloud computing emulation platform CloudSim, its physical layer node number is also 30, the CPU of central administration node, internal memory, hard disk, network bandwidth parameter stochastic generation within the specific limits, task queue number is 100, and its task length, required memory, hard disk, bandwidth parameter are identical with the present embodiment.
In 20 minutes of time range [0:00-0:20], when the load-balancing method (Multi_Agent) of the many agencies of layering and static load balancing method (Static) use on cloud computing platform, the load balancing degrees curve of node as shown in Figure 6, in figure, abscissa is the time, unit is a minute m, ordinate is load balancing degrees LB, "○" line is the load balancing degrees curve of static load balancing method node, and " rice " line is the load balancing degrees curve of the load-balancing method node of the many agencies of this layering.
As seen from Figure 6, based on the load-balancing method of the many agencies of layering compared with static load balancing method, its load balancing degrees is lower, not only effectively share computational load from node, and effectively shared the load management of central administration node due to each management node acted on behalf of more, make the load of whole cloud computing platform more balanced.Lower load balancing degrees also shows, the load-balancing method based on the many agencies of layering can make cloud computing platform at one time in can also accept and process more task, improve the disposal ability of cloud computing platform.
Above-described embodiment, be only the specific case further described object of the present invention, technical scheme and beneficial effect, the present invention is not defined in this.All make within scope of disclosure of the present invention any amendment, equivalent replacement, improvement etc., be all included within protection scope of the present invention.

Claims (11)

1., based on the many agencies' of a layering cloud computing load balancing method, cloud computing platform, containing the multiple nodes connected through network, is characterized in that:
In described cloud computing platform, 2 nodes are respectively task monitoring control agency and monitoring resource agency, under task monitoring control agency, task agent layer is set, task agent layer has 1 ~ n node to be task sub agent, under monitoring resource agency, Resource Broker layer is set, Resource Broker layer has 1 ~ m node to be resource sub agent, monitoring resource is acted on behalf of, 1 ~ n task sub agent of task monitoring control agency and lower floor thereof, 1 ~ m resource sub agent is the management node of cloud computing platform jointly, physical resource layer have 1 ~ M to possess computational resource from node, have client to submit in task pool 1 ~ N number of waiting task, cloud computing load balancing method based on the many agencies of layering comprises the steps:
The virtual resource information that the current task information of S1, Mission Monitor agents monitor task pool, the current load information of each task sub agent and virtual resource pond are current, regularly to all task sub agent circular current virtual resource informations;
S2, Mission Monitor agency give priority respectively by each waiting task current in task pool, and certain waiting task is distributed to certain task sub agent;
The task sub agent of S3, reception task creates virtual machine according to mission requirements, and monitoring virtual machine runs, and is acted on behalf of to Mission Monitor by tasks carrying information reporting;
S4, monitoring resource agency collects each from node current load information, regularly each from node current load information to all resource sub agent circulars, the current load information of each resource sub agent of monitoring resource agents monitor simultaneously;
S5, monitoring resource agency will be virtualized into virtual resource information, be sent to the virtual resource pond of virtual resource layer from node resource, and according to the virtual machine information that task sub agent is sent, divide virtual resource;
S6, monitoring resource agency, according to agent selection strategy, selects certain resource sub agent to dispose virtual machine;
Described agent selection strategy is specially: monitoring resource agents monitor all resource sub agents load M 1, M 2m m, compare its load, by the resource sub agent that the virtual machine information that certain task sub agent sends sends to load minimum;
S7, disposed virtual machine by the resource sub agent of monitoring resource agent selection, and monitor this virtual machine and run, simultaneously to the task sub agent feedback tasks carrying information creating this virtual machine.
2. the cloud computing load balancing method based on the many agencies of layering according to claim 1, is characterized in that:
The mission bit stream that in described step S1, Mission Monitor agents monitor task pool is current comprises deadline of task, task length, the internal memory of task needs, hard disk and the network bandwidth; The current load information of task sub agent comprises the current CPU usage of task sub agent, memory usage, task queue length and response time; Virtual resource information comprise virtual after cpu frequency, memory size, hard disk size and the network bandwidth.
3. the cloud computing load balancing method based on the many agencies of layering according to claim 1, is characterized in that:
Described step S2 specifically comprises following sub-step:
S21, Mission Monitor agents monitor task pool, read waiting task in task pool, obtain each waiting task T deadline 1;
S22, Mission Monitor agency compares T deadline of certain waiting task x 1xwith current time T 2determine this task priority G x, x is the Arbitrary Digit in 1 ~ N, and the priority specific formula for calculation of waiting task x is: G x=T 1x-T 2, priority G is less shows that this priority of task rank is higher;
S23, Mission Monitor agency reads the priority G of waiting task in task pool 1, G 2g n, compare its priority, the task that priority treatment priority level is high;
S24, Mission Monitor agents monitor all task sub agents load L 1, L 2l n, compare its load, task be distributed to the task sub agent that load is minimum;
The tasks carrying information of S25, the report of collection task sub agent.
4. the cloud computing load balancing method based on the many agencies of layering according to claim 3, is characterized in that:
In described sub-step S24, the specific formula for calculation of certain task sub agent i load is: L ithe response time of the task queue length+a4* task sub agent i of the memory usage+a3* task sub agent i of the CPU usage+a2* task sub agent i of=a1* task sub agent i, wherein i is the Arbitrary Digit in 1 ~ n, a1, a2, a3, a4 are that load calculates weights, are more than or equal to 0 and meet a1+a2+a3+a4=1.
5. the cloud computing load balancing method based on the many agencies of layering according to claim 1, is characterized in that:
Described step S3 specifically comprises following sub-step:
S31, task sub agent are according to received task, and the virtual machine information needed for calculating, creates virtual machine;
S32, task sub agent, according to acting on behalf of the virtual resource information received from Mission Monitor, judge whether have enough virtual resources to meet this virtual machine in virtual resource pond; If had, then send to monitoring resource to act on behalf of this virtual machine information, if do not had, then, after waiting for virtual resource information updating, again judge;
If S33 task sub agent receives virtual resource and divides successful information, then perform step S34; If task sub agent receives virtual resource and divides failure information, then perform step S32;
S34, task sub agent monitor the running status of its virtual machine created;
Task is sent on this virtual machine and performs after monitoring its virtual machine activation created by S35, task sub agent;
S36, task sub agent collect tasks carrying information from corresponding resource sub agent, are reported to Mission Monitor agency;
S37, task sub agent cancel its virtual machine created when task is finished.
6. the cloud computing load balancing method based on the many agencies of layering according to claim 5, is characterized in that:
In described sub-step S31, virtual machine information comprises virtual machine cpu frequency, memory size, hard disk size and the network bandwidth; The specific formula for calculation of virtual machine information is: virtual machine cpu frequency=task length/task priority G, virutal machine memory=required by task internal memory, virtual hard disk=required by task hard disk, virtual machine network bandwidth=required by task network bandwidth; Resources of virtual machine demand Q=(virtual machine cpu frequency, virutal machine memory, virtual hard disk, virtual machine network bandwidth).
7. the cloud computing load balancing method based on the many agencies of layering according to claim 1, is characterized in that:
In described step S4, certain comprises cpu frequency, memory size, hard disk size, the network bandwidth, CPU usage, memory usage, hard disk utilization rate and network usage from node load information; The load information of resource sub agent comprises the CPU usage of resource sub agent, memory usage, virtual machine queue length and response time.
8. the cloud computing load balancing method based on the many agencies of layering according to claim 1, is characterized in that:
Described step S5 specifically comprises following sub-step:
S51, monitoring resource agency, by respectively becoming virtual resource information from node load information virtualization, is sent to the virtual resource pond of virtual resource layer;
S52, monitoring resource agency receives the virtual machine information that certain task sub agent sends, and checks virtual resource information, for this virtual machine divides virtual resource; As divided successfully, perform step S53; As divided failure, perform step S54;
This virtual machine is added virtual resource pond by S53, monitoring resource agency, upgrades virtual resource information, and virtual resource is divided successful information and send to and create described virtual machine task sub agent;
S54, monitoring resource agency sends virtual resource and divides failure information to the task sub agent creating described virtual machine;
After S55, monitoring resource agency receives certain virtual machine revocation information, this virtual machine is deleted from virtual resource pond, and upgrades virtual resource information.
9. the cloud computing load balancing method based on the many agencies of layering according to claim 1, is characterized in that:
In described step S6, the specific formula for calculation of certain resource sub agent j load is: M jthe response time of the virtual machine queue length+b4* resource sub agent j of the memory usage+b3* resource sub agent j of the CPU usage+b2* resource sub agent j of=b1* resource sub agent j, wherein j is the Arbitrary Digit of 1 ~ m, b1, b2, b3, b4 are that load calculates weights, are more than or equal to 0 and meet b1+b2+b3+b4=1.
10. the cloud computing load balancing method based on the many agencies of layering according to claim 1, is characterized in that:
Described step S7 specifically comprises following sub-step:
S71, by the resource sub agent of monitoring resource agent selection receive monitoring resource agency send current from node load information and virtual machine information;
S72, described resource sub agent are according to calculating each from node load information from node present load O 1, O 2o mwith available resources P 1, P 2p m;
S73, described resource sub agent compare available resources P 1, P 2p msize with resources of virtual machine demand Q, meets P kthe feasible from node of virtual machine is disposed in being called from node k of>=Q condition;
The more all feasible present loads from node of S74, described resource sub agent, select the feasible from node of least-loaded, dispose current virtual machine;
S75, described resource sub agent start current virtual machine, monitor this virtual machine running status;
S76, described resource sub agent are collected current task from this virtual machine and are performed information, feed back to the task sub agent creating this virtual machine;
S77, described resource sub agent monitor after this virtual machine cancels, discharge that this virtual machine disposes from node resource, and send to monitoring resource to act on behalf of this virtual machine revocation information.
11. cloud computing load balancing methods based on the many agencies of layering according to claim 10, is characterized in that:
In described sub-step S72, certain from the specific formula for calculation of node k present load is: O k=r1* is from the CPU usage+r2* of node k from the memory usage+r3* of node k from the hard disk utilization rate+r4* of node k from the network usage of node k, wherein, k is the Arbitrary Digit of 1 ~ M, and r1, r2, r3, r4 are that load calculates weights, are more than or equal to 0 and meet r1+r2+r3+r4=1; Certain from the specific formula for calculation of node k current available resource is: P k={ from the cpu frequency * (1-is from the CPU usage of node k) of node k, from the memory size * (1-is from the memory usage of node k) of node k, from the hard disk size * (1-is from the hard disk utilization rate of node k) of node k, the network bandwidth * (1-is from the network usage of node k) from node k }.
CN201310056525.2A 2013-02-22 2013-02-22 A kind of cloud computing load balancing method based on the many agencies of layering Active CN103118124B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310056525.2A CN103118124B (en) 2013-02-22 2013-02-22 A kind of cloud computing load balancing method based on the many agencies of layering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310056525.2A CN103118124B (en) 2013-02-22 2013-02-22 A kind of cloud computing load balancing method based on the many agencies of layering

Publications (2)

Publication Number Publication Date
CN103118124A CN103118124A (en) 2013-05-22
CN103118124B true CN103118124B (en) 2015-08-05

Family

ID=48416394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310056525.2A Active CN103118124B (en) 2013-02-22 2013-02-22 A kind of cloud computing load balancing method based on the many agencies of layering

Country Status (1)

Country Link
CN (1) CN103118124B (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309738B (en) * 2013-05-31 2016-12-28 中国联合网络通信集团有限公司 User job dispatching method and device
CN104239117A (en) * 2013-06-13 2014-12-24 鸿富锦精密工业(深圳)有限公司 Virtual machine control system and method
CN103533086B (en) * 2013-10-31 2017-02-01 中国科学院计算机网络信息中心 Uniform resource scheduling method in cloud computing system
CN104899092B (en) * 2014-03-03 2019-08-20 上海携程商务有限公司 JOB distribution system and method
CN103873293B (en) * 2014-03-05 2018-06-12 新华三技术有限公司 A kind of healthprobe device and method
CN104301241B (en) * 2014-06-05 2018-01-09 中国人民解放军信息工程大学 A kind of SOA dynamic load distributing methods and system
CN104219285B (en) * 2014-08-12 2018-05-29 重庆大学 The method for determining the mapping relations of communication agent node and virtual machine in cloud platform
CN105389196A (en) * 2014-09-04 2016-03-09 中国石油化工股份有限公司 Method for processing seismic data by utilizing virtualization technology
CN104731635B (en) * 2014-12-17 2018-10-19 华为技术有限公司 A kind of virtual machine access control method and virtual machine access control system
CN106325997B (en) * 2015-06-26 2020-10-02 南京中兴软件有限责任公司 Virtual resource allocation method and device
CN105120008B (en) * 2015-09-14 2018-05-04 南京邮电大学 A kind of distributed cloud computing center balancing method of loads based on layering
CN105740054A (en) * 2016-02-01 2016-07-06 浪潮软件股份有限公司 Virtual machine management method and device
CN106161629B (en) * 2016-07-13 2020-08-04 广州新博庭网络信息科技股份有限公司 Business object synchronization method, client and server
CN107193706A (en) * 2017-03-31 2017-09-22 深圳市浩远智能科技有限公司 A kind of method and apparatus for determining target computer room information technology information technoloy equipment
US10873541B2 (en) 2017-04-17 2020-12-22 Microsoft Technology Licensing, Llc Systems and methods for proactively and reactively allocating resources in cloud-based networks
CN107807853B (en) * 2017-10-16 2021-07-02 北京航空航天大学 Node screening method and device based on machine real-time load and task state machine
CN109284275B (en) * 2018-09-28 2021-03-09 苏州浪潮智能科技有限公司 Cloud platform virtual machine file system monitoring method and device
CN109412876B (en) * 2018-12-27 2022-02-08 杭州数梦工场科技有限公司 Cloud management platform, cloud management method and cloud management system
CN110062032A (en) * 2019-04-01 2019-07-26 北京航天发射技术研究所 A kind of computer network clustered control platform application reconfiguration system
CN110543315B (en) * 2019-09-06 2021-08-31 程延辉 Distributed operating system of kbroker, storage medium and electronic equipment
US11824784B2 (en) 2019-12-20 2023-11-21 Intel Corporation Automated platform resource management in edge computing environments
CN112055068B (en) * 2020-08-28 2022-09-16 合肥工业大学 Distribution method, device, terminal and storage medium of multi-agent system master control node
CN115277781B (en) * 2022-07-29 2024-07-16 京东方科技集团股份有限公司 Proxy connection method and related equipment
CN115460106B (en) * 2022-08-30 2023-06-30 南京赛宁信息技术有限公司 Virtual machine monitoring method and system for improving resource utilization rate in network target range
CN116467068B (en) * 2023-03-14 2024-06-18 浙江大学 Resource scheduling method, equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170474A (en) * 2011-04-22 2011-08-31 广州杰赛科技股份有限公司 Method and system for dynamic scheduling of virtual resources in cloud computing network
CN102427475A (en) * 2011-12-08 2012-04-25 曙光信息产业(北京)有限公司 Load balance scheduling system in cloud computing environment
CN102479099A (en) * 2010-11-22 2012-05-30 中兴通讯股份有限公司 Virtual machine management system and use method thereof
CN102508714A (en) * 2011-11-03 2012-06-20 南京邮电大学 Green-computer-based virtual machine scheduling method for cloud computing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996525B2 (en) * 2008-12-31 2011-08-09 Sap Ag Systems and methods for dynamically provisioning cloud computing resources

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479099A (en) * 2010-11-22 2012-05-30 中兴通讯股份有限公司 Virtual machine management system and use method thereof
CN102170474A (en) * 2011-04-22 2011-08-31 广州杰赛科技股份有限公司 Method and system for dynamic scheduling of virtual resources in cloud computing network
CN102508714A (en) * 2011-11-03 2012-06-20 南京邮电大学 Green-computer-based virtual machine scheduling method for cloud computing
CN102427475A (en) * 2011-12-08 2012-04-25 曙光信息产业(北京)有限公司 Load balance scheduling system in cloud computing environment

Also Published As

Publication number Publication date
CN103118124A (en) 2013-05-22

Similar Documents

Publication Publication Date Title
CN103118124B (en) A kind of cloud computing load balancing method based on the many agencies of layering
CN103617086B (en) Parallel computation method and system
Sotiriadis et al. SimIC: Designing a new inter-cloud simulation platform for integrating large-scale resource management
Feller et al. Energy-aware ant colony based workload placement in clouds
CN102932422B (en) Cloud environment task scheduling method based on improved ant colony algorithm
CN101441580B (en) Distributed paralleling calculation platform system and calculation task allocating method thereof
CN102063336B (en) Distributed computing multiple application function asynchronous concurrent scheduling method
Mansouri et al. Cost-based job scheduling strategy in cloud computing environments
CN104902001B (en) Web request load-balancing method based on operating system virtualization
CN106790726A (en) A kind of priority query&#39;s dynamic feedback of load equilibrium resource regulating method based on Docker cloud platforms
CN112783649A (en) Cloud computing-oriented interactive perception containerized micro-service resource scheduling method
CN105550323A (en) Load balancing prediction method of distributed database, and predictive analyzer
CN102223419A (en) Virtual resource dynamic feedback balanced allocation mechanism for network operation system
Singh et al. Energy based efficient resource scheduling: a step towards green computing
CN102637138B (en) A kind of method for calculating scheduling virtual machine
CN102012891B (en) Computer cluster management method, device and system
Cao et al. Energy efficient allocation of virtual machines in cloud computing environments based on demand forecast
CN103617067A (en) Electric power software simulation system based on cloud computing
CN103605578A (en) Load balance scheduling method based on virtual machine migration
Patni et al. Load balancing strategies for grid computing
Fernández-Cerero et al. Sphere: Simulator of edge infrastructures for the optimization of performance and resources energy consumption
Hasan et al. A survey of energy efficient IoT network in cloud environment
Alshathri et al. A New Reliable System For Managing Virtual Cloud Network.
CN103685563A (en) Cloud calculating system based on mobile communication network and resource management method thereof
Lin et al. Novel resource allocation model and algorithms for cloud computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130522

Assignee: Guangxi Jun'an Network Security Technology Co.,Ltd.

Assignor: GUILIN University OF ELECTRONIC TECHNOLOGY

Contract record no.: X2022450000459

Denomination of invention: A Load Balancing Method for Cloud Computing Based on Hierarchical Multi Agent

Granted publication date: 20150805

License type: Common License

Record date: 20221228

EE01 Entry into force of recordation of patent licensing contract