[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] Cpu pools discussion
On Tue, Jul 28, 2009 at 11:15 AM, Juergen
> Tim Deegan wrote:
>> That's easily done by setting affinity masks in the tools, without
>> needing any mechanism in Xen.
> More or less.
> You have to set the affinity masks for ALL domains to avoid scheduling on the
> "special" cpus.
> You won't have reliable scheduling weights any more.
I think this is the key thing: scheduling algorithms normally ignore
pinning. Both credit1 and (atm) credit2 assume that a VM with higher
credit will be able to run before a VM of lower credit. But if there
are some VMs pinned to a subset of pcpus, and other VMs pinned on
another subset (or not pinned at all), this breaks that assumption.
The algorithms might be able to be extended to account for pinning,
but it would make things a lot more complicated. This means harder to
understand and modify the algorithm, which means it's likely to break
in the future as people try to extend it. It also means any future
updates or rewrites have to take this pin-to-partition case into
account and do the "right thing".
Given that people want to partition a machine, I think cpu pools makes
the most sense:
* From a user perspective it's easier; no need to pin every VM, simply
assign which pool it starts in
* From a scheduler perspective, it makes thinking about the algorithms
easier. It's OK to build in the assumption that each VM can run
anywhere. Other than partitioning, there's no real need to adjust the
scheduling algorithm to do it.
> Juergen Gross Principal Developer Operating Systems
> TSP ES&S SWE OS6 Telephone: +49 (0) 89 636 47950
> Fujitsu Technolgy Solutions e-mail: juergen.gross@xxxxxxxxxxxxxx
> Otto-Hahn-Ring 6 Internet: ts.fujitsu.com
> D-81739 Muenchen Company details: ts.fujitsu.com/imprint.html
> Xen-devel mailing list
Xen-devel mailing list