Patrick Tullmann
-
- Broad experience in operating systems implementation, language
run-times, virtualization, networking and storage systems with large and small
teams.
- EDUCATION:
-
MS, Computer Science, December 1999.
University of Utah.
Emphasis in melding operating systems and language run-times. Author or
co-author of eight publications and one thesis.
Coursework included graphics, vision, networking, formal methods,
operating systems, and compilers.
Thesis:
The Alta Operating System.
Alta is a Java operating system: a Java Virtual Machine that
leverages type-safety to support and isolate multiple applications with similar
guarantees and features as a traditional operating system.
BS, Computer Science, summa cum laude, May 1995.
University of Vermont.
- EXPERIENCE:
-
| Senior Staff Engineer at
VMware, Inc. | February 2003 - September 2011 |
Palo Alto, California
VMware builds virtual machine software for running multiple
operating systems simultaneously on a single x86 computer. Development on
the
ESX
Server team, development in the
hypervisor kernel, ESX reliability services, and storage
replication.
JSR-121 proposed support for starting, controlling and managing multiple applications in Java.
Representative for the Flux Research Group at the University of
Utah. Drive discussions on design and
on technical details, maintain CVS repository and several
group documents. Built prototype implementation.
Department Of Computer Science,
University of Utah, Salt Lake City, Utah
Technical lead for the Janos project, a resource-aware Java
Virtual Machine that is the operating system for an
active networking
node.
Implementation in Java and C. Research in resource management
including memory, CPU, and network controls.
Managed a small team of staff and students.
Wrote about designs
and evaluations for publication. Presented conference papers, proposals,
and status reports. Took on additional
responsibilities as needed, including: project web page design and
maintenance, regression testing infrastructure
maintenance, software release management.
Department Of Computer Science,
University of Utah, Salt Lake City, Utah
Coding lackey. Wrote
a multi-process checkpointer; assisted core kernel development.
Experimented with formal methods. Most
coding in C. Helped write about designs and evaluations for
publication (five published papers), presented several.
| Teaching Assistant for undergraduate graphics series | September 1995 - April 1996 |
Department Of Computer Science,
University of Utah, Salt Lake City, Utah
Graded homework and tests, evaluated tests and quizzes,
managed grades, maintained class web page, held office
hours.
- MEMBERSHIPS:
- JSR-121 Expert
Group: Member of the Java Community Process
expert group tasked with
specifying multiple application support for the
Java platform. (2001 - 2003)
Kaffe Core Team:
Member of the Kaffe Core Team with commit
privileges to the public CVS repository. (2000 - 2003)
NodeOS Interface Specification Committee: Member of the
DARPA Active Networking
working group to define a common API for node
services in an active network
(API Draft).
(1998 - 2001)
Usenix: Advanced Computing
Systems Association. (1998 - 2001)
- AVAILABLE PROJECTS:
- Janos: Design and implementation with a team of 3 to
9. Resource-aware node operating system for hosting untrusted Java bytecode.
Java and C code, including threading systems, garbage
collection, network stacks, and low-level systems management.
Open source.
Amphion: Design and
implementation of a simple networked music playlist server.
C++, Python, Perl, Java and shell scripting were used. Open
source.
Javadoc Taglets:
Authored a simple and customizable
@todo javadoc taglet. Java. Open source.
- COMPUTER SKILLS:
- Languages (Expert): C, Java, Latex, (GNU)make, sh.
Languages (Proficient): C++, Python, Perl, Tcl/Tk, HTML, SQL,
Pascal, BASIC, x86 assembly, sed, autoconf, m4.
Languages (Familiar): csh, awk, ML, Javascript, Postscript, Lisp, XML.
Operating Systems: Android, UNIX (Linux, FreeBSD, Solaris), Windows, Alta, Janos.
APIs/Protocols/Libraries/Tools: Berkeley sockets, POSIX,
Java2, C++ STL, SWIG, SQLite, OpenGL, SDL, CVS, Eclipse, GNU toolchain,
vi, emacs, HTTP, PowerPoint, Excel.
- IRRELEVANT SKILLS:
- Intermediate mountain biker,
expert skier, novice rock
climber. Skilled with Aperture Science handheld portal device.
- REFERENCES:
- Available upon request.
- SELECTED PUBLICATIONS:
- See my publications page
for a complete list of publications.
-
Janos: A Java-oriented OS for Active Networks.
-
Patrick Tullmann, Mike Hibler, and Jay Lepreau
IEEE Journal on Selected Areas in Communications, special issue on Active Networks, March 2001.
-
Techniques for the Design of Java Operating Systems.
-
Godmar Back,
Patrick Tullmann, Leigh Stoller, Wilson Hsieh, and Jay Lepreau
Proceedings of the 2000 USENIX Annual Technical Conference June, 2000.
-
Nested Java Processes: OS Structure for Mobile Code.
-
Patrick Tullmann, Jay Lepreau
Proceedings of the Eighth ACM SIGOPS European Workshop September, 1998.
-
Formal Methods: A Practical Tool for OS Implementors.
-
Patrick Tullmann, Jeff Turner, John McCorquodale, Jay Lepreau, Ajay Chitturi, and Godmar Back
Proceedings of the 6th Workshop on Hot Topics in Operating
Systems (HOTOS-VI). May, 1997.
-
User-level Checkpointing Through Exportable Kernel State.
-
Patrick Tullmann, Jay Lepreau, Bryan Ford, and Mike Hibler
Proceedings of the 5th International Workshop on
Object-Orientation in Operating Systems (IWOOOS `96) October, 1996.
The slides
from my presentation are available (Postscript).
-
Microkernels meet Recursive Virtual Machines.
-
Bryan Ford, Mike Hibler, Jay Lepreau,
Patrick Tullmann, Godmar Back, Stephen Clawson
Proceedings of the Second Symposium on Operating Systems Design and
Implementation (OSDI `96) October, 1996.
|