Personal repository of ==insights, annotations from research, academic, and white papers==, that I have read, as well as those I plan to explore in future

Papers are primarily focused on ==Distributed Systems==, Database Systems, ==Operating Systems== which are analogous to each other

Papershelf

This is the papershelf where anyone can find all the papers that I’ve read so far with notes.

Best thing? anyone can search, sort or filter by any property. I use

search for titles

sort for year (to get an idea on timeline of papers)

filter for Authors or Org.s

square brackets [ ] in titles represent that it’s not part of the original title (explicitly added for easy search)

Below view is restricted to load first 10 records to keep it tidy. To see complete paper-shelf in full page, you can goto gowthamkalla.com/papershelf or (if on desktop) click on current view header i.e., Shelf / Kanban/ Timeline and then “Open as full page”

Papershelf

TitlePDFAnnotated PDFYearAuthorsOrganizationsCategories
MapReduce- Simplified Data Processing on Large Clustershttps://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdfhttp://gowthamkalla.com/drive/papers/mapreduce2004Jeffrey Dean, Sanjay GhemawatGoogleBig Data, Distributed Computing
The Google File System GFShttps://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdfhttp://gowthamkalla.com/drive/papers/gfs2003Howard Gobioff, Sanjay Ghemawat, Shun-Tak LeungGoogleData Storage, Distributed Computing
In Search of an Understandable Consensus Algorithm Rafthttps://raft.github.io/raft.pdfhttp://gowthamkalla.com/drive/papers/raft2013Diego Ongaro, John OusterhoutStanford UniversityConsensus, Distributed Computing
The Chubby lock service for loosely-coupled distributed systemshttps://static.googleusercontent.com/media/research.google.com/en//archive/chubby-osdi06.pdfhttp://gowthamkalla.com/drive/papers/chubby2006Mike BurrowsGoogleConsensus, Distributed Computing
ZooKeeper- Wait-free coordination for Internet-scale systemshttps://www.usenix.org/legacy/event/atc10/tech/full_papers/Hunt.pdfhttp://gowthamkalla.com/drive/papers/zookeeper2010Benjamin Reed, Flavio P. Junqueira, Mahadev Konar, Patrick HuntYahooConsensus, Distributed Computing
Bigtable- A Distributed Storage System for Structured Datahttps://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdfhttp://gowthamkalla.com/drive/papers/bigtable2006Andrew Fikes, Deborah A. Wallach, Fay Chang, Jeffrey Dean, Mike Burrows, Robert E. Gruber, Sanjay Ghemawat, Tushar Chandra, Wilson C. HsiehGoogleDatabase System, Distributed Computing
Spanner- Google’s Globally-Distributed Databasehttps://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdfhttp://gowthamkalla.com/drive/papers/spanner2012Alexander Lloyd, Andrew Fikes, Andrey Gubarev, Christopher Frost, Christopher Heiser, Christopher Taylor, Dale Woodford, David Mwaura, David Nagle, Eugene Kogan, Hongyi Li, JJ Furman, James C. Corbett, Jeffrey Dean, Lindsay Rolig, Michael Epstein, Michal Szymaniak, Peter Hochschild, Rajesh Rao, Ruth Wang, Sanjay Ghemawat, Sean Quinlan, Sebastian Kanthak, Sergey Melnik, Wilson C. Hsieh, Yasushi SaitoGoogleDatabase System, Distributed Computing
Dynamo- Amazon’s Highly Available Key-value Storehttps://assets.amazon.science/ac/1d/eb50c4064c538c8ac440ce6a1d91/dynamo-amazons-highly-available-key-value-store.pdfhttp://gowthamkalla.com/drive/papers/dynamo2007Alex Pilchin, Avinash Lakshman, Deniz Hastorun, Giuseppe DeCandia, Gunavardhan Kakulapati, Madan Jampani, Peter Vosshall, Swaminathan Sivasubramanian, Werner VogelsAWS, AmazonData Storage, Distributed Computing
Scaling Memcache at Facebookhttps://research.facebook.com/file/839620310074473/scaling-memcache-at-facebook.pdfhttp://gowthamkalla.com/drive/papers/memcached-fb2013Daniel Peek, David Stafford, Hans Fugal, Harry C. Li, Herman Lee, Marc Kwiatkowski, Mike Paleczny, Paul Saab, Rajesh Nishtala, Ryan McElroy, Steven Grimm, Tony Tung, Venkateshwaran VenkataramaniFacebookData Storage, Distributed Computing
On-demand Container Loading in AWS Lambdahttps://www.usenix.org/system/files/atc23-brooker.pdfhttp://gowthamkalla.com/drive/papers/aws-lambda2023Chris Greenwood, Marc Brooker, Mike Danilov, Phil PiwonkaAWS, AmazonDistributed Computing, Serverless
Firecracker- Lightweight Virtualization for Serverless Applicationshttps://www.usenix.org/system/files/nsdi20-paper-agache.pdfhttp://gowthamkalla.com/drive/papers/firecracker2020Alexandra Iordache, Alexandru Agache, Andreea Florescu, Anthony Liguori, Diana-Maria Popa, Marc Brooker, Phil Piwonka, Rolf NeugebauerAWS, AmazonDistributed Computing, Serverless
Kafka- a Distributed Messaging System for Log Processinghttps://www.microsoft.com/en-us/research/wp-content/uploads/2017/09/Kafka.pdfhttp://gowthamkalla.com/drive/papers/kafka2011Jay Kreps, Jun Rao, Neha NarkhedeLinkedInData Streaming, Distributed Computing
Cassandra - A Decentralized Structured Storage Systemhttps://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdfhttp://gowthamkalla.com/drive/papers/cassandra2009Avinash Lakshman, Prashant MalikFacebookDatabase System, Distributed Computing
Amazon DynamoDB- A Scalable, Predictably Performant, and Fully Managed NoSQL Database Servicehttps://www.usenix.org/system/files/atc22-elhemali.pdfhttp://gowthamkalla.com/drive/papers/dynamodb2022Akhilesh Mritunjai, Akshat Vig, Colin Lazier, Doug Terry, Erben Mo, James Christopher Sorenson III, Joseph Idziorek, Mostafa Elhemali, Niall Gallagher, Nicholas Gordon, Richard Krog, Somu Perianayagam, Sroaj Sosothikul, Swaminathan Sivasubramanian, Tim RathAWS, AmazonDatabase System, Distributed Computing
Secure Untrusted Data Repository (SUNDR)https://www.usenix.org/legacy/event/osdi04/tech/full_papers/li_j/li_j.pdfhttp://gowthamkalla.com/drive/papers/sundr2004David Mazi`eres, Dennis Shasha, Jinyuan Li, Maxwell Krohn[NYU] New York UniversityCryptography, Data Security, Data Storage, Distributed Computing, Networking
Bitcoin- A Peer-to-Peer Electronic Cash Systemhttps://bitcoin.org/bitcoin.pdfhttp://gowthamkalla.com/drive/papers/bitcoin2008Satoshi NakamotoBitcoinDistributed Computing, Peer-to-peer
Apache Spark- A Unified Engine for Big Data Processinghttps://www.databricks.com/sites/default/files/2018/12/Apache-Spark-A-Unified-Engine-for-Big-Data-Processing.pdfhttp://gowthamkalla.com/drive/papers/spark-article2016DatabricksBig Data, Data Processing, Distributed Computing
Spark- Cluster Computing with Working Setshttps://people.csail.mit.edu/matei/papers/2010/hotcloud_spark.pdfhttp://gowthamkalla.com/drive/papers/spark2010Ion Stoica, Matei Zaharia, Michael J. Franklin, Mosharaf Chowdhury, Scott Shenker[UCB] University of California BerkeleyBig Data, Data Processing, Distributed Computing
Resilient Distributed Datasets- A Fault-Tolerant Abstraction for In-Memory Cluster Computing Sparkhttps://www.usenix.org/system/files/conference/nsdi12/nsdi12-final138.pdfhttp://gowthamkalla.com/drive/papers/spark-rdd2012Ankur Dave, Ion Stoica, Justin Ma, Matei Zaharia, Michael J. Franklin, Mosharaf Chowdhury, Murphy McCauley, Scott Shenker, Tathagata Das[UCB] University of California BerkeleyBig Data, Data Processing, Distributed Computing
Consistent Hashing and Random Trees- Distributed Caching Protocols for Relieving Hot Spots on the World Wide Webhttps://www.cs.princeton.edu/courses/archive/fall09/cos518/papers/chash.pdf1997Daniel Lewin, David Karger, Eric Lehman, Matthew Levine, Rina Panigrahy, Tom Leighton[MIT] Massachusetts Institute of TechnologyAlgorithms, Distributed Computing
Ray- A Distributed Framework for Emerging AI Applicationshttps://www.usenix.org/system/files/osdi18-moritz.pdf2018[UCB] University of California BerkeleyData Processing, Distributed Computing, Machine Learning
Ownership- A Distributed Futures System for Fine-Grained Tasks Rayhttps://www.usenix.org/system/files/nsdi21-wang.pdf2021Anyscale, [UCB] University of California BerkeleyDistributed Computing

