Topology aware scheduling algorithm.



Also in the cpuset.diff at:

http://people.freebsd.org/~jeff/cpuset.diff

There is support for cpu topology aware scheduling. This allows the scheduler to know which cores are colocated on packages and what the cache arrangement between them is.

We have seen big improvements in some workloads and some reduction in other workloads. However, I believe this should finally close the gap on the few benchmarks where ULE could trail 4BSD. Please prove me wrong if you can so I can continue to make ULE better.

Right now the MD code is slightly lagging behind what the scheduler can utilize. If you have an interest in digging through processor documentation to write code to detect more information about the caches please contact me. I'd love some help.

This code and the cpusets will likely be committed to 8.0 by the end of the week and then we'll discuss MFCs after some time to settle there.

Thanks,
Jeff
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: CPU affinity in new ULE scheduler
    ... rely a great deal on how workloads behave and interact. ... anecdotal reports that ULE is better for "interactive" workloads on a busy ... only by measuring will you be able to tell if ULE is better ... per second with scheduler X). ...
    (freebsd-questions)
  • Re: ULE vs. 4BSD in RELENG_7
    ... Anyway, in summary, ULE is about 5-6 % slower than 4BSD for two ... help indicate where the deficiency is in the ULE scheduler? ... I'm not sure if Remy subscribes to this list, ... encoding are workloads that do not benefit from affinity. ...
    (freebsd-performance)
  • Re: some bad numbers with Java/database threading
    ... if it had any impact on my workloads, ... Thread A queries data. ... Are you worried the scheduler isn't going to schedule other threads?! ...
    (Linux-Kernel)
  • Re: [REPORT] 2.6.21.1 vs 2.6.21-sd046 vs 2.6.21-cfs-v6
    ... LTMM: 5655.07/ 5682 ... this means that a fair scheduler would _not_ be the one that finishes ... (but the IO portion of the workloads and other scheduling effects could ...
    (Linux-Kernel)
  • Re: [PATCH] [3/6] scheduler: Do devirtualization for sched_fair
    ... some workloads would call sched_fair uncommon too. ... do a lot more VFS indirect calls than scheduler indirect calls. ...
    (Linux-Kernel)