Today was the First Post-NSDI Program Committee Meeting Mini-Systems Symposium at Harvard (PNSDIPCMMSS@H2009). That is, I invited four of the NSDI'10 PC members -- Chip Killian, Dejan Kostic, Phil Levis, and Timothy Roscoe -- to give short talks at Harvard on their current research, since they were in Boston for the PC meeting anyway. It was a lot of fun - for me, anyway. Everyone else at least got a free lunch.
Chip started off with a talk on Understanding Distributed Systems, at least those implemented using Mace. He gave an overview of the Mace language (which is one of my favorite pieces of languages-meets-systems work from the past decade) and the application of model checking to automatically verify Mace programs. This, to me, is the main reason we need better high-level languages for specifying complex systems: so we can build useful tools that let us understand how those systems behave before and during deployment.
Phil gave a kind of far-out talk on a new system they are building at Stanford, called Meru, which is a federated, planetary-scale virtual world platform. The goal is to enable virtual worlds that are extensible and scalable in all kinds of ways that existing systems (such as Second Life) are not. Personally I'd like to see how this technology can be leveraged beyond games and entertainment. Why not enable virtual conferences, or at least virtual program committee meetings? There are a lot of challenges here but it's important to tease them apart from the games-driven work that has been done to date (and often quite successfully).
Dejan talked about his work on CrystalBall, which allows for online model checking to catch and even avoid bugs in a distributed system via execution steering. The running example was a buggy implementation of Paxos, and Dejan showed how their approach could avoid the bug by steering execution away from the states that led to it. Mothy asked, "as long as you're going to do this, how much of Paxos do you need to implement, anyway?" In some sense this is shifting the correctness of the system from the original code into the CrystalBall system itself, and that makes me nervous. Margo raised the point that if a system is able to avoid a bug, is there really a bug in the first place. Too deep for me!
Finally, Mothy gave a talk on their experiences implementing BarrelFish (now with Disney-friendly logo!) and some reflections on the value of undertaking a "big OS implemenation project." BarrelFish has led to some interesting offshoot research (such as clever compilers for DSLs and new ways to think about capabilities) and they have gained a lot by departing from just hacking Linux. On the other hand this is a tremendous infrastructure-building effort and having nine authors on a single SOSP paper strikes me as overkill. One thing that helps them a lot is having a couple of full time systems programmers -- not grad students! -- which I find is hard to fund on your typical NSF grant. The longevity of the artifact does seem to depend on having people around who can maintain the code over time.
I'll post slides here as soon as I have them!
I've posted a story to Medium on what it's been like to work at a startup, after years at Google. Check it out here.
The word is out that I have decided to resign my tenured faculty job at Harvard to remain at Google. Obviously this will be a big change in ...
My team at Google is wrapping up an effort to rewrite a large production system (almost) entirely in Go . I say "almost" because ...
I'm often asked what my job is like at Google since I left academia. I guess going from tenured professor to software engineer sounds l...