Skip to content

Xen 4.2.1 modified to reduce interference between batch and interactive VMs (CCGrid '14)

License

Notifications You must be signed in to change notification settings

gwcloudlab/xen-interference

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

/////////////////////////////////////////////////////////////////////
PROJECT TITLE: Xen Interference Minimizing Scheduler
TEAM MEMBERS: Wei Zhang, Sunny Rajasekran, and Tim Wood
/////////////////////////////////////////////////////////////////////
This version of Xen has a modified Credit scheduler that supports 
"batch" priority VMs. Any VM that is given a weight of 0 will only
be scheduled if there is no other runnable VCPU with higher priority.

This project was part of the paper:
MIMP: Deadline and Interference Aware Scheduling of Hadoop Virtual Machines. Wei Zhang, Sundaresan Rajasekaran, Timothy Wood, Mingfa Zhu. IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, May 2014. 
http://faculty.cs.gwu.edu/~timwood/papers/14-CCGrid-mimp.pdf

@inproceedings{Zhang14ccgrid,
 author = {Zhang, Wei and Rajasekaran, Sundaresan and Wood, Timothy and Zhu, Mingfa},
 booktitle = {{IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing}},
 month = May,
 title = {{MIMP: Deadline and Interference Aware Scheduling of Hadoop Virtual Machines}},
 year = {2014},
 url = {http://faculty.cs.gwu.edu/~timwood/papers/14-CCGrid-mimp.pdf}
}

The Hadoop Scheduler modifications are available at:
https://github.com/gwcloudlab/hadoop-scheduler
 
The project was supported in part by NSF grant CNS-1253575 and the National Natural Science Foundation of China Grant No. 61370059, 61232009, and Beijing Natural Science Foundation Grant No. 4122042.

/////////////////////////////////////////////////////////////////////
Usage
/////////////////////////////////////////////////////////////////////

xl sched-credit -d domid -w 0

The scheduler also can report more statistics about how VCPUs are 
scheduled, including the number of scheduling intervals at each
priority level, and the amount of time spent running, blocked, etc.

xl vcpu-stat: reports scheduler statistics for all VMs

Add batch priority. The priority order from highest to lowest is BOOST UNDER OVER BATCH.
When there is no higher priority vcpu runnable, batch vcpu will get the running chance.
This will make the batch vcpu starvation. In order to reduce the starvation, 
add the reducing starvation code. The method is dynamically changing the priority for the batch vm.
If the period is larger than a threshold(batch_not_run_threshold_ms) from last_run_time to now for batch vm, change the batch priority to normal priority(under over boost).
If the running times as the normal priority for batch vm is larger than a threshold(batch_run_as_normal_threshold), change back to the batch priority.
In the code, it will use two threshold. The user can set the threshold using the following command.

xl sched-credit -s -b 300(default is 500ms, change the threshold batch_not_run_threshold_ms, 30~1000)
xl sched-credit -s -n 3(default is 1, change the threshold batch_run_as_normal_threshold, 1~30)


About

Xen 4.2.1 modified to reduce interference between batch and interactive VMs (CCGrid '14)

Resources

License

Stars

Watchers

Forks

Packages

No packages published