compare.H
jsq at ut-sally.UUCP
jsq at ut-sally.UUCP
Tue Aug 9 07:14:36 AEST 1983
- 32 -
8.2.3 _I_n_t_e_r_n_e_t__(_T_C_P_/_I_P_) Both TCP and UDP are available for
use with IP either on the local network or over the
internet. ICMP is supported, and there are some gateway
facilities.
The socket IPC, together with a network library,
provides many of the functions of the Session layer. The
socket type SOCK_STREAM, which provides a reliable, ordered,
byte stream, is currently supported by TCP, while
SOCK_DGRAM, providing datagram service, is supported by UDP.
There is no internet protocol to support SOCK_SEQPACKET, for
sequenced packets. SOCK_RAW allows direct access to, for
instance, the IMP interface, for debugging and development
of new protocols. Only the superuser is permitted to use
this socket type.
At the Applications layer, the Internet protocols
Telnet, FTP, SMTP, and TFTP are supported.
8.2.4 _B_e_r_k_e_l_e_y__p_r_o_t_o_c_o_l_s The _b_e_r_k_n_e_t facilities of 4.1 are
officially removed from 4.1C and 4.2.
There are also various new protocols developed at
Berkeley, including remote login among machines under the
same administration without passwords (_r_l_o_g_i_n/_r_l_o_g_i_n_d).
Remote shells and remote procedure calls (_c_o_u_r_i_e_r_d) are
supported, as are file copy (_r_c_p/_r_s_h_d), and status protocols
such as the one that supports _r_w_h_o and _r_u_p_t_i_m_e (_r_w_h_o_d).
This latter takes advantage of the broadcast packet facility
of Ethernets and rings to exchange status information about
who is on what system and what systems are up on the local
network. (The idea is easily extensible to networks without
broadcast packets.) Some of these protocols use UDP and some
use TCP.
These protocols make use of several machines over a
local network or networks quite convenient.
8.3 UUCP
Both systems support UUCP, though the details diverge:
System V allows _u_u_c_p copy addresses to specify paths across
multiple systems (as for mail), while 4.1C still permits
copies only between adjacent systems. Naturally, all
systems in a multisystem path must be running _u_u_c_p with
forwarding to properly effect forwarding.
4.2 has all well-known _u_u_c_p bugs fixed. It also
supports more than half a dozen auto-dialers. The spooling
directories have been made sane.
- 33 -
The _c_u command is retained in System V, but dropped by
4.1C in favor of _t_i_p. _T_i_p gets parameters for a remote
system from /etc/remote (yet another _t_e_r_m_c_a_p-like file) so
it is possible to just type
tip system-name
and be connected to the remote system (whose name, _s_y_s_t_e_m-
_n_a_m_e, is in /etc/remote), without having to know the phone
number or devices involved.
If the _c_u interface is desired, linking _t_i_p to _c_u is
all that is required to get it. Various _c_u-like commands
are supported directly by _t_i_p.
System V includes a library routine, _d_i_a_l, used to
establish a dialout connection. This routine is used by _c_u,
but, curiously, _u_u_c_i_c_o still relies on the same old conn.c
code.
8.4 USENET
Neither system includes USENET news program sources.
4.2 will provide both USENET programs (_r_e_a_d_n_e_w_s, _p_o_s_t_n_e_w_s,
et al.) and notesfiles, as user contributed software.
In any case, the best version of news is clearly Bnews
2.10, which has been distributed over USENET. One method to
get it might be to set up a UUCP connection to a neighboring
USENET site and copy it over.
The USENET and UUCP networks have become widespread
enough that connection to them is certainly beneficial.
9. Performance
This is a sticky issue which we will not treat in
detail, as this is not a performance evaluation
presentation. We will give a few tentative benchmarks, and
mention two qualitative performance areas.
9.1 Some Qualitative Remarks
Two important areas where performance varies widely due
to system configuration and usage are paging vs. swapping
and terminal I/O.
9.1.1 _P_a_g_i_n_g__v_s_.__s_w_a_p_p_i_n_g System V, like System III, 32V,
V7, and all the PDP-11 Unixes, swaps, while 4.1C, like 4.1,
pages. With enough memory on a VAX-11/780, it is difficult
- 34 -
to tell the difference for a load of small processes,
because System V just doesn't swap.
If it is desirable to run huge graphics processes or
many Emacs editors or the like, the telling point is not so
much the performance as the virtual address space provided
by the 4.1C paging system. Such things as LISP _r_e_q_u_i_r_e the
large address space paging provides, and _I_n_g_r_e_s is much more
usable with it, since it can run as one process instead of
half a dozen.
We certainly do not intend to indicate, however, that
we think paging and swapping produce equivalent performance.
There are many technical papers on comparative performance
that indicate paging gives much better performance; it is
merely that our (admittedly idiosyncratic) experience was
that under a light load it is hard to tell the difference
without measuring it.
9.1.2 _T_e_r_m_i_n_a_l__I_/_O Using DH11 terminal controllers, 4.1C
provides reasonable terminal I/O performance. Berkeley has
modified the DZ11 driver sufficiently that even these
(basically interrupt per character) devices are usable. It
should be remembered that DEC does not provide DH11
controllers for VAXen. This affects DEC maintenance, though
similar hardware is available from other vendors.
If you need numerous terminals running at 9600 baud or
higher, the System V combination of DZ11s and KMC11 terminal
controllers seems preferable. The other side of this coin
is that little choice has been left for System V users,
since DH-11 driver support is not included in the
distribution and since DZs alone are unlikely to yield
acceptable response.
9.2 Tentative Benchmarks
These measurements were taken on a VAX-11/780 with six
megabytes of memory and a single RP07 disk.
The disk was partitioned into three sections which had
similar sizes under the two operating systems. The various
kernel parameters were chosen by configuring 4.1C for 32
users, and, for System V, by picking the largest parameter
values suggested in the documentation. The resulting
numbers of buffers, inode and file structures, etc., were
similar. Memory was interleaved.
No particular care was taken beyond these steps to tune
either system to its maximum performance.
- 35 -
The numbers given here should not taken too literally,
but only as indicative.
9.2.1 _L_o_a_d__s_i_m_u_l_a_t_i_o_n This was done using a program that
forks _p_t_y_s instances of itself, and then each _p_t_y* repeats a
_j_o_b forever, or rather, until the _r_u_n is over, as decided by
the original parent program. The _j_o_b is a brief shell
script that uses commands common to both systems, as found
on each system. Sources to compile with _c_c were taken from
System V to avoid the long filename problem. They were
carefully picked to avoid any System V peculiarities, such
as _g_e_t_o_p_t. Files to use with _n_r_o_f_f were also taken from
System V, for no particular reason.
The output was redirected to a file to avoid terminal
I/O considerations.
Repeated runs were taken until the job throughput
stopped decreasing due to file system degradation. The
following figures were obtained:
ptys 1 2 4 8 16
System V
jobs/hour/pty 46 25 13 6.4 3.2
jobs/hour 46 50 51 51 51
4.1C BSD
jobs/hour/pty 60 32 16 8 4
jobs/hour 60 64 64 64 64
The total number of jobs per hour increased slightly
from one to two ptys, and then remained constant, as all CPU
cycles were absorbed. The number of jobs per pty is, of
course, just the total divided by the number of ptys.
We interpret these results to mean that 4.1C is
noticeably faster than System V. We do not state the
obvious figure of 25%, because the results could easily be
varied by, for instance, increasing the amount of file I/O a
job uses (to take advantage of the faster 4.1C file system),
__________
* No _p_t_y devices were used: this term is used only for
convenience.
- 36 -
or by using larger processes (to force System V to swap,
which it never did with the above job).
Tuning either kernel could, of course, vary the results
either way.
Definitive benchmarks will have to await the release of
4.2BSD.
9.2.2 _F_i_l_e__s_y_s_t_e_m__t_h_r_o_u_g_h_p_u_t Our experience has been that
the 4.1C filesystem is markedly faster than the System V
one. However, the actual figures vary so much according to
the size of the files used, the transfer block size, the
filesystem block size, whether memory is interleaved or not,
etc. (though under all conditions we have tried 4.1C is
faster than System V), that it would take some months and
another paper the size of this one to deal with the problem.
Rather than present partial and possibly misleading figures,
we have decided to not present any.
10. Vendor Support
The amount and variety of support for UNIX has
increased dramatically over the last few years.
10.1 Western Electric
Western Electric supports System V on VAXes and the
larger PDP-11s, providing software assistance and user
training. (User training is now available, though software
assistance has apparently not yet been fully implemented.)
10.2 U.C. Berkeley
The University of California at Berkeley cannot,
because of the nature of the institution and of the funding
used to support the development of Berkeley UNIX, provide
commercial support. They do, however, accept bug reports,
which may affect future versions. See below on _D_E_C.
10.3 DEC
Digital Equipment Corporation has announced they will
support UNIX in the manner they have supported VMS as a VAX
operating system (and they will also support it on PDP-11s
(_V_7_M)). This is apparently basically Berkeley UNIX, i.e.,
4BSD (and 2BSD).
More information about the Comp.sources.unix
mailing list