{"id":170557,"date":"2010-09-15T15:02:07","date_gmt":"2010-09-15T15:02:07","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/concurrent-revisions\/"},"modified":"2017-06-06T09:38:46","modified_gmt":"2017-06-06T16:38:46","slug":"concurrent-revisions","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/concurrent-revisions\/","title":{"rendered":"Concurrent Revisions"},"content":{"rendered":"<p>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.<\/p>\n<p>To find out more about the basic idea and how it works:<\/p>\n<ul>\n<li>Read our OOPSLA 2010\u00a0paper (links for all publications are below)<\/li>\n<li>Read the Samples on the <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" title=\"\" href=\"http:\/\/www.rise4fun.com\/\/revisions\" target=\"_blank\">RiSE4fun webpage <span class=\"sr-only\"> (opens in new tab)<\/span><\/a>and run them instantly\u00a0from your browser!<\/li>\n<li>Watch the <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/channel9.msdn.com\/\/shows\/\/going+Deep\/\/e2E-Concurrent-Programming-with-Revisions\">Channel 9 interview<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<li>Check out these <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/\/revisions-oopsla-2010.pptx\">powerpoint slides<\/a><\/li>\n<li>Read our semantics paper (the ESOP 11 paper, or better\u00a0the extended version\u00a0which is\u00a0available as a\u00a02010 TechReport below)<\/li>\n<\/ul>\n<p>Since we started this project, we have taken the revisions model beyond parallel programming. The following papers describe new applications for concurrent revisions:<\/p>\n<ul>\n<li>Our <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/two-for-the-price-of-one-a-model-for-parallel-and-incremental-computation\/\">OOPSLA 2011 paper<\/a> describes how to use revisions for unifying <strong>parallel and incremental<\/strong> computation, for which we won a Distinguished Paper Award.<\/li>\n<li>Our <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/eventually-consistent-transactions\/\">ESOP 2012 paper<\/a> describes how to use revisions in a distributed system to guarantee <strong>eventual consistency<\/strong>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>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. [&hellip;]<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13560],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-170557","msr-project","type-msr-project","status-publish","hentry","msr-research-area-programming-languages-software-engineering","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"2010-09-15","related-publications":[158380,159773,159911,160933,161445,161458,161577,161962,162271,162742,164505],"related-downloads":[],"related-videos":[],"related-groups":[],"related-events":[],"related-opportunities":[],"related-posts":[],"related-articles":[],"tab-content":[],"slides":[],"related-researchers":[{"type":"user_nicename","value":"daan","display_name":"Daan Leijen","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/daan\/\" aria-label=\"Visit the profile page for Daan Leijen\">Daan Leijen<\/a>","is_active":false,"user_id":31497,"last_first":"Leijen, Daan","people_section":0,"alias":"daan"},{"type":"user_nicename","value":"sburckha","display_name":"Sebastian Burckhardt","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/sburckha\/\" aria-label=\"Visit the profile page for Sebastian Burckhardt\">Sebastian Burckhardt<\/a>","is_active":false,"user_id":33544,"last_first":"Burckhardt, Sebastian","people_section":0,"alias":"sburckha"}],"msr_research_lab":[199565],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170557","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":2,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170557\/revisions"}],"predecessor-version":[{"id":299861,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170557\/revisions\/299861"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=170557"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=170557"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=170557"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=170557"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=170557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}