All File Systems are Not Created Equal: On the Complexity of Crafting Crash Consistent Applications - Pillai et al. 2014 Last week we looked at Reducing Crash Recoverability to Reachability for file system-based applications. Today's choice predates that work and investigates the semantics of real world file systems and how this affects applications that run … Continue reading All File Systems are Not Created Equal: On the Complexity of Crafting Crash Consistent Applications
Category: Uncategorized
How Complex Systems Fail
How Complex Systems Fail - Cook 2000 This is a wonderfully short and easy to read paper looking at how complex systems fail - it's written by a Doctor (MD) in the context of systems of patient care, but that makes it all the more fun to translate the lessons into complex IT systems, including … Continue reading How Complex Systems Fail
The Heard-Of Model: Computing in Distributed Systems with Benign Failures
The Heard-Of Model: Computing in Distributed Systems with Benign Failures - Charron-Bost & Schiper2007 We briefly touched on the Heard-Of model last week when we looked at PSync. It's really very elegant, so today I thought it would be good to take a closer look. The traditional view of fault-tolerant distributed systems makes the following … Continue reading The Heard-Of Model: Computing in Distributed Systems with Benign Failures
Chapar: Certified Causally Consistent Distributed Key-Value Stores
Chapar: Certified Causally Consistent Distributed Key-Value Stores - Lesani et al. 2016 Another POPL '16 paper today. The Chapar framework provides for modular verification of causal consistency for both causally consistent key-value store implementations and for client programs written to use them. §1 also wins the prize for best use of emojis in a research … Continue reading Chapar: Certified Causally Consistent Distributed Key-Value Stores
Is Sound Gradual Typing Dead?
Is Sound Gradual Typing Dead? - Takikawa et al. 2016 Last year we looked at the notion of gradual typing in an ECOOP 2015 paper by Takikawa et al. based on TypedRacket. Today's choice from POPL 2016 by Takikawa et al. has the rather dramatic sounding title 'Is Sound Gradual Typing Dead?'. If the paper … Continue reading Is Sound Gradual Typing Dead?
Reducing Crash Recoverability to Reachability
Reducing Crash Recoverability to Reachability - Koskinen & Yang 2016. Techniques such as shadow paging and write-ahead logging can help with recovery from crashes, but even then it takes a lot of sophistication to get it right and deal with cases such as crashing during recovery itself. In today's paper Koskinen and Yang first provide … Continue reading Reducing Crash Recoverability to Reachability
‘Cause I’m Strong Enough: Reasoning About Consistency Choices in Distributed Systems
'Cause I'm Strong Enough: Reasoning About Consistency Choices in Distributed Systems - Gotsman et al. 2016 With apologies for the longer write-up today, I've tried to stick right to the heart of the matter, but even that takes quite some explanation... We've looked at the theme of coordination avoidance before - instead of uniformly applying … Continue reading ‘Cause I’m Strong Enough: Reasoning About Consistency Choices in Distributed Systems
Modelling the ARM v8 Architecture, Operationally: Concurrency and ISA
Modelling the ARM v8 Architecture, Operationally: Concurrency and ISA - Flur et al. 2016 You can take all the care you like specifying, implementing, and verifying your software, but if the hardware it runs on is ill-defined at the end of the day you're just building on sand. In today's paper choice, Flur et al. … Continue reading Modelling the ARM v8 Architecture, Operationally: Concurrency and ISA
PSync: A Partially Synchronous Language for Fault-Tolerant Distributed Algorithms
PSync: A Partially Synchronous Language for Fault-Tolerant Distributed Algorithms - Drăgoi et al. 2016 Last month we looked at the RAMCloud team's design pattern for building distributed, concurrent, fault-tolerant modules. Today's paper goes one step beyond a pattern, and introduces a domain-specific language called PSync with the goal of unifying the modeling, programming, and verification … Continue reading PSync: A Partially Synchronous Language for Fault-Tolerant Distributed Algorithms
POPL 2016
Last month saw the 43rd edition of the ACM SIGPLAN-SIGACT Symposium on the Principles of Programming Languages (POPL). Gabriel Scherer did a wonderful job of gathering links to all of the accepted papers in a GitHub repo. For this week, I've chosen five papers from the conference that caught my eye. Links will go live … Continue reading POPL 2016