How to maintain access to the machine
Posted Mar 18, 2011 17:02 UTC (Fri) by giraffedata
In reply to: How to maintain access to the machine
Parent article: A group scheduling demonstration
It doesn't really have to be that hard. It isn't necessary to identify a set of high priority processes; all it takes is a more intelligent scheduler that senses thrashing and makes different choices as to what process to run next. It places some processes on hold for a few seconds at a time, in rotation. That way, the shell from which you're trying to kill that runaway process would have several second response time on some commands instead of several minutes, and that's good enough to get the job done.
This kind of scheduling was common ages ago with batch systems. It's easier there, because if you put a batch job on ice for even ten minutes, nobody is going to complain. In modern interactive computers, it's much less common. Maybe because very slow response is almost as bad as total stoppage due to thrashing in most cases (just not in the one we're talking about).
The key point is that thrash avoidance isn't about giving some processes priority for scarce resources; it's about making every process in the system run faster.
to post comments)