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 VMkernel user-space process
support, the buffer cache, power management, machine check recovery,
support for the latest AMD and Intel processors, the VMkernel
bootloader, and UEFI Secure Boot. At present I'm working in the
VMkernel Hardware group.
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 one of the main authors 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.
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).
Qasim Ali, Timothy P. Mann, and Haoqiang Zheng.
Power-aware scheduling.
United States Patent 9,652,298 B2. Issued May 2017.
Alok Kumar Gupta, Minwen Ji, Timothy P. Mann, Tahir Mobashir,
Umit Rencuzogullari, Ganesha Shanmuganathan, Limin Wang, and
Anne Marie Holler.
Reducing power consumption in a server cluster.
United States Patent 9,047,083 B2. Issued June 2015.
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.
Chandramohan A. Thekkath, Timothy P. Mann, and Edward K. Lee.
Scalable Distributed File System.
United States Patent 6,173,293 B1. Issued January 2001.