Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Nov 1996 10:16:13 -0500
From:      dennis@etinc.com (dennis)
To:        Tony Li <tli@jnx.com>
Cc:        isp@freebsd.org
Subject:   Re: changed to: Frac T3?
Message-ID:  <199611191516.KAA06950@etinc.com>

next in thread | raw e-mail | index | archive | help

Tony Li writes....

>   However, less clear to me is that your argument against
>   having any "significant non-routing load" on a router applies to UNIX
>   based routers.  Maybe someone like David or Bruce could clarify this.
>
>Simple to demonstrate.  Take a compute bound process which generates and
>receives packets periodically.  This emulates your routing protocol.  Start
>a kernel build.  You'll notice a non-trivial performance hit in interactive
>response and computation by your routing protocol.  Now renice your kernel
>build.  Things get better, but that process still consumes bus cycles,
>physical memory, and gets some share of the CPU.  Add more load until
>processes start paging.  You'll note that the progress of your 'routing
>protocol' degrades further.  Pretty soon, your timers start to slip.
>You're now on the brink of collapse.
>
>The result is simple: routing protocols need a guaranteed minimal amount of
>CPU and I/O to survive.  Lacking strict resource controls under Unix, the
>best way of delivering that guarantee is to exclude other load from the
>box.  For a seriously robust router, you'd also need to put a cap on the
>amount of time spent in interrupt processing.

I think that tony has been working on scarce resouce machines for too long.
You buy
time with buffer space, and buffer space in a freebsd enviroment is rather
abundant.
You've got hardware buffering, and OS buffering, all which need to
compensate for the
time needed to service the interrupts.

At T1 there is no issue, because you can buffer several full  timeouts worth
of data. The
issue with high speed is that your interpacket process time is very short,
and you cant
reasonably buffer 10MB (2 seconds worth of receive data at T3) without
swamping the
machine. 

I think building a freebsd box with 1 100Mbs  ethernet and 1very high speed
interface is fairly 
easy...because you can control the process flow . Its when you've got several
interfaces that it gets a little hairy, particularly with multiple bus
masters where its difficult
or impossible to control priority.

Dennis




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611191516.KAA06950>