Books and Theses

PDF Fast and Effective Optimization of Statically Typed Object-Oriented Languages

David F. Bacon
Ph.D. Thesis, Computer Science Division, University of California, Berkeley, December 1997. Presentation.

An analysis algorithm for languages like C++ and Java, and a collection of optimizations driven by the analysis. This algorithm is now being used in the JAX Java code compression tool (available on alphaWorks) and in an optimizer for a future IBM C++ compiler.

PDF Fallacies of the Multiprocessor Approach to Achieving Large-Scale Computing Capabilities: A Case Study

David F. Bacon
M.S. Thesis, University of California, Berkeley, 1995.

We worked for a year with a group of astrophysicists to vectorize and parallelize their X-ray pulsar simulation, and sped it up by a factor of 42 on the Cray Y-MP. But we found that scaling a real-world application up to a massively parallel computer like the Thinking Machines CM-5 is not always effective. These issues are expressed in a new, more general formulation of Amdahl's Law.

PS Hermes: A Language for Distributed Computing

Robert E. Strom, David F. Bacon, Andy Lowry, Arthur P. Goldberg, Daniel M. Yellin, and Shaula Yemini
Prentice-Hall, Series in Innovative Technology, ISBN 0-13-389537-8, February 1991.

Hermes is a secure language like Java but allows fully transparent distributed computing. Hermes uses typestate in a powerful way that eliminates the need for garbage collection. A simple version of the typestate concept is used to achieve security by the Java verifier.