Final Program / Proceedings


Wednesday, March 17th 2010

13:30 Welcome

13:45 Keynote Talk

Transistors to Toys: Teach Systems to Freshmen
Peter M. Chen (University of Michigan)


How should we introduce students to the art of system building, and when are students ready to start designing and building interesting systems?  In this talk, I describe an experimental course at the University of Michigan that teaches systems to freshmen by having them conceive of, design, and build the hardware and software of a microprocessor-based educational toy.  Students in this course build their own microprocessor on an FPGA using a hardware description language.  They then write the complete software stack for their toy in assembly language, including device drivers for numerous I/O devices, a simple file system, a graphical user interface, digital audio processing, and application software. By building a substantial system involving hardware, system software, and application software, students gain an appreciation for the complexity and beauty of building computing systems.


Peter Chen is an Arthur F. Thurnau Professor in the Department of Electrical Engineering and Computer Science at the University of Michigan.  He is a Fellow of the IEEE and is currently the Editor-in-Chief of ACM Transactions on Computer Systems.  In 2007, he received the ACM SIGOPS Mark Weiser Award "for creativity and innovation in operating systems research". His research interests include operating systems, computer security, and fault-tolerant computing. His current research applies and extends virtual machine technology to problems in computer forensics, fault tolerance, and security.

15:00 Break

15:30 Session 1: Debugging and Replay
Session Chair: Emery Berger (University of Massachusetts, Amherst)

Capability Wrangling Made Easy: Debugging on a Microkernel with Valgrind
Aaron Pohle (Technische Universität Dresden)
Björn Döbel (Technische Universität Dresden)
Michael Roitzsch (Technische Universität Dresden)
Hermann Härtig (Technische Universität Dresden)

Multi-Stage Replay with Crosscut
Jim Chow (VMware)
Dominic Lucchetti (VMware)
Tal Garfinkel (VMware)
Geoffrey Lefebvre (VMware)
Ryan Gardner (VMware)
Joshua Mason (VMware)
Sam Small (VMware)
Peter M. Chen (University of Michigan)

Optimizing Crash Dump in Virtualized Environments
Yijian Huang (Fudan University)
Haibo Chen (Fudan University)
Binyu Zang (Fudan University)

17:15 End

17:30 Reception @ Sheraton Fountainview Room

Thursday, March 18th 2010

8:45 Keynote Talk

Looking Beyond a Singularity
Galen C. Hunt (Microsoft Research)


How does one build a truly dependable software system?  Seven years ago, Microsoft Research started the Singularity project to answer this question.  The premise was to start with the best known software development tools and to build a new kind of operating system from the ground up.  The operating system was to be both an output artifact and a laboratory for the research.  Portions of the code and ideas have been incorporated into three separate Microsoft operating systems so far.  I will give a brief overview of Singularity planned and built, then describe what we learned, both positive and negative.  I will speculate on OS futures including current research to build an operating system in which every last assembly instruction has been verified for type safety, a system for truly mobile computation, and new tools for automatically restructuring large software systems.


Galen Hunt is Principal Researcher of the Microsoft Research Operating Systems Group. He joined Microsoft Research in 1997, where he has stayed except for a 2.5 year sabbatical in the Windows Server Division. Galen’s more successful past efforts include Singularity, Detours, and the first prototype of Windows Media Player and its networking protocols. Galen’s less successful efforts include graduate work in Distributed Shared Memory and building a distributed version of the CLR in 1999.  He has shipped bugs in Windows 2000, Windows XP, Windows Server 2003, and Windows Automated Deployment Services. Galen holds a Ph.D. in Computer Science from the University of Rochester (where he contributed to GCC 2.1), a B.S. in Physics from the University of Utah (where he contributed to Linux 0.11), and over 40 patents. Before graduate school, Galen worked at a startup firm reverse engineering file formats for tax programs.  Aside from systems research, Galen enjoys spending time with his wife, daughter, and son.

10:00 Break

10:15 Session 2: Compiler Infrastructure
Session Chair: Michael Franz (University of California, Irvine)

Improving Compiler-Runtime Separation with XIR
Ben L. Titzer (Google)
Thomas Würthinger (Johannes Kepler University Linz)
Doug Simon (Sun Microsystems Laboratories)
Marcelo Cintra (University of California, Irvine)

