Tim Mann's Curriculum Vitae
Updated January 2009
Home:
Timothy Mann
518 Channing Ave.
Palo Alto, CA 94301
Email:
Web page: http://tim-mann.org/
My interests within computing are rather broad. I enjoy working on
lower-level software, from the hardware/software boundary on upward.
I also enjoy working on networking and distributed systems problems.
My professional experience has been in naming, file systems, clock
synchronization, operating system kernels, software configuration
management, virtual machines, and power management. I've also done
nonprofessional work in emulation and user interfaces. Some specific
projects that I've worked on are described below.
VMware:
I'm currently working for VMware, Inc. on virtual machine software.
It's interesting and challenging work, and I hope to be with the
company for a long time. I'm formally attached to the ESX Server
project, in the VMkernel group, but my work has crossed over through
all of our virtual machine products and through several layers of the
system. I've worked extensively on time-related issues, including a
redesign of the
virtual timer devices that guest operating systems see when running in
a virtual machine, and a redesign of the physical timer service in the
ESX VMkernel. I've also worked on extensions to the VMkernel
for ESX version 3. At present I'm working on power management.
Vesta:
Vesta is an integrated system for software configuration management,
consisting of a repository that stores immutable, versioned source
code in a file system name space, a builder that automates the process
of making derived objects from source, and a site-wide shared cache
that speeds up the builder by allowing it to avoid redoing work that
has been done before. I designed and implemented the repository, the
tools that use the repository for source control, and the features and
tools for replicating source code at multiple sites and doing
cross-site checkout. I also contributed to the design, debugging, and
documentation of most other parts of the system. For over two years,
Vesta was in daily use by a group of about 130 developers
working on a large microprocessor design, distributed across two sites
on opposite coasts. During this period I helped provide second-line
support and implemented several new features that were requested by
our users. Vesta has been released as free software with source code
available under the LGPL.
Itsy:
I implemented a Linux flash-memory based file system for the Itsy pocket
computer. The initial version was done quickly by modifying and
gluing together several existing pieces of code, but I later worked
with a summer intern on Cloudburst, a new implementation with built-in
compression. Unfortunately our work was rendered irrelevant
by the release of
MTD and
JFFS2.
Frangipani: Frangipani is a distributed file system built on
top of the
Petal scalable network storage system. I was
co-designer of Frangipani and wrote most of the paper.
Echo: Echo was a research file system with replication for
high availability, logging for rapid crash recovery, and extensive
write-behind caching for performance. I worked mostly on the client
side, including the cache and failover.
Clock synchronization: I've done some unpublished work with
Leslie Lamport on clock synchronization, including both implementation
and algorithm design. I spoke on part of it at the
March 1996
Dagstuhl-Seminar on Time Services.
Decentralized naming: My Ph.D. thesis work was on a scheme
for doing name lookup using multicast, thus eliminating name servers
as a point of failure.
Music:
I play the guitar and lead singalongs on a regular basis for some
church groups I'm involved with.
Chess:
I am the main author of xboard and WinBoard, which are
free graphical user interfaces for playing chess against a
chess program or against another user on an Internet Chess Server.
Over 100 chess programs now work with these interfaces.
Retrocomputing:
I am the main author of xtrs, a free Radio Shack TRS-80
emulator for Unix. I've also written a set of free tools for reading and
writing unusual floppy disk formats with the Catweasel universal
floppy disk controller.
Member
ACM,
Phi Beta Kappa,
Pi Mu Epsilon,
Sigma Pi Sigma.
Referee for conferences SOSP, OSDI, ASPLOS, PODC, ISCA, ISWC; journals
TOCS,
TPDS,
SP&E,
TON,
TSE.
Program committee for 2nd WMRD, 1990.
VMware,
January 2008 to present, Senior Staff Engineer.
August 2004 to December 2007, Staff Engineer.
September 2001 to July 2004, Senior Member of Technical Staff.
Compaq Systems Research Center
(formerly Digital Equipment Corporation Systems Research Center), May
1987 to August 2001. Promoted from Member of Technical Staff to Senior
Member of Technical Staff in October 1999. I worked on several
research projects (mostly described above) and consulted with various
product groups.
Stanford University Computer Science Department,
September 1981 to May 1987. Graduate
Research and Teaching Assistant.
As a research assistant, I worked on many parts of the V distributed
operating system, concentrating on the microkernel and the naming
service. I also edited the V user manual and coordinated system
releases to users outside Stanford. As a teaching assistant, I
prepared and graded tests and homework, and gave individual tutoring.
Other Employment, June 1978 to May 1987. At various times
during this period I had summer or part-time positions at Silicon
Graphics (consulting), Bell Laboratories (summer intern), Marquette
University (research assistant), Galactic Software (TRS-80 operating system
programmer), and Lutheran Hospital (programmer and special projects).
Born March 9, 1959 in Milwaukee, Wisconsin. I have lived in the San
Francisco Bay Area since 1981 and prefer to stay here. In good
health; I was successfully treated for lymphoma in 1992 and there have
been no signs of recurrence.
- Timothy P. Mann.
Method and Apparatus For Emulating Multiple Virtual Timers in a Virtual Computer System When the Virtual Timers Fall Behind the Real Time of a Physical Computer System.
United States Patent 7,475,002. Issued January 2009.
- Allan Heydon, Roy Levin, Timothy Mann, and Yuan Yu.
Software Configuration Management Using Vesta.
Springer, Monographs in Computer Science series.
ISBN 0-387-0029-4, February 2006.
(An early version appeared as Compaq
SRC Research Report 177, cited below.)
- Marcos K. Aguilera, Minwen Ji, Mark Lillibridge, John MacCormick,
Erwin Oertli, Dave Andersen, Mike Burrows, Timothy Mann,
and Chandramohan A. Thekkath.
Block-Level Security for Network-Attached Disks.
Proceedings of the 2nd USENIX Conference on File and Storage
Technologies (FAST '03), March 2003.
- Robert M. Hyatt and Timothy Mann.
A Lockless Transposition Table Implementation for Parallel Search.
ICGA Journal,
International Computer Games Association, 25(1):36-39, March 2002.
- Allan Heydon, Roy Levin, Timothy Mann, and Yuan Yu.
The Vesta Software Configuration Management System.
Research Report 177, Compaq Systems Research Center,
Palo Alto, CA, January 2002.
- Timothy Mann.
Partial
Replication in the Vesta Software Repository. Research
Report 172, Compaq Systems Research Center, Palo Alto, CA,
August 17, 2001.
- William R. Hamburgen, Deborah A. Wallach, Marc A.
Viredaz, Lawrence S. Brakmo, Carl A. Waldspurger, Joel F. Bartlett, Timothy
Mann, and Keith I. Farkas. Itsy: Stretching the bounds of mobile
computing. IEEE Computer, 34(4):28-36, April 2001.
- Allan Heydon, Roy Levin, Timothy Mann, and Yuan Yu.
The Vesta approach to software configuration management. Research
Report 168, Compaq Systems Research Center, Palo Alto, CA, March 2001.
- Gretta Bartels and Timothy Mann. Cloudburst: A compressing, log-structured virtual disk for flash
memory. Technical Note 2001-001, Compaq Systems Research Center, Palo
Alto, CA, February 2001.
- Chandramohan A. Thekkath, Timothy P. Mann, and Edward K. Lee.
Scalable Distributed File System.
United States Patent 6,173,293. January 2001.
- Allan Heydon, Jim Horning, Roy Levin, Timothy
Mann, and Yuan Yu. The Vesta-2 Software Description Language. Technical
Note 1997-005c, Digital Equipment Corporation, Systems Research Center, Palo Alto, CA, June 1998.
- Chandramohan Thekkath, Timothy Mann, and Edward K.
Lee. Frangipani: A scalable distributed file system.
Proceedings of the 16th ACM Symposium on Operating Systems Principles,
pages 224-237. ACM Press, October 1997.
- Timothy Mann, Andrew D. Birrell, Andy Hisgen, Chuck
Jerian, and Garret Swart. A coherent distributed file cache with directory write-behind.
ACM Transactions on Computer Systems, 12(2):123-164, May 1994. (A
preliminary version appeared as DEC SRC Research Report 103.)
- Garret Swart, Andrew D. Birrell, Andy Hisgen, and
Timothy Mann. Availability in the Echo file system. Research Report 112, Digital Equipment Corporation,
Systems Research Center, Palo Alto, CA, September 1993.
- Andrew D. Birrell, Andy Hisgen, Chuck Jerian, Timothy
Mann, and Garret Swart. The Echo distributed file system. Research Report 111, Digital Equipment Corporation,
Systems Research Center, Palo Alto, CA, September 1993.
- Andy Hisgen, Andrew D. Birrell, Chuck Jerian, Timothy
Mann, and Garret Swart. New-value logging in the Echo replicated file system. Research
Report 104, Digital Equipment Corporation, Systems Research Center, Palo Alto, CA, June 1993.
- Andy Hisgen, Andrew D. Birrell, Chuck Jerian, Timothy
Mann, and Garret Swart.
Some consequences of excess load on the Echo
replicated file system. Proceedings of the IEEE Workshop on
the Management of Replicated Data, pages 92-95. IEEE, November 1992.
- Michael Burrows, Chuck Jerian, Butler Lampson, and
Timothy Mann. On-line data compression in a log-structured file system.
Proceedings of the 5th Conference on Architectural Support for Programming
Languages and Operating Systems, October 1992. (Also appeared as DEC SRC
Research Report 85.)
- Andy Hisgen, Andrew D. Birrell, Chuck Jerian,
Timothy Mann, Michael D. Schroeder, and Garret Swart.
Granularity and
semantic level of replication in the Echo distributed file system.
Proceedings of the IEEE Workshop on the Management of Replicated
Data, November 1990.
- Andy Hisgen, Andrew D. Birrell, Timothy Mann,
Michael D. Schroeder, and Garret Swart.
Availability and consistency
tradeoffs in the Echo distributed file system. Proceedings
of the 2nd IEEE Workshop on Workstation Operating Systems, pages 49-54.
IEEE, September 1989.
- Timothy Mann, Andy Hisgen, and Garret Swart. An algorithm for data replication. Research Report 46, Digital Equipment Corporation,
Systems Research Center, Palo Alto, CA, June 1989.
- David R. Cheriton and Timothy P. Mann.
Decentralizing a global naming service for improved performance and
fault tolerance
ACM Transactions on Computer Systems,
7(2):147-183, May 1989.
- Timothy Paul Mann.
Decentralized naming in distributed
computer systems. Stanford University, School of Engineering,
Computer Science Department, Stanford, CA, May 1987. Ph.D. Thesis. (Available
as Computer Science Technical Report STAN-CS-87-1179.)
- David R. Cheriton and Timothy P. Mann.
A decentralized naming facility. Technical Report STAN-CS-86-1098,
Computer Science Department, Stanford University, Stanford, CA, February
1986. (Above link is a scanned image. Also available in
PostScript, without figures.)
- Ross Finlayson, Timothy Mann, Jeffrey Mogul, and Marvin
Theimer.
A reverse address resolution protocol. Request For
Comments 903, Network Information Center, SRI International, June 1984.
- David R. Cheriton and Timothy P. Mann.
Uniform access to
distributed name interpretation in the V-System. Proceedings
of the Fourth International Conference on Distributed Computing Systems,
pages 290-297. IEEE, 1984. (Co-winner of Best Paper award.
Above link is a scanned image. Also available in
Scribe, without figures.)