A streams-based communications subsystem in turing plus for protocol development



The Homogeneous Multiprocessor (HM) has a linear-array topology, with interprocessor communications achieved by the sharing of memory between nearest neighbours, by adjacent-processor signalling, and through a high-speed network (the H-Network). The operating system nucleus (the HM-Nucleus) for the HM contains a communications subsystem that provides low-overhead communications, both for user processes and for the rest of the HM-Nucleus, using the shared memory, the signalling capability, and the H-Network.

The design for the communications subsystem provides uniformity of access to the three mechanisms by following the IEEE 802.2/802.3 LLC/MAC specifications. Flexibility of access is achieved by adopting the STREAMS facility from System V UNIX.

A new implementation of STREAMS has been built using Turing Plus for both the programming and the simulation/testing, with no need to access the actual hardware until final test. Completion of the STREAMS framework has made it possible subsequently to code an 802.2 LLC module and an 802.3-based shared memory driver very quickly.

The STREAMS framework has also made it feasible to cast some algorithms used by other parts of the HM-Nucleus as protocols, and implement them as STREAMS modules, resulting in considerable simplification in the design process. Since the framework was designed to be completely independent of the host processor, it provides a very general vehicle for protocol development.