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

[Xen-devel] Has anyone ever talked about/implemented scheduling policy for Hyperthread/Multi-core/NUMA?


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Caz Yokoyama <cazyokoyama@xxxxxxxxx>
  • Date: Sun, 28 Jun 2009 06:36:17 -0700
  • Delivery-date: Mon, 29 Jun 2009 08:06:51 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:message-id:mime-version:content-type:x-mailer :thread-index:x-mimeole; b=PRrpATs7wE5JJj1Na0Gg5GecHWuk65dueuDVzzxlVB+xqZwqWI5Fyd2W2OuPGxeFor hCI856zd9uS6Img1jPCq9rLwIx/SrLEQY5vNl4VdaCTotWStTA1jaEsGMVsE14T7a8HR CDh8r95ZkHfvRDOMeNJK9dHlH3bLtUAe6ty3g=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Acn39WoVqSyeWpLcTh6KJNt9tTukNQ==

Hello Xen developers,

I am new to this mailing list. I examined Credit scheduling and found that it does load balancing between symmetric multi processors (SMP). In the function, csched_load_balance(), it checks whether the physical CPU(PCPU) N+1 has something to do when PCPU N is nothing to do. Note: N is CPU ID. If so, N takes the job of N+1. If N+1 is idling, then N+2 is checked. In this scheme, N+1, N+2, are checked in this order because csched_load_balance() assumes SMP. On Hyperthread/Multi-core/NUMA, it is better to check the closest neighbor first, i.e. the same Hyperthread CPU first, then the same socket CPU second, then others. To find the closest neighbor first, I am thinking to have a 2 dimensional array. I.e. for CPU N,

Neighbor[N, 0] = CPU ID of the same Hyperthread CPU

Neighbor[N, 1] = CPU ID of the same socket CPU

Neighbor[N, 2] = CPU ID of the same socket CPU

Neighbor[N, 3] = CPU ID of others

Neighbor[N, 4] = CPU ID of others

…….

 

1. Has anyone ever talked about or implemented csched_load_balance() for Hyperthread/Multi-core/NUMA?

2. is my understanding above correct?

3. Is the current implementation of csched_load_balance() the result of evaluation even on Hyperthread/Multi-core/NUMA?

4. Do you have better idea for finding closest neighbor first?

5. Do you have an idea how to build the array, Neighbor[]?

 

Thank you.

-Caz Yokoyama, caz at caztech dot com. 503-804-1028(m).

 

_______________________________________________
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®.