]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - share/doc/papers/sysperf/7.t
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / share / doc / papers / sysperf / 7.t
1 .\" Copyright (c) 1985 The Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)7.t 5.1 (Berkeley) 4/17/91
33 .\"
34 .ds RH Conclusions
35 .NH
36 Conclusions
37 .PP
38 4.2BSD, while functionally superior to 4.1BSD, lacked much of the
39 performance tuning required of a good system.  We found that
40 the distributed system spent 10-20% more time in the kernel than
41 4.1BSD.  This added overhead combined with problems with several
42 user programs severely limited the overall performance of the
43 system in a general timesharing environment.
44 .PP
45 Changes made to the system since the 4.2BSD distribution have
46 eliminated most of the
47 added system overhead by replacing old algorithms
48 or introducing additional cacheing schemes.  
49 The combined caches added to the name translation process
50 reduce the average cost of translating a pathname to an inode by more than 50%.
51 These changes reduce the percentage of time spent running
52 in the system by nearly 9%.
53 .PP
54 The use of silo input on terminal ports only when necessary
55 has allowed the system to avoid a large amount of software interrupt
56 processing.  Observations show that the system is forced to
57 field about 25% fewer interrupts than before.
58 .PP
59 The kernel
60 changes, combined with many bug fixes, make the system much more
61 responsive in a general timesharing environment.
62 The 4.3BSD Berkeley UNIX system now appears
63 capable of supporting loads at least as large as those supported under
64 4.1BSD while providing all the new interprocess communication, networking,
65 and file system facilities.  
66 .nr H2 1
67 .ds RH Acknowledgements
68 .SH
69 \s+2Acknowledgements\s0
70 .PP
71 We would like to thank Robert Elz for sharing his ideas and 
72 his code for cacheing system wide names and searching the process table.
73 We thank Alan Smith for initially suggesting the use of a
74 capability based cache.
75 We also acknowledge
76 George Goble who dropped many of our changes
77 into his production system and reported back fixes to the
78 disasters that they caused.
79 The buffer cache read-ahead trace package was based
80 on a program written by Jim Lawson.  Ralph Campbell
81 implemented several of the C library changes.  The original
82 version of the Internet daemon was written by Bill Joy.
83 In addition,
84 we would like to thank the many other people that contributed
85 ideas, information, and work while the system was undergoing change.
86 .ds RH References
87 .nr H2 1
88 .sp 2
89 .SH
90 \s+2References\s-2
91 .LP
92 .IP [Cabrera84] 20
93 Luis Felipe Cabrera, Eduard Hunter, Michael J. Karels, and David Mosher,
94 ``A User-Process Oriented Performance Study of Ethernet Networking Under
95 Berkeley UNIX 4.2BSD,''
96 Research Report No. UCB/CSD 84/217, University of California,
97 Berkeley, December 1984.
98 .IP [Cabrera85] 20
99 Luis Felipe Cabrera, Michael J. Karels, and David Mosher,
100 ``The Impact of Buffer Management on Networking Software Performance
101 in Berkeley UNIX 4.2BSD: A Case Study,''
102 Proceedings of the Summer Usenix Conference, Portland, Oregon,
103 June 1985, pp. 507-517.
104 .IP [GADS85] 20
105 GADS (Gateway Algorithms and Data Structures Task Force),
106 ``Toward an Internet Standard for Subnetting,'' RFC-940,
107 Network Information Center, SRI International,
108 April 1985.
109 .IP [Joy80] 20
110 Joy, William,
111 ``Comments on the performance of UNIX on the VAX'',
112 Computer System Research Group, U.C. Berkeley. 
113 April 1980.
114 .IP [Kashtan80] 20
115 Kashtan, David L.,
116 ``UNIX and VMS, Some Performance Comparisons'',
117 SRI International.  February 1980.
118 .IP [Lankford84] 20
119 Jeffrey Lankford,
120 ``UNIX System V and 4BSD Performance,''
121 \fIProceedings of the Salt Lake City Usenix Conference\fP,
122 pp 228-236, June 1984.
123 .IP [Leffler84] 20
124 Sam Leffler, Mike Karels, and M. Kirk McKusick,
125 ``Measuring and Improving the Performance of 4.2BSD,''
126 \fIProceedings of the Salt Lake City Usenix Conference\fP,
127 pp 237-252, June 1984.
128 .IP [McKusick85]
129 M. Kirk McKusick, Mike Karels, and Samual Leffler,
130 ``Performance Improvements and Functional Enhancements in 4.3BSD''
131 \fIProceedings of the Portland Usenix Conference\fP,
132 pp 519-531, June 1985.
133 .IP [Mockapetris83] 20
134 Paul Mockapetris, ``Domain Names \- Implementation and Schedule,''
135 Network Information Center, SRI International,
136 RFC-883,
137 November 1983.
138 .IP [Mogul84] 20
139 Jeffrey Mogul, ``Broadcasting Internet Datagrams,'' RFC-919,
140 Network Information Center, SRI International,
141 October 1984.
142 .IP [Mosher80] 20
143 Mosher, David,
144 ``UNIX Performance, an Introspection'',
145 Presented at the Boulder, Colorado Usenix Conference, January 1980.
146 Copies of the paper are available from
147 Computer System Research Group, U.C. Berkeley. 
148 .IP [Nagle84] 20
149 John Nagle, ``Congestion Control in IP/TCP Internetworks,'' RFC-896,
150 Network Information Center, SRI International,
151 January 1984.
152 .IP [Ritchie74] 20
153 Ritchie, D. M. and Thompson, K.,
154 ``The UNIX Time-Sharing System'',
155 CACM 17, 7. July 1974. pp 365-375
156 .IP [Shannon83] 20
157 Shannon, W.,
158 private communication,
159 July 1983
160 .IP [Walsh84] 20
161 Robert Walsh and Robert Gurwitz,
162 ``Converting BBN TCP/IP to 4.2BSD,''
163 \fIProceedings of the Salt Lake City Usenix Conference\fP,
164 pp 52-61, June 1984.