Re: Use of AI for process scheduling

From: Timothy Miller
Date: Mon Sep 08 2003 - 19:13:58 EST




David Lang wrote:


the scheduler is by definition a real-time entity, if it takes twice as
long to make a decision that in itself alters what the correct decision
should be.



My idea is to have the AI work in real-time just like the expert system would. And I realize that this alters the situation, but it alters the situation in a constant way. For a given number of context switches, the same number of scheduling decisions will be made. That means that if the scheduler takes 100 times as long to decide, then all it will do is affect both the throughput and the latency in a constant way.

The only time it really matters is when the scheduler decision time makes something which would APPEAR to be interactive in the compiled case appear to be non-interactive in the AI case. But that is no different from using a slower CPU. There are LOTS of things that will feel smoother on a faster CPU.

So, if we can get a good interactive feel out of the AI case, then you will only get better results out of the compiled case. Furthermore, good interactive results out of a fast CPU with the AI would imply good results out of a slower CPU in the compiled case.

I do realize that the balance is shifted. The proportion of scheduler computation to user computation is thrown off. (Still, same as using a slower CPU.) But I don't think it matters. If the scheduler were 100 times slower, it would still require far far less than timeslice granularity to compute!

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/