To Be Read

(I only prioritize and queue around 5 papers as To Be Read in shelf, and keep remaining as below)

Distributed Systems

(Inspired from 6.824 Distributed Systems)

Bluesky and the AT Protocol- Usable Decentralized Social Media

Swarm- Cost-Efficient Video Content Distribution with a Peer-to-Peer System

Apache Flink- Stream and Batch Processing in a Single Engine

Naiad- A Timely Dataflow System

Samza- Stateful Scalable Stream Processing at LinkedIn

Storm @Twitter

Dryad- Distributed Data-Parallel Programs from Sequential Building Blocks

The Hadoop Distributed File System HDFS

Boki- Stateful Serverless Computing with Shared Logs

Grove- a Separation-Logic Library for Verifying Distributed Systems

Chardonnay- Fast and General Datacenter Transactions for On-Disk Databases

Chord- A Scalable Peer-to-peer Lookup Service for Internet Applications

Mesos- A Platform for Fine-Grained Resource Sharing in the Data Center

Large-scale cluster management at Google with Borg

MillWheel- Fault-Tolerant Stream Processing at Internet Scale

No compromises- distributed transactions with consistency, availability, and performance FaRM

Ethereum- A Next-Generation Smart Contract and Decentralized Application Platform

Tango- Distributed Data Structures over a Shared Log

