Steve Hand

[ Research | Teaching | Publications | Students | Applying | Contact | Personal ]

 Who I Am

I'm a University Senior Lecturer in the Systems Research Group and a Fellow of Wolfson College.
My main research interests are in the areas of operating systems and networking. I also teach two courses in the general area of systems.

 Research Interests

My main research areas are operating systems and networks, although I'm also interested in topics in databases, computer/processor architecture, distributed systems and algorithms. Major non-interests include almost anything to do with UML, XML, the W3C, the OMG, or the Grid.

I first got into operating systems research during my PhD, when I was one of the people who designed and built Nemesis, a radically different operating system designed from scratch to support continuous media applications. Nemesis used a single address space where protection was orthogonal to translation, provided independent temporal and spatial multiplexing of low-level resources (e.g. CPU, memory, disk, and network) and included a run-time type system, naming contexts and 'ORB'-style invocation between executing tasks. Working with Nemesis was a lot of fun, and very different from standard Unix or VMS/NT systems. If you're brave you can try to build it from the somewhat bit-rotted source.

In the past few years I've been involved in a number of different areas, ranging from unusual P2P storage systems (Mnemosyne, Palimpsest) to novel network architectures (Predicate Routing, Plutarch). However my main focus has been on four projects:

  • XenoServers: we hope to design and build Xenoservers, network-connected machines which can run applications, or store data, on behalf of (untrusted) clients. A world in which a selection of Xenoservers are deployed at strategic locations within the Internet will allow the introduction of truly global computing. Challenges here include server selection, service deployment, auditing, accounting and trust management. You can read some papers we've published in these areas here.
  • Xen: originally built as part of the XenoServer project, the Xen virtual machine monitor has taken on a life of its own. Xen allows a single machine to host multiple operating systems concurrently, providing secure isolation between operating systems while retaining unprecedented efficiency. There have been a number of public stable releases of Xen to date, the most recent being Xen 3.0.x. To read about our design and implementation, check out the publications here; to try it out, head over to the downloads page.
  • Pervasive Debugging: debugging parallel and distributed systems is notoriously difficult. In this project we are investigating novel virtualization techniques to allow debugging sets of processes across multiple machines at the same time; the current focus is on using Xen for this purpose, although we have also looked at full emulation, model checking and binary rewriting approaches. Some early publications are available here.
  • FutureGRID: this project is looking at ways in which to build a GRID infrastructure for the next decade. My particular interests here lie in the area of spread-spectrum computing, which involves designing a combined load-balancing and fault-tolerance scheme based around redundant and/or approximate computation techniques. Other parts of the project involve multicast media tools, resource discovery, and distributed storage.
In addition to the above, I'm involved in a variety of research areas with my students including P2P keyword search, multi-perspective operating systems, and intelligent memory management.

You can find a list of my research publications on the NetOS group web page.

 Teaching

I currently teach an introductory undergraduate course about operating systems:

  • Operating Systems I, 16 lectures for part IA, which covers computer organization, operating system structure, processes and scheduling, basic memory management, filing systems and I/O.
    Further details (including syllabus and on-line access of the notes) are available here.
I also lecture part of the Advanced Systems Topics course for Part II (taught in circus with various others).
Further details are available here.

 Students

I'm fortunate enough to have worked with or still be working with the following:

Please read this if you're interested in applying to do a PhD with me (or in the SRG in general).

 Contact Information

I can be contacted by various means; I have a strong preference for email, voice mail or SMS messages. In particular I tend to spend a reasonable amount of time in far away time zones, and hence please avoid calling my mobile number unless you're sure where I am, and the matter is urgent.

    University of Cambridge, tel: +44 1223 334628
    Computer Laboratory, mob: +44 7919 057316
    William Gates Building fax: +44 1223 334678
    15 JJ Thomson Avenue email: Steven.Hand@cl.cam.ac.uk.
    Cambridge, CB3 0FD, U.K. pgp: [tbd]

For those in the lab, my office is FN04 (first on the RHS if coming from the street) although I also spend quite a bit of time in other parts of FN.
 
  $Id: index.html,v 1.21 2008/05/02 10:58:20 smh22 Exp smh22 $