Biography

I am an Adjunct Professor in the Department of Computer Science at the University of British Columbia. I am also the Technical Director for Storage and Emerging Technologies in the Virtualization Management Division of Citrix Systems. Prior to its acquisition by Citrix, I was the Storage Architect at XenSource, a virtualization startup with offices in Cambridge (UK), Palo Alto, and Redmond.

I completed my PhD in the Networks and Operating Systems Group of the Computer Laboratory at the University of Cambridge, under the careful supervision of Steven Hand. My doctoral research investigated the virtualization and extensibility of I/O devices. I was one of the original developers of the Xen Virtual Machine Monitor.

Prior to my doctoral degree, I worked at both AT&T Research (with Sandy Fraser) and Nortel Networks for periods of about a year each. In the summer of 2003, I was the first ever intern at Intel Research Cambridge, where I investigated systems applications of Intel's Hyperthreading technology.

My publications, talks, and so on are here.

Research Interests

I am interested in pretty much everything to do with computer systems software. In recent years, this has included things like virtualization, device driver stability, distributed storage, migrating running computers, security (specifically DDoS prevention, and intrusion prevention), and high-availability. My work at UBC is currently supported through generous grants from Intel Research, NSERC, Network Appliance and the Communications Security Establishment.

At the moment, I work with some fantastic graduate students:

I have also graduated a few students recently:
Recent/Current Professional Activities

Program Committees:

Potential Graduate Students

I am actively looking for bright graduate students and have put together a list of some of the projects that I am currently interested in. If these things interest you, I'd encourage you to apply to the program at UBC.

Application to graduate school at UBC is incredibly competitive. Things that I personally look for in reviewing applicants include relevant experience with either open source development or industrial software, the ability to cite relevant research in the field that you are interested in, and a clear ability to communicate your ideas. These are all really valuable things to try to get across in your application to the department. Very high marks also help.

UBC is a great place to do grad school. We have a top-notch systems group with a lot of creative and collaborative work building real, useful software. Moreover, Vancouver is a wonderful place to live: There's easy access to beaches, mountains, excellent food, etc.

I'm happy to answer questions about the program. I get a large amount of email, so it sometimes takes a while for me to reply -- thanks in advance for your patience. Alternatively, feel free to contact my current graduate students with questions about the environment here: they're probably a much more reliable source than I am.

Otherwise

In addition to getting used to the excitement of fatherhood, I occasionaly do random things like rock climbing, triathlons, and old sports car restoration.

I try to encourage the students I work with to learn from my mistakes. There are probably several lessons to be had from the situation pictured here.

One is that laws regarding the conservation of matter do not seem to apply to the stomachs of infants.

Another is that one should be extremely leery of any woman who ever says, "Just hold on for one sec while I get the camera!"