Introduction
-
Container placement: This involves mapping new containers to VMs by considering VMs placements on the PMs at the same time. The placement aims to minimize instantiated VMs, minimize active PMs and to optimize the utilization of both the active PMs and VMs in terms of number CPU cores and memory usage.
-
Each job consists of a set of independent tasks, and each task executes inside a container.
-
Each task is represented by a container whose required computing resources, CPU and memory, are known in advance. The CPU and memory resources are the only resources considered in the study.
-
Each container executes inside a single VM.
Background and related work
-
Placement of virtual machines on physical machines
-
Placement of containers on physical machines
-
Placement of containers on virtual machines
-
Placement of containers and virtual machines on physical machines.
Placement of VMS on PMs (VM-PM)
Placement of containers on PMs (C-PM)
Placement of containers on VMs (C-VM)
Two-tier placement of containers and VMs on PMs (C-VM-PM)
The proposed (C-VM-PM) placement architecture and scheduling algorithms
The proposed placement architecture
Physical machine controller (PMC)
VM controller (VMC)
VM information repository (VMIR)
VM provisioning (VMP)
Container scheduler (CS)
Problem formulation
Symbol | Description |
---|---|
vm
ij
| Virtual machine i on physical machine j. |
pm
j
| Physical machine j. |
C
(
k,
i,
j)
| Container number k on vmij |
CC
(
k,
i,
j,
r)
| The container k capacity of resource r on vmij |
vmC
(
i,
j,
r)
| The resource r capacity of vmij |
SC
(
j,
r)
| The resource r capacity of pmj |
\( {NC}_{vm_{i,j}} \)
| Number of containers on vmij |
\( {Nvm}_{pm_j} \)
| Number of VMs on pmj |
N
pm
| Total number of PMs |
CPU
required
| The required number of CPU cores for new container placement |
memory
required
| The required amount of memory for new container placement |
The proposed scheduling algorithms
Best fit algorithm
Max fit algorithm
Ant colony optimization (ACO)
Performance evaluation
Google cloud workload
Virtual machine configuration
VM Type | vCPU | Memory Size (GB) | VM Type | vCPU | Memory Size (GB) |
---|---|---|---|---|---|
Type 1 | 1 | 1 | Type 9 | 16 | 64 |
Type 2 | 1 | 2 | Type 10 | 16 | 128 |
Type 3 | 2 | 4 | Type 11 | 32 | 128 |
Type 4 | 2 | 8 | Type 12 | 32 | 256 |
Type 5 | 4 | 8 | Type 13 | 48 | 256 |
Type 6 | 4 | 16 | Type 14 | 48 | 256 |
Type 7 | 8 | 32 | Type 15 | 64 | 1024 |
Type 8 | 8 | 64 | Type 16 | 64 | 2048 |
PM configuration
Server Type | Number CPUs | Number of Cores/CPU | Memory Size (GB) |
---|---|---|---|
Type 1 | 32 | 4 | 1024 |
Type 2 | 64 | 8 | 2048 |
Parameters setting
Parameter | Description | Value |
---|---|---|
nContainer
| Number of containers request scheduling | 25–250 |
Max_Iteration
| Maximum number of iterations in ACO | 100 |
nAnts
| Number of ants | 8 |
α
| Heuristic constant | 0.1 |
β
| Heuristic constant | 2 |
Q
| Heuristic constant | 1 |
ρ
| Evaporation rate | 0.2 |
w
1
| First resource normalization weight | 0.5 |
w
2
| second resource normalization weight | 0.5 |