See https://en.wikipedia.org/wiki/Lists_of_important_publications_in_science for a more objective list of major papers.
- Building Secure & Reliable Systems
- Crypto 101
- Database Internals
- ⭐ Designing Data-Intensive Applications
- Effective Java
- High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark
- Kubernetes: Up and Running
- ⭐ Site Reliability Engineering: How Google Runs Production Systems
- Streaming Systems
- A Convenient Method for Securely Managing Passwords
- ⭐ A Method for Obtaining Digital Signatures and Public-Key Cryptosystems
- Blocking-resistant communication through domain fronting
- Hiding Information and Signatures in Trapdoor Knapsacks
- How to Explain Zero-Knowledge Protocols to Your Children
- How to Expose an Eavesdropper
- ⭐ How to Share a Secret
- ⭐ Mental Poker
- ⭐ Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices
- ⭐ New directions in cryptography
- Nuts and Bolts of Encryption: A Primer for Policymakers
- Protocols for Secure Computations (up to 3.1)
- Reflections on Trusting Trust
- Ron was wrong, Whit is right
- ⭐ Secure Communications Over Insecure Channels
- The most dangerous code in the world: validating SSL certificates in non-browser software
- User Interaction Design for Secure Systems
- ⭐ Why Johnny Can’t Encrypt: A Usability Evaluation of PGP 5.0
- ⭐ Bitcoin: A Peer-to-Peer Electronic Cash System
- BlinkDB: Queries with Bounded Errors and Bounded Response Times on Very Large Data
- ⭐ Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications
- ⭐ C-Store: A Column-oriented DBMS
- Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web
- Column-Stores vs. Row-Stores: How Different Are They Really?
- Dynamo: Amazon’s Highly Available Key-value Store
- HDFS Architecture Guide
- HyperDex: A Distributed, Searchable Key-Value Store
- Impossibility of Distributed Consensus with One Faulty Process
- In Search of an Understandable Consensus Algorithm
- ⭐ On Designing and Deploying Internet-Scale Services
- ⭐ Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing
- Spark SQL: Relational Data Processing in Spark
- ⭐ Tor: The Second-Generation Onion Router
- Unicorn: A System for Searching the Social Graph
- Warp: Lightweight Multi-Key Transactions for Key-Value Stores
- Why the Internet only just works
- ⭐ A Java fork/join framework
- Approximating Data with the Count-Min Data Structure
- An Optimal Algorithm for Selection in a Min-Heap
- Cache-Oblivious Streaming B-trees
- Computing Extremely Accurate Quantiles using t-Digests
- Cuckoo Filter: Practically Better Than Bloom
- Data Structures for Statistical Computing in Python
- Effective Computation of Biased Quantiles over Data Streams
- HyperLogLog and MinHash A Union for Intersections
- ⭐ HyperLogLog: the analysis of a near-optimal cardinality estimation algorithm
- On Multi-Column Foreign Key Discovery
- On the resemblance and containment of documents
- Random Sampling with a Reservoir
- Randomized Search Trees/Fast Set Operations Using Treaps
- ⭐ Seam Carving for Content-Aware Image Resizing
- Skip Lists: A Probabilistic Alternative to Balanced Trees
- Space-Efficient Online Computation of Quantile Summaries
- Space/time trade-offs in hash coding with allowable errors
- ⭐ Swinging door trending: adaptive trend recording
- The Hungarian Method for the Assignment Problem
- The Log-Structure Merge-Tree (LSM-Tree)
- Bigtable: A Distributed Storage System for Structured Data
- Borg, Omega, and Kubernetes
- Dremel: Interactive Analysis of Web-Scale Datasets
- ⭐ HyperLogLog in Practice: Algorithmic Engineering of a State of The Art Cardinality Estimation Algorithm
- MapReduce: Simplified Data Processing on Large Clusters
- ⭐ Pregel: A System for Large-Scale Graph Processing
- The QUIC Transport Protocol: Design and Internet-Scale Deployment
- Security Keys: Practical Cryptographic Second Factors for the Modern Web
- Spanner: Google’s Globally-Distributed Database
- ⭐ The Anatomy of a Large-Scale Hypertextual Web Search Engine
- The Chubby Lock Service for Loosely-Coupled Distributed Systems
- ⭐ The Google File System
- ⭐ A Brief Introduction to Boosting
- Differential evolution–a simple and efficient heuristic for global optimization over continuous spaces
- Evolving Neural Networks Through Augmenting Topologies
- A Scalable Concurrent
malloc(3)
Implementation for FreeBSD - End-to-End Arguments in System Design
- Garbage Collection in an Uncooperative Environment
- Plan 9 from Bell Labs
- The Evolution of the Unix Time-sharing System
- The Problem with Threads
- Traps and Pitfalls: Practical Problems in System Call Interposition Based Security Tools
- ⭐ The UNIX Time-Sharing System
- Architectural Mismatch or, Why it's hard to build systems out of existing parts
- Awk — A Pattern Scanning and Processing Language (Second Edition)
- ⭐ Dynamic Class Loading in the Java™ Virtual Machine
- ⭐ Git from the bottom up
- Mosh: An Interactive Remote Shell for Mobile Clients
- Trickle: A Userland Bandwidth Shaper for Unix-like Systems