Graphical Abstract
Graphical Abstract
Classes:
Does Ample Force step
VM fit into free space Balanced on VM4
of any host? Lopsided
Yes N o VM4 VM1
Are VM4
Place VM VM1
with BestFit hosts balanced?
VM3 VM3
No
Yes VM2 VM2
Place VM with Place VM with Host 1 Host 2 Host 1 Host 2
ForceFitBalanced ForceFitLopsided
Highlights
BalCon – resource balancing algorithm for VM consolidation
Andrei Gudkov , Pavel Popov , Stepan Romanov
Abstract
Cloud providers handle substantial number of requests to create and delete virtual machines (VMs) on a daily basis, where the
unknown sequence of requests eventually leads to resource fragmentation. To mitigate this issue, periodic consolidation of VMs
into fewer number of physical hosts is an important cost-saving procedure, closely related to the vector bin-packing problem. In
this paper, we propose the BalCon algorithm for consolidation that steadily reduces the number of active hosts and keeps migration
costs low. BalCon classifies the cluster’s state and selects one of three heuristics to balance resources for superior consolidation.
To evaluate BalCon’s performance with respect to optimality, we introduce integer programming models. BalCon finds 99.7% of
the optimal solutions for over 750 problem instances. This outstanding result was achieved due to the Force Step of our algorithm,
which is the key improvement detail for common heuristics. We compare BalCon with a modified Sercon heuristic using Huawei
and synthetic datasets with two resources for allocation.
Keywords: Consolidation, Bin packing, High-multiplicity, Cloud computing, Resource scheduling, Heuristic algorithms
r off
Virtualization technology allows the sharing of a physi- Delete Migrate
3
Powe
VM2 VM3
cal machine (host) between multiple isolated virtual machines VM1 VM1 VM1
(VMs) [1, 2]. Resources for virtualization include the central 2 VM3 VM3
processing unit (CPU), random access memory (RAM), net- Host 1 Host 2 Host 1 Host 2 Host 1 Host 2
b) Initial Fragmented Optimal
work, drives, etc. Several users can run VMs with different
operating system (OS) on the same host simultaneously. The Create VM2 VM1
r off
r off
off
Migrate
resource sharing prospect of virtualization opens up variety of VM2 VM2
r
Powe
Powe
Powe
Induced
3 3
er
migration
w
2 2
1
Induced
1
gration per host
migration
to Host 3
0 CPU RAM 0 wa
Host 1
CPU RAM
Host 2
CPU RAM
Host 3
CPU RAM
Host 1
CPU RAM
Host 2
CPU RAM
Host 3 MPH = TiB. (2)
c) Initial Optimal wm
1 2 3 The parameter is used for evaluation (as described in Section
Force step Force step To
to host 2 to host 3 host 2 5.2). Additionally, in our algorithm, if the migration cost to re-
To To lease any host exceeds MPH, then releasing the host decreases
host 1 host 1
Host 1 Host 2 Host 3 Host 1 Host 2 Host 3 Host 1 Host 2 Host 3 Host 1 Host 2 Host 3 the objective function. In the case of the classical VBP prob-
lem, MPH = ∞ TiB.
Figure 2: A consolidation problem instance with two resources (CPU, RAM)
which is solvable by BalCon and unsolvable by Sercon-like heuristics. The
problem involves four color-coded VMs that need to be assigned to three hosts, 3. Integer programming solutions
each with a capacity of (6, 6) a.u. Panel a) shows the initial assignment of VMs
to hosts. Panel b) shows the optimal assignment of VMs to hosts. Panel c) 3.1. Allocation model
shows the sequence of actions taken by the BalCon algorithm to optimize the
initial assignment panel a) to the final assignment panel b). Bartók and Mann [26] presented a straightforward Integer
Linear Programming (ILP) formulation of the similar consol-
idation problem. However, our problem statement differs in
the calculation of migration cost. Their formulation counts
2. Problem statement
the number of migrated VMs, whereas we compute the total
In our scenario, we operate a cluster with sets of physical amount of migrated memory. The updated ILP allocation model
hosts h ∈ H, VMs v ∈ V, and flavors f ∈ F. Every host h pro- is expressed in our terms as follows.
vides a pair of integer resources for scheduling: CPU (cores) The binary variables are:
and RAM (tebibytes). We denote the capacity of host h as Allocv,h = 1 if v is allocated on h and 0 otherwise
(h.cpu, h.mem), and the capacity of other resources is denoted
in the same way. The demand for resources of a VM v is de- Activeh = 1 if h is active and 0 otherwise
fined in a flavor f , that is, (v.cpu, v.mem) = ( f.cpu, f.mem). Migrv = 1 if v is migrated and 0 otherwise
Each host h reserves resources for the allocated VM v.
With these variables the objective is to
Definition 1. A mapping µ is the assignment of VMs to hosts, X X
where some VMs can be unassigned. The mapping µ is feasible minimize wa Activeh + wm v.mem · Migrv . (3)
h∈H v∈V
if:
In other words, our objective is to minimize the number of
1. every VM is assigned to exactly one host. active hosts and the amount of migrated memory, subject to the
following constraints:
3
Table 1: Comparison of the models by domain of variables and number of
constraints.
X
Allocv,h = 1 ∀v ∈ V (4) Model Domain of variables Number of constraints
h∈H
Allocation |V||H|+|V|+|H| |V||H| + 2|H| + 2|V|
X B
v.cpu · Allocv,h ≤ h.cpu ∀h ∈ H (5)
v∈V
X Flavor flow B|H| × Z2|F||H| 2|F||H| + 2|H| + |F|
v.mem · Allocv,h ≤ h.mem ∀h ∈ H (6) Relaxed Flavor flow
v∈V (Lower Bound)
B|H| × R2|F||H| 2|F||H| + 2|H| + |F|
Allocv,h ≤ Activeh ∀(v, h) ∈ V × H (7)
Migrv = 1 − Allocv,µ0 (v) ∀v ∈ V (8)
Constraint 10 ensures that the net flow of VMs is zero for
Constraint 4 requires that every VM is scheduled on exactly each flavor f . In other words, the number of VMs migrated out
one host (Definition 1.1). Resource Constraints 5 and 6 en- from all hosts must be equal to the number of VMs migrated
sure that the CPU and RAM capacities of the hosts are satisfied onto all hosts for each flavor f . Constraint 11 forbids mov-
(Definition 1.2). Constraint 7 guarantees that hosts with VMs ing out of a host more VMs of a flavor f than were initially
are active (Definition 2). According to Constraint 8, a VM is present on the host. For inactive hosts, all VMs must be moved
migrated if it changes its host (Definition 3). out according to Constraint 12. Resource Constraints 13 and
14 ensure that the CPU and RAM capacities of each host are
3.2. Flavor flow model satisfied.
We introduce the flavor flow model that takes advantage The flavor flow model has asymptotically |V|/|F| fewer vari-
of the fewer number of flavors than VMs. The allocation ables than the allocation model, which allows for solving much
model uses |H| variables for each VM, however many of the larger problem instances when |F| ≪ |V| – a typical real cloud
VMs are of the same flavor and have equal resource demands situation.
( f.cpu, f.mem). Permutation of these similar VMs leads to the
same values of objective function and an undesirable symme- 3.3. Lower bounds
try. Instead of defining the exact location for every VM, we
Allocation
keep track on the flow of the VMs of the same flavor between
hosts. Such a flavor flow model breaks the symmetry of the Relaxed
Flavor flow
allocation model because all VMs of the same flavor are equal.
Formal definition of the flavor flow model requires defining
the following variables: Figure 3: Comparison of the ILP models on progressively larger instance sizes.
The problem instances of different sizes were solved by the CBC solver for 10
In f,h ∈ Z is the number of VMs of flavor f migrated into minutes each. The mean number of flavors per problem instance was 27.
host h
We detected that the running time of ILP solvers is sensitive
Out f,h ∈ Z is the number of VMs of flavor f migrated out
to the value of MPH. When MPH is close to 0 or infinity,
from host h
solvers manage to find the optimal solutions µopt in a reasonable
Activeh = 1 if h is active and 0 otherwise time. Unfortunately, for intermediate values of MPH, solvers
are unable to provide the optimal solutions even in a few days.
With these variables the objective is to Nevertheless, relaxation of the flavor flow model allows one
X X to obtain a lower bound (LB) µLB on the optimal solution for
minimize wa Activeh + wm f.mem · Out f,h . (9) the intermediate MPH values. To perform the relaxation, we
h∈H f ∈F,h∈H
kept the |H| variables Activeh as binary and relaxed the domain
Let n f,h be the number of VMs of flavor f initially located of the 2|F||H| variables In f,h and Out f,h to R. This relaxation
on host h, according to the mapping µ0 . Then the constraints of significantly simplifies the flow model for the solver and sets
the flavor flow model are: the lower bound on the optimal solution
Ob j(µLB , µ0 ) ≤ Ob j(µopt , µ0 ).
X X
Out f,h = In f,h ∀f ∈ F (10) (15)
h∈H h∈H
The comparison of the allocation, flavor flow, and relaxed
Out f,h ≤ n f,h ∀( f, h) ∈ F × H (11) flavor flow models in terms of variable domain and number of
n f,h · (1 − Activeh ) ≤ Out f,h ∀( f, h) ∈ F × H (12) constraints is presented in Table 1. To compare the performance
X of the models, we searched for the optimal solution of problem
f.cpu·(n f,h + In f,h − Out f,h ) ⩽ h.cpu· Activeh ∀h ∈ H (13) instances with different sizes using the CBC solver [36] for 10
f ∈F minutes (see Figure 3). As expected, the flavor flow models
X
f.mem·(n f,h + In f,h − Out f,h ) ⩽ h.mem· Activeh ∀h ∈ H (14) provided the optimal solutions for much larger instances than
f ∈F the allocation model.
4
4. Algorithms Section 4.2) and chooses one of two heuristics with Force Steps:
ForceFitBalanced or ForceFitLopsided. These heuristics pick a
4.1. Basic description of BalCon destination host h and free space for a given VM v by ejecting
The BalCon algorithm was created to cope with imbalanced VMs from h into the stash. This procedure repeats and VMs
situations in a datacenter. The need for such an algorithms from the stash are assigned to new or their original hosts. The
arises from the poor performance of Sercon-like heuristics in emptying of the stash indicates the generation of a new feasible
terms of host balancing. For example, Sercon-like heuristics mapping. In the new mapping some of the ejected VMs could
are unable to consolidate the imbalanced mapping from Figure migrate between active hosts.
2a because of insufficient amount of free space in the host for
one of the resources (RAM limits Host 2, whereas CPU limits Definition 6. A migration of a VM is called induced if it takes
Host 3). However, the consolidation is possible by shuffling the place between active hosts.
yellow and green VMs between Host 2 and Host 3 (see Figure Using induced migrations BalCon solves the problem of de-
2b). The shuffling in the BalCon is implemented with Force ficiency of free space in a datacenter. Induced migrations allow
Steps, which free space in a host by ejecting VMs from the host one to shuffle VMs and release the host, at the cost of an in-
into a temporary buffer (stash S ). The VMs from the stash are crease in the amount of migrated memory.
later moved into other hosts, which leads to induced migrations.
To perform the consolidation in the example, BalCon uses two a) Stop Start
b) 1.00s 1.36s
Yes No Choose smallest host
Force Steps. The sequence of actions for the consolidation is Are by migration cost (Def. 4)
presented in Figure 2c, where Host 1 illustrates the role of the all hosts
tried? Place VMs from host
into a stash S pcap(s,H)
stash. In the first step, to place the red VM to Host 2 we eject the Yes = 1.36s
No In the S choose the largest
green VM from Host 2. In the second step, to place the green VM based on Eq. 16
VM to Host 3 we eject the yellow VM from Host 3. Finally, we Does
Classes: CPU RAM
VM fit into free space Ample Stash
place the yellow VM into the free space of Host 2. As a result, Is of any host? Balanced
S empty? No Lopsided cap(s,H) = 0.99s
we released Host 1 and induced two migrations: 1) the yellow Yes
Place VM Are 0.25s 0.24s 0.50s
VM was migrated from Host 3 to Host 2 and 2) the green VM with BestFit hosts balanced?
No
was migrated from Host 2 to Host 3. Yes
Place VM with Place VM with
In general, BalCon is a greedy heuristic that attempts to re- ForceFitBalanced ForceFitLopsided
lease one active host in each step. The basic ideas of the algo- CPU RAM
Place ejected VMs into S CPU RAM CPU RAM CPU RAM Stacked
rithm are presented in Figure 4a, whereas a formal definition h1 h2 h3 hosts
The free space of a host h is defined by the mean of its load and cap(s, H)
BF(s, H) = , (19)
allocated VMs v ∈ h pcap(s, H)
X X
where
load(h) =
v.cpu, v.mem (17) !
X free(h).cpu free(h).mem
v∈h v∈h cap(s, H) = min , (20)
s.cpu s.mem
free(h) = (h.cpu − load(h).cpu, h.mem − load(h).mem) (18) h∈H
X free(h).cpu X free(h).mem
In the case of a lack of free space on the hosts, BalCon clas- pcap(s, H) = min , . (21)
s.cpu s.mem
sifies the situation using the balance factor (defined formally in h∈H h∈H
5
The domain of BF(s, H) is [0, 1], where the value of 1 cor- Listing 1: High-level BalCon algorithm structure
responds to a purely balanced situation without potential for Input : H is the list of hosts
improvement, whereas a value of 0 corresponds to a purely lop- V is the list of VMs
sided situation that can be improved. In the balanced case most µ0 is the initial feasible mapping
hosts reach their limit by the same resource, unlike in the lop- Global Parameters: α = 0.95
sided case where some hosts are limited by cpu and some by b = 4000
mem. γ=3
Note that both pcap(s, H) and cap(s, H) provide relaxed Output : At the end, µb is a feasible
values that ignore the actual sizes of separate VMs in the stash. mapping of VMs to hosts
Thus, pcap(s, H) and cap(s, H) set upper bounds on the amount 1 Procedure BalCon(H, V, µ0 )
of stashes in any mapping and current mapping respectively. 2 µb := copy µ0
For instance, if cap(s, H) < 1 the allocation of all VMs from 3 H := sort H by migration cost
the stash is impossible without induced migrations. Similarly, 4 for h in H do
if pcap(s, H) < 1 the stash is implacable into the hosts by any 5 µtmp := copy µb
mapping. To distinguish between Balanced and Lopsided sit- 6 S := get VMs from h according to µtmp
uations, we introduce the parameter α. If BF(s, H) < α or 7 µtmp := Unassign all VMs in S from µtmp
cap(s, H) < 1 the situation is Lopsided and Balanced other- 8 A := get active hosts from µtmp
wise. In practice we use α = 0.95. 9 µtmp := ForceFit(S , A, µtmp )
An example of capacities calculation is presented in Fig- 10 if µtmp is f easible and
ure 4b. The stash with a resource capacity of s = (8.0, 4.0) Ob j(µtmp , µ0 ) ≤ Ob j(µb , µ0 )
is used as a unit vector of free space. Additionally, there are 11 µb :=µtmp
three partially filled hosts with equal capacities of (6.0, 6.0)
12 return µb
and free spaces free(h1 ) = (5.0, 1.0), free(h2 ) = (1.9, 5.0), and
free(h3 ) = (4.0, 2.0). In total, the hosts can allocate at most
6
Listing 2: ForceFit heuristic of hosts are low in the same resource. Such scenarios makes
the situation closer to a one-dimensional problem, where a
1 Procedure ForceFit(S , A, µ)
smaller VM is easier to place than a larger one. Therefore,
2 ForceS teps := 0
ChooseHostBalanced (row 12) chooses the destination host
3 p := RepeatsProhibitor(A, γ)
h with the greatest number of VMs smaller than v using Eq. 16.
4 while S is not empty and ForceS teps < b do
Afterwards, ForceFitBalanced (row 13) sorts the VMs in
5 v := peek largest v in S
h according to lexicographical order:
6 class := Classify(S , A, µ, v)
7 S := remove v from S 1. Prefer VMs previously migrated to h.
8 if class is ”Ample”
9 µ := BestFit(v, A, µ) 2. In case of a tie, prefer VMs with smaller migration cost.
10 if class is ”Balanced”
11 ForceS teps +=1 Next, ForceFitBalanced iterates over the sorted list of VMs
12 h, p := ChooseHostBalanced(v, A, µ, p) and excludes them from h one by one until there is enough free
13 µ, Ve := ForceFitBalanced(v, h, µ) space in h for v. After placing v into h, the procedure tries to
14 S := add all VMs from Ve to stash S return the excluded VMs which fit into h in reverse order. The
15 if class is ”Lopsided” remaining VMs are returned as Ve (rows 15).
16 ForceS teps +=1
17 h, p := ChooseHostLopsided(v, A, µ, p) 4.6. Lopsided class
18 µ, Ve := ForceFitLopsided(v, h, µ) In the Lopsided class (Listing 2 rows 16-19) we also need
19 S := add all VMs from Ve to stash S to eject some VMs from the destination host h into the stash
20 return µ to place a given VM v. However, unlike the balanced case,
21
both resources limit VMs placement. The Lopsided class is a
22 Procedure Classify(S , A, µ, v) key tool of the BalCon from a balancing point of view. The
23 if ∃h ∈ A : v fits h balance of the whole datacenter improves by the choices of the
24 return ”Ample” destination host and VMs to eject for future induced migrations.
25 cap := Capacity(S , A, µ) Choice of destination host:
26 pcap := PotentialCapacity(S , A, µ) a) 100 b) 100
27 if cap < 1 or cap < α · pcap h1 h2 h1 h2
28 return ”Lopsided” 75
h3 h3
75
return ”Balanced”
CPU (%)
CPU (%)
29
50 h4 50 h4
v1 v2
25 h5 25 h5
migrated VMs in ForceFit is unable to increase the objective
function. In other words, only new migrations in ForceFit in- v3
0 0
0 25 50 75 100 0 25 50 75 100
crease the objective function compared to the best step of Bal- MEM(%) MEM(%)
Con µb . In terms of memory, improving the objective func-
Choice of VMs for ejection (prefer VMs in red zone):
tion (row 10 of Listing 1) requires the amount of new mem- c) d) 100
100
ory for migration during ForceFit to be no more than MPH h1
(M(µtmp , µ0 ) − M(µb , µ0 ) ≤ MPH). ed
fer
75 75 pre
CPU (%)
CPU (%)
d
4.4. Ample class 50 fere 50
pre
In the Ample class one or more hosts have enough free
25
v2 h5 25
v2
space to accommodate a VM. We employ a Best Fit heuristic
to allocate VM v. The destination host h is chosen based on 0 0
surrogate load 0 25 50 75 100 0 25 50 75 100
MEM(%) MEM(%)
load(h).cpu load(h).mem
|h| = + . (24) Figure 5: Illustration of choices of destination host and VMs for ejection in
h.cpu h.mem the Lopsided class. a-b) Illustrate the choice of the destination host (h1 , h5 )
Among all hosts with enough free space, we assign a VM depending on the VM (v1 , v2 , v3 ) to place. In a) the choice is explicit, and the
destination host has the opposite load angle (for v1 is h5 and for v3 is h1 ),
to the host with the highest load. whereas in b) the choice is ambiguous and depends on the previous steps (v2
can be allocated on h1 and h5 ). c-d) Illustrates choices of VMs for ejection.
4.5. Balanced class The preferable VMs are in the red areas that are located on the same side from
the VM as the destination host (h1 or h5 ).
To place a VM v in the Balanced class (Listing 2 rows
11-14), some other VMs must be ejected and placed into the Figure 5 presents an example of the resource requirements
stash. The balanced situation is special because the majority of the VMs and the loads of the hosts. Some hosts lack CPU but
7
have plenty of memory (h1 ), some hosts lack memory but have 1. In Sercon, the authors limited the total number of allowed
plenty of CPU (h4 , h5 ), and some are low on both resources. To migrations over all hosts. The SerconModified heuristic
reduce imbalance, we prefer to place a given VM into the host limits the amount of migrated memory in each algorithm
with minimal or maximal load angles (in example h1 or h5 ). step. A step is accepted if the new amount of migrated
v.cpu memory in the step is no more than MPH (Listing 1 row
Definition 7. The load angle of a VM is arctan v.mem , and the 10).
load(h).cpu
load angle of a host is arctan load(h).mem .
2. Unlike Sercon, we try to release each host once.
To choose the destination host h, the procedure
ChooseHostLopsided (row 17) uses the global variable 3. The destination host for a VM in the original version is
r ∈ {”mem”, ”cpu”} and follows rules: chosen with First Fit, whereas we use Best Fit. Also, we
choose the destination host among all active hosts.
1. If the load angle of v is the largest or smallest among the
load angles of all the hosts, choose the destination host 4. We omitted the migration efficiency parameter.
with the most opposite load angle and set r to the host’s
The second modification leads to |H| times less complexity
largest resource.
of SerconModified compared to SerconOriginal (see Table 2),
For instance, in Figure 5a, v1 has the largest angle and
where Vmax is the maximum number of VMs in a host. The
is moved to host h5 , which has the smallest angle (r set
complexity of BalCon is only b times worse than that of Ser-
to ”mem”). Similarly, v3 has the smallest angle and is
conModified. The upper bounds on Vmax can be |V|.
moved to h1 , which has the largest angle (r set to ”cpu”).
2. Else, switch r and choose the host with the largest load Table 2: Comparison of time complexity of the algorithms.
by the resource in r. Algorithm Time complexity
For instance, with v2 from Figure 5b, if r was ”cpu”, it SerconOriginal O(|H|2 · Vmax · log(Vmax ) + Vmax · |H|)
switches to ”mem”, and v2 is moved to h5 (host with the SerconModified O(|H| · Vmax · log(Vmax ) + Vmax · |H|)
largest ”mem” load). Otherwise, it switches to ”cpu” and BalCon O(b · |H| · Vmax · log(Vmax ) + Vmax · |H|)
is moved to h1 (host with the largest ”cpu” load).
2. In case of a tie, prefer VMs which were previously mi- Table 3: Statistics of Huawei and synthetic datasets, where mean values are
grated to h. given per instance.
Instances Hosts VMs Flavors Balance factor
3. In case of a second tie, prefer VMs with a smaller migra- Dataset
Total Mean Mean Mean/Total Mean
tion cost. Huawei 555 96 1.0k 8 / 69 0.99
Synthetic 200 50 2.7k 28 / 30 0.07
After sorting, the ForceFitLopsided procedure frees
space in h for v exactly like in ForceFitBalanced and returns
The Huawei dataset contains 555 cluster snapshots from an
the VMs for ejection Ve in row 18.
operational Huawei Cloud. The snapshots were gathered from
clusters of various sizes and roles. The flavor distribution over
4.7. Modified Sercon heuristics and time complexity
all snapshots is given in Figure 6a, whereas the distribution of
To compare BalCon with well-known approaches, we mod- hosts within a range of the number of VMs is presented in Fig-
ified the Sercon heuristic to fit our objectives. The SerconMod- ure 6c.
ified heuristic derives from BalCon if we forbid using Force To generate a complex synthetic dateset, we created in-
Steps. The differences between the original Sercon heuristic stances with severe lopsidedness of resources. Briefly, the VMs
and the SerconModified heuristic include: were generated from 30 flavors with decreasing probabilities
by CPU size (see Figure 6b). Then, the VMs were sorted by
8
Huawei dataset Synthetic dataset
a) b) Table 4: The comparison of execution time between methods in the case of the
VBP problem and Huawei dataset.
Relaxed ILP Sercon Sercon
RAM (GiB)
RAM (GiB)
Method ILP Flow Model BalCon
Flow model (LB) Original Modified
Counts
Mean
4h 0.3s 9.5s 0.3s 0.1s
execution time
Number of instances
Number of instances
Range of number of VMs Range of number of VMs BalCon MPH = ∞ (TiB)
BalCon MPH = 0.4(TiB)
BalCon MPH = 0.2(TiB)
Figure 6: The comparison between the Huawei (a,c) and synthetic (b,d) SerconModified MPH = ∞ (TiB)
datasets. Panels a-b present the flavor distribution over all problem instances, MPH = ∞ (TiB)
whereas panels c-d) demonstrate the number of hosts with VMs in the given BalCon
SerconModified
range. SerconOriginal
Sercon
Modified Number of along with MPH. Also, on average BalCon demonstrates out-
Number of 8
non-trivial
non-trivial 107 solutions standing performance, especially in the case of large MPH and
solutions SerconModified
solves none imbalanced situations (Figure 8).
323 200
200 6. Conclusions
197 200 200
Sercon BalCon
Number of active hosts
Modified
Number of active hosts
BalCon The authors declare that they have no known competing fi-
nancial interests or personal relationships that could have ap-
peared to influence the work reported in this paper.
9. Acknowledgments
Maximal memory for Maximal memory for
migration per host (MPH) (TiB) migration per host (MPH) (TiB) Authors are gratefull to Mr. Oliver Slumbers for helping
with language polishing of this article. Dr. Stepan Romanov
Figure 9: Examples of BalCon and SerconModified performance at different thanks Dr. Mafuda for fruitfull discussions and organizational
MPH values. The evaluation is demonstrated in terms of the number of active help.
hosts, the amount of migrated memory, and the number of Force Steps. The
problem instances are from a) Huawei dataset and b) Synthetic dataset.
10. CRediT authorship contribution statement
Because of the greedy nature, BalCon sometimes performs
non-optimal steps by increasing the amount of migrated mem- The authors equally contributed to this work.
ory, the number of active hosts, or the number of Force Steps.
For instance, the number of active hosts is increased by one in References
the range of [3.4,3.8] TiB, which could be avoided using the
solution at 3 TiB (see Figure 9a). Also, at the same number [1] P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neuge-
bauer, I. Pratt, A. Warfield, Xen and the art of virtualization, ACM
of active hosts, the algorithm uses larger memory than it could SIGOPS operating systems review 37 (2003) 164–177.
in the range [5.0, 6.0] TiB because the better solution is at 4 [2] R. Uhlig, G. Neiger, D. Rodgers, A. L. Santoni, F. C. Martins, A. V. An-
TiB. The mean number of Force Steps changes, although the derson, S. M. Bennett, A. Kagi, F. H. Leung, L. Smith, Intel virtualization
number of active hosts remains the same for the range [2.8, 3.6] technology, Computer 38 (2005) 48–56.
[3] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwin-
TiB (see Figure 9b). We would like to emphasize that those are ski, G. Lee, D. Patterson, A. Rabkin, I. Stoica, et al., A view of cloud
only examples of non-optimal BalCon operations, which might computing, Communications of the ACM 53 (2010) 50–58.
10
[4] R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, I. Brandic, Cloud com- server consolidation problems in virtualized data centers, IEEE Transac-
puting and emerging it platforms: Vision, hype, and reality for delivering tions on services computing 3 (2010) 266–278.
computing as the 5th utility, Future Generation computer systems 25 [28] C. Ghribi, M. Hadji, D. Zeghlache, Energy efficient vm scheduling for
(2009) 599–616. cloud data centers: Exact allocation and migration algorithms, in: 2013
[5] P. Patel, A. H. Ranabahu, A. P. Sheth, Service level agreement in cloud 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid
computing (2009). Computing, IEEE, 2013, pp. 671–678.
[6] G. J. Mirobi, L. Arockiam, Service level agreement in cloud comput- [29] J. Xu, J. A. Fortes, Multi-objective virtual machine placement in virtu-
ing: An overview, in: 2015 International Conference on Control, In- alized data center environments, in: 2010 IEEE/ACM Int’l Conference
strumentation, Communication and Computational Technologies (ICCI- on Green Computing and Communications & Int’l Conference on Cyber,
CCT), IEEE, 2015, pp. 753–758. Physical and Social Computing, IEEE, 2010, pp. 179–188.
[7] A. Beloglazov, J. Abawajy, R. Buyya, Energy-aware resource allocation [30] H. Hallawi, J. Mehnen, H. He, Multi-capacity combinatorial ordering ga
heuristics for efficient management of data centers for cloud computing, in application to cloud resources allocation and efficient virtual machines
Future generation computer systems 28 (2012) 755–768. consolidation, Future Generation Computer Systems 69 (2017) 1–10.
[8] A. Ruprecht, D. Jones, D. Shiraev, G. Harmon, M. Spivak, M. Krebs, [31] A. Ashraf, I. Porres, Multi-objective dynamic virtual machine consol-
M. Baker-Harvey, T. Sanderson, Vm live migration at scale, ACM SIG- idation in the cloud using ant colony system, International Journal of
PLAN Notices 53 (2018) 45–56. Parallel, Emergent and Distributed Systems 33 (2018) 103–120.
[9] R. W. Ahmad, A. Gani, S. H. A. Hamid, M. Shiraz, A. Yousafzai, F. Xia, [32] H. Li, G. Zhu, C. Cui, H. Tang, Y. Dou, C. He, Energy-efficient migration
A survey on virtual machine migration and server consolidation frame- and consolidation algorithm of virtual machines in data centers for cloud
works for cloud data centers, Journal of network and computer applica- computing, Computing 98 (2016) 303–317.
tions 52 (2015) 11–25. [33] J. Jiang, Y. Feng, J. Zhao, K. Li, Dataabc: A fast abc based energy-
[10] A. Verma, P. Ahuja, A. Neogi, pmapper: power and migration cost aware efficient live vm consolidation policy with data-intensive energy evalua-
application placement in virtualized systems, in: ACM/IFIP/USENIX tion model, Future generation computer systems 74 (2017) 132–141.
international conference on distributed systems platforms and open dis- [34] R. Ponto, G. Kecskeméti, Z. Á. Mann, Comparison of workload consoli-
tributed processing, Springer, 2008, pp. 243–264. dation algorithms for cloud data centers, Concurrency and Computation:
[11] T. C. Ferreto, M. A. Netto, R. N. Calheiros, C. A. De Rose, Server con- Practice and Experience 33 (2021) e6138.
solidation with migration control for virtualized data centers, Future Gen- [35] Y. Ho, P. Liu, J.-J. Wu, Server consolidation algorithms with bounded
eration Computer Systems 27 (2011) 1027–1034. migration cost and performance guarantees in cloud computing, in: 2011
[12] K. S. Rao, P. S. Thilagam, Heuristics based server consolidation with Fourth IEEE International Conference on Utility and Cloud Computing,
residual resource defragmentation in cloud data centers, Future Genera- IEEE, 2011, pp. 154–161.
tion Computer Systems 50 (2015) 87–98. [36] J. Forrest, T. Ralphs, H. Santos, et al., coin-or/cbc: Release releases/2.10.
[13] F. Hermenier, X. Lorca, J.-M. Menaud, G. Muller, J. Lawall, Entropy: 8, 2022.
a consolidation manager for clusters, in: Proceedings of the 2009 ACM [37] E. D. Dolan, J. J. Moré, Benchmarking optimization software with per-
SIGPLAN/SIGOPS international conference on Virtual execution envi- formance profiles, Mathematical programming 91 (2002) 201–213.
ronments, 2009, pp. 41–50.
[14] A. Murtazaev, S. Oh, Sercon: Server consolidation algorithm using live
migration of virtual machines for green computing, IETE Technical Re-
view 28 (2011) 212–231.
[15] Q. Wu, F. Ishikawa, Q. Zhu, Y. Xia, Energy and migration cost-aware dy-
namic virtual machine consolidation in heterogeneous cloud datacenters,
IEEE transactions on Services Computing 12 (2016) 550–563.
[16] Y. Gao, H. Guan, Z. Qi, Y. Hou, L. Liu, A multi-objective ant colony sys-
tem algorithm for virtual machine placement in cloud computing, Journal
of computer and system sciences 79 (2013) 1230–1242.
[17] M. Marzolla, O. Babaoglu, F. Panzieri, Server consolidation in clouds
through gossiping, in: 2011 IEEE International Symposium on a World
of Wireless, Mobile and Multimedia Networks, IEEE, 2011, pp. 1–6.
[18] E. Feller, C. Morin, A. Esnault, A case for fully decentralized dynamic
vm consolidation in clouds, in: 4th IEEE International Conference on
Cloud Computing Technology and Science Proceedings, IEEE, 2012, pp.
26–33.
[19] A. Ashraf, B. Byholm, I. Porres, Distributed virtual machine consolida-
tion: A systematic mapping study, Computer Science Review 28 (2018)
118–130.
[20] M. R. Garey, D. S. Johnson, Computers and intractability, A Guide to the
(1979).
[21] E. G. Coffman Jr, M. R. Garey, D. S. Johnson, Bin packing with divisible
item sizes, Journal of Complexity 3 (1987) 406–428.
[22] M. X. Goemans, T. Rothvoss, Polynomiality for bin packing with a con-
stant number of item types, Journal of the ACM (JACM) 67 (2020) 1–21.
[23] H. I. Christensen, A. Khan, S. Pokutta, P. Tetali, Approximation and
online algorithms for multidimensional bin packing: A survey, Computer
Science Review 24 (2017) 63–79.
[24] R. Aringhieri, D. Duma, A. Grosso, P. Hosteins, Simple but effective
heuristics for the 2-constraint bin packing problem, Journal of Heuristics
24 (2018) 345–357.
[25] R. Panigrahy, K. Talwar, L. Uyeda, U. Wieder, Heuristics for vector bin
packing, research. microsoft. com (2011).
[26] D. Bartók, Z. Á. Mann, A branch-and-bound approach to virtual machine
placement, in: Proceedings of the 3rd HPI cloud symposium “operating
the cloud, 2015, pp. 49–63.
[27] B. Speitkamp, M. Bichler, A mathematical programming approach for
11