public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Robin Rosenberg <robin.rosenberg@dewire.com>
To: Timothy Miller <miller@techsource.com>,
	David Lang <david.lang@digitalinsight.com>
Cc: Felipe Alfaro Solana <felipe_alfaro@linuxmail.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Use of AI for process scheduling
Date: Tue, 9 Sep 2003 03:40:31 +0200	[thread overview]
Message-ID: <200309090340.31735.robin.rosenberg@dewire.com> (raw)
In-Reply-To: <3F5D2007.5030500@techsource.com>

tisdag 09 september 2003 02:34 skrev Timothy Miller:
[...]
> 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!

Change the name. AI has a bad touch, as if things would happen
through magic. A neural is magic to me, but most other AI techniques
are quite predictable.

A rule-based system can be evaluated quite efficiently if the numer of 
rules are reasonable small. A PC can a million of "LIPS" (logical Inferences
per second so you can fit something useful. Say you can afford (on
average one percent of the CPU, that becomes 10000 inferences per
second available per second and with 50 switches pers second that is 2000
inferences per switch. I think can do useful rules with much fewer inferences.
The numbers are guestimates from memory and a few quick googles lookups.

The problem might be efficient collection of useful input to the rules. On the other
hand everything does not have to be recalculated every time the scheduler
makes a decision.

You can split the rules into 1) switching decision making rules 2) strategy selection rules
and 3) environment evaluation rules. The first category of course has to evaluated
every time, while the last set can be a slow process that looks at swapping and I/O
statistics over time withe a recation time on the order of a second. The second is
for simplifying the structure of the rules (might be redundant).

A benefit of a rule based scheduler could be as a good test bed for experimentation.
Changes could be implemented in "real time" (from a user perspective) I.e. you 
change the rule and the  scheduler immediately changes its behaviour. And the scheduler would
be more customizable to the end user or administrator. You could try out
rules for identifying interactive tasks, CPU hogs and tell the scheduler what
/you/ think is importan instead of the one-size-fits-all.

The idea is not bad unless someone proves it. On the other hand its useless
unless manifested in code.

-- robin


  reply	other threads:[~2003-09-09  1:40 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-08 19:28 Use of AI for process scheduling Timothy Miller
2003-09-08 21:55 ` Jeff Sipek
2003-09-08 22:56   ` Timothy Miller
2003-09-08 22:28 ` Felipe Alfaro Solana
2003-09-08 23:01   ` Timothy Miller
2003-09-08 23:57     ` David Lang
2003-09-09  0:34       ` Timothy Miller
2003-09-09  1:40         ` Robin Rosenberg [this message]
2003-09-09  1:57           ` Robin Rosenberg
2003-09-09 15:16           ` Timothy Miller
2003-09-09 15:14             ` Robin Rosenberg
2003-09-08 22:57 ` William Lee Irwin III
2003-09-08 23:06   ` Mike Fedyk
2003-09-08 23:14     ` William Lee Irwin III
2003-09-09  0:22       ` Timothy Miller
2003-09-09  1:05         ` William Lee Irwin III
2003-09-09 15:08           ` Timothy Miller
2003-09-09 17:47             ` William Lee Irwin III
2003-09-09  0:06     ` Timothy Miller
2003-09-09  1:19       ` Rick Lindsley
2003-09-09 15:11         ` Timothy Miller
  -- strict thread matches above, loose matches on Subject: below --
2003-09-09 19:05 John Yau
2003-09-08 18:57 Timothy Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200309090340.31735.robin.rosenberg@dewire.com \
    --to=robin.rosenberg@dewire.com \
    --cc=david.lang@digitalinsight.com \
    --cc=felipe_alfaro@linuxmail.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miller@techsource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox