Group scheduling and alternatives
Group scheduling and alternatives
Posted Dec 9, 2010 16:38 UTC (Thu) by jwarnica (subscriber, #27492)Parent article: Group scheduling and alternatives
Its like asking users what they want. Everything, now, for free. Of course! Thanks for that.
Posted Dec 9, 2010 22:48 UTC (Thu)
by iabervon (subscriber, #722)
[Link] (6 responses)
The right design is to assume that programs want everything, and let them say what they don't want. Then you don't give them anything they don't want. Then the usual fairness and best effort goals essentially work again: if you have a batch process and a realtime process of the same priority, it is equally bad to miss the realtime process's window once as to not run the batch process at all for 1 ms; that is, the scheduler should try equally hard to avoid either happening, and fail about equally often under random load. Of course, writing a scheduler that does this optimally is hard, but the theory shows that it is possible to give userspace controls such that a program can benefit by decreasing its demands on the system.
Posted Dec 10, 2010 1:23 UTC (Fri)
by dtlin (subscriber, #36537)
[Link] (4 responses)
What's wrong with nanosleep?
Posted Dec 10, 2010 2:46 UTC (Fri)
by iabervon (subscriber, #722)
[Link] (3 responses)
The scales in my example are different from what I was actually doing at the time, but I was trying to sample an accelerometer attached to an i2c bus attached to a serial port at 20 Hz; I needed to send a few bytes at the right time, which would cause the accelerometer to take a sample then. (The accelerometer device didn't support automatic periodic sampling.) It turned out that the only way to get data that I could analyze was to sleep until 1 ms before the time I wanted to sample and busy-wait until the right time; that meant I was generally running by the sample time, and generally hadn't used up my time slice. On the other hand, I was burning ~2% of the CPU on a power-limited system busy-waiting.
Posted Dec 10, 2010 18:08 UTC (Fri)
by njs (subscriber, #40338)
[Link] (2 responses)
Posted Dec 10, 2010 18:38 UTC (Fri)
by iabervon (subscriber, #722)
[Link] (1 responses)
Posted Dec 20, 2010 1:44 UTC (Mon)
by kevinm (guest, #69913)
[Link]
Posted Dec 16, 2010 20:36 UTC (Thu)
by oak (guest, #2786)
[Link]
Group scheduling and alternatives
Group scheduling and alternatives
If an application can only make use of the first 1 us of every 1 ms, and asks to run only then, the kernel may be able to give it 100% of the time it wants without any system impact; if, on the other hand, it can't tell the kernel, it has to busy-wait through a lot more processor time in order to get any change of being running then, and load the system much more heavily.
Group scheduling and alternatives
Group scheduling and alternatives
Group scheduling and alternatives
Group scheduling and alternatives
Group scheduling and alternatives