Distributed Hide and Seek

December 03, 2018

In this post we’ll explore Obladi, a distributed system that aims to deliver high performance transactions while masking access patterns.

Laissez-Faire in Distributed Systems

December 02, 2018

What do we want? Distribution with strong consistency! When do we want it? Faster than the speed of consistency protocols! Well, according to the traditional wisdom, that puts us in a bit of a bind. In this week’s papers on Eris and Fuzzylog, we see two different takes on distribution that attempt to give us what we want in return for relaxing some of the things (namely, consistency at the log replication layer and single total ordering) we always thought we needed.

The Old Block and Chain

November 27, 2018

I have to admit that as an applications developer who is living through the age of the blockchain mania, having to explain on a routine basis why blockchain is not relevant to a problem, I was not properly enthused about reading the Ethereum paper for class this week. Having now read through it, I remain unconvinced about the current frenzy to eschew RDBMS and nice, simple NoSQL solutions for trendy blockchain implementations. However, I can certainly see the appeal, both from a decentralized consensus perspective, and from a (probably FinTech) applications developer perspective.

Trust and Consistency in Distributed Systems

November 25, 2018

Although the Practical Byzantine Fault Tolerance paper presented an optimization of Lamport et al’s algorithm that worked in asynchronous environments with only a small amount of added latency, it made a fundamental assumption that at least some servers would be trustworthy. In the SUNDR and SPORC papers, the authors present an alternate approach to securing data in distributed systems, assuming that perhaps no servers will be trusted, and instead allocating trust at a much more granular file/directory level.

Playing Fast and Loose with RAM

November 18, 2018

Coming roughly ten years after “the cloud” became part of the general lexicon, and a year or two after the FAWN paper, Ousterhout et al’s 2011 RAMCloud presented a vision of a future that would test the bounds of what the words “distributed” and “system” meant up to then. Conceived as an entirely DRAM (dynamic random-access — i.e. semiconductor-based — memory) centric system, RAMCloud imagines RAM as permanent, distributed storage at scale. Such a distributed system would seem to significantly tax prior expectations (at least what we’ve seen so far from the literature) about the degree of fault tolerance and coordination needed to make a distributed system function.