J Louis wrote:
If it was possible to tell
the scheduler that it was OK not to be fair when scheduling these
processes, I think the total runtime could be reduced if it put some
of the processes to sleep while others completed. Is there a way to
tell the scheduler it is allowed to do this? Should there be?
There is no way to do this currently, but I suspect that it
would not be too difficult to add.
Of course, if you have two tasks that are each a little larger
than memory, your idea could lead to one of the processes being
starved forever. This is probably not acceptable :)
In fact, one single batch process that is swapping could trigger
the algorithm you described, halting itself. Your idea would
need very carefuly implementation to avoid these kinds of issues,
but I believe it could definately be done.