Paul Barham

Paul BarhamI am currently 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
    Naiad is an investigation of data-parallel dataflow computation in the spirit of Dryad and DryadLINQ, but with a focus on incremental computation. Naiad introduces a new computational model, differential dataflow, operating over collections of differences rather than collections of records, and resulting in very efficient implementations of programming patterns that are expensive in existing systems.
  • 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
Share
Share this page on Facebook
Share this page on Twitter
Share this page on LinkedIn
E-mail this page
RSS feeds