On Wed, Jun 10, 1998 at 07:57:18PM -0700, Robert Woodcock wrote:

> Parallelized booting. What this means is we run multiple bootup scripts
> simultaneously. It's a *lot* faster on mid-to-higher-end machines, even
> with just one CPU - it'd be wickedly fast with SMP.
> 
> "Hey wait a second that won't work!!! What if the netstd_nfs script runs
> before the netbase script is done processing?"
> 
> Well, you're right, but I have another (slightly more original) idea that
> will make it work. Boot-time dependancies.

Parallelized booting is a good idea (I'm almost certain that _most_ of my
bootup time, and almost ALL of my shutdown time, is spent waiting for tasks
to decide they're ready) but boot-time dependencies are way too much work.

What's wrong with priority levels?  Programs start up in alphabetical order. 
I wish they would die in reverse-alphabetical order (then we could have
S99xdm and K99kdm, which would make the file-rc package look nicer) but
priority levels do exactly what you want -- they express boot-time
dependencies.

We can achieve a huge degree of parallelism simply by running all boot
scripts of each priority level in parallel.  That is, run all scripts at
level 01 (and wait to finish), then run all scripts at level 02, and so on. 
To see why this should be "parallel enough," look at the large number of
scripts running at the default level 20.

Also, the only guarantee we've ever made is that scripts are executed in
priority order, so running all scripts at level 20 simultaneously shouldn't
cause a problem.

The hardest thing would be keeping the log messages from getting tangled up. 
That shouldn't really be too hard for a C/C++ program to do.  I've done
something almost appropriate in my wvdial package (see class WvLog and
WvLogRcv).

If enough people dare me, I bet I could whip something like this up (using
the existing priority scheme) in an hour or two.

Have fun,

Avery

P.S. why isn't file-rc the standard?  It's _so_ much better!  And why can't
we kill things in reverse alphabetical order?


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to