CN107273181B - Multilayer nested virtualization structure and task allocation method thereof - Google Patents

Multilayer nested virtualization structure and task allocation method thereof Download PDF

Info

Publication number
CN107273181B
CN107273181B CN201710405158.0A CN201710405158A CN107273181B CN 107273181 B CN107273181 B CN 107273181B CN 201710405158 A CN201710405158 A CN 201710405158A CN 107273181 B CN107273181 B CN 107273181B
Authority
CN
China
Prior art keywords
task
virtual machine
nested
layer
processing
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
CN201710405158.0A
Other languages
Chinese (zh)
Other versions
CN107273181A (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.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201710405158.0A priority Critical patent/CN107273181B/en
Publication of CN107273181A publication Critical patent/CN107273181A/en
Application granted granted Critical
Publication of CN107273181B publication Critical patent/CN107273181B/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/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/45566Nested virtual machines
    • 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

Abstract

The invention belongs to the technical field of cloud computing, and discloses a multilayer nested virtualization structure and a task allocation method thereof, wherein the multilayer nested virtualization structure comprises a Hypervisor layer and a virtual machine operating system layer which directly runs under the management of the Hypervisor layer as one layer and is represented by Li; wherein i represents the nesting times, L0 represents a bottom physical hardware layer, and L1 represents a Root Hypervisor layer and a corresponding Regular VM layer; the multilayer nested virtualization structure comprises: a two-level nested virtualization component and a multi-level nested virtualization component. According to the invention, through the improvement of the existing nested virtualization structure and the task allocation method thereof, the multi-layer nested virtualization structure can effectively reduce the generation of cloud resource fragments, and the utilization efficiency of cloud resources can be effectively improved. Meanwhile, the task allocation method can achieve compromise between task processing efficiency and cost on the basis of improving the utilization efficiency of cloud resources.

Description

Multilayer nested virtualization structure and task allocation method thereof
Technical Field
The invention belongs to the technical field of cloud computing, and particularly relates to a multilayer nested virtualization structure and a task allocation method thereof.
Background
Cloud computing brings great convenience to production and life of people as the technology which attracts the most attention of the IT industry in the 21 st century. However, as cloud computing is continuously developed and cloud users are continuously increased, the defects of the traditional architecture and operation mode of cloud computing begin to appear. Among many problems faced by cloud computing, the problems of insufficient cloud resource utilization rate and excessive cloud resource fragments are the most serious. Under the action of resource isolation, the idle resource pieces of the cloud server rented out as commodities are in an idle state all the time before the lease expires and cannot be recycled by a cloud service provider. With the increasing number of leased cloud servers, these scattered resource fragments will cause a huge resource waste problem. How to efficiently utilize these scattered resource pieces becomes a significant challenge for cloud computing. Among many technologies, virtualization performs well in improving hardware resource utilization. As an upgrade to traditional virtualization, nested virtualization technology allows one virtual machine operating system to run on another; a new solution direction is provided for solving the problem of insufficient utilization rate of cloud server resources. Besides the virtualization technology, a task allocation algorithm in a cloud environment with excellent performance is also the key for solving the problem of insufficient utilization rate of cloud resources. Based on the idea of load balancing, through reasonable design, the task allocation algorithm can improve the utilization rate of cloud resources on the resource scheduling level.
In summary, the problems of the prior art are as follows: under the cloud computing environment, the resource waste problem is caused by insufficient utilization rate of computing resources and excessive cloud resource fragments, and the software and hardware maintenance cost, the cost of cloud service and the like are increased.
Disclosure of Invention
Aiming at the problems in the prior art, the invention provides a multilayer nested virtualization structure and a task allocation method thereof.
The invention is realized in such a way that a multi-layer nested virtualization structure comprises: a two-level nested virtualization broadcast portion and a multi-level nested virtualization portion.
Further, the multi-layer nested virtualization structure is provided with a plurality of nested Hypervisor layers; the computing resource additionally needed by the high-level nested virtual machine relative to the second-level nested virtual machine is defined as epsi,j(i is more than or equal to 3); wherein i represents the layer number of the structure of the nested layer, and j represents the virtual machine number of the same nested layer; and simultaneously mapping the performance overhead of the i-th layer Hypervisor into epsi,j(i is not less than 3); wherein idlei,jAnd the free resource piece of the virtual machine with the ith layer number j is shown.
Another objective of the present invention is to provide a task allocation method using the multi-layer nested virtualization structure, where an expression of the task allocation method is:
Figure BDA0001308742120000021
wherein:
set V ═ V1,v2...,vk}: is a set formed by tasks to be processed, wherein the number of the tasks is k;
w=(vi): representing a processing task viPredicting a required processing time;
w=(vip): representing virtual machine PTask viPredicting a required processing time;
ts=(vip): representing virtual machine P processing tasks viThe time of start;
tf=(vip): representing virtual machine P processing tasks viThe time of the end, satisfies the following formula:
tf(vi,P)=ts(vi,P)+w(vi,P);
prec (i, p): indicating that virtual machine P is processing task viA set of tasks that need to be processed; if task v is being processediThe front virtual machine P has no tasks to process, prec (i, P); and the virtual machine P will not start processing the task v until it has finished processing the task in prec (i, P)i
avail=(viP): after the virtual machine P has processed the task in prec (i, P), it is ready to execute the task viTime of (2):
Figure BDA0001308742120000031
avail=(vip) is the time to complete the last task in prec (i, p):
Figure BDA0001308742120000032
EFT=(vip): representing virtual machine P processing tasks viThe earliest end time is:
Figure BDA0001308742120000033
FRT (i): is shown performing task viBefore, the cloud server expects the lease due time, when the task v is executediThen, FRT (i)';
time: indicating the execution of a task viIncreased lease of servers, i.e.Comprises the following steps:
time=(FRT(i)′-FRT(i));
cost(vi,Pj) Show execution task viThe cost to be paid is defined as:
cost(viPj)=time*mtu;
where mtu costs for renting cloud servers under a certain configuration;
H={HOST1,HOST2...,HOSTK}: representing a collection of leased cloud servers.
Another object of the present invention is to provide a cloud resource optimization method using the foregoing cloud resource optimization method, including:
(1) generation of nested virtual machine creation schedules
In the multi-layer nested virtualization, the layer number of the highest nested virtual machine is the maximum value of n which satisfies the formula:
epsn<idle2,1,(n>2);
the final remaining free resources are defined as: idle'1,1The sum of the resource consumption of the multi-layer nested virtualization structure is obtained and is defined as wstn
Figure BDA0001308742120000041
Wherein n represents the highest number of nested levels, and k represents the number of standard L2 level virtual machines of the two-level nested structure part;
obtaining the nesting layer number j of the optimized nested structure and obtaining a nested virtual machine creation scheduling table according to the following formula:
Figure BDA0001308742120000042
wherein: vmi,j: the number j of the virtual machine representing the ith layer is defined as vm as the first layer of the virtual machinei,j
idlei,j: the idle resource piece of the virtual machine with the ith layer number j is represented; wherein idle1,1Representing cloud servers vm1,1Free computing resources of (1);
epsi,j(i.gtoreq.3): indicating that the virtual machine with the ith layer number j executes a certain task;
min_resourcei: represents the minimum computing resources required by the i-th layer guest virtual machine to process a certain task, and min _ resourceiAt least the resources required to run the virtual machine operating system;
Rn: when representing nested n layers, the idle occupied by the multi-layer nested virtualization part1,1The computing resource part for bearing all the nested virtual machines.
(2) And (3) generating a task scheduling table:
Figure BDA0001308742120000043
at task viIn the process of allocation, under the current task scheduling graph, max [ cost ] of the task scheduling graph]And max [ EFT (v)i,p)]Is fixed, finds the minimum value of the formula, and the corresponding virtual machine P is the most suitable to execute the task viThe virtual machine of (1). When task viAnd obtaining the task scheduling table of the batch of tasks for the last task to be allocated of the batch of tasks.
Further, the generating of the virtual machine creation schedule includes:
firstly, calculating computing resources of a rented cloud server and analyzing the characteristics of a task to be processed; calculating the predicted idle resource amount of the cloud server according to the collected information;
and after the predicted resource idle amount of the cloud server is obtained, generating a nested virtual machine creation scheduling table according to the dependent nested virtualization structure.
The generating of the task schedule includes:
firstly, traversing all available task processing virtual machines; and counting the task processing condition of the existing task processing virtual machine.
And after the task processing condition of the task processing virtual machine is obtained, calculating according to the dependent task allocation algorithm to obtain a task scheduling table.
The invention also aims to provide a cloud server applying the cloud resource optimization method.
The invention has the advantages and positive effects that: by improving the existing nested virtualization structure and the task allocation method thereof, the multi-layer nested virtualization structure can effectively reduce the generation of cloud resource fragments, and can effectively improve the utilization efficiency of cloud resources. Meanwhile, the task allocation method can achieve compromise between task processing efficiency and cost on the basis of improving the utilization efficiency of cloud resources. The nested virtualization architecture and task allocation algorithm of the present invention both have performance analysis below. Due to the limitation of the existing virtualization technology, only the third layer of virtual machines can be nested at most, and the performance loss of the third layer of nested virtual machines is serious. Therefore, the performance of the multi-layer nested virtualization structure of the invention can not be compared with the performance of the traditional nested virtualization structure by experiments, and only theoretical analysis can be used; the task allocation algorithm, the traditional heuristic task allocation algorithm and the cycle allocation method are analyzed and see the attached table.
Table 1: the earliest time for completing batch task execution by the task allocation algorithm (embodied by the largest EFT of the batch task) is moderate, and the performance is superior to that of a circular allocation algorithm and inferior to that of a traditional heuristic allocation algorithm.
Table 2: the task allocation algorithm of the invention has better performance than a cycle allocation algorithm and is inferior to the traditional heuristic allocation algorithm for the earliest processing time (represented by schedule length of the batch of tasks) of a single task.
Table 3: the task allocation algorithm of the invention is superior to the traditional heuristic allocation algorithm and the cycle allocation algorithm in terms of cost required for executing batch tasks.
TABLE 1
Figure BDA0001308742120000061
TABLE 2
Figure BDA0001308742120000062
TABLE 3
Figure BDA0001308742120000063
In conclusion, the task allocation algorithm can achieve the compromise between the task processing efficiency and the cost on the basis of improving the utilization rate of cloud resources.
Drawings
FIG. 1 is a diagram of a prior art multi-layered nested virtualization structure provided by an embodiment of the present invention;
in the figure, (a) two layers of nested virtualization structures; (b) a multi-level nested virtualization structure.
Fig. 2 is a flowchart of a cloud resource optimization method provided in an embodiment of the present invention.
FIG. 3 is a diagram illustrating an example of task allocation provided by an embodiment of the present invention;
in the figure: (a) a cloud server 1; (b) and a cloud server 2.
Fig. 4 is a schematic diagram of a multi-layer nested virtualization structure provided by an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail with reference to the following embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The invention solves the problems of insufficient utilization rate of computing resources, excessive cloud resource fragments and the like in the cloud computing environment. Combining task allocation requirements under a cloud computing environment, and adopting a multi-layer nested virtualized cloud resource optimization method; moreover, the method comprises a new nested virtualization structure and a task allocation method suitable for the nested cloud environment; by improving the existing nested virtualization structure and the task allocation method thereof, the multi-layer nested virtualization structure can effectively reduce the generation of cloud resource fragments, and can effectively improve the utilization efficiency of cloud resources. Meanwhile, the task allocation method can achieve compromise between task processing efficiency and cost on the basis of improving the utilization efficiency of cloud resources.
The following detailed description of the principles of the invention is provided in connection with the accompanying drawings.
As shown in fig. 1, the multi-layer nested virtualization structure provided in the embodiment of the present invention collectively refers to a Hypervisor layer and a virtual machine operating system layer directly running under its management, which are denoted by Li. Where i represents the number of nesting, and L0 represents the underlying physical hardware layer, and L1 represents the Root Hypervisor layer and its corresponding Regular VM layer. The two-layer nested virtualization structure has the advantages that only L2Hypervisor is needed to be introduced, namely a client Hypervisor layer, all L2 virtual machines are directly controlled by the Hypervisor, and the complexity of the structure and the difficulty of structure realization are greatly reduced; in the multi-layer nested virtualization structure, through recursive nesting, a plurality of nested Hypervisor layers are arranged in the structure; the computing resource additionally needed by the high-level nested virtual machine relative to the second-level nested virtual machine is defined as epsi,j(i is more than or equal to 3); wherein i represents the number of layers of the structure where the nested layer is located, and j represents the virtual machine number of the same nested layer. And simultaneously mapping the performance overhead of the i-th layer Hypervisor into epsi,j(i.gtoreq.3).
Wherein idlei,jAnd the free resource piece of the virtual machine with the ith layer number j is shown.
The application of the principles of the present invention will now be described in further detail with reference to the accompanying drawings.
As shown in fig. 4, the multi-layer nested virtualization structure designed by the embodiment of the present invention includes: a two-level nested virtualization component and a multi-level nested virtualization component.
The multi-layer nested virtualization structure is provided with a plurality of nested Hypervisor layers; the computing resource additionally needed by the high-level nested virtual machine relative to the second-level nested virtual machine is defined as epsi,j(i is more than or equal to 3); wherein i represents the layer number of the structure of the nested layer, and j represents the virtual machine number of the same nested layer; and simultaneously mapping the performance overhead of the i-th layer Hypervisor into epsi,j(i is not less than 3); wherein idlei,jNull indicating the i-th layer j-numbered virtual machineAnd (4) idle resource pieces.
(1) The cloud resource optimization method based on the multilayer nested virtualization comprises a new multilayer nested virtualization structure and a new task allocation algorithm under the nested cloud environment. A task processing execution flow diagram in a cloud environment is shown in fig. 2. By means of mutual cooperation of the designed nested virtualization structure and the task allocation algorithm, the cloud resource utilization efficiency can be maximized.
The core of the cloud resource optimization scheme is the generation of two scheduling tables:
(1) nested virtual machine creation schedules
The generation of the virtual machine creation schedule has the following two steps:
first, computing resources of a rented cloud server are counted and characteristics of a task to be processed, such as the amount of computing resources required for processing the task, are analyzed. And according to the collected information, calculating the predicted idle resource amount of the cloud server.
And after the predicted resource idle amount of the cloud server is obtained, generating a nested virtual machine creation scheduling table according to the dependent nested virtualization structure.
(2) Task allocation schedule
The task allocation schedule is generated by the following two steps:
the virtual machine may be a virtual machine that has been created and used to process a task, a cloud server that has not been leased, or a nested virtual machine that has not been created. If a nested virtual machine is selected that is not created, the nesting level at which the virtual machine is located is determined. The schedule process is created by the nested virtual machines generated above.
And after the task processing virtual machine is allocated to each task, generating a task allocation scheduling table according to the task allocation algorithm depended on.
(II) nested virtualization structure design
The symbols used are defined as follows:
vmi,j: the number j of the virtual machine representing the ith layer is defined as vm as the first layer of the virtual machinei,j
idlei,j: and the free resource piece of the virtual machine with the ith layer number j is shown. Wherein idle1,1Representing cloud servers vm1,1Free computing resources.
epsi,j(i.gtoreq.3): the i-th layer numbered j represents extra computing resources required by the virtual machine to execute a certain task and achieve the same processing efficiency as the task is processed by the second layer client virtual machine.
min_resourcei: represents the minimum computing resources required by the i-th layer guest virtual machine to process a certain task, and min _ resourceiAt least the resources needed to run the virtual machine operating system. If it represents that the i-th layer guest virtual machine is in min _ resourceiFor configuration creation, it is called a standard Li-level nested virtual machine, and its free resources are called idle _ standard. From the virtualization basic knowledge, min _ resource of each layer is different and increases with the number of layers. The same idle _ standard differs for each layer.
Rn: when representing nested n layers, the idle occupied by the multi-layer nested virtualization part1,1The computing resource part for bearing all the nested virtual machines.
It is assumed that when the guest virtual machines of one layer execute the same type of task, their performance configuration is min _ resourcei. Since the same task is processed, their free resources should be equal, i.e. the following conditions are met:
idle2,j=idle2,k,(j,k>0) (1-2)
in order to save resources, in the multi-layer nested virtualization part, the layer number of the highest nested virtual machine is the maximum value of n meeting the formula (1-3):
epsn<idle2,1,(n>2) (1-3)
since the eps of each layer is fixed, in order to minimize the idlen,1Need vmn,1Is a standard Ln layer nested virtual machine, i.e. its configuration should be min _ resource. Thus, vmn-1,1Is determinedI.e. the sum of min _ resource and the resource required by its processing task. Recursion in this way, vm of the multi-layer nested part2,1Configuration R ofnIt is determined. Finally will idle1,1The remaining parts are all used to create a standard L2 level nested virtual machine of the two level nested part. Since the number of resources remaining is not always min _ resource2So the present invention defines the final remaining free resources as: idle'1,1. Thus, the sum of resource consumption of the multi-layered nested virtualization structure is obtained and defined as wstn
Figure BDA0001308742120000101
Where n represents the highest number of levels of nesting and k represents the number of standard L2 level virtual machines that are part of a two-level nesting structure.
Meanwhile, in order to maximize the utilization efficiency of the underlying computing resources, the nesting layer number j of the optimized nested structure can be obtained by the following formula (1-5):
Figure BDA0001308742120000102
according to the description of the upgraded multi-layer nested virtualization structure, the specific algorithm is as follows:
Figure BDA0001308742120000103
according to the algorithm 1, a creation scheduling table of the virtual machine under the multi-layer nested virtualization structure can be obtained. When the nested virtual machines need to be created, the cloud user can create the nested virtual machines meeting the requirements at a proper layer number according to the computing resources required by task processing through the scheduling table. When all the nested virtual machines in the virtual machine creation scheduling table are created, the utilization efficiency of the cloud computing resources reaches the maximum value.
(III) task allocation algorithm
Before introducing the task allocation algorithm, firstly defining symbols required to be used in the algorithm:
set V ═ V1,v2...,vk}: is a set of tasks to be processed, wherein the number of tasks is k.
w=(vi): representing a processing task viThe required processing time is expected.
w=(viP): representing virtual machine P processing tasks viThe required processing time is expected.
ts=(viP): representing virtual machine P processing tasks viThe time of start.
tf=(viP): representing virtual machine P processing tasks viThe time of the end. It satisfies the following formula:
tf(vi,P)=ts,(vi,P)+w(vi,P);
prec (i, p): indicating that virtual machine P is processing task viPreviously, a collection of tasks that need to be processed. If task v is being processediThe front virtual machine P has no tasks to process, prec (i, P). And the virtual machine P will not start processing the task v until it has finished processing the task in prec (i, P)i
avail=(viP): after the virtual machine P has processed the task in prec (i, P), it is ready to execute the task viTime of (2):
Figure BDA0001308742120000111
all tasks are independent and can only be operated by the serial operation of the operating system; so avail ═ viP) is the time to complete the last task in prec (i, p):
Figure BDA0001308742120000112
EFT=(vip): representing virtualMachine P processing task viThe earliest end time. Namely:
EFT(vi,P)=ts(vi,P)+w(vi,P);
FRT (i): is shown performing task viPreviously, the cloud server expected the time at which the lease expired. When the task v is executediThen, FRT (i)'. In scheme, only two events will result in FRT (i)'>FRT(i):
If in the cloud server, for performing task viHas not been created, and after its creation, the performance of the virtual machine existing running within the cloud server is degraded, thus resulting in frt (i)'>FRT(i)。
If EFT is (v)i,p)>FRT(i),FRT(i)'←EFT=(vi,p)。
time: indicating the execution of a task viThe added lease of the server is:
time=(FRT(i)'-FRT(i));
cost(vi,Pj) Show execution task viThe cost to be paid is defined as:
cost(vi,Pj)=time*mtu;
wherein mtu is the expense required to lease a cloud server under a certain configuration.
H={HOST1,HOST2...,HOSTKRepresents the collection of leased cloud servers. When a certain cloud server lease period is finished/started, the system can automatically remove/add the lease period into the set.
On the basis of comprehensively considering task processing efficiency and service cost, the task allocation algorithm suitable for the nested cloud environment is as follows:
Figure BDA0001308742120000121
by the formulas (1-6), at task viIn the process of allocation, under the current task scheduling graph, max [ cost ] of the task scheduling graph]And max [ EFT (v)i,p)]Is fixed, soSo that only the minimum value of the formula needs to be found, and the corresponding virtual machine P is the most suitable for executing the task viThe selected virtual machine P can guarantee the task processing speed and simultaneously take the task processing overhead into consideration. According to the description of the task allocation algorithm, the arrangement task allocation algorithm is as follows:
Figure BDA0001308742120000131
the effect of the present invention will be described in detail below with reference to the following examples.
In the comparison model, the virtual machine of the L1 layer is a cloud server. As can be seen from fig. 3, the conventional two-layer nested virtualization structure has the following drawbacks: under the effect of resource isolation, the free resource slice of each nested virtual machine is not available for other virtual machines, and will be in an idle state until the lease expires. Compared with a two-layer nested virtualization structure, the multi-layer nested virtualization structure can reduce the generation of resource fragments as much as possible, but can cause the generation of eps under the action of resource expansion, and idle2,1<idlen,1. If idlen,1And eps of the layersi,j(i is more than or equal to 3) is more than the idle of the same number of virtual machines in the two-layer nested virtualization structure2,jIn addition, the resource utilization rate of the two-layer nested virtualization is obviously better than that of the multi-layer nested virtualization structure, and the multi-layer nested virtualization structure has no advantage in the aspect of saving computing resources. Therefore, a nested virtualization structure with better performance and efficiency needs to be designed to improve the resource utilization rate of the cloud platform.
The existing cloud platform task allocation algorithm comprises a greedy algorithm, a Hadoop task allocation algorithm, a heuristic task allocation algorithm and the like. Greedy algorithm: such as Min-Min algorithm, Max-Min algorithm, Sufferage algorithm, etc. The Min-Min algorithm follows the earliest allocation and the fastest processing of tasks, and adopts an easy-before-difficult principle for the priority of the tasks, thereby bringing the advantage of reducing the waiting time of the tasks to the maximum extent. The Max-Min algorithm also follows the earliest allocation and fastest processing of tasks, but unlike the Min-Min algorithm, the task priority ordering adopts a principle of difficulty before difficulty. The minimum loss method is adopted by the Sufferage algorithm, and when the task has priority competition, the 'weak' task allocates the computing resources firstly. Generally speaking, greedy algorithms consider the speed of task processing. However, the pursuit of computational efficiency will result in unbalanced loads on the computing nodes (the processing pressure will be concentrated on the nodes with strong computational performance).
Hadoop task allocation algorithm: the hadoop has different task allocation algorithms according to the task processing requirements of different users. The comparison is classic, such as a first-in first-out algorithm, a fair scheduling algorithm and the like. The FIFO algorithm is literally known, i.e. the first-come task is processed first. The fair scheduling law holds the principle of fair allocation of resources. Such algorithms can result in the generation of a large amount of resource fragmentation, and the computing nodes will frequently switch between different tasks.
And (5) heuristic task allocation algorithm. By carrying out priority sequencing on the tasks and according to factors such as distribution experience, scheduling strategies and the like, the method can quickly map each task to the corresponding computing node and generate a task distribution table. The well-known heuristic algorithms include genetic algorithm, ant colony algorithm and the like.
The execution strategy of the task allocation algorithm is different according to different service QoS requirements. On the basis of considering load balancing of a cloud server and high service availability, Hung provides a task allocation algorithm to improve the efficiency of task allocation in a cloud environment. The algorithm considers the efficiency of task processing and the cost problem at the same time, and reaches the compromise of the two factors. And finding out the minimum value of the formula (1-1), wherein the corresponding task allocation scheduling table is the optimal task allocation scheduling table. Wherein V represents a task set consisting of tasks to be processed, ViRepresenting the task with priority i in the task set. H represents a collection of rented cloud servers, pkAnd representing the cloud server with the number k in the cloud server set. EFT (v)i,pk) Representative task viAt cloud server pkThe predicted execution end time, corresponding cost (v)i,pk) I.e. is the cloud server pkHas performed task viPredicted expense:
Figure BDA0001308742120000151
although the hung algorithm achieves a compromise between task processing efficiency and cost, it does not address the task allocation scenario in figure 3. Under the effect of the cloud service charging mode, the nested virtual machines running in the cloud server do not need extra payment. As in the cloud server 1 in fig. 3, the OS1 and OS3 do not need to pay a fee, because the fee of the cloud server 1 is determined by the time when it occupies the cloud service, that is, the task processing end time of the OS 2. Therefore, both OS1 of hostmm 1 and OS1 of hostmm 2 can guarantee that the service cost of processing task 7 is 0, so under the calculation formula of the algorithm strategy, the conclusion is reached: in processing task 7, OS1 of hostmm 1 and OS1 of hostmm 2 perform in concert, and the algorithm will then randomly assign task 7 to one of the two virtual machines. However, the OS1 in the hostmm 2 performs better when actually processing tasks. The reason is that when task 7 is assigned to OS1 in cloud server hostmm 2, the end of task execution is expected to be at 7:04, and when task is assigned to OS1 in cloud server hostmm 1, the end of task execution is expected to be at 7: 06. Clearly, this task allocation algorithm does not solve the problem well.
According to the invention, through mutual cooperation of the designed multilayer nested virtualization structure and the task allocation algorithm suitable for the nested cloud environment, the utilization of cloud resources can be optimized at the software and hardware level. Compared with the prior art, the method has the following advantages that:
(1) nested virtualization structural advantages
When the number of the created nested virtual machines is n, the resource loss of the traditional two-layer nested virtualization structure is
Figure BDA0001308742120000152
The resource consumption of the traditional multi-layer nested virtualization structure is
Figure BDA0001308742120000153
The resource loss of the multi-layer nested virtualization structure is wst with the formula (1-4)x(x is more than or equal to 2 and less than or equal to y). Where x is the number of nested layers and y is the highest number of layers that allow nesting, as determined by equation (1-3). Wst for schedule calculation expressions (1-4) for each nested virtual machine as a result of the nested virtualization structurex(2 ≦ x ≦ y), including the case where x ≦ 2 (in this case, the traditional two-layer nested virtualization structure), so the nested virtualization structure includes the performance of the traditional two-layer nested virtualization structure. Under the action of the formula (1-5), the nested virtual machine with the minimum resource loss is obtained to create the scheduling table, so that the nested virtualization structure is superior to the traditional two-layer nested virtualization structure in the aspect of improving the utilization rate performance of computing resources. According to the traditional multilayer nested virtualization structure, the number of nested layers is the number n of nested virtual machines according to the nested virtual machine creation rule. When (n +1) ≦ y, the nested virtual machine creation schedule generated by the traditional multi-layer nested virtualization structure is also within the traversal range of the multi-layer nested virtual machine creation schedule, so that the nested virtualization structure contains the performance of the traditional multi-layer nested virtualization structure. When (n +1) > y, since the formula (1-3) is not satisfied, and idlen,1>idley,1Therefore, the resource consumption of the traditional multilayer nested virtualization structure can be divided into two parts: a 2-y layer nested virtual machine part and a y + 1-n +1 nested virtual machine part. When the nesting highest layer number of the nested virtualization structure is y, the loss of the multi-layer nested virtualization part is more idle than that of the nested virtual machine part between 2 and y layers of the traditional multi-layer nested virtualization structurey,1. Under the condition constraint of the formula (1-3), the y + 1-n +1 nested virtual machine part of the traditional multi-layer nested virtualization structure is more than the two-layer nested virtualization part of the nested virtualization structure of the invention
Figure BDA0001308742120000161
Due to idlen+1>idley,1And is and
Figure BDA0001308742120000162
therefore, the nested virtualization structure is superior to the traditional multilayer nested virtualization structure in the aspect of improving the utilization rate performance of computing resources when (n +1) > y. In conclusion, the multi-layer nested virtualization structure is superior to the traditional two-layer nested virtualization part and the multi-layer nested virtualization part in the aspect of improving the utilization rate of computing resources.
(2) Task allocation algorithm advantages
The invention is a cloud environment nested virtualization structure, which can achieve the compromise of task processing efficiency and cost like the Hung task allocation algorithm, and is also superior to the Hung task allocation algorithm in the following aspects:
● computational complexity
As a description of the task assignment algorithm of the present invention, EFT (v) in the formulas (1-6)i,P)≤max[EFT(vi,P)],cost(vi,P)≤max[cost]And the cost of task processing is minute-scale cost. If the processing time of the task to be distributed is x minutes, the number of the rented cloud servers is y, (cost (v)i,P)/max[cost]) When the task assignment algorithm of the present invention assigns the task to process the virtual machine, the computational complexity is O (y × e)x). Because the processing time of the tasks and the number of the rented cloud servers are constant, the computational complexity of the task allocation algorithm for allocating and processing the virtual machines for the single task can be simplified to O (1). And if the number of the tasks needing to be processed is n, the calculation complexity of the task allocation algorithm for generating the batch task allocation scheduling table is O (n). In the task allocation algorithm proposed by Hung, all possible task schedules need to be traversed since the task schedule that enables equation (1-6) to take the minimum value is taken. If the number of the rented cloud servers is y, and the number of the tasks required to be processed is n, a total of y x n task schedules can be generated. It can be seen that the task allocation algorithm proposed by Hung has a computational complexity of o (n) for a task schedule calculation equation (1-1). At this time, the calculation complexity of calculating the expression (1-1) for all the task schedules and taking the minimum value is O (n × y)n). Since the number of rented cloud servers is constant, the calculation complexity of generating the task allocation schedule table by the task allocation algorithm proposed by Hung is O (2)n). In conclusion, the task allocation algorithm of the present invention is superior to the task allocation algorithm proposed by Hung in terms of computational complexity.
● performance of algorithm
The task allocation algorithm proposed by Hung fails to solve the task allocation problem of fig. 3. The task allocation algorithm proposed by the present invention is suitable for solving the task allocation problem. As can be seen from FIG. 3, both OS1 of Host VM1 and OS1 of Host VM2 ensure that the cost of processing task 7 services is 0, at which time (cost (v) isi,P)/max[cost]) 0. However, because the task allocation algorithm of the invention introduces e, namely the actual calculation comparison of the equations (1-6) is EFT (v)i,P)/max[EFT(vi,Pj)]And (4) partial. Since the results of the calculations of equations (1-6) differ between OS1 of hostmm 1 and OS1 of hostmm 2 processing task 7 at end time EFT, the task assignment algorithm of the present invention can solve the task assignment problem of fig. 3, i.e., assignment of task 7 to OS1 processing of hostmm 2.
● Algorithm customization functionality
The task allocation algorithm not only achieves a compromise between two factors of task processing efficiency and cost, but also endows the cloud user with the right of modifying the allocation scheme according to the requirement of the cloud user in a humanized manner compared with the task allocation algorithm proposed by the document Hung, so that the algorithm customizing function is provided for the cloud user. By modifying the value of e in equations (1-6), the algorithm can change the side-to-side ratio of the task allocation strategy to efficiency and service cost. For example, when the cloud user only considers the efficiency of task processing, not the cost of processing the task required to pay, only e needs to be set to 1, and the customized task allocation algorithm is the traditional heuristic task allocation algorithm. Conversely, if the cloud user wants to reduce the cost as much as possible, he or she only needs to increase the value of e accordingly.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and improvements made within the spirit and principle of the present invention are intended to be included within the scope of the present invention.

