Posts

Showing posts from May, 2020

Vincent Van Gogh, Lust for Life

Image
I recently listened to the audio book of Lust for Life, a biographical novel on Vincent van Gogh's life. The book was written by Irving Stone in 1934 after a lot of research and processing through 200+ letters between Vincent van Gogh and his younger brother, art dealer Theo van Gogh.

The book is long at around 500 pages. But I enjoyed the book because I was mesmerized to learn about Vincent van Gogh's life and the hardships he endured. On the other hand, this book was written 90 years ago, and it shows.  In many places, the book is cheesy, novelized with cheesy romance, oversimplification, sentimentalization, and chivalry. It is ironic that the book explicitly violates the principles of avant-garde art movement, which it narrates from Emile Zola's mouth while narrating Van Gogh's life at Paris.


A short biography of Van GoghCourtesy of Wikipedia
Born into an upper-middle-class family, Van Gogh drew as a child and was serious, quiet, and thoughtful. As a young man he wo…

Curiosity-driven research

Image
It seems like 20th century was the golden age of science and technology. Just look at that list, so many breakthroughs in math, physics, astronomy, biology, medicine, energy, electronics, computing. Some of these include:
set theory, topology, abstract algebra, formal logic, incompleteness theorems, theory of computationspecial relativity, general relativity, quantum mechanics, fundamental interactions, electroweak interaction, nuclear fusionBig Bang theory, space probes, moon landing, space station, hubble space telescopeDNA structure, human genome project, antibiotics, many vaccines, many drugsTransistor, semiconductor, integrated circuits, MOS image sensors, CPUs, radio, TV, Internet
What about the breakthroughs in the last 30 years, 1990 onwards? There isn't any significant breakthroughs we can point to in basic sciences except for detection of gravitational waves and Higgs boson. On the applied side of things we have the human genome project and personal computing revolution we…

SLOG: serializable, low-latency, geo-replicated transactions

Image
This paper is by Kun Ren, Dennis Li, and Daniel Abadi, and it appeared at VLDB 2019.

This paper is about providing strict serializability in geo-replicated databases. Strict serializability implies that all reads within a transaction must see the value of any writes that committed before the transaction began, no matter where that write was performed world-wide. Furthermore, if a transaction, A, begins after (in real time) transaction B completes, no client can see the effect of A without the effect of B.

Since a strict serializability system behaves like it is running on a single machine processing transactions sequentially, this reduces application code complexity and bugs. However, strict serializability comes with a cost. Current state-of-the-art geo-replicated systems cannot provide strict serializability  alongside low latency writes and high transactional throughput.

To achieve all three (strict-serializability, low-latency writes and high transactional throughput), SLOG uses l…

Clash of civilizations: Medical versus the World edition

During this Covid-19 pandemic, I have been staying home and putting a lot of trust in medicine assured that they will find a way to get us through this. What else can I do? I don't know about the domain, so I defer to the experts.

But, several months in to the quarantine, with the deluge of disheartening news about lack of progress on this problem, I am getting more and more worried, anxious, and restless. I am sensing I am not alone. There is a clash of civilizations brewing between medical and lay people, and maybe more relevant for my domain, between medical and IT people.

OK, this is how we will do this. I will first give you off-the-cuffs comments from the Cynical Murat. I know that Cynical Murat is wrong in many places, because I don't know anything about medicine and he is a caricaturized version of myself to voice my insecurities/worries about the situation. (Oh God, this is getting weird.) So I can't just leave you with his rant. I follow that up with a response …

Ahmet's Unity project

Image
Around the beginning of the quarantine, my son, Ahmet (age 12), has started working on the Unity framework. Unity is a popular game engine, like Unreal Engine 4, and Godot. It was launched in 2005, aiming to democratize game development. It is very versatile and beginner friendly. There are many YouTube tutorials about Unity. It is also powerful, as it includes 2D, 3D terrain engines, physics simulator, real-time dynamic shadows, graphics rendering, networked multi-player support, etc. Unity was used for building many amazing games, including Call of Duty: Mobile.

Ahmet's Unity journey  I would have loved to say that I supported Ahmet in his quest to learn Unity. But I am just a professor, I am hopelessly disconnected with cool new programming environments/frameworks. I couldn't even help him install the thing, when he had difficulties in the beginning. This was a 5GB installation, and he would ran into problems in the last GB, and also had problems with package dependencies.

