[comp.os.mach] Reference Wanted

idall@augean.OZ (Ian Dall) (10/04/89)

I am curious about "message passing kernels". It strikes me that fast context
switches would be crucial to efficiency. Can anyone give me a reasonably
accessible reference which describes the philosophy behind mach?
-- 
 Ian Dall           life (n). A sexually transmitted disease which afflicts
                              some people more severely than others.
idall@augean.oz

raveling@isi.edu (Paul Raveling) (10/05/89)

	 This was an attempted email reply, but it bounced for
	 "host unknown" with no obvious alternative address in
	 the original article header... Be forewarned that it's
	 not directly related to Mach, though it does relate
	 directly to the question of context switch speed.  If
	 anyone happens to have an existing Mach benchmark for
	 context switch speed using Mach's native message passing
	 facilities, I'd be interested in running it  against the
	 benchmark whose results are listed at the end of this
	 message.


In article <611@augean.OZ>, idall@augean.OZ (Ian Dall) writes:
> 
> I am curious about "message passing kernels". It strikes me that fast context
> switches would be crucial to efficiency. Can anyone give me a reasonably
> accessible reference which describes the philosophy behind mach?


	This isn't a comment on Mach, but your assessment of
	the importance of fast context switches is correct.
	This plus integration of passing short messages and message
	queuing in a single kernel mechanism that handled all
	context switches was the key to performance in several
	kernels I've developed, including that of EPOS.

	I sometimes comment on EPOS in followups on various newsgroups,
	but in case you haven't seen these, EPOS' original charter was
	to serve real time speech applications on a PDP-11/45 at ISI
	in the '70's.  In terms of measured speed data bandwidth it
	could easily handle 3 times the data rate of the system it
	replaced, which in turn was much faster than UNIX.  Fast
	context switching was the biggest factor.

	In fact, context switches due to communication of short messages
	were 45 times faster with EPOS than with UNIX V6 on the same
	PDP-11/45.  I've run a set of benchmarks including this on
	many more recent systems, and using these to estimate hardware
	speed ratios suggests that an EPOS software architecture on
	current hardware would still be about 45 times faster than BSD,
	Ultrix, and HP-UX systems.

	I haven't benchmarked Mach using its native facilities, but
	here's a comparison that uses portable code on all UNIXes,

    pt                  Tests context switch speed, IPC for short messages
    --

        Mean real time per context switch, corresponding context switch rate:

        PDP-11/45       EPOS              170 usec      5,882 / sec
        DECStation 3100 ULTRIX 2.0 R7     390           2,654
        Sun 4/280       SunOs Sys4-3.2R2  623           1,605
        VAX 8650        BSD 4.3           723           1,383
        NeXt            MACH              873           1,145
        Solbourne 110   OS/MP 4.0       1,140             877
        HP 9000/370     HP-UX 6.5       1,273             785
        Sun 3/75        Sun 4.2         1,297             771
        HP 9000/350     HP-UX 6.2       1,577             634
        HP 9000/350     HP-UX 6.5       1,660             602
        VAX-11/780      BSD 4.3         2,450             408
        PDP-11/45       UNIX V6         7,300             136


----------------
Paul Raveling
Raveling@isi.edu

yyang@frame.UUCP (Yeong Yang) (10/06/89)

In article <611@augean.OZ> idall@augean.OZ (Ian Dall) writes:
>
>I am curious about "message passing kernels". It strikes me that fast context
>switches would be crucial to efficiency. Can anyone give me a reasonably
>accessible reference which describes the philosophy behind mach?
>--
> Ian Dall           life (n). A sexually transmitted disease which afflicts
>                              some people more severely than others.
>idall@augean.oz


I'd also like to find out more about mach messaging, especially network
messaging and broadcasting.  Can anyone post some reference?
Or can someone tell me who should I contact to obtain a copy of the
Mach reference manuals.

BTW, does mach by itself supports broadcasting if the network allows it?

Thankyou,
Yeong Yang

yyang@frame.com