1995-1996 Distinguished Lectures
RICHARD L. SITES
Digital Equipment Corporation
Random Memory Access Abuse
Tuesday
November 14
1995
Abstract
As high-speed computers and operating systems get more complex,
software performance no longer increases predictably. The CPU
chip industry has now reached the point that instructions can be
executed more quickly than the chips can be fed with code and data.
Future chip design is memory design. Future software design is also
memory design.
We have been studying the performance of the Windows NT operating
system running on Alpha computers. The technique we use, PatchWrx,
is focussed on understanding operating system performance, but may
be applied to user code also. The technique involves patching all
the binary executables of the operating system to record all the
branching behavior, then postprocessing to reconstruct the entire
dynamic instruction and data streams. Patched programs run at about
1/4 of normal speed.
Direct measurements of the SQLserver database application reveal
that its memory access pattern is nearly indistinguishable from
white noise, and that caches therefore don't work. Executing
SQLserver and similar 2 GB/sec of main memory bandwidth, unless
the software is restructured to treat main memory like disks --
accesses are very slow, and once you get one piece of data, you want
to use an entire block of data.
Without extreme care in memory access patterns, pointer structures
are death. This is in stark contrast to what one might "learn" about
computer design by studying the SPEC benchmarks. Controlling memory
access patterns will drive hardware and software designs for the
foreseeable future.
CARLO H. SEQUIN
University of California, Berkeley
Interactive Virtual Building Environments
Tuesday
December 5
1995
Abstract
Real-time virtual walk-through exploration of computer graphics
models of fully furnished buildings comprising millions of polygons
are possible on today's high-end workstations. However, real-time
rendering of such virtual environments requires a suitably organized
database, the use of furniture models at various levels of detail,
and efficient determination of worst-case visibility ranges. To make
such environments truly interactive, so that the user can displace
furniture during a walk-through session, raises additional computational
challenges and user interface issues. This paper discusses these
issues, and shows results obtained on a model comprising more than a
hundred furnished rooms.
NORMAN ABRAMSON
Aloha Networks
Spread ALOHA For Wireless Networks:
CSMA Without Code Division
Thursday
January 25
1996
Abstract
Digital networks serving large numbers of users sharing a common channel
require a multiple access communications architecture in order to regulate
user access to the shared channel resource. When the user traffic is rapidly
varying, two basic multiple access techniques have been employed -- Code
Division Multiple Access (CDMA) and ALOHA.
CDMA requires the use of a wide bandwidth spread spectrum channel while
ALOHA access has generally been employed in narrowband channels. When ALOHA
channels are designed to make the same profligate use of bandwidth as CDMA
channels a new form of ALOHA access called Spread ALOHA results. Spread
ALOHA is equivalent to conventional CDMA with but a single code shared by
all users rather than a different code for each user.
Spread ALOHA can be used to greatly simplify the generally baroque
architecture of conventional CDMA implementations. In addition it can
be shown that in the case of a bandlimited average power limited channel
operating at a low signal to noise ratio, it is not possible to
find a multiple access technique with a higher capacity than Spread ALOHA.
FOREST BASKETT
Silicon Graphics, Inc.
Scalable Computer System Architectures into the 21st Century
Tuesday
March 5
1996
Sorry, no abstract available.
CHRISTOS H. PAPADIMITRIOU
University of California, San Diego
Complexity as a Metaphor
Thursday
May 9
1996
Abstract
As the field of computational complexity grows and matures, it is tackling
broader and more subtle questions than just how hard functions are to compute.
Complexity of a computational problem is often used as an indirect indication
that an area or approach is mathematically nasty or devoid of favorable structure.
Such a conception of complexity is particularly productive and informative in
interdisciplinary research. I shall present examples in which complexity is
used as an "allegory" for chaos in dynamical systems, for unfair distribution
in economics, and for unbounded rationality in game theory.