Mergeable Replicated Data Types

Image
This paper is by Gowtham Kaki, Swarn Priya, KC Sivaramakrishnan, and Suresh Jagannathan, and it appeared in OOPSLA 19.

We all know and love CRDTs. Using CRDTs, any replica can accept updates without remote synchronization. The updates may reach to replicas and applied in each in different order, but provided that the updates commute each replica converges to the same state eventually. CRDTs provide out-of-the-box eventual consistency to replicated data types with commutative operations, examples include set data type with member-addition/removal and counter data type with addition/subtraction.

Unfortunately CRDTs are limited to commutative operations. If we also wanted to have multiplication for the counter data structure, since that won't commute with addition and subtraction, we would be in trouble. MRDTs extend CRDT idea to allow non-commutative operations for certain data structures.

The idea in MRDTs is to use a 3-way merge formula. If you have an extra bit of information, the…

Stable and Consistent Membership at Scale with Rapid

Image
This paper is by Lalith Suresh, Dahlia Malkhi, Parikshit Gopalan, Ivan Porto Carreiro, and Zeeshan Lokhandwala, and it appeared in USENIX Annual Technical Conference 2018.

In datacenters complex network conditions may arise, such as one-way reachability problems, firewall misconfigurations, flip-flops in reachability, and high packet loss (where some-but-not-all packets being dropped). Services became even more prone to these gray failures as processes are typically hosted in VM and container abstractions, and networks are governed more and more with software-defined-networking (SDN). Furthermore, everyday several cloud-side service upgrades happen, which create potential failure risks.

Despite being able to cleanly detect crash faults, existing membership solutions struggle with these gray failure scenarios. When you introduce 80% packet-loss failures in 1% of nodes, the correct nodes start to accuse each other and the membership view becomes unstable. The experiments in the paper sh…

Our Europe trip

Last summer I attended the Sigmod 19 conference to present our work on Dissecting performance bottlenecks of strongly-consistent replication protocols. We used the conference as an opportunity to have a short family trip in Europe. Now, it is nice to reminisce about the times when we could roam free without worries about a pandemic.

Our trip had three legs. Here is how the trip went.

Paris, France My wife and I had been to Paris in 2006, and loved it. We wanted to revisit the place. We also thought it would be good for our three kids (11, 7, and 4) to see Paris.

We flew to Paris, and from the airport, we headed to take the metro to Paris city center. It wasn't hard to figure out which train to take after we purchased the tickets. When the train arrived my wife and the two kids get on it with the luggage, and I was trying to board my little daughter with the stroller on the train. The entrance to the train was crowded with several people trying to enter. And I felt someone reaching…

Unifying Consensus and Atomic Commitment for Effective Cloud Data Management (VLDB19)

Image
This paper is by Sujaya Maiyya, Faisal Nawab, Divyakant Agrawal, and Amr El Abbadi, and appeared in VLDB19. Here is a video of the presentation of the paper from our Zoom DistSys Reading Group.


Atomic commitment protocols (e.g., Two Phase Commit) provide ACID guarantees for transactional access to sharded data.


Consensus protocols (e.g., Paxos) replicate data across servers in a consistent and fault tolerant manner.

Many prior works have observed the similarities between the commitment and consensus problems. Both consensus and atomic commit protocols aim at ensuring that one outcome is agreed upon in a distributed environment. However, the conditions for achieving this agreement is different in the two cases. Paxos only needs a majority of nodes to be available for a decision to be made whereas 2PC needs votes from all the participants to decide on the final value.


This paper proposes a framework that unites and explains several commitment and single-leader-based consensus protocols un…

Popular posts from this blog

I have seen things

SOSP19 File Systems Unfit as Distributed Storage Backends: Lessons from 10 Years of Ceph Evolution

PigPaxos: Devouring the communication bottlenecks in distributed consensus

Frugal computing

Learning about distributed systems: where to start?

Fine-Grained Replicated State Machines for a Cluster Storage System

My Distributed Systems Seminar's reading list for Spring 2020

Cross-chain Deals and Adversarial Commerce

Book review. Tiny Habits (2020)

Zoom Distributed Systems Reading Group