Subject: Some interesting papers on BSD ...
To: None <tech-kern@NetBSD.ORG, freebsd-hackers@freebsd.org>
From: Matt Thomas <thomas@lkg.dec.com>
List: tech-kern
Date: 07/05/1996 16:00:52
While for something else, I ran across these 3 papers...
ftp://deas-ftp.harvard.edu/techreports/tr-31-95.ps.gz
TR-31-95 [tr-31-95.ps.gz (61 K)]
Christopher Small and Margo Seltzer. 1995. ``Scheduler Activations on BSD:
Sharing Thread Management Between Kernel and Application.''
There are two commonly used thread models: kernel level threads
and user level threads. Kernel level threads suffer from the cost of
frequent user-kernel domain crossings and fixed kernel
scheduling priorities. User level threads are not integrated with
the kernel, blocking all threads whenever one thread is blocked.
The Scheduler Activations model, proposed by Anderson et al.,
combines kernel CPU allocation decisions with application
control over thread scheduling. This paper discusses the
performance characteristics of an implementation of Scheduler
Activations for a uniprocessor BSD system, and proposes an
analytic model for determining the class of applications that
benefit from its use. Our implementation required fewer than two
hundred lines of kernel code and provides an order of magnitude
performance improvement over process-level facilities.
ftp://deas-ftp.harvard.edu/techreports/tr-19-95.ps.gz
TR-19-95 [tr-19-95.ps.gz (541 K)]
Diane L. Tang. 1995. ``Benchmarking Filesystems.''
One of the most widely researched areas in operating systems is
filesystem design, implementation, and performance. Almost all
of the research involves reporting performance numbers gathered
from a variety of different benchmarks. The problem with such
results is that existing filesystem benchmarks are inadequate,
suffering from problems ranging from not scaling with advancing
technology to not measuring the filesystem.
A new approach to filesystem benchmarking is presented here.
This methodology is designed both to help system designers
understand and improve existing systems and to help users
decide which filesystem to buy or run. For usability, the
benchmark is separated into two parts: a suite of
micro-benchmarks, which is actually run on the filesystem, and a
workload characterizer. The results from the two separate parts
can be combined to predict the performance of the filesystem on
the workload.
The purpose for this separation of functionality is two-fold. First,
many system designers would like their filesystem to perform well
under diverse workloads: by characterizing the workload
independently, the designers can better understand what is
required of the filesystem. The micro-benchmarks tell the
designer what needs to be improved while the workload
characterizer tells the designer whether that improvement will
affect filesystem performance under that workload. This
separation also helps users trying to decide which system to run
or buy, who may not be able to run their workload on all systems
under consideration, and therefore need this separation.
The implementation of this methodology does not suffer from
many of the problems seen in existing benchmarks: it scales with
technology, it is tightly specified, and it helps system designers.
This benchmark's only drawbacks are that it does not accurately
predict the performance of a filesystem on a workload, thus
limiting its applicability: it is useful to system designers, but not
for users trying to decide which system to buy. The belief is that
the general approach will work, given additional time to
manipulate the prediction algorithm.
ftp://deas-ftp.harvard.edu/techreports/tr-09-95.ps.gz
TR-09-95 [tr-09-95.ps.gz (77 K)]
J. Bradley Chen, Yasuhiro Endo, Kee Chan, David Mazieres, Antonio Dias,
Margo Seltzer, and Michael Smith. 1995. ``The Impact of Operating System
Structure on Personal Computer Performance.''
This paper presents a comparative study of the performance of
three operating systems that run on the personal computer
architecture derived from the IBM-PC. The operating systems,
Windows for Workgroups (tm), Windows NT (tm), and NetBSD (a
freely available UNIX (tm) variant) cover a broad range of system
functionality and user requirements, from a single address space
model to full protection with preemptive multitasking. Our
measurements were enabled by hardware counters in Intel's
Pentium (tm) processor that permit measurement of a broad
range of processor events including instruction counts and
on-chip cache miss rates. We used both microbenchmarks, which
expose specific differences between the systems, and application
workloads, which provide an indication of expected end-to-end
performance. Our microbenchmark results show that accessing
system functionality is more expensive in Windows than in the
other two systems due to frequent changes in machine mode and
the use of system call hooks. When running native applications,
Windows NT is more efficient than Windows, but it does incur
overhead from its microkernel structure. Overall, system
functionality can be accessed most efficiently in NetBSD; we
attribute this to its monolithic structure, and to the absence of the
complications created by backwards compatibility in the other sys
tems. Measurements of application performance show that the
impact of these differences is significant in terms of overall
execution time.
--
Matt Thomas Internet: matt@3am-software.com
3am Software Foundry WWW URL: http://www.3am-software.com/bio/matt.html
Westford, MA Disclaimer: I disavow all knowledge of this message