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. -------