CSE 221 Paper Evaluations

Greg Johnson (johnson@SDSC.EDU)
Mon, 8 May 2000 19:44:18 -0700 (PDT)

WHY AREN'T OPERATING SYSTEMS GETTING FASTER AS FAST AS HARDWARE?
J. Ousterhout, 1990.

In this paper, Ousterhout describes the performance of Sprite and several
versions of UNIX on a range of hardware, over a number of microbenchmarks
(and one macrobenchmark). Through this he concludes that the performance
of base OS operations (memory, disk, and network IO, calls to the kernel,
and data movement) is not increasing at the same rate as improvements in
the speed of the underlying CPU would suggest. Specifically, Ousterhout
homes in on (surprise surprise) bandwidth to memory and disk IO as the
chief culprits limiting the overall effect of increased CPU performance.

Ousterhout synthesizes the performance results of seven microbenchmarks
and one macrobenchmark into four problem areas. One of these is memory
bandwidth relative to CPU speed. He states "if memory bandwidth does not
improve dramatically in future machines, some classes of applications may
be limited by memory performance". In HPC for example, economics favors
distributed memory MPPs (and clusters) and thus the use of deep memory
hierarchies as a means of providing reasonable memory performance, but
only for classes of applications with specific memory access patterns.

A second area of concern involves the high cost of context switching on
RISC vs. CISC machines. Third, OS designers must work to mitigate the
effects of slow disk IO by separating the performance of this subsystem
from that of the filesystem (while maintaining reliability). Fourth,
network protocols such as those which support distributed filesystems
must be designed along different assumptions (such as large contiguous
writes, and distributed state information to name two).

Ousterhout states "if users are to benefit from faster machines, either
NFS must be scrapped ... or changed to be less disk-intensive", leading
me to ask "why is NFS the dominant distributed file system of today".
It may be the design of NFS has improved (I don't know enough about the
history of NFS to say), though the way NFS is used (often to supplement
local disk resources - the OS is stored locally and only user files and
apps are accessed via NFS) could be the key.

--------------------------------------------------------------------------

THE INTERACTION OF ARCHITECTURE AND OPERATING SYSTEM DESIGN
T. Anderson, H. Levy, B. Bershad, and E. Lazowska, 1991.

This paper describes the effect of several tends in computer architecture
on the performance of low-level facilities of UNIX-type operating systems
on RISC-based CPUs. Hardware trends discussed include: relatively simple
instruction sets, higher visibility of the hardware in software, movement
of complexity from hardware into software, and selection of architectural
features based on their performance relative to user applications. On the
OS side the authors identify trends including: support for parallelism,
virtual memory, and fast local communication. The first sections of the
paper concentrate on low-level features required by operating systems in
these three areas, and the effect of architectural trends on the cost of
these features. The latter section of the paper describes the behavioral
patterns of operating systems in the context of these primitives.

The authors tackle the architecture - OS relationship from a different
level than Ousterhout. In particular, Ousterhout examines the impact
of the relative differences in performance (and performance growth) of
CPU to memory and disk subsystems on key OS facilities. In this paper
the authors look at the low-level mapping of OS primitives to hardware
features in two directions: "how does the availability (or lack) of a
feature in hardware affect the OS" and "how does the design of the OS
exploit hardware features". Further, while Ousterhout measured the
performance of several "off-the-shelf" OSes, these authors rewrote and
optimized OS components such as drivers to avoid impacts on timings as
a result of vendor-specific implementation choices.

I enjoyed reading the higher-level sections of this paper, particularly
the generic discussions on the relationships between key OS primitives
and hardware design elements (and consideration of trends in both these
areas). More than once though I got bogged down in the fine details.
Lastly, I didn't agree with a couple of statements in this paper, namely
that "network bandwidths are increasing quickly; with 10- to 100-fold
improvements likely (soon)" and "communication performance typically is
not limited by network speed".

=============================================================================
Greg Johnson office: (858) 534-8367
Senior Programmer Analyst fax: (858) 534-5152
San Diego Supercomputer Center email: johnson@sdsc.edu
University of California San Diego