research on asymmetric-aware hypervisor scheduler project overview 6/4
TRANSCRIPT
Research on Asymmetric-aware Hypervisor SchedulerProject overview
6/4
OutlineIntroductionCurrent StatusWorking Plans
OutlineIntroductionCurrent StatusWorking Plans
GoalGenerate scheduling plans that
minimize the power consumption while satisfying the requirement of virtual cores on asymmetric multi-core platform.
4
OutlineIntroductionCurrent StatusWorking Plans
Current StatusDesign and implement the three-
phase scheduler based on Xen scheduling framework.
Solve some problems in proto-type◦Remove the overhead caused by
“false-busy”, i.e. assign vCPU that is not runnable to cores.
Conduct experiments with different settings.
Paper submission: SOCA’15.
Experimental Settingsworkload: Coremark
◦Light, medium, heavyDifferent scenarios
◦2 dual-core guest virtual machines.◦2 quad-core guest virtual machines.◦4 dual-core guest virtual machines.
Compare with credit-based scheduler and AASH.
Results
OutlineIntroductionCurrent StatusWorking Plans
Short-term PlanImprove the stability and reduce
the overhead of the scheduler.
Improve the implementation of the three-phase scheduling algorithm.
Add cpufreq to Dom0 and control the frequency of physical cores. (Issac)
10
Mid-term PlanSupport more extensive and
complicated workloads.Enhance Xen to support runtime
DVFS.Leverage on DVFS of the physical
cores.◦The scheduler can guide/affect the
DVFS mechanism by generating core frequency in the scheduling plan.
11
Power Consumption of Different Frequencies
Frequency(MHz)Power
consumption of the cluster(W)
Average power consumption of a
core(W)
A57 core cluster
450 0.13 0.03
800 0.37 0.15
1100 0.79 0.36
A53core cluster
450 0.09 0.01625
700 0.19 0.04125
850 0.32 0.07375
Idle power consumption:[A57] 0.07 W; [A53] 0.025W
Long-term PlanLeverage on task information
from guest virtual machines.◦Retrieve the information by hyper-
calls.◦Change the cpumask of task in order
to create big and little virtual cores.
Information RetrievedInstall a kernel module that
record the information from top.◦Filter out system/background
processes by PID and/or process name.
◦Focus on processes with high priority/low nice value.
◦Multi-thread process.
Implementation IssueTwo different methods:
◦The kernel module collects the information and decide the cpumask for tasks. The hyper-call only passes the resource
requirement/big-little virtual core setting to hypervisor.
◦The kernel module collects the information, then pass the filtered info to hypervisor. Need a component in hypervisor to
analyze and make decisions.
Discussion