A SERVICE OF

logo

4285ch01.fm Draft Document for Review May 4, 2007 11:35 am
10 Linux Performance and Tuning Guidelines
Figure 1-8 Linux kernel 2.6 O(1) scheduler
Another significant advantage of the new scheduler is the support for Non-Uniform Memory
Architecture (NUMA) and symmetric multithreading processors, such as Intel®
Hyper-Threading technology.
The improved NUMA support ensures that load balancing will not occur across NUMA nodes
unless a node gets overburdened. This mechanism ensures that traffic over the comparatively
slow scalability links in a NUMA system are minimized. Although load balancing across
processors in a scheduler domain group will be load balanced with every scheduler tick,
workload across scheduler domains will only occur if that node is overloaded and asks for
load balancing.
Figure 1-9 Architecture of the O(1) CPU scheduler on an 8-way NUMA based system with
Hyper-Threading enabled
priority0
:
priority 139
priority0
:
priority 139
P
P
P P
active
expired
array[0]
array[1]
P
P
:
:
P
P P
priority0
:
priority 139
priority0
:
priority 139
P
P
P P
active
expired
array[0]
array[1]
P
P
:
:
P
P P
Two node xSeries 445 (8 CPU)
One CEC (4 CPU)
One Xeon MP (HT)
One HT CPU
Parent
Scheduler
Domain
Child
Scheduler
Domain
Scheduler
Domain
Group
Logical
CPU
Load balancing
only if a child
is overburdened
Load balancing
via scheduler_tick()
and time slice
Load balancing
via scheduler_tick()
1
2
3
1
2
3
1
2
3
1
2
1
2
1
2
1
2
1
2
1
2