Log-less Consensus

Since most people know of log-based consensus, like Paxos or Raft, it is easier to describe log-less consensus by comparison to log-based consensus. In log-based consensus, the system keeps a global state which evolves over time. The state is evolved by tracking the actual changes of the global state. For example, the global state might … Continue reading Log-less Consensus

Why Are Distributed File-systems Fun?

It's been quite a while since I last published a post. I've started a new job at ElastifileĀ at the beginning of 2014, and it kinda took most of my spare time šŸ™‚ I've resolved to get back to blogging, and I hope I succeed... At Elastifile, we've builtĀ a distributedĀ file-system that is truly scalable, and I'd … Continue reading Why Are Distributed File-systems Fun?

Fault Tolerance

I think fault tolerance is the most important aspect of distributed algorithms, for two reasons: 1) in practice, things break, and you want your data / system to continue working. 2) If you assume there are no failures, things get "easy". Many, many problems become trivially solved; and that's just boring! So you're convinced that … Continue reading Fault Tolerance