[PATCH] node affine NUMA scheduler Nod20

From: Erich Focht (efocht@ess.nec.de)
Date: Wed Aug 21 2002 - 10:17:59 EST


here is an update of the node affine NUMA scheduler built on top of
the O(1) scheduler. General information about it can be found at

The main changes compared to the previous version are:
 - modified migration_thread to allow "asynchronous" pushing of a task
   to another CPU from within load_balance().
 - load_balance() checks for the case of a single task running on a
   remote node. As this task cannot be stolen by a CPU from its homenode
   (because a running task cannot be stolen within the O(1) scheduler
   framework), it will be pushed to its homenode if that one has <25%

These changes should solve the problem of long running tasks beeing
pushed away from their homenodes during short peaks of load on the
machine and not beeing able to return to their homenodes even if those
are idle.

The patch at
is for 2.4.18-IA64 and requires the O(1) patch
These patches are well tested on IA64 platforms (16xItanium NEC Azusa,
32xItanium NEC Asama, non-NUMA Itanium).

For monitoring the runqueue loads and load balancer decisions one can
apply additionally
This creates per runqueue files in /proc/sched/load and
/proc/sched/history that which let one monitor the load, the initial
load balancing and the stealing decisions of the load balancer.

The attached patch is for the latest 2.5.31 bitkeeper tree. It is very
experimental and pretty untested. Thanks to Michael Hohnbaum who ported
the Nod18 version to 2.5.25 and helped a lot with the transition to 2.5.
This patch might work on NUMA-Q... I'll try to keep the BK tree
bk://numa-ef.bkbits.net/2.5-numa-sched up to date, so if someone has
fixes, improvements, ports to other platforms, please send patches
or changesets against that tree.

best regards,

Global warming and climate change is everyones business!
Links? http://unfccc.int/ http://www.climnet.org/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

This archive was generated by hypermail 2b29 : Fri Aug 23 2002 - 22:00:23 EST