Upload
andrew-adams
View
214
Download
0
Embed Size (px)
Citation preview
IIS Progress Report2015/10/12
Problem RevisitGiven a set of virtual machines,
each contains some virtual cores with resource requirements.
Decides the amount of time and execution order of these virtual cores on heterogeneous multi-cores, such that the power consumption is minimized while the resource requirement is satisfied.
Model RevisitFor every time interval
◦Virtual core i with resource requirement vi.
◦Physical core j with frequency fj.
◦The power consumption of a core with given fj is linear to its load Lj.
Some constraints:◦vCPU can not run on two cores
simultaneously.◦A core cannot execute two vCPUs
simultaneously
The Reviewer Said …Not practical.
◦The 3-phase solution we proposed is too complex.
◦The computation for generating a scheduling plan is to heavy. A scheduling plan per second.
ImprovementInstead of general workload,
focus on scenarios that our model/solution is applicable.◦Less work load fluctuation. ◦Instead of generating scheduling
plan periodically, compute a new plan on workload changing.
Target ScenarioStable 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
processing◦Continuous data input◦Pre-processing before storing or send
to the next stage Computation-intensive
◦Example: Monitoring data, such as smart
homes/building. VOD decoding on multi-user NAS …etc.
Three-phases SolutionStill too complex.Since the new scenario does not
require responsiveness.◦Remove the concept of “time slot”,
therefore we don’t need the 2nd and 3rd phase.
Focus on the 1st phase.
First-phase RevisitDecide the amount of time each
virtual core should run on the physical cores.◦Meet the requirement of each virtual
core.◦The frequencies of physical cores are
given.◦Can be solved using Linear/Integer
Programming.
First-phase RevisitDecide the amount of time each
virtual core should run on the physical cores.◦Meet the requirement of each virtual
core.◦The frequencies of physical cores are
given.◦Can be solved using Linear/Integer
Programming.
Generate the allocation along with the core frequencies.
The New ProblemGenerate the amount of time
each virtual core should run on the physical cores along with the core frequencies.◦Not sure if it is a NP-C problem, still
working on this.◦Notice that the constraints still hold.
The total time allocates to a virtual core must be less or equal to the length of a time interval. How to guarantee?
ObservationGiven a vCPU with requirement
vi.◦The physical cores hosting this vCPU
must provide frequency fj where fj ≧ vi. Ex: vi = 1200M
1200M
800M
1600M
1200M
40%
60%
40%
70%
Heuristic #1Given a set of virtual core with
resource requirement vi.Group two vCPUs with the smallest
vi into a new vCPU, where is v’i the sum of the two vCPU.
Repeat this process until the number of vCPU (group) is less or equal than the number of cores.
Decide the frequencies of cores according to v’i of each vCPU group.
Heuristic #2B= {}, L = {vi}, i = 0, …, n-1Compute ∑ vi , ∑ Fj
◦Fj is the largest available frequency of an energy-efficient core.
while(∑ vi > ∑ Fj )remove the largest vi from L,
add to B
Heuristic #2(Cont.)while(∑ vi > ∑ fj)
In crease the smallest fj by 1 level.◦// vi ∈ L, fj = max(vi) initially
Foreach vi ∈ L◦Start from the smallest vi, assign it to
the smallest fj with spare resource.
◦If(vi > sj) // sj : spare resource on core jassign (vi - sj) to core j+1, which is the second smallest core with spare resource.
Example
900M 900M 900M 1800M
Discussion