VMKit: A Substrate for Managed Runtime Environments
Nicolas Geoffray (Université Pierre et Marie Curie)
Gaël Thomas (Université Pierre et Marie Curie)
Julia Lawall (University of Copenhagen)
Gilles Muller (Université Pierre et Marie Curie)
Bertil Folliot (Université Pierre et Marie Curie)

11:30 Featured Talk

Spice up your browser: NaCl, Pepper, and beyond

Robert Muth (Google)


Native Client is an open-source technology for running x86 native code in web applications, with the goal of maintaining the browser neutrality, OS portability, and safety that people expect from web apps. Native Client uses software fault isolation and a specialized runtime to direct all system interaction and side effects through managed interfaces. It supports performance-oriented features generally absent from web application programming environments, such as thread support, hand-coded assembler, etc. We combine these properties in an open architecture designed to leverage existing web standards, and to encourage community review and 3rd-party tools. This talk will cover system design and implementation, and some of our experiences securing and using the system. We will also talk about our recent efforts to port the system to non-x86 instruction sets and our plans for helping programmers to support multiple instruction sets.


Robert Muth is a Software Engineer at Google in New York. He received a Ph.D. in Computer Science from the University of Arizona. After graduation he worked on various low level instrumentation and optimization tools (Spike, Ispike, Pin) for Compaq and Intel. In 2005 he joined Google and went on a four year foray in the field

of search quality. Recently he rediscovered his love for compiler work and joined the Native Client team.

12:30 Lunch @ Sheraton Fountainview Room

14:00 Session 3: Applications of Virtualization
Session Chair: Andrew Warfield (University of British Columbia)

Neon: System Support for Derived Data Management
Qing Zhang (University of California, San Diego)
John McCullough (University of California, San Diego)
Justin Ma (University of California, San Diego)
Nabil Schear (University of Illinois at Urbana-Champaign)
Michael Vrable (University of California, San Diego)
Amin Vahdat (University of California, San Diego)
Alex C. Snoeren (University of California, San Diego)
Geoffrey M. Voelker (University of California, San Diego)
Stefan Savage (University of California, San Diego)

Energy-Efficient Storage in Virtual Machine Environments
Lei Ye (University of Arizona)
Gen Lu (University of Arizona)
Sushanth Kumar (University of Arizona)
Chris Gniady (University of Arizona)
John H. Hartman (University of Arizona)

15:15 Break

15:45 Session 4: Hypervisor Scheduling
Session Chair: George Dunlap (Citrix)

AASH: An Asymmetry-Aware Scheduler for Hypervisors
Vahid Kazempour (Simon Fraser University)
Ali Kamali (Simon Fraser University)
Alexandra Fedorova (Simon Fraser University)

Supporting Soft Real-Time Tasks in the Xen Hypervisor
Min Lee (Georgia Institute of Technology)
A. S. Krishnakumar (Avaya Laboratories)
P. Krishnan (Avaya Laboratories)
Navjot Singh (Avaya Laboratories)
Shalini Yajnik (Avaya Laboratories)

17:00 End

18:30 Dinner at Monterey Bay Fish Grotto

Friday, March 19th 2010

8:45 Session 5: Java
Session Chair: Kevin Millikin (Google)

Efficient Runtime Tracking of Allocation Sites in Java
Rei Odaira (IBM Research - Tokyo)
Kazunori Ogata (IBM Research - Tokyo)
Kiyokuni Kawachiya (IBM Research - Tokyo)
Tamiya Onodera (IBM Research - Tokyo)
Toshio Nakatani (IBM Research - Tokyo)

Evaluation of a Just-In-Time Compiler Retrofitted for PHP
Michiaki Tatsubori (IBM Research - Tokyo)
Akihiko Tozawa (IBM Research - Tokyo)
Toyotaro Suzumura (IBM Research - Tokyo)
Scott Trent (IBM Research - Tokyo)
Tamiya Onodera (IBM Research - Tokyo)

Novel Online Profiling for Virtual Machines
Manjiri A. Namjoshi (University of Kansas)
Prasad A. Kulkarni (University of Kansas)

10:30 Break

10:45 Session 6: Dynamic Binary Translation
Session Chair: Robert Grimm (New York University)

DBT Path Selection for Holistic Memory Efficiency and Performance
Apala Guha (University of Virginia)
Kim Hazelwood (University of Virginia)
Mary Lou Soffa (University of Virginia)

Dynamic Binary Translation Specialized for Embedded Systems
Goh Kondoh (IBM Research - Tokyo)
Hideaki Komatsu (IBM Research - Tokyo)

12:00 End of VEE ’10 Conference