WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] planned csched improvements?

On Mon, 19 Oct 2009 10:34:16 +0100
George Dunlap <George.Dunlap@xxxxxxxxxxxxx> wrote:
....
> Scalability for Xen past 8 logical processors (where 1 hyperthread is
> 1 schedulable unit) is likely to be poor, due to the load-balancing
> algorithm.
Yeah, I've been thinking in the back of my mind, some sort of multiple
runqueus, with vcpu priority adjustments with cpu usage, but at the same
time allow certain vcpus to maintain certain level of minimum usage. This
for cases where an app has pinned a high priority thread to a vcpu. I've
not looked at existing xen scheds, so may be it's already doing that. More
runqueues is less locking, but more load balancing, so may be something
that's tunable on the fly. Some thoughts at high level.....

> Regarding a Xen scheduler plug-in for DB applications, it seems to me
> it would be best to understand the characteristics of the DB workload
> and how they respond to different kinds of contention.  There may be a
> few surprises; for example, a workload that you assumed was CPU-bound
> may in fact be making many qemu-handled operations, so it's really
> blocking thousands of times per second.  If we can make the default
> scheduler handle DB workloads well without making a special plug-in,
> that would be preferrable.

Agree. I'm hoping to collect all that information over the next couple/few
months.  The last attempt, made a year ago, didn't yield in a whole lot 
of information because of problems with 32bit tools and 64bit guest apps 
interaction. 
In a nutshell, there's tremendous smarts in the DB, and so I think it 
prefers a simplified schedular/OS that it can provide hints to and interact 
a little with.  Ideally, it would like ability for a privileged thread
to tell the OS/hyp, I want to yield cpu to thread #xyz. 

Moreover, my focus is large, 32 to 128 logical processors, with 1/2 
to 1TB memory.  As such, I also want to address VCPUs being confined 
to logical block of physical CPUs, taking into consideration that 
licenses are per physical cpu core. Also, it's important for a 
cluster heartbeat thread to get cpu at expected times, otherwise, 
it starts to freak out. Apparently, we are seeing some of that during 
live migrations. Waiting on more info on that myself.

> Would you be willing, if you have the time, to help "beta-test" a new
> scheduler with a DB workload and compare it to the old one?

Yeah, sure. I hope to have a setup in few weeks. 

thanks,
Mukesh

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