Use of AI for process scheduling

From: Timothy Miller
Date: Mon Sep 08 2003 - 13:37:35 EST


I just got back from vacation and have 3278 list messages to sift through. (Yay.) I wouldn't be surprised, therefore, if others were already discussing this, but I've been thinking of some ideas over the past week that we may be helpful for the advancement of intelligent process scheduling.

To begin with, let's consider the parts of an intelligent system:

1) Inputs (ie. properties and behaviors of processes)
2) Heuristics
3) Outputs (ie. dynamic priorities, etc.)

Up to this point, the interactive scheduler has been designed in a very expert-system-like manner. Human experts observe behaviors and define heuristics. Ultimately, we do want a solid set of heuristics that are coded in C, and that's what the current development process has been working directly toward.

The progress has been slow, and there have been a lot of false starts and tangents which have been discarded. This is all how development works, and it's important to explore all possibilities. But what I would like to propose is that we work on a way to accelerate that process, and that is to make use of machine learning. We move from expert systems to artificial intelligence, because the heuristics are determined by the machine and are therefore dynamic.

Basically, we need to write and install into the kernel an AI engine which uses user feedback about the "feel" of the system to adjust heuristics dynamically. For instance, if the user sees that the system is misbehaving, they can pause the system in the kernel debugger, examine process priorities, and indicate what "outputs" from the AI engine are wrong. It then learns from that. Heuristics can be tweaked until things run as desired. At that point, scheduler developers trade emails in the AI heuristic language.

Obviously, this AI engine will be slow and add a huge amount of processing overhead. The idea is to determine what the heuristics are, and then to release a kernel, recode the heuristics in C.

-
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/