[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] 0/4 Xen Scheduling Groups



Scheduling Groups

Scheduling groups provide the ability to combine domains into a group
assocation. One domain is designated as the group master. The other
domains are designated as group members. There may be only one master
domain for each group, and one or more member domains. A single domain
may be either a group master or group member, and never both at the
same time.

scheduling groups are visible to Xen as a new sub-operation within the
domain control Scheduling op. When xen receives a Scheduling op
containing the sched-group sub op, it dispatches to the generic
scheduling layer, which then calls the active scheduler with the
sub-ob information.  The grouping/ungrouping, accounting, and
scheduling work is done in the active scheduler, whichever that may
be.

By delegating the processing of the sched-group sub op to the specific
scheduler (as opposed to the generic scheduling layer), scheduling
groups are opaque to the rest of Xen and each scheduler is free to
implement grouping how it sees fit. This also keeps the bulk of the
code changes within a specific scheduler implementation and limits the
changes to other areas of Xen.

There are several possible implementations of scheduling groups. For
example, groups could be used as the foundation for a secondary
scheduler, where the first level schedules groups, and the second
level schedules domains within groups. A good use case is creating a
group in which the domains need to be scheduled in a specific
order. For example, a stub domain hosting a device model must run
prior the the hvm domain it is servicing.

Scheduling groups might also be used for support of real-time
guests. All real-time guests could be placed in one group which will
scheduled pre-emptively and at a finer granularity than other domains.

This patchset is limited to groups sharing the master domain's
timeslices in the credit scheduler.

The three patches that follow are organized as follows:
1/4: Implements the sched-group sub op within the domctrl scheduling
hypercall.
2/4: The credit implementation of scheduling groups.
3/4: Tools update for supporting scheduling groups.
4/4:sched-group C utility program to add and remove domains to and
from groups.

Mike

--
Mike D. Day
Virtualization Architect and Sr. Technical Staff Member, IBM LTC
Cell: 919 412-3900
ST: mdday@xxxxxxxxxx | AIM: ncmikeday | Yahoo IM: ultra.runner
PGP key: http://www.ncultra.org/ncmike/pubkey.asc

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.