Showing posts from March, 2020

Zoom Distributed Systems Reading Group

A couple days ago, I tweeted this out, and was surprised how well this was received. What would be your involvement level? The later options are inclusive of the earlier ones, so they involve more work. — Murat Demirbas (@muratdemirbas) March 23, 2020 The involvement level distribution looks healthy. One third wants to follow offline, one third likes to attend the discussion session live, and the remaining will get more involved in the reading group by doing their readings and some volunteering to present papers. We will start the Zoom DistSys Reading Group on Wednesday April 1st (no joke!) at 15:30 EST and meet regularly every week. We announce our meeting links (password protected) at Following a very brief presentation of the paper, we will start discussing the paper together. After we identify 4-5 interesting questions/directions to dig deeper, we will go into breakout sessions

Hermes: A fast fault-tolerant and linearizable replication protocol

This paper (from ASPLOS'20 which was held remotely) is by Antonios Katsarakis, Vasilis Gavrielatos, M. R. Siavash Katebzadeh, Arpit Joshi, Aleksandar Dragojevic, Boris Grot, Vijay Nagarajan. The paper has its own website , where you can get to the video presentation, slides, and code. Introduction Hermes is a replication protocol that guarantees linearizability . It enables local reads: a client can execute a read locally on any of the replicas. Hermes enables any replica to coordinate a write to a key, and supports concurrent writes to different keys quickly. Too good to be true? You have to read the protocol section below to see how these are achieved. But if you are a distributed systems expert, here is my shortcut explanation of the protocol. Hermes is simply  chain replication (with CRAQ optimization)  deployed with the following "chain" topology: The head and tail node of the chain is colocated in one node, called the coordinator The intermediate nodes

My Emacs setup

In January, I switched to the new Meh-Book Pro (typo intended) . Setting up a new laptop is hard because there are too many things to keep track of. Even so, rather than copying the state of my previous laptop to the new one, I decided to do the setup from scratch as this would help for software rejuvenation and getting rid of all the junk that accumulated on my laptop for five years. (Side remark: A couple years ago, I heard from a top cloud computing expert say that datacenters also gather junk over time. He told me that once during a renovation of a datacenter they discovered servers that are sitting there without any use --that no one knows of--, and throw them out. He had likened the experience to getting rid of defunct stuff when you migrate to a new laptop.) Anyways, I was stressed about the task, but then I remembered that past Murat has left me notes on how to setup the laptop . Fantastic! I found out a couple things past-Murat had missed in the instructions. I am noti

PigPaxos: Devouring the communication bottlenecks in distributed consensus

This is our most recent work, started and led by Aleksey Charapko . (This is a joint post with him.) You can get the paper at . The paper is currently under submission to a journal. The story One day I challenged Aleksey to give me a ballpark number on how much he thinks we can scale Paxos vertically . While sharding --as in CockroachDB and Spanner-- helps for scaling Paxos deployments horizontally, vertical scaling is about how many nodes you can cram in a single Paxos cluster, with a single conflict domain. Aleksey, who is not known for being an optimist, said that we can scale Paxos to several hundreds of nodes! He said this may be possible by employing intermediate proxy nodes to relay the communication between the leader and followers, as this would relieve the communication bottleneck at the leader. I thought "yeah, it is a neat trick, but maybe not that impressive, because it is very simple". Surely others must have tried this, and there must be a cat

Millions of tiny databases

This paper is by Marc Brooker, Tao Chen, and Fan Ping from Amazon Web Services. The paper appeared at USENIX NSDI 2020 at the end of February, which was held  on-site at Santa Clara. Right after that, all conferences got canceled due to the COVID-19 outbreak. Let's hope things stabilize for NSDI 2021. What is this paper about? This paper is about improving the availability of Amazon Elastic Block Storage (EBS). EBS allows users to create block devices on demand and attach them to their AWS EC2 instances. EBS is maintained using chain replication, one of my favorite distributed algorithms. Chain replication takes consensus off the data path so it does not constitute a bottleneck for throughput. Data is replicated at one server after the other in the chain, without needing a leader --- when there is a leader, there is an incast bottleneck problem . Consensus is only needed when a fault occurs (or is presumed to occur) and the chain needs to be reconfigured by means of the con

Recent Media diet: Breakfast of the champions, and The Messiah

Breakfast of the champions I like  Kurt Vonnegut 's writing a lot. I had read Cat's Craddle and TimeQuake when I was a graduate student interested in reading mostly science fiction. Of course these books are nominally science fiction. Cat's Cradle was written in the presence of the threat of nuclear destruction at cold war and Cuban crisis. The underlying theme in both Cat's Cradle and TimeQuake is free will, or rather the illusion of free will. (After Kurt Vonnegut, Ted Chiang picked up this free will and fate theme and does beautiful work on this .) Somehow this book, the Breakfast of Champions , was more depressing than any other book I ever read. I didn't get this depressed even with the Cixin Liu's final book, Death's End, of the Three Body Problem trilogy. Kurt Vonnegut deals with very dark content in this book. An underlying theme is again free will, but this time woven around the " human condition " and misery. His light style makes

Blockchain podcasts

I came across this list of Crypto podcasts recently . The list is so long, it is practically useless. I googled to see what would be 5-10 high quality podcasts on blockchains. I worked with those shorter lists. I found that many of the recommended podcasts are coming from the finance angle, and some of them are mostly for speculating on coins for investing. I hated most of those. Another type of podcasts were from people who got involved in the area with Bitcoin (through the Bitcoin magazine and conferences). I didn't like those podcasts either as these guys tend to be fanatical, and also not very technical. But since they are in the field and trenches, I did not write them off completely and listened to some select episodes. Overall I am disappointed with the quality of the podcasts in this domain. Please recommend me good podcasts you are aware of. There should be 3-4 gems among this huge list of podcasts. (Epicenter and Unchained was sort of OK.) "Block Zero"

I have seen things

I still don't have any idea what Instagram or Facebook stories is. Tried Googling and still don't have a good idea about it. — Murat Demirbas (@muratdemirbas) March 5, 2020 Yesterday Twitter spoke and told me that I am an old man, with overwhelming decisiveness. If this has been with any more votes, I would be declared part of the vulnerable population for Corona virus, one of the expendables as people seem to refer to them. Twitter followers... I thought we were friends! But, Ok, I get the point. I have seen things. I was born in 1976. I understand that in the eyes of millennials 1976 is around the same time period as 1796. My son sometimes asks me if TV was invented when I was a child. Yes, we had a black and white TV when I was growing up. And a dial phone, that was tethered to the wall. At 7th grade, my dad got us a Commodore 64, and I played Boulderdash, Load  Lode runner, Falcon Patrol etc. At 9th grade, I saw the TV broadcasting the first Gulf War. I d

Popular posts from this blog

Learning about distributed systems: where to start?

Hints for Distributed Systems Design

Foundational distributed systems papers

Metastable failures in the wild

The demise of coding is greatly exaggerated

Scalable OLTP in the Cloud: What’s the BIG DEAL?

The end of a myth: Distributed transactions can scale

SIGMOD panel: Future of Database System Architectures

Why I blog

There is plenty of room at the bottom