Paul Barham

MSR Silicon Valley Lab has now closed.  You can find me on LinkedIn, Facebook, Google Scholar, etc.   Private email to  pbarham AT acm DOT org.

Paul BarhamI am a Principal Researcher at Microsoft Research Silicon Valley Lab. My research interests include performance analysis of distributed systems, operating systems and virtualization.

I'm currently working on a number of interesting systems projects, including Naiad.

Previous projects have included the Barrelfish multi-kernel operating system, the Xen virtual machine monitor, the Singularity managed code research OS, Vigilante (a system to automatically prevent internet worms), Magpie, Constellation, and Anemone.

Until July 2010, I was a Principal Researcher at Microsoft Research Cambridge, where I led the Systems and Networking group. 

I obtained my B.A. in Computer Science from the University of Cambridge in 1992 and my Ph.D. in 1996 for the Nemesis operating system. I continued research in the Systems Research Group at the Computer Laboratory as a Research Fellow of Christ's College, Cambridge.

Before I joined Microsoft Research, I worked on devices and operating system abstractions for the Desk Area Network, Quality of Service for I/O and virtual memory in the Nemesis operating system, and resource allocation using on-line measurement techniques in the Measure project.

When I'm not working I'm often sculling or playing the drums.

Recent PC membership

Usenix 2012, Usenix10 (co-chair), SOSP09, Eurosys08, NSDI08, SOSP07, HotDEP07

Projects
  • Naiad
    The Naiad project is an investigation of data-parallel dataflow computation, like Dryad and DryadLINQ, but with a focus on low-latency streaming and cyclic computations. Naiad introduces a new computational model, timely dataflow, which combines low-latency asynchronous message flow with lightweight coordination when required. These primitives allow the efficient implementation of many dataflow patterns, from bulk and streaming computation to iterative graph processing and machine learning.
  • Barrelfish
    Barrelfish is a new operating system being built from scratch in a collaboration between researchers at ETH Zurich and Microsoft Research, Cambridge. We are exploring how to structure an OS for future multi- and many-core systems. The motivation is two closely related hardware trends: first, the rapidly growing number of cores, which leads to scalability challenges, and second, the increasing diversity in computer hardware, requiring the OS to manage and exploit heterogeneous hardware resources.
  • Constellation
    Constellation is a system that uses packet information monitored at endsystems in conjunction with machine learning techniques to construct models of network service behaviour and dependency, which can be queried to determine likely causes for service misbehaviour. This is a joint project involving researchers at Cambridge and Silicon Valley.
  • Anemone
    Anemone is a project investigating management of enterprise networks. It aims to build a network management platform based around two main components: (i) end-system flow monitoring, providing the inputs to the system; and (ii) monitoring of the network routeing protocols, providing current system configuration. By aggregating and querying these data sources in a distributed fashion, Anemone will provide a platform on which network management applications can be built to provide tools for visualization, what-if analysis, and control of the network.
  • Singularity
    OS and tools for building dependable systems
  • Magpie
    Magpie extracts the resource usage and control path of individual requests in a distributed system. It currently runs on a typical e-commerce web farm setup comprising IIS, ASP.NET and SQL Server. Events produced by the live system are correlated to extract the individual requests using a temporal join technique. The requests are then clustered according to resource consumption and behaviour in order to construct concise workload models.
Publications