[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: KROC & occam on Linux

Dear Adrian et al,

Dave posted some KRoC Linux executables on the web: commstime (twice --
once with a PAR-delta and one with a SEQ-delta).  Subtracting the times
per iteration between the two gives the process start-up/shut-down cost.
The context-switch overheads are quoted in Dave's mail for, I think,
a 200 MHz Pentium II.  I get around 370 ns (for SEQ-delta) and 430 ns
(for PAR-delta) on the flash 266 MHz laptop I'm dragging (it's heavy!)
to Sun with me.

These overheads might be higher than expected but the kernel is NOT yet
optimised.  Jim Moores -- who is implementing this but is on holiday in
Spain right now -- got fed up coding in 386 assembler!  He now has a
KRoC kernel written almost entirely in C.  This made for a quicker
implementation (in development time) and will make porting to strange
architectures a doddle.  I don't know if he's compiled his kernel with
optimisation flags set yet (Jim?) but we always expected some penalty
doing this compared to native assembler.  A factor of 2 (it's less than
that) ought to be acceptable.  We could always start grafting the more
heavilly used bits of the kernel into native code if really pushed!

Incidentally, the KRoC/Linux system is using Michael Poole's etc-code
route (reported at WoTUG-21).

But never mind commstime!  Have you tried the two dining philosophers
codes.  One you've seen before (by Nick Hollands, now a Ph.D student
here) and one is from Fred Barnes (one of our current 2nd. years).
Each year we make the students animate the dining philosophers.  Fred
won it this year.  Check out what happens if you inject caffeine or
poison into the spaghetti ...

OK -- Holland have just equalised and my taxi comes at 5:30am tomorrow.