Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!brl-smoke!smoke!mike@BRL.ARPA From: mike@BRL.ARPA (Mike Muuss) Newsgroups: net.unix-wizards Subject: Re: 4.2bsd kernel auto-nicing, scheduling Message-ID: <1027@brl-smoke.ARPA> Date: Mon, 17-Feb-86 21:45:48 EST Article-I.D.: brl-smok.1027 Posted: Mon Feb 17 21:45:48 1986 Date-Received: Wed, 19-Feb-86 20:30:16 EST Sender: news@brl-smoke.ARPA Lines: 27 A long time ago, for V6, I did a pretty snazzy scheduler that incorporated short-term and medium-term behavior into it's assessment of priorities. The result was (and still is) PDP-11/70 systems with nearly instant (<200ms) response for "simple" interactions. These days, I am firmly convinced that the proper way to implement this would be with a user-mode daemon that collected medium-term and long-term behavior patterns of processes, folded in issues such as time of day, number of people on, "demo in progress" flags, etc, and issued commands to the kernel adjusting various parameters that would control the kernel's short-term scheduling behavior, plus also providing per-process control (much like NICE currently, but not user changable, and separate). Creation of the necessary kernel mechanisms is nearly trivial. The user-mode "Scheduling Advisor" could want to grow into a full Expert System, but would probably be 90% satisfying if it just used a half a dozen heuristics, most of which I believe I can articulate. BRL currently has a low-level effort to implement this type of mechanism, with two of our GITs (Gurus-in-training) working the problem. If you would like to contribute ideas, etc, please send them to (Joint CS Team). If we achieve any kind of success, we will notify the Unix-Wizards list, so please don't just send "tell me when you are done" messages. Best, -Mike Muuss