IIS Progress Report
2015/10/12
Problem Revisit
Given a set of virtual machines, e ach contains some virtual cores wi th resource requirements.
Decides the amount of time and exe
cution order of these virtual core
s on heterogeneous multi-cores, su
ch that the power consumption is m
inimized while the resource requir
ement is satisfied.
Model Revisit
For every time interval
◦Virtual core i with resource requireme nt vi.
◦Physical core j with frequency fj.
◦The power consumption of a core with g iven fj is linear to its load Lj.
Some constraints:
◦vCPU can not run on two cores simultan eously.
◦A core cannot execute two vCPUs simult aneously
The Reviewer Said …
Not practical.
◦The 3-phase solution we proposed is t oo complex.
◦The computation for generating a sche duling plan is to heavy.
A scheduling plan per second.
Improvement
Instead of general workload, focus on scenarios that our model/soluti on is applicable.
◦Less work load fluctuation.
◦Instead of generating scheduling plan periodically, compute a new plan on w orkload changing.
Target Scenario
Stable workloads.
◦Computation-intensive
◦Generate new scheduling plan during (drastic) workload changing.
Reduce overhead
◦Continuously
◦Medium amount of workload
Single (ARM) server
Virtualized environment
◦Or not(?)
Target Scenario(Cont.)
Current target: streaming data pro cessing
◦Continuous data input
◦Pre-processing before storing or send to the next stage
Computation-intensive
◦Example:
Monitoring data, such as smart homes/build ing.
VOD decoding on multi-user NAS
…etc.
Three-phases Solution
Still too complex.
Since the new scenario does not re quire responsiveness.
◦Remove the concept of “time slot”, therefore we don’t need the 2nd and 3
rd phase.
Focus on the 1
stphase.
First-phase Revisit
Decide the amount of time each vir tual core should run on the physic al cores.
◦Meet the requirement of each virtual core.
◦The frequencies of physical cores are given.
◦Can be solved using Linear/Integer Pr ogramming.
First-phase Revisit
Decide the amount of time each vir tual core should run on the physic al cores.
◦Meet the requirement of each virtual core.
◦The frequencies of physical cores are given.
◦Can be solved using Linear/Integer Pr ogramming.
Generate the allocation along with
the core frequencies.
The New Problem
Generate the amount of time each v irtual core should run on the phys ical cores along with the core fre quencies.
◦Not sure if it is a NP-C problem, sti ll working on this.
◦Notice that the constraints still hol d.
The total time allocates to a virtual core must be less or equal to the length of a t ime interval.
How to guarantee?
Observation
Given a vCPU with requirement vi.
◦The physical cores hosting this vCPU must provide frequency fj where fj ≧ vi.
Ex: vi = 1200M
1200 M
800 M
1600 M 1200
M 40
%
60
%
40
% 70
%
Heuristic #1
Given a set of virtual core with res ource requirement v
i.
Group two vCPUs with the smallest v
iinto a new vCPU, where is v’
ithe s um of the two vCPU.
Repeat this process until the number of vCPU (group) is less or equal tha n the number of cores.
Decide the frequencies of cores acco
rding to v’
iof each vCPU group.
Heuristic #2
B= {}, L = {v
i}, i = 0, …, n-1
Compute ∑ v
i, ∑ F
j◦Fj is the largest available frequency of an energy-efficient core.
while(∑ v
i> ∑ F
j)
remove the largest v
ifrom L, ad
d to B
Heuristic #2(Cont.)
while(∑ v
i> ∑ f
j)
In crease the smallest f
jby 1 l evel.
◦// vi ∈ L, fj = max(vi) initially
Foreach v
i∈ L
◦Start from the smallest vi, assign it to the smallest fj with spare resourc e.
◦If(vi > sj) // sj : spare resource on c ore j
assign (vi - sj) to core j+1, which is the second smallest core with spare r esource.
Example
900M 900M 900M 1800
M