[net.works] Apollos on Ethernet

Odonnell@YALE@sri-unix (12/17/82)

From:    John O'Donnell <Odonnell at YALE>

We built an Apollo Ethernet gateway a while ago.  We have a growing Ethernet
(all Interlan hardware [with which we are well pleased]), about 25 nodes
right now, running Chaosnet protocols.  For those unfamiliar with Chaosnet,
it was originally developed at MIT for the Lisp machine; it's a 
well designed protocol set providing virtual-circuit based services that's
easily implemented and performs well.  We interconnect 20s, VAXes running
VMS and Unix (4.1), PDP11s running Unix, and our Apollo ring (20 nodes)
with Chaosnet protocols.

Building the gateway was an interesting experience.  The Apollo implementation
was by far the quickest to build: 12 weeks start to finish (really finished:
robust).   Apollo provides a nice net-wide interprocess communication 
facility; we put a user-end subroutine library on that which 
opens and maintains Chaosnet connections to any node via the gateway process.
The gateway process (residing on the single node that has a multibus Ethernet
card in it) maintains connections, does the retransmissions and timeouts, etc.
It talks to the hardware on one side, the ipcf system on the other.  It's
all user state and takes full advantage of the synchronization facilities
provided in the Apollo OS.   Having decent debugging and synchronization
tools made a big difference; the Unix implementation required months to 
shake out the interrupt race conditions.

Performance:  We've done very little network monitoring or performance
tuning on any of the implementations.  The Apollo implementation performs
at the same level as the other systems: average FTP speeds of about 120Kbits/s.
We believe that if we spent a month tuning we could up this by a factor of 5.

The code is available; contact me directly if you're interested.
-------