Claims (4)

1. A task allocation method of a multi-layer nested virtualization system is characterized in that the multi-layer nested virtualization system comprises the following steps: a two-layer nested virtualization component and a multi-layer nested virtualization component;
the multi-layer nested virtualization system is provided with a plurality of nested Hypervisor layers; the computing resource additionally needed by the high-level nested virtual machine relative to the second-level nested virtual machine is defined as epsi,j(i is more than or equal to 3); wherein i represents the layer number of the structure of the nested layer, and j represents the virtual machine number of the same nested layer; and simultaneously mapping the performance overhead of the i-th layer Hypervisor into epsi,j(i is not less than 3); wherein idlei,jThe idle resource piece of the virtual machine with the ith layer number j is represented;
the expression of the task allocation method is as follows:
Figure FDA0002824099900000011
wherein:
set V ═ V1,v2...,vk}: is a set formed by tasks to be processed, wherein the number of the tasks is k;
w=(vi): representing a processing task viPredicting a required processing time;
w(vip): representing virtual machine P processing tasks viPredicting a required processing time;
ts(vip): representing virtual machine P processing tasks viThe time of start;
tf(vip): representing virtual machine P processing tasks viThe time of the end, satisfies the following formula:
tf(vi,P)=ts(vi,P)+w(vi,P);
prec(vip): indicating that virtual machine P is processing task viA set of tasks that need to be processed; if task v is being processediThe front virtual machine P has no tasks to process, prec (v)iP) ═ 0; and the virtual machine P is processing the prec (v)iBefore the task in P)Does not start processing task vi
avail(viP): virtual machine P finishes processing prec (v)iP), and is ready to execute task viTime of (2):
Figure FDA0002824099900000021
avail(vip) is the execution completion prec (v)iTime of last task in P):
Figure FDA0002824099900000022
EFT(vip): representing virtual machine P processing tasks viThe earliest end time is:
EFT(vi,P)=ts(vi,P)+w(vi,P);
FRT (i): is shown performing task viBefore, the cloud server expects the lease due time, when the task v is executediThen, FRT (i)';
time: indicating the execution of a task viThe added lease of the server is:
time=(FRT(i)′-FRT(i));
cost(vi,Pj) Show execution task viThe cost to be paid is defined as:
cost(vi,Pj)=time*mtu;
where mtu costs for renting cloud servers under a certain configuration;
H={HOST1,HOST2...,HOSTKrepresents the collection of leased cloud servers.
2. A cloud resource optimization method using the task allocation method of the multi-layered nested virtualization system according to claim 1, wherein the cloud resource optimization method comprises:
(1) generation of nested virtual machine creation schedules
In the multi-layer nested virtualization, the layer number of the highest nested virtual machine is the maximum value of n which satisfies the formula:
epsn<idle2,1,(n>2);
the final remaining free resources are defined as: idle'1,1The sum of the resource consumption of the multi-layer nested virtualization structure is obtained and is defined as wstn
Figure FDA0002824099900000031
Wherein n represents the highest number of nested levels, and k represents the number of standard L2 level virtual machines of the two-level nested structure part;
obtaining the nesting layer number j of the optimized nested structure and obtaining a nested virtual machine creation scheduling table according to the following formula:
Figure FDA0002824099900000032
wherein: vmi,j: the number j of the virtual machine representing the ith layer is defined as vm as the first layer of the virtual machinei,j
idlei,j: the idle resource piece of the virtual machine with the ith layer number j is represented; wherein idle1,1Representing cloud servers vm1,1Free computing resources of (1);
epsi,j(i.gtoreq.3): indicating that the virtual machine with the ith layer number j executes a certain task;
min_resourcei: represents the minimum computing resources required by the i-th layer guest virtual machine to process a certain task, and min _ resourceiAt least the resources required to run the virtual machine operating system;
Rn: when representing nested n layers, the idle occupied by the multi-layer nested virtualization part1,1For carrying all nested virtual machinesA computing resource section;
(2) and (3) generating a task scheduling table:
Figure FDA0002824099900000033
at task viIn the process of allocation, under the current task scheduling graph, max [ cost ] of the task scheduling graph]And max [ EFT (v)i,p)]Is fixed, finds the minimum value of the formula, and the corresponding virtual machine P is the most suitable to execute the task viVirtual machine of when task viAnd obtaining the task scheduling table of the batch of tasks for the last task to be allocated of the batch of tasks.
3. The cloud resource optimization method of claim 2, wherein:
(1) the generating of the virtual machine creation schedule includes:
firstly, calculating computing resources of a rented cloud server and analyzing the characteristics of a task to be processed; calculating the predicted idle resource amount of the cloud server according to the collected information;
after the predicted resource idle amount of the cloud server is obtained, generating a nested virtual machine creation scheduling table according to the dependent nested virtualization structure;
(2) the generating of the task schedule includes:
firstly, traversing all available task processing virtual machines; counting the task processing condition of the existing task processing virtual machine;
and after the task processing condition of the task processing virtual machine is obtained, calculating according to the dependent task allocation algorithm to obtain a task scheduling table.
4. A cloud server to which the cloud resource optimization method of claim 2 is applied.
CN201710405158.0A 2017-05-31 2017-05-31 Multilayer nested virtualization structure and task allocation method thereof Active CN107273181B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710405158.0A CN107273181B (en) 2017-05-31 2017-05-31 Multilayer nested virtualization structure and task allocation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710405158.0A CN107273181B (en) 2017-05-31 2017-05-31 Multilayer nested virtualization structure and task allocation method thereof

