Following reading list is selected from the papers I had read in the past 3 years. It will help you to gain a basic knowledge of what happened in current industry and bring you a little sense about how to design a distributed system with certain principles.
Feel free to post the good paper you had read in the comments for sharing.:)
Feel free to post the good paper you had read in the comments for sharing.:)
Concurrency
- In Search of an Understandable Consensus Algorithm. Diego Ongaro, John Ousterhout, 2013
 - A Simple Totally Ordered Broadcast Protocol. Benjamin Reed, Flavio P. Junqueira,2008
 - Paxos Made Live - An Engineering Perspective. Tushar Deepak Chandra, Robert Griesemer, Joshua Redstone, 2007
 - The Chubby Lock Service for Loosely-Coupled Distributed Systems. Mike Burrows, 2006
 - Paxos Made Simple. Leslie Lamport, 2001
 - Impossibility of Distributed Consensus with One Faulty Process. Michael Fischer, Nancy Lynch, Michael Patterson, 1985
 - The Byzantine Generals Problem. Leslie Lamport, 1982
 - An Algorithm for Concurrency Control and Recovery in Replicated Distributed Databases. PA Bernstein, N Goodman, 1984
 - Wait-Free Synchronization. M Herlihy…, 1991
 - ZooKeeper: Wait-free coordination for Internet-scale systems. P Hunt, M Konar, FP Junqueira, 2010
 
Consistency
- Highly Available Transactions: Virtues and Limitations. Peter Bailis, Aaron Davidson, Alan Fekete, Ali Ghodsi, Joseph M. Hellerstein, Ion Stoica, 2013
 - Consistency Tradeoffs in Modern Distributed Database System Design. Daniel J. Abadi, 2012
 - CAP Twelve Years Later: How the “Rules” Have Changed. Eric Brewer, 2012
 - Optimistic Replication. Yasushi Saito and Marc Shapiro, 2005
 - Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services. Seth Gilbert, Nancy Lynch, 2002
 - Harvest, Yield, and Scalable Tolerant Systems. Armando Fox, Eric A. Brewer, 1999
 - Linearizability: A Correctness Condition for Concurrent Objects. Maurice P. Herlihy, Jeannette M. Wing, 1990
 - Time, Clocks, and the Ordering of Events in a Distributed System. Leslie Lamport, 1978
 
Conflict-free data structures
- A Comprehensive Study of Convergent and Commutative Replicated Data Types. Mark Shapiro, Nuno Preguiça, Carlos Baquero, Marek Zawirski, 2011
 - A Commutative Replicated Data Type For Cooperative Editing. Nuno Preguica, Joan Manuel Marques, Marc Shapiro, Mihai Letia, 2009
 - CRDTs: Consistency without Concurrency Control. Mihai Letia, Nuno Preguiça, Marc Shapiro, 2009
 - Conflict-free replicated data types. Marc Shapiro, Nuno Preguiça, Carlos Baquero, Marek Zawirski, 2011
 - Designing a commutative replicated data type. Marc Shapiro, Nuno Preguiça, 2007
 
- Logic and Lattices for Distributed Programming. Neil Conway, William Marczak, Peter Alvaro, Joseph M. Hellerstein, David Maier, 2012
 - Dedalus: Datalog in Time and Space. Peter Alvaro, William R. Marczak, Neil Conway, Joseph M. Hellerstein, David Maier, Russell Sears, 2011
 - MapReduce: Simplified Data Processing on Large Clusters. Jeffrey Dean, Sanjay Ghemawat, 2004
 - A Note On Distributed Computing. Samuel C. Kendall, Jim Waldo, Ann Wollrath, Geoff Wyant, 1994
 - An Overview of the Scala Programming Language. M Odersky, P Altherr, V Cremet, B Emir, S Man, 2004
 - Erlang. Joe Ar mstrong, 2010
 
Systems
Implemented and theoretical distributed systems.
- A History of The Virtual Synchrony Replication Model. Ken Birman, 2010
 - Cassandra — A Decentralized Structured Storage System. Avinash Lakshman, Prashant Malik, 2009
 - Dynamo: Amazon’s Highly Available Key-Value Store. Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall and Werner Vogels, 2007
 - Stasis: Flexible Transactional Storage. Russell Sears, Eric Brewer, 2006
 - Bigtable: A Distributed Storage System for Structured Data. Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber, 2006
 - The Google File System. Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung, 2003
 - Lessons from Giant-Scale Services. Eric A. Brewer, 2001
 - Towards Robust Distributed Systems. Eric A. Brewer, 2000
 - Cluster-Based Scalable Network Services. Armando Fox, Steven D. Gribble, Yatin Chawathe, Eric A. Brewer, Paul Gauthier, 1997
 - The Process Group Approach to Reliable Distributed Computing. Ken Birman, 1993
 - Bitcoin: A Peer-to-Peer Electronic Cash System.
 - The Hadoop Distributed File System. Konstantin Shvachko, Hairong Kuang, Sanjay Radia, Robert Chansler, 2010
 - Hive – A Petabyte Scale Data Warehouse Using Hadoop. A Thusoo, JS Sarma, N Jain, Z Shao, 2010
 - Scalable Web Architecture and Distributed Systems. Kate Matsudaira,
 - Kafka: a Distributed Messaging System for Log Processing. J Kreps, N Narkhede, 2011
 - Storm: Distributed and fault-tolerant real-time computation. Nathan Marz, 2012
 - Spark: Cluster Computing withWorking Sets. M Zaharia, M Chowdhury, MJ Franklin…, 2010
 - Flat Datacenter Storage. EB Nightingale, J Elson, J Fan, OS Hofmann, J Howell…, 2012
 - Ananta: Cloud Scale Load Balancing. P Patel, D Bansal, L Yuan, A Murthy…, 2013
 - F1 - The Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business. Jeff Shute, Stephan Ellner…, 2012
 - BigTable, Dynamo & Cassandra – A Review. A Kala Karun, S Surendran, 2012
 - Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency. B Calder, J Wang, A Ogus, N Nilakantan…, 2011
 
Reliability
- The Dangers of Replication and a Solution. J Gray, P Helland, P O'Neil, D Shasha - ACM SIGMOD Record, 1996
 
Industry Implementation
- Hadoop Architecture and its Usage at Facebook. Dhruba Borthakur, 2009
 - WEB SEARCH FOR A PLANET: THE GOOGLE CLUSTER ARCHITECTURE. LA Barroso, J Dean, U Holzle - Micro, Ieee, 2003
 - HDFS scalability: the limits to growth. Konstantin V. Shvachko, 2010
 - Autopilot: Automatic Data Center Management. Michael Isard, 2007
 - Storage Infrastructure behind Facebook Messages: Using HBase at Scale. AS Aiyer, M Bautin, GJ Chen, P Damania, 2012
 - Scaling Memcache at Facebook. R Nishtala, H Fugal, S Grimm, M Kwiatkowski, 2013
 - Finding a needle in Haystack: Facebook’s photo storage. D Beaver, S Kumar, HC Li, J Sobel, P Vajge, 2010
 - Apache Hadoop Goes Realtime at Facebook. D Borthakur, J Gray, JS Sarma…, 2011
 - Data Warehousing and Analytics Infrastructure at Facebook. A Thusoo, Z Shao, S Anthony, D Borthakur…, 2010
 - Large Scale Computing @ Linkedin. Bhupesh Bansal, 2009
 - An Analysis of Facebook Photo Caching. Q Huang, K Birman, R van Renesse, W Lloyd…, 2013
 - The “Big Data” Ecosystem at LinkedIn. R Sumbaly, J Kreps, S Shah, 2013
 - Data Infrastructure at LinkedIn. A Auradkar, C Botev, S Das…, 2012
 
Language
- Deep C (and C++) . Olve Maudal and Jon Jagger, 2011
 
Others
- ColumnStores vs. RowStores: How Different Are They Really? DJ Abadi, SR Madden, N Hachem, 2008
 - Hadoop and its evolving ecosystem. J. Yates Monteith, John D. McGregor, and John E. Ingram
 - Orleans: Cloud Computing for Everyone. S Bykov, A Geller, G Kliot, JR Larus, R Pandya, 2011
 - Twitter Data Analytics. Shamanth Kumar, Fred Morstatter, Huan Liu, 2013
 - MapReduce is Good Enough? If All You Have is a Hammer, Throw Away Everything That’s Not a Nail! Jimmy Lin, 2012
 
Data Mining
- Data Mining with Big Data. X Wu, X Zhu, GQ Wu, W Ding, 2014
 - SAMOA: A Platform for Mining Big Data Streams. G De Francisci Morales , 2013
 - Mining Big Data: Current Status, and Forecast to the Future. W Fan, A Bifet, 2013
 - Scaling Big Data Mining Infrastructure: The Twitter Experience. J Lin, D Ryaboy, 2013
 
Books
- Cloud Design Pattern.
 - Data Access For Highly scalable solutions.
 - Computer Architecture - A Quantitative Approach.
 - DISTRIBUTED SYSTEMS - Concepts and Design. Fifth Edition. George Coulouris
 - Beautiful Architecture. Diomidis Spinellis, Georgios Gousios etc
 - Mining Social Media: Tracking Content and Predicting Behavior. Manos Tsagkias
 - Seven Databases in Seven Weeks. Eric Redmond and Jim R. Wilson
 
No comments:
Post a Comment