Concurrent Revisions

Established: September 15, 2010

The Revisions project introduces a novel programming model for concurrent, parallel, and distributed applications. It provides programmers with a simple, yet powerful and efficient mechanism (based on mutable snapshots and deterministic conflict resolution) to execute various application tasks in parallel even if those tasks access the same data and may exhibit read-write or write-write conflicts.

To find out more about the basic idea and how it works:

  • Read our OOPSLA 2010 paper (links for all publications are below)
  • Read the Samples on the RiSE4fun webpage and run them instantly from your browser!
  • Watch the Channel 9 interview
  • Check out these powerpoint slides
  • Read our semantics paper (the ESOP 11 paper, or better the extended version which is available as a 2010 TechReport below)

Since we started this project, we have taken the revisions model beyond parallel programming. The following papers describe new applications for concurrent revisions:

  • Our OOPSLA 2011 paper describes how to use revisions for unifying parallel and incremental computation, for which we won a Distinguished Paper Award.
  • Our ESOP 2012 paper describes how to use revisions in a distributed system to guarantee eventual consistency.