Publications (2)

Publication Number Publication Date
CN107273181A CN107273181A (en) 2017-10-20
CN107273181B true CN107273181B (en) 2021-01-22

Family

ID=60065359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710405158.0A Active CN107273181B (en) 2017-05-31 2017-05-31 Multilayer nested virtualization structure and task allocation method thereof

Country Status (1)

Country Link
CN (1) CN107273181B (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153909A1 (en) * 2009-12-22 2011-06-23 Yao Zu Dong Efficient Nested Virtualization
US8819677B2 (en) * 2010-11-23 2014-08-26 International Business Machines Corporation Virtual machine data structures corresponding to nested virtualization levels
US8490090B2 (en) * 2011-02-17 2013-07-16 International Business Machines Corporation Multilevel support in a nested virtualization environment
US20140053272A1 (en) * 2012-08-20 2014-02-20 Sandor Lukacs Multilevel Introspection of Nested Virtual Machines
US10536357B2 (en) * 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
CN105653372B (en) * 2015-12-30 2019-03-29 中电科华云信息技术有限公司 The method for realizing multiple virtualization mixed management and scheduling based on cloud platform
CN106648890A (en) * 2016-12-06 2017-05-10 中国科学院重庆绿色智能技术研究院 Cloud computing server resource on-line management method and system with energy consumption sensing function

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
kvm虚拟化的嵌套;swimming_in_it;《CSDN博客》;20161124;第1页-第5页 *

Also Published As

Publication number Publication date
CN107273181A (en) 2017-10-20

Similar Documents

Publication Publication Date Title
Praveenchandar et al. RETRACTED ARTICLE: Dynamic resource allocation with optimized task scheduling and improved power management in cloud computing
Hussain et al. RALBA: a computation-aware load balancing scheduler for cloud computing
CN111431961B (en) Energy-saving task allocation method for cloud data center
CN107122233B (en) TSN service-oriented multi-VCPU self-adaptive real-time scheduling method
CN107168770B (en) Low-energy-consumption cloud data center workflow scheduling and resource supply method
US8527988B1 (en) Proximity mapping of virtual-machine threads to processors
JP4348639B2 (en) Multiprocessor system and workload management method
CN115408152A (en) Adaptive resource matching obtaining method and system
Sun et al. ET2FA: A hybrid heuristic algorithm for deadline-constrained workflow scheduling in cloud
Gupta et al. Hybrid fuzzy-based deep remora reinforcement learning based task scheduling in heterogeneous multicore-processor
Tsai et al. Scheduling multiple scientific and engineering workflows through task clustering and best-fit allocation
Hamid et al. Comparative analysis of task level heuristic scheduling algorithms in cloud computing
He et al. A two-stage scheduling method for deadline-constrained task in cloud computing
Zhu et al. Energy-efficient independent task scheduling in cloud computing
CN107273181B (en) Multilayer nested virtualization structure and task allocation method thereof
Koneru et al. Resource allocation method using scheduling methods for parallel data processing in cloud
CN112685162A (en) High-efficiency scheduling method, system and medium for heterogeneous computing resources of edge server
Nivodhini et al. Algorithms to improve scheduling techniques in IaaS cloud
Wang et al. A study on heuristic task scheduling optimizing task deadline violations in heterogeneous computational environments
Himthani et al. Comparative analysis of VM scheduling algorithms in cloud environment
Djigal et al. Performance evaluation of security-aware list scheduling algorithms in iaas cloud
CN108958919B (en) Multi-DAG task scheduling cost fairness evaluation method with deadline constraint in cloud computing
Krishnadoss et al. RCOA Scheduler: Rider Cuckoo Optimization Algorithm for Task Scheduling in Cloud Computing.
CN112306642B (en) Workflow scheduling method based on stable matching game theory
Yu et al. Towards dynamic resource provisioning for traffic mining service cloud

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