Chain Replication for Supporting High Throughput and Availability

Photon- Fault-tolerant and Scalable Joining of Continuous Data Streams

Paxos Made Live - An Engineering Perspective

CORFU- A Shared Log Design for Flash Clusters

Wormhole- Reliable Pub-Sub to Support Geo-replicated Internet Services

A simple totally ordered broadcast protocol ZAB Zookeeper Atomic Broadcast

Academic

(Inspired from Lamport’s Publications)

Time, Clocks, and the Ordering of Events in a Distributed System

The Byzantine Generals Problem

The Temporal Logic of Actions

Practical Byzantine Fault Tolerance pBFT

Impossibility of Distributed Consensus with One Faulty Process FLP

Viewstamped Replication- A New Primary Copy Method to Support Highly-Available Distributed Systems

Conflict-free Replicated Data Types CRDTs

Zab- High-performance broadcast for primary-backup systems Zookeeper Atomic Broadcast

Timely Dataflow- A Model

Database Systems

(Inspired from 15-721 Advanced Database Systems)

What Goes Around Comes Around

What Goes Around Comes Around… And Around…

The Design Of Postgres

The Snowflake Elastic Data Warehouse

Building An Elastic Query Engine on Disaggregated Storage Snowflake

Photon- A Fast Query Engine for Lakehouse Systems

Lakehouse- A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics

Dremel- Interactive Analysis of Web-Scale Datasets BigQuery

Amazon Redshift Re-invented

Citus- Distributed PostgreSQL for Data-Intensive Applications

CockroachDB- The Resilient Geo-Distributed SQL Database

ClickHouse - Lightning Fast Analytics for Everyone

DuckDB- an Embeddable Analytical Database

MotherDuck- DuckDB in the cloud and in the client

TiDB- A Raft-based HTAP Database

FoundationDB- A Distributed Unbundled Transactional Key Value Store

F1- A Distributed SQL Database That Scales

Mesa- Geo-Replicated, Near Real-Time, Scalable Data Warehousing

Megastore- Providing Scalable, Highly Available Storage for Interactive Services

Large-scale Incremental Processing Using Distributed Transactions and Notifications Percolator

Yellowbrick- An Elastic Data Warehouse on Kubernetes

Aerospike- Architecture of a Real-Time Operational DBMS

Magma- A High Data Density Storage Engine Used in Couchbase

Book

Architecture of a Database System

Machine Learning

TensorFlow- A System for Large-Scale Machine Learning

TensorFlow- Large-Scale Machine Learning on Heterogeneous Distributed Systems

Attention Is All You Need


My Reading Setup

Once I have access to PDF file, I upload it to 2 folders in my gdrive

  1. “Untouched” folder, for raw untouched pdfs (just in case)
  2. “Papers” folder — which is public — for highlighted pdfs

With Adobe Acrobat on web, which is free and connected to my Gdrive, I highlight and underline Gdrive documents from Acrobat & write notes here in Notion

I did try Zotero for a while, instead of Acrobat, not pleased by annotation/comments’ styling. Some other time with good config!

How I Read [WIP]

https://github.com/papers-we-love/papers-we-love?tab=readme-ov-file#how-to-read-a-paper

http://ccr.sigcomm.org/online/files/p83-keshavA.pdf

I find papers mostly from the below section and once I’ve chosen paper, I’ll Papers up by priority in TBR section

Before I actually start reading a paper, I will have a glance to check sections and their sub headings

With this, I can guesstimate no. of pages I’m going to concentrate on and time to be invested as well

Papers will contain ending sections starting with benchmarks or perf numbers, from here, it’ll be a relaxed read where I just highlight points

I just highlight or annotate with just one color, whereas people in academia generally use 3-4 colors signifying different levels

All my annotated PDFs are publicly available in my drive collectively, and notes can be opened from papershelf that’s present on this very page

Like in the above , I open 3 windows in parallel, first for acrobat, second for notion + excalidraw, and third for general google search and GPTs from OpenAI or someother

When I start reading, I start convo with chatgpt that I’m reading so and so paper, and I will ask questions on that

Sometimes paragraphs can be tough to grasp, the brain will read it super smooth but won’t be braining. Since these papers (and their related) been in literature for a good time, you can argue with LLMs, it’s actually one of the best use-cases. So I just simply ask it till I get satisfied with answer (it’s good with answers, so far, but do validate the responses)

Inception Of Sources

Distributed Systems

Database Systems

Mixed


Home Page

gowthamkalla.com/socials