Patrick Tullmann
-
- Looking to combine my experience in operating systems, language
run-times or networking with a small team of smart people to create
new products. Or, a position developing games.
- 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, multi-threading,
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 multiple applications with similar
guarantees and features to a traditional operating system.
BS, Computer Science, summa cum laude, May 1995.
University of Vermont.
- EXPERIENCE:
-
Palo Alto, California
VMware builds virtual machine software for running multiple
operating systems on a single x86 computer. I work on
the ESX Server product.
JSR-121 adds 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 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.
| Teaching Assistant for introductory programming classes | September 1992 ~ May 1995 |
Department Of Computer Science,
University of Vermont, Burlington, Vermont
Covered C and Pascal. Ran labs, wrote quizzes, graded homework.
(Over 6 semesters.)
Given the job as a sophomore, though it was generally restricted to
juniors and seniors.
Burlington, Massachusetts
In-house application development, product bug fixing and
bug closure verification.
- MEMBERSHIPS:
- JSR-121 Expert
Group: Member of the Java Community Process
expert group tasked with
specifying multiple application support for the
Java platform. (2001- )
Kaffe Core Team:
Member of the Kaffe Core Team with commit
privileges to the public CVS repository. (2000-)
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 (but very useful) and customizable
@todo javadoc taglet. Java. Open source.
- COMPUTER SKILLS:
- Languages (Expert): C, Java, Latex, (GNU)make.
Languages (Proficient): C++, Python, Perl, Tcl/Tk, HTML,
Pascal, BASIC, x86 assembly, sh, sed, autoconf, m4.
Languages (Familiar): csh, awk, ML, Javascript, Postscript, Lisp, XML,
MS-DOS batch.
Operating Systems: UNIX (Linux, FreeBSD, Solaris), Windows 95/98, DOS, Alta, Janos.
APIs/Protocols/Libraries/Tools: Berkeley sockets, POSIX,
Java2, C++ STL, SWIG, OpenGL, SDL, CVS, GNU toolchain,
vi, emacs, HTTP, MS PowerPoint, MS Word.
- IRRELEVANT SKILLS:
- Intermediate mountain biker,
expert skier, novice rock
climber. Skilled at Counter-Strike.
- 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.
|