@(#)NBSreport.10.88 1.6 88/10/23
*troff -me

100 \s+2Interim Report on Operating Systems Research in the DASH and Berkeley UNIX Projects\s-2 Susan L. Graham Domenico Ferrari David P. Anderson Marshall Kirk McKusick Michael J. Karels Keith Sklower Marc Teitelbaum

0

\s+2DASH Project\s0 .pp During the first three months of the contract, the DASH Project has proceeded with the design and the implementation of the second version of the DASH operating system on Sun 3/50 workstations and Ethernets. .pp The core of the message-passing system has been implemented and experimented with. The results obtained have been quite encouraging: with the VM remapping approach adopted in DASH, large messages can be moved between user virtual address spaces at a rate in excess of 30 Mbytes/s, whereas software copying can only achieve a rate of about 2 Mbytes/s. Also, the overhead of one message-passing operation has been found to be low, and therefore the local IPC performance for short messages is not sacrificed by our design. These results, and the others, that are described in [Tzou and Anderson 1988], have confirmed the soundness of the basic design decisions. .pp The virtual memory system has been completely specified and designed; that part of it which supports IPC regions has been implemented and used in the message-passing experiments. The implementation of the remainder of the VM system has begun. .pp The design of the network and subtransport layers, as well as that of kernel RPC, has also made substantial progress, and has been partially implemented. A study of the feasibility of implementing the real-time message stream abstraction (in particular, deterministic and probabilistic performance guarantees) on top of current virtual-circuit networks is close to its successful completion. .pp The second version of the DASH kernel is also being ported to a Sequent Symmetry shared-memory multiprocessor. A small part of the kernel has recently run on the machine, and the other parts will follow. The experiments to be performed on the DASH kernel in the Sequent environment are now being designed.

\s+2Berkeley UNIX Project\s0 .pp We looked into the costs of joining acunet, reviewed Marshall Rose's proposal to /usr/group for a networking standard, made known our impressions and attended the /usr/group working group meeting at the end of June. We have reviewed another potential network interface standard submitted by Steven Head of Hewlett Packard, and have begun discussions with him about it. We are continuing our discussions with interested parties at Wollongong and Hewlett Packard as part of the effort to arrive at a POSIX standard for network interfaces. .pp We have implemented and tested some of our planned revisions to Socket calls in Berkeley UNIX, namely receiving and sending data while supporting constructions such as end-of-record marks, obtaining indications of out-of-band data without having to poll separately for them. Our intent is to provide this interface to OSI services; our testing method was to modify XNS code to use them (since this is already integrated and working in Berkeley UNIX). We modified the kernel to allow for large, variable length network addresses (necessary for long ISO TSELs), implemented backward compatibility routines, and tested the changes. .pp We reviewed existing ethernet drivers with an eye towards implementing new functionality required for OSI services (such as multi-cast reception and transmission), and unification (or identification and collecting) of common code. .pp We implemented some low-level 802.2 support for 8 ethernet drivers, and began adding support for enabling multicast reception. The 802.2 support was made available to colleagues at the University of Wisconsin, who will incorporate it in their upcoming release of ISO for the IBM RT. .pp The kernel network buffering strategies were revised to support typed data and record marks and to make them more portable. The portability changes will also improve network performance on architectures without page-mapped I/O. .pp We designed and coded an alternate interface for communicating routing changes with the kernel (after soliciting comments from colleagues at Lawrence Berkeley Laboratory and the University of Wisconsin), and designed and coded our own algorithm for hierarchical routing lookups. .pp The version of TCP with the new ``slow-start,'' round-trip time estimation, and congestion control algorithms has been tested extensively, and is included in the current Berkeley ``Tahoe'' test release. It has been adopted by many vendors of 4.2BSD- and 4.3BSD-derived networking software. Additional performance experiments have been done by Van Jacobson of the Lawrence Berkeley Laboratory, and several additional performance improvements are ready to be merged into the Berkeley TCP. .pp The prototype POSIX terminal driver that was developed to validate the P1003.1 terminal driver specification has been used to produce a fully POSIX-compliant interface. In addition, a binary compatibility interface has been developed to allow a transition path for programs using the old Berkeley terminal driver. Most of the system utilities that manipulate terminals have been converted to use the new terminal driver. .pp A POSIX session and job control implementation has been developed. Those system utilities that create sessions and manipulate jobs have been converted to use the new facilities. Numerous other smaller POSIX related changes are also being made. References .ip "[Tzou and Anderson 1988]" S.-Y.Tzou and D.P.Anderson, ``A Performance Evaluation of the DASH Message-Passing System'', submitted for publication, September 1988.