PageRenderTime 25ms CodeModel.GetById 13ms app.highlight 9ms RepoModel.GetById 1ms app.codeStats 0ms

/share/doc/papers/sysperf/0.t

https://bitbucket.org/freebsd/freebsd-head/
Unknown | 247 lines | 247 code | 0 blank | 0 comment | 0 complexity | 9e627dbc65429d80b07905a9dfcef83e MD5 | raw file
  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.\"	@(#)0.t	5.1 (Berkeley) 4/17/91
 33.\"
 34.if n .ND
 35.TL
 36Measuring and Improving the Performance of Berkeley UNIX*
 37.sp
 38April 17, 1991
 39.AU
 40Marshall Kirk McKusick,
 41Samuel J. Leffler\(dg,
 42Michael J. Karels
 43.AI
 44Computer Systems Research Group
 45Computer Science Division
 46Department of Electrical Engineering and Computer Science
 47University of California, Berkeley
 48Berkeley, CA  94720
 49.AB
 50.FS
 51* UNIX is a trademark of AT&T Bell Laboratories.
 52.FE
 53.FS
 54\(dg Samuel J. Leffler is currently employed by:
 55Silicon Graphics, Inc.
 56.FE
 57.FS
 58This work was done under grants from
 59the National Science Foundation under grant MCS80-05144,
 60and the Defense Advance Research Projects Agency (DoD) under
 61ARPA Order No. 4031 monitored by Naval Electronic System Command under
 62Contract No. N00039-82-C-0235.
 63.FE
 64The 4.2 Berkeley Software Distribution of 
 65.UX
 66for the VAX\(dd
 67.FS
 68\(dd VAX, MASSBUS, UNIBUS, and DEC are trademarks of
 69Digital Equipment Corporation.
 70.FE
 71had several problems that could severely affect the overall
 72performance of the system.
 73These problems were identified with
 74kernel profiling and system tracing during day to day use.
 75Once potential problem areas had been identified
 76benchmark programs were devised to highlight the bottlenecks.
 77These benchmarks verified that the problems existed and provided
 78a metric against which to validate proposed solutions.
 79This paper examines 
 80the performance problems encountered and describes
 81modifications that have been made
 82to the system since the initial distribution.
 83.PP
 84The changes to the system have consisted of improvements to the
 85performance of the existing facilities,
 86as well as enhancements to the current facilities.
 87Performance improvements in the kernel include cacheing of path name
 88translations, reductions in clock handling and scheduling overhead,
 89and improved throughput of the network subsystem.
 90Performance improvements in the libraries and utilities include replacement of
 91linear searches of system databases with indexed lookup,
 92merging of most network services into a single daemon,
 93and conversion of system utilities to use the more efficient
 94facilities available in 4.2BSD.
 95Enhancements in the kernel include the addition of subnets and gateways,
 96increases in many kernel limits,
 97cleanup of the signal and autoconfiguration implementations,
 98and support for windows and system logging.
 99Functional extensions in the libraries and utilities include
100the addition of an Internet name server,
101new system management tools,
102and extensions to \fIdbx\fP to work with Pascal.
103The paper concludes with a brief discussion of changes made to
104the system to enhance security.
105All of these enhancements are present in Berkeley UNIX 4.3BSD.
106.AE
107.LP
108.sp 2
109CR Categories and Subject Descriptors:
110D.4.3
111.B "[Operating Systems]":
112File Systems Management \-
113.I "file organization, directory structures, access methods";
114D.4.8
115.B "[Operating Systems]":
116Performance \-
117.I "measurements, operational analysis";
118.sp
119Additional Keywords and Phrases:
120Berkeley UNIX,
121system performance,
122application program interface.
123.sp
124General Terms:
125UNIX operating system,
126measurement,
127performance.
128.de PT
129.lt \\n(LLu
130.pc %
131.nr PN \\n%
132.tl '\\*(LH'\\*(CH'\\*(RH'
133.lt \\n(.lu
134..
135.af PN i
136.ds LH Performance
137.ds RH Contents
138.bp 1
139.if t .ds CF April 17, 1991
140.if t .ds LF DRAFT
141.if t .ds RF McKusick, et. al.
142.ce
143.B "TABLE OF CONTENTS"
144.LP
145.sp 1
146.nf
147.B "1.  Introduction"
148.LP
149.sp .5v
150.nf
151.B "2.  Observation techniques
152\0.1.    System maintenance tools
153\0.2.    Kernel profiling
154\0.3.    Kernel tracing
155\0.4.    Benchmark programs
156.LP
157.sp .5v
158.nf
159.B "3.  Results of our observations
160\0.1.    User programs
161\0.1.1.    Mail system
162\0.1.2.    Network servers
163\0.2.    System overhead
164\0.2.1.    Micro-operation benchmarks
165\0.2.2.    Path name translation
166\0.2.3.    Clock processing
167\0.2.4.    Terminal multiplexors
168\0.2.5.    Process table management
169\0.2.6.    File system buffer cache
170\0.2.7.    Network subsystem
171\0.2.8.    Virtual memory subsystem
172.LP
173.sp .5v
174.nf
175.B "4.  Performance Improvements
176\0.1.    Performance Improvements in the Kernel
177\0.1.1.    Name Cacheing
178\0.1.2.    Intelligent Auto Siloing
179\0.1.3.    Process Table Management
180\0.1.4.    Scheduling
181\0.1.5.    Clock Handling
182\0.1.6.    File System
183\0.1.7.    Network
184\0.1.8.    Exec
185\0.1.9.    Context Switching
186\0.1.10.   Setjmp and Longjmp
187\0.1.11.   Compensating for Lack of Compiler Technology
188\0.2.    Improvements to Libraries and Utilities
189\0.2.1.    Hashed Databases
190\0.2.2.    Buffered I/O
191\0.2.3.    Mail System
192\0.2.4.    Network Servers
193\0.2.5.    The C Run-time Library
194\0.2.6.    Csh
195.LP
196.sp .5v
197.nf
198.B "5.  Functional Extensions
199\0.1.    Kernel Extensions
200\0.1.1.    Subnets, Broadcasts, and Gateways
201\0.1.2.    Interface Addressing
202\0.1.3.    User Control of Network Buffering
203\0.1.4.    Number of File Descriptors
204\0.1.5.    Kernel Limits
205\0.1.6.    Memory Management
206\0.1.7.    Signals
207\0.1.8.    System Logging
208\0.1.9.    Windows
209\0.1.10.   Configuration of UNIBUS Devices
210\0.1.11.   Disk Recovery from Errors
211\0.2.    Functional Extensions to Libraries and Utilities
212\0.2.1.    Name Server
213\0.2.2.    System Management
214\0.2.3.    Routing
215\0.2.4.    Compilers
216.LP
217.sp .5v
218.nf
219.B "6.  Security Tightening
220\0.1.    Generic Kernel
221\0.2.    Security Problems in Utilities
222.LP
223.sp .5v
224.nf
225.B "7.  Conclusions
226.LP
227.sp .5v
228.nf
229.B Acknowledgements
230.LP
231.sp .5v
232.nf
233.B References
234.LP
235.sp .5v
236.nf
237.B "Appendix \- Benchmark Programs"
238.de _d
239.if t .ta .6i 2.1i 2.6i
240.\" 2.94 went to 2.6, 3.64 to 3.30
241.if n .ta .84i 2.6i 3.30i
242..
243.de _f
244.if t .ta .5i 1.25i 2.5i
245.\" 3.5i went to 3.8i
246.if n .ta .7i 1.75i 3.8i
247..