(If you’re looking for my  music and theater related activites, try here.)

I’m an Adjunct Associate Professor in the UC Berkeley EECS Department, one of the best places in the universe to work if you’re in computer science. My affiliations are:

  • The AMP Lab (Algorithms, Machines & People), putting datacenters in the service of statistical machine learning and crowdsourcing;
  • The Par Lab (one of the Universal Parallel Computing Research Centers), where I work on applying pragmatic programming language technology to bridge the gap between highly-productive and highly-efficient parallel programming;
  • The RAD Lab (project now completed), putting statistical machine learning (SML) techniques to work in solving the operational challenges of datacenter-scale Internet systems.

I also teach undergraduate and graduate courses in these areas, I have an irrational interest in the history of computing and retrocomputing, and I have a non-work  life involving music, musical theater, and Pogo our keel-billed toucan.

Current & recent research projects & papers

Although you can get a list of all my papers in PDF format, if you’re looking for recent stuff, it’s probably faster to look at the RAD Lab publications list, the Par Lab publications list, or the project-specific pages below. For earlier stuff (Stanford iRoom, Recovery-Oriented Computing, GloMop/Daedalus, NOW) see the under-construction annotated bibliographies of past projects.

  • SEJITS: Selective, embedded, just-in-time specialization bridges the gap between productivity programming and efficiency programming, taking advantage of the introspection and metaprogramming features of modern scripting languages and providing a novel delivery vehicle for autotuning technology.
  • Cloud computing : investigating the scalability limits, bottlenecks, and developing best practices for development & deployment in Cloud Computing environments.
  • Console log mining: combining text mining techniques with source code analysis to find markers for hard-to-find bugs in the console logs of complex applications.
  • Internet service modeling & understanding via machine learning: using machine learning to simultaneously predict multiple aspects of resource utilization of long-running workloads (joint work with HP Labs) and characterize/identify datacenter performance crises (joint work with Microsoft Research).
  • SCADS: a new data/query model (PIQL) for horizontally-scalable interactive applications that bounds the amount of work any one query must do, allowing its use in latency-sensitive interactive applications, and an elastic storage system (SCADS) controlled by machine learning that supports it.

Current Advisees

All these students are co-advised with other {Par|AMP|RAD} Lab or PI’s.  Undergraduates typically work closely with one or more graduate students (whose names are in parens after the undergrad’s name).

  • Par Lab: Shoaib Kamil (PhD), Erin Carson (PhD), Jeffrey Morlan (MS), Richard Xia (PhD), Derrick Coetzee (PhD)
  • RAD Lab/AMP Lab: Michael Armbrust, Kristal Curtis, Beth Trushkowsky
  • Many undergraduate researchers, listed alongside the projects to which they contribute on these pages