A collection of academic papers, articles, and other resources that I plan to read or have read. The content has a focus on distributed systems.
I have also included my notes on select resources to summarize important takeaways and to help me better understand the material.
Chandra, Tushar Deepak, and Sam Toueg. 1996. “Unreliable Failure Detectors for Reliable Distributed Systems.” Journal of the ACM (JACM) 43 (2). ACM: 225–67.
Fischer, Michael J, Nancy A Lynch, and Michael S Paterson. 1982. “Impossibility of Distributed Consensus with One Faulty Process.” MASSACHUSETTS INST OF TECH CAMBRIDGE LAB FOR COMPUTER SCIENCE.
Oki, Brian M, and Barbara H Liskov. 1988. “Viewstamped Replication: A New Primary Copy Method to Support Highly-Available Distributed Systems.” In Proceedings of the Seventh Annual Acm Symposium on Principles of Distributed Computing, 8–17. ACM.
Liskov, Barbara, and James Cowling. 2012. “Viewstamped Replication Revisited.”
Lamport, Leslie, and others. 1998. “The Part-Time Parliament.” ACM Transactions on Computer Systems 16 (2): 133–69.
Lamport, Leslie, and others. 2001. “Paxos Made Simple.” ACM Sigact News 32 (4): 18–25.
Chandra, Tushar D, Robert Griesemer, and Joshua Redstone. 2007. “Paxos Made Live: An Engineering Perspective.” In Proceedings of the Twenty-Sixth Annual Acm Symposium on Principles of Distributed Computing, 398–407. ACM.
Howard, Heidi, Dahlia Malkhi, and Alexander Spiegelman. 2016. “Flexible Paxos: Quorum Intersection Revisited.” arXiv Preprint arXiv:1608.06696.
Junqueira, Flavio P, Benjamin C Reed, and Marco Serafini. 2011. “Zab: High-Performance Broadcast for Primary-Backup Systems.” In 2011 Ieee/Ifip 41st International Conference on Dependable Systems & Networks (Dsn), 245–56. IEEE.
Medeiros, André. 2012. “ZooKeeper’s Atomic Broadcast Protocol: Theory and Practice.” Aalto University School of Science 20.
Van Renesse, Robbert, Nicolas Schiper, and Fred B Schneider. 2015. “Vive La Différence: Paxos Vs. Viewstamped Replication Vs. Zab.” IEEE Transactions on Dependable and Secure Computing 12 (4). IEEE: 472–84.
Ongaro, Diego, and John Ousterhout. 2014. “In Search of an Understandable Consensus Algorithm.” In 2014 {Usenix} Annual Technical Conference ({Usenix}{ATC} 14), 305–19.
Ongaro, Diego. 2014. “Consensus: Bridging Theory and Practice.” PhD thesis, Stanford University.
Howard, Heidi, Malte Schwarzkopf, Anil Madhavapeddy, and Jon Crowcroft. 2015. “Raft Refloated: Do We Have Consensus?” Operating Systems Review 49 (1): 12–21.
Lamport, Leslie. 1978. “Time, Clocks, and the Ordering of Events in a Distributed System.” Communications of the ACM 21 (7). ACM: 558–65.
Fidge, Colin J. 1987. Timestamps in Message-Passing Systems That Preserve the Partial Ordering. Australian National University. Department of Computer Science.
Mattern, Friedemann, and others. 1988. Virtual Time and Global States of Distributed Systems. Citeseer.
Demirbas, Murat, Marcelo Leone, Bharadwaj Avva, Deepak Madeppa, and Sandeep Kulkarni. 2014. “Logical Physical Clocks and Consistent Snapshots in Globally Distributed Databases.”
Ramabaja, Lum. 2019. “The Bloom Clock.” CoRR abs/1905.13064. http://arxiv.org/abs/1905.13064.
Gilbert, Seth, and Nancy Lynch. 2002. “Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services.” Acm Sigact News 33 (2). ACM: 51–59.
Blelloch, Guy E, and Margaret Reid-Miller. 1998. “Fast Set Operations Using Treaps.” In SPAA, 98:16–26.
Pugh, William. 1998. “A Skip List Cookbook.”
Pugh, William. 1990. “Skip Lists: A Probabilistic Alternative to Balanced Trees.” Communications of the ACM 33 (6).
Kirsch, Adam, and Michael Mitzenmacher. 2006. “Less Hashing, Same Performance: Building a Better Bloom Filter.” In European Symposium on Algorithms, 456–67. Springer.
Bera, Suman K, Sourav Dutta, Ankur Narang, and Souvik Bhattacherjee. 2012. “Advanced Bloom Filter Based Algorithms for Efficient Approximate Data de-Duplication in Streams.” arXiv Preprint arXiv:1212.3964.
Fan, Bin, Dave G Andersen, Michael Kaminsky, and Michael D Mitzenmacher. 2014. “Cuckoo Filter: Practically Better Than Bloom.” In Proceedings of the 10th Acm International on Conference on Emerging Networking Experiments and Technologies, 75–88. ACM.
Bender, Michael A, Martin Farach-Colton, Rob Johnson, Russell Kraner, Bradley C Kuszmaul, Dzejla Medjedovic, Pablo Montes, Pradeep Shetty, Richard P Spillane, and Erez Zadok. 2012. “Don’t Thrash: How to Cache Your Hash on Flash.” Proceedings of the VLDB Endowment 5 (11). VLDB Endowment: 1627–37.
Cormode, Graham, and Shan Muthukrishnan. 2005. “An Improved Data Stream Summary: The Count-Min Sketch and Its Applications.” Journal of Algorithms 55 (1). Elsevier: 58–75.
Pandey, Prashant, Michael A Bender, Rob Johnson, and Rob Patro. 2017. “A General-Purpose Counting Filter: Making Every Bit Count.” In Proceedings of the 2017 Acm International Conference on Management of Data, 775–87. ACM.
Flajolet, Philippe, Éric Fusy, Olivier Gandouet, and Frédéric Meunier. 2007. “Hyperloglog: The Analysis of a Near-Optimal Cardinality Estimation Algorithm.” In Discrete Mathematics and Theoretical Computer Science, 137–56. Discrete Mathematics; Theoretical Computer Science.
Heule, Stefan, Marc Nunkesser, and Alexander Hall. 2013. “HyperLogLog in Practice: Algorithmic Engineering of a State of the Art Cardinality Estimation Algorithm.” In Proceedings of the 16th International Conference on Extending Database Technology, 683–92. ACM.
O’Neil, Patrick, Edward Cheng, Dieter Gawlick, and Elizabeth O’Neil. 1996. “The Log-Structured Merge-Tree (Lsm-Tree).” Acta Informatica 33 (4). Springer: 351–85.
Sears, Russell, and Raghu Ramakrishnan. 2012. “BLSM: A General Purpose Log Structured Merge Tree.” In Proceedings of the 2012 Acm Sigmod International Conference on Management of Data, 217–28. ACM.
Shapiro, Marc, Nuno Preguiça, Carlos Baquero, and Marek Zawirski. 2011. “A Comprehensive Study of Convergent and Commutative Replicated Data Types.” PhD thesis, Inria–Centre Paris-Rocquencourt; INRIA.
Enes, Vitor, Paulo Sérgio Almeida, Carlos Baquero, and João Leitão. 2018. “Efficient Synchronization of State-Based Crdts.” arXiv Preprint arXiv:1803.02750.
Stoica, Ion, Robert Morris, David Liben-Nowell, David R Karger, M Frans Kaashoek, Frank Dabek, and Hari Balakrishnan. 2003. “Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications.” IEEE/ACM Transactions on Networking (TON) 11 (1). IEEE Press: 17–32.
Maymounkov, Petar, and David Mazieres. 2002. “Kademlia: A Peer-to-Peer Information System Based on the Xor Metric.” In International Workshop on Peer-to-Peer Systems, 53–65. Springer.
DeCandia, Giuseppe, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007. “Dynamo: Amazon’s Highly Available Key-Value Store.” In ACM Sigops Operating Systems Review, 41:205–20. 6. ACM.
Chang, Fay, Jeffrey Dean, Sanjay Ghemawat, Wilson C Hsieh, Deborah A Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E Gruber. 2008. “Bigtable: A Distributed Storage System for Structured Data.” ACM Transactions on Computer Systems (TOCS) 26 (2). ACM: 4.
Lakshman, Avinash, and Prashant Malik. 2010. “Cassandra: A Decentralized Structured Storage System.” ACM SIGOPS Operating Systems Review 44 (2). ACM: 35–40.
Kreps, Jay, Neha Narkhede, Jun Rao, and others. 2011. “Kafka: A Distributed Messaging System for Log Processing.” In Proceedings of the Netdb, 1–7.
Corbett, James C., Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, JJ Furman, Sanjay Ghemawat, et al. 2012. “Spanner: Google’s Globally-Distributed Database.” In OSDI.
Bacon, David F., Nathan Bales, Nico Bruno, Brian F. Cooper, Adam Dickinson, Andrew Fikes, Campbell Fraser, et al. 2017. “Spanner: Becoming a Sql System.” In Proc. SIGMOD 2017, 331–43.
Alquraan, Ahmed, Hatem Takruri, Mohammed Alfatafta, and Samer Al-Kiswany. 2018. “An Analysis of Network-Partitioning Failures in Cloud Systems.” In 13th Usenix Symposium on Operating Systems Design and Implementation Osdi 18), 51–68.
Majumdar, Rupak, and Filip Niksic. 2017. “Why Is Random Testing Effective for Partition Tolerance Bugs?” Proceedings of the ACM on Programming Languages 2 (POPL). ACM: 46.
2,618 followers · starred Jan 2023
206 followers · starred Dec 2025
251 followers · starred Oct 2022
43 followers · starred Dec 2022
A collection of academic papers, articles, and other resources that I plan to read or have read. The content has a focus on distributed systems.
I have also included my notes on select resources to summarize important takeaways and to help me better understand the material.
Chandra, Tushar Deepak, and Sam Toueg. 1996. “Unreliable Failure Detectors for Reliable Distributed Systems.” Journal of the ACM (JACM) 43 (2). ACM: 225–67.
Fischer, Michael J, Nancy A Lynch, and Michael S Paterson. 1982. “Impossibility of Distributed Consensus with One Faulty Process.” MASSACHUSETTS INST OF TECH CAMBRIDGE LAB FOR COMPUTER SCIENCE.
Oki, Brian M, and Barbara H Liskov. 1988. “Viewstamped Replication: A New Primary Copy Method to Support Highly-Available Distributed Systems.” In Proceedings of the Seventh Annual Acm Symposium on Principles of Distributed Computing, 8–17. ACM.
Liskov, Barbara, and James Cowling. 2012. “Viewstamped Replication Revisited.”
Lamport, Leslie, and others. 1998. “The Part-Time Parliament.” ACM Transactions on Computer Systems 16 (2): 133–69.
Lamport, Leslie, and others. 2001. “Paxos Made Simple.” ACM Sigact News 32 (4): 18–25.
Chandra, Tushar D, Robert Griesemer, and Joshua Redstone. 2007. “Paxos Made Live: An Engineering Perspective.” In Proceedings of the Twenty-Sixth Annual Acm Symposium on Principles of Distributed Computing, 398–407. ACM.
Howard, Heidi, Dahlia Malkhi, and Alexander Spiegelman. 2016. “Flexible Paxos: Quorum Intersection Revisited.” arXiv Preprint arXiv:1608.06696.
Junqueira, Flavio P, Benjamin C Reed, and Marco Serafini. 2011. “Zab: High-Performance Broadcast for Primary-Backup Systems.” In 2011 Ieee/Ifip 41st International Conference on Dependable Systems & Networks (Dsn), 245–56. IEEE.
Medeiros, André. 2012. “ZooKeeper’s Atomic Broadcast Protocol: Theory and Practice.” Aalto University School of Science 20.
Van Renesse, Robbert, Nicolas Schiper, and Fred B Schneider. 2015. “Vive La Différence: Paxos Vs. Viewstamped Replication Vs. Zab.” IEEE Transactions on Dependable and Secure Computing 12 (4). IEEE: 472–84.
Ongaro, Diego, and John Ousterhout. 2014. “In Search of an Understandable Consensus Algorithm.” In 2014 {Usenix} Annual Technical Conference ({Usenix}{ATC} 14), 305–19.
Ongaro, Diego. 2014. “Consensus: Bridging Theory and Practice.” PhD thesis, Stanford University.
Howard, Heidi, Malte Schwarzkopf, Anil Madhavapeddy, and Jon Crowcroft. 2015. “Raft Refloated: Do We Have Consensus?” Operating Systems Review 49 (1): 12–21.
Lamport, Leslie. 1978. “Time, Clocks, and the Ordering of Events in a Distributed System.” Communications of the ACM 21 (7). ACM: 558–65.
Fidge, Colin J. 1987. Timestamps in Message-Passing Systems That Preserve the Partial Ordering. Australian National University. Department of Computer Science.
Mattern, Friedemann, and others. 1988. Virtual Time and Global States of Distributed Systems. Citeseer.
Demirbas, Murat, Marcelo Leone, Bharadwaj Avva, Deepak Madeppa, and Sandeep Kulkarni. 2014. “Logical Physical Clocks and Consistent Snapshots in Globally Distributed Databases.”
Ramabaja, Lum. 2019. “The Bloom Clock.” CoRR abs/1905.13064. http://arxiv.org/abs/1905.13064.
Gilbert, Seth, and Nancy Lynch. 2002. “Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services.” Acm Sigact News 33 (2). ACM: 51–59.
Blelloch, Guy E, and Margaret Reid-Miller. 1998. “Fast Set Operations Using Treaps.” In SPAA, 98:16–26.
Pugh, William. 1998. “A Skip List Cookbook.”
Pugh, William. 1990. “Skip Lists: A Probabilistic Alternative to Balanced Trees.” Communications of the ACM 33 (6).
Kirsch, Adam, and Michael Mitzenmacher. 2006. “Less Hashing, Same Performance: Building a Better Bloom Filter.” In European Symposium on Algorithms, 456–67. Springer.
Bera, Suman K, Sourav Dutta, Ankur Narang, and Souvik Bhattacherjee. 2012. “Advanced Bloom Filter Based Algorithms for Efficient Approximate Data de-Duplication in Streams.” arXiv Preprint arXiv:1212.3964.
Fan, Bin, Dave G Andersen, Michael Kaminsky, and Michael D Mitzenmacher. 2014. “Cuckoo Filter: Practically Better Than Bloom.” In Proceedings of the 10th Acm International on Conference on Emerging Networking Experiments and Technologies, 75–88. ACM.
Bender, Michael A, Martin Farach-Colton, Rob Johnson, Russell Kraner, Bradley C Kuszmaul, Dzejla Medjedovic, Pablo Montes, Pradeep Shetty, Richard P Spillane, and Erez Zadok. 2012. “Don’t Thrash: How to Cache Your Hash on Flash.” Proceedings of the VLDB Endowment 5 (11). VLDB Endowment: 1627–37.
Cormode, Graham, and Shan Muthukrishnan. 2005. “An Improved Data Stream Summary: The Count-Min Sketch and Its Applications.” Journal of Algorithms 55 (1). Elsevier: 58–75.
Pandey, Prashant, Michael A Bender, Rob Johnson, and Rob Patro. 2017. “A General-Purpose Counting Filter: Making Every Bit Count.” In Proceedings of the 2017 Acm International Conference on Management of Data, 775–87. ACM.
Flajolet, Philippe, Éric Fusy, Olivier Gandouet, and Frédéric Meunier. 2007. “Hyperloglog: The Analysis of a Near-Optimal Cardinality Estimation Algorithm.” In Discrete Mathematics and Theoretical Computer Science, 137–56. Discrete Mathematics; Theoretical Computer Science.
Heule, Stefan, Marc Nunkesser, and Alexander Hall. 2013. “HyperLogLog in Practice: Algorithmic Engineering of a State of the Art Cardinality Estimation Algorithm.” In Proceedings of the 16th International Conference on Extending Database Technology, 683–92. ACM.
O’Neil, Patrick, Edward Cheng, Dieter Gawlick, and Elizabeth O’Neil. 1996. “The Log-Structured Merge-Tree (Lsm-Tree).” Acta Informatica 33 (4). Springer: 351–85.
Sears, Russell, and Raghu Ramakrishnan. 2012. “BLSM: A General Purpose Log Structured Merge Tree.” In Proceedings of the 2012 Acm Sigmod International Conference on Management of Data, 217–28. ACM.
Shapiro, Marc, Nuno Preguiça, Carlos Baquero, and Marek Zawirski. 2011. “A Comprehensive Study of Convergent and Commutative Replicated Data Types.” PhD thesis, Inria–Centre Paris-Rocquencourt; INRIA.
Enes, Vitor, Paulo Sérgio Almeida, Carlos Baquero, and João Leitão. 2018. “Efficient Synchronization of State-Based Crdts.” arXiv Preprint arXiv:1803.02750.
Stoica, Ion, Robert Morris, David Liben-Nowell, David R Karger, M Frans Kaashoek, Frank Dabek, and Hari Balakrishnan. 2003. “Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications.” IEEE/ACM Transactions on Networking (TON) 11 (1). IEEE Press: 17–32.
Maymounkov, Petar, and David Mazieres. 2002. “Kademlia: A Peer-to-Peer Information System Based on the Xor Metric.” In International Workshop on Peer-to-Peer Systems, 53–65. Springer.
DeCandia, Giuseppe, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007. “Dynamo: Amazon’s Highly Available Key-Value Store.” In ACM Sigops Operating Systems Review, 41:205–20. 6. ACM.
Chang, Fay, Jeffrey Dean, Sanjay Ghemawat, Wilson C Hsieh, Deborah A Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E Gruber. 2008. “Bigtable: A Distributed Storage System for Structured Data.” ACM Transactions on Computer Systems (TOCS) 26 (2). ACM: 4.
Lakshman, Avinash, and Prashant Malik. 2010. “Cassandra: A Decentralized Structured Storage System.” ACM SIGOPS Operating Systems Review 44 (2). ACM: 35–40.
Kreps, Jay, Neha Narkhede, Jun Rao, and others. 2011. “Kafka: A Distributed Messaging System for Log Processing.” In Proceedings of the Netdb, 1–7.
Corbett, James C., Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, JJ Furman, Sanjay Ghemawat, et al. 2012. “Spanner: Google’s Globally-Distributed Database.” In OSDI.
Bacon, David F., Nathan Bales, Nico Bruno, Brian F. Cooper, Adam Dickinson, Andrew Fikes, Campbell Fraser, et al. 2017. “Spanner: Becoming a Sql System.” In Proc. SIGMOD 2017, 331–43.
Alquraan, Ahmed, Hatem Takruri, Mohammed Alfatafta, and Samer Al-Kiswany. 2018. “An Analysis of Network-Partitioning Failures in Cloud Systems.” In 13th Usenix Symposium on Operating Systems Design and Implementation Osdi 18), 51–68.
Majumdar, Rupak, and Filip Niksic. 2017. “Why Is Random Testing Effective for Partition Tolerance Bugs?” Proceedings of the ACM on Programming Languages 2 (POPL). ACM: 46.
2,618 followers · starred Jan 2023
206 followers · starred Dec 2025
251 followers · starred Oct 2022
43 followers · starred Dec 2022