Con Kolivas returns with a new scheduler
Con Kolivas returns with a new scheduler
Posted Sep 2, 2009 1:52 UTC (Wed) by lethal (guest, #36121)In reply to: Con Kolivas returns with a new scheduler by intgr
Parent article: Con Kolivas returns with a new scheduler
Any scheduler that fails to take issues like NUMA, SMP, dynamic ticks, etc. in to account while claiming to be "looking forward" will remain nothing but a toy scheduler for an insular workload. All of these have effectively become common place, to the extent that simply discounting them out of hand reads a lot more like looking back than forward, especially given that many low memory systems depend on all of these capabilities.
In any event there is anything wrong with out of tree pet projects, especially for trying out new things. If this new scheduler improves things for certain workloads, then hopefully someone will step up to work with upstream and improve things there incrementally.
Posted Sep 2, 2009 15:01 UTC (Wed)
by jzbiciak (guest, #5246)
[Link] (9 responses)
I believe what Con meant by "forward looking" when he described his scheduler is that it doesn't adjust time slices based on recent history (ie. "backward looking") of a task's run/sleep behavior. From Con's post:
His explicit rejection of NUMA and high-CPU-count machines makes it clear he's only really interested in what constitutes a "typical desktop" today. From Con's post: I imagine the loss of raw MIPS due to lack of NUMA awareness on even a high end personal desktop isn't too great either. Modern desktop machines are NUMA, but they're fairly mild NUMA from what I gather. (Why else would my Opteron's BIOS offer me the option to interleave my memory across all nodes? That'd be disaster on a more extreme NUMA architecture, but it supposedly provides a performance boost on older non-NUMA-aware OSes.) In fact, I'd further imagine the average user would trade actual increased responsiveness for a few % loss on peak benchmark performance numbers. At the very least, I imagine Con might. :-) All that said, the place where I experience the greatest loss in responsiveness is Firefox, not the rest of my desktop, and Firefox is just a single thread at the moment. Con, can you come fix Firefox? ;-)
Posted Sep 3, 2009 2:37 UTC (Thu)
by charris (guest, #13263)
[Link] (8 responses)
Posted Sep 3, 2009 13:15 UTC (Thu)
by nix (subscriber, #2304)
[Link] (4 responses)
I'll turn on latencytop and see what it says, but the pauses are fairly rare so it might be interesting to interpret.
Posted Sep 3, 2009 13:39 UTC (Thu)
by jzbiciak (guest, #5246)
[Link]
With that much RAM, I wonder if VM housekeeping itself could cause such lags. 12Gb would have 3 million 4K pages. If you are running at 3GHz and did something that averaged 3000 cycles/page across all 3 million pages, that's 3 seconds.
Posted Sep 3, 2009 17:31 UTC (Thu)
by charris (guest, #13263)
[Link] (2 responses)
Posted Sep 3, 2009 18:14 UTC (Thu)
by jzbiciak (guest, #5246)
[Link]
Posted Sep 4, 2009 2:47 UTC (Fri)
by ncm (guest, #165)
[Link]
Posted Sep 4, 2009 4:09 UTC (Fri)
by ncm (guest, #165)
[Link] (2 responses)
I doubt the scheduler would help; during those six seconds, one CPU is pegged at 100%. This is with nothing swapped. I suspect it's doing a garbage collection scan during each pause. I'd welcome suggestions for how to discover what's going on.
Google Chrome is coming along too slowly.
Posted Sep 4, 2009 4:32 UTC (Fri)
by jzbiciak (guest, #5246)
[Link]
(As in, contribute to the Mozilla team.)
Posted Sep 4, 2009 8:17 UTC (Fri)
by Cato (guest, #7643)
[Link]
Con Kolivas returns with a new scheduler
Any scheduler that fails to take issues like NUMA, SMP, dynamic ticks, etc. in to account while claiming to be "looking forward" will remain nothing but a toy scheduler for an insular workload
I feel the scheduler should being forward looking only (not calculating sleep)
Machines with NUMA will probably suck a lot with this because it pays no deference to locality of the NUMA nodes when deciding what cpu to use.
Con Kolivas returns with a new scheduler
Con Kolivas returns with a new scheduler
Con Kolivas returns with a new scheduler
Con Kolivas returns with a new scheduler
Con Kolivas returns with a new scheduler
Stuck keys.
Input pauses
Input pauses
Input pauses