composition.al

The Programming Systems Lab is hiring research interns for summer 2015

The Programming Systems Lab, the group that I recently joined at Intel Labs, is hiring Ph.D. student interns for next summer!

The PSL is a group of about twenty researchers, mostly based in Santa Clara, California, just west of San Jose. The group’s charter is to invent new programming systems technologies that improve the performance and programmability of hardware. If you’re a Ph.D. student working on programming languages, compilers, runtime systems, and related hardware technologies, you might be a good fit for the lab.

My thesis defense talk

A few weeks ago, I defended my dissertation!

I’ve posted the slides from my thesis defense talk; they’re illustrated with drawings by the talented Jason Reed. (These illustrations, and more like them, are also going to appear in the dissertation document itself!1)

Frame problems and frame properties

One of the ideas that has been important to me as I’ve worked on LVars is the notion of a frame property. A frame property captures the idea of local reasoning about programs that alter state. Written as an inference rule (where the truth of the stuff above the line allows us to infer the truth of the stuff below), it might look something like this frame rule, due to O’Hearn, Reynolds, and Yang from their work on separation logic:

Dissertation draft readers wanted!

Inspired by Brent Yorgey, I’m finally going public with a draft of my dissertation!

My thesis is that a certain kind of data structures, which I call “lattice-based data structures” or “LVars” for short, lend themselves well to guaranteed-deterministic parallel programming. My dissertation combines material from various previously published papers, making it a three-papers-stapled-together dissertation in some sense, but I’m also retconning a lot of my work to make it tell the story I want to tell now.

When people ask what the best introduction to LVars is, I have trouble recommending the first LVars paper; even though it was only published a year ago, my thinking has changed quite a lot as my collaborators and I have figured things out since then, and the paper doesn’t match the way I like to present things now. So I’m hoping that my dissertation will be something I can point to as the definitive introduction to LVars.1 I’m also generalizing some of our previously published results, now that we know that that’s possible.