High-throughput local area network access for INMOS transputers
This thesis presents the design of an Ethernet local-area network interface for embedded
transputer systems. It is based upon parallel software which manages the TCP/IP
family of protocols, passing packets between a single transputer, which connects to the
network, and application processes which run on an arbitrary number of other
transputers. The different layers of the protocol processing - Ethernet control, IP and
TCP are all performed in separate parallel processes. Extra routing processors, arranged
in a tree configuration, provide access to the lower IP and Ethernet layers from as many
TCP and application processes as desired.
Investigation of the processor utilisation and channel throughput of each of the parallel
processes has led to the rejection of hardware-assistance in the form of a complex
shared-memory, multi-processor architecture. Instead, a double pipeline of processes,
running on a small pipeline of transputers, communicate exclusively using the
transputers' serial links. This scheme is shown to provide good load balancing and to
be a cost-effective way of exchanging traffic between a transputer application and a user
process running on a high-performance workstation at data rates of over
950 kbytes/second - almost the entire available bandwidth of a 10 Mbit/sec Ethernet.
All software is written in the occam programming language.
As well as presenting the design of the protocol software, the thesis includes
performance measurements and reports on two applications which were built upon the
initial work. These are a networked implementation of the INMOS Iserver, which
allows access to transputers from anywhere on the network, and an embedded
instrumentation system which pre-processes data from an ion microbeam and passes
part-analysed results to a conventional workstation for display, archiving and user
control of the experiment.