The Curious Engineer

All blogs / Distributed systems / cloud

the morning paper

blog.acolyer.org

a random walk through Computer Science research, by Adrian Colyer

Distributed systems / cloudAI / MLSecurityDatabases

Posts
1,086 from 29 May 2011 to 8 Feb 2021
Posting
quiet since 2021
Kind
personal blog
Feed
https://blog.acolyer.org/feed/

2021 1

  1. The ants and the pheromones

2020 50

  1. An overview of end-to-end entity resolution for big data
  2. Bias in word embeddings
  3. Seeing is believing: a client-centric specification of database isolation
  4. Elle: inferring isolation anomalies from experimental observations
  5. Achieving 100Gbps intrusion prevention on a single server
  6. Virtual consensus in Delos
  7. Helios: hyperscale indexing for the cloud & edge (part II)
  8. Helios: hyperscale indexing for the cloud & edge – part 1
  9. The case for a learned sorting algorithm
  10. Orbital edge computing: nano satellite constellations as a new class of computer system
  11. Understanding operational 5G: a first measurement study on its coverage, performance and energy consumption
  12. Toward an API for the real numbers
  13. Spying on the floating point behavior of existing, unmodified scientific applications
  14. Static Analysis of Java Enterprise Applications: Frameworks and Caches, the Elephants in the Room
  15. Watchman: monitoring dependency conflicts for Python library ecosystem
  16. Aligning superhuman AI with human behaviour: chess as a model systems
  17. What’s happening with The Morning Paper?
  18. An early end of term
  19. Serverless in the wild: characterizing and optimising the serverless workload at a large cloud provider
  20. An empirical guide to the behavior and use of scalable persistent memory
  21. Understanding, detecting and localizing partial failures in large system software
  22. When correlation (or lack of it) can be causation
  23. Characterizing, modeling, and benchmarking RocksDB key-value workloads at Facebook
  24. Building an elastic query engine on disaggregated storage
  25. Millions of tiny databases
  26. Firecracker: lightweight virtualization for serverless applications
  27. Gandalf: an intelligent, end-to-end analytics service for safe deployment in cloud-scale infrastructure
  28. Meaningful availability
  29. AnyLog: a grand unification of the Internet of things
  30. Extending relational query processing with ML inference
  31. Cloudy with a high chance of DBMS: a 10-year prediction for enterprise-grade ML
  32. Migrating a privacy-safe information extraction system to a Software 2.0 design
  33. Programs, life cycles, and laws of software evolution
  34. Let’s Encrypt: an automated certificate authority to encrypt the entire web
  35. Watching you watch: the tracking system of over-the-top TV streaming devices
  36. Cloudburst: stateful functions-as-a-service
  37. POTS: protective optimization technologies
  38. The measure and mismeasure of fairness: a critical review of fair machine learning
  39. Seamless offloading of web app computations from mobile device to edge clouds via HTML5 Web Worker migration
  40. Narrowing the gap between serverless and its state with storage functions
  41. Reverb: speculative debugging for web applications
  42. Trade-offs under pressure: heuristics and observations of teams resolving internet service outages (Part II)
  43. Trade-offs under pressure: heuristics and observations of teams resolving internet service outages (Part 1)
  44. STELLA: report from the SNAFU-catchers workshop on coping with complexity
  45. Synthesizing data structure transformations from input-output examples
  46. Programmatically interpretable reinforcement learning
  47. Challenges of real-world reinforcement learning
  48. Ten challenges for making automation a ‘team player’ in joint human-agent activity
  49. Ironies of automation
  50. The Year Ahead

2019 132

  1. End of term
  2. How do committees invent?
  3. A tale of two abstractions: the case for object space
  4. A persistent problem: managing pointers in NVM
  5. Benchmarking spreadsheet systems
  6. Declarative assembly of web applications from pre-defined concepts
  7. Efficient lock-free durable sets
  8. TLA+ model checking made symbolic
  9. Mergeable replicated data types – Part II
  10. Mergeable replicated data types – Part I
  11. PlanAlyzer: assessing threats to the validity of online experiments
  12. Local-first software: you own your data, in spite of the cloud
  13. Formal foundations of serverless computing
  14. Taiji: managing global user traffic for large-scale Internet services at the edge
  15. Scaling symbolic evaluation for automated verification of systems code with Serval
  16. Snap: a microkernel approach to host networking
  17. The inflection point hypothesis: a principled approach to finding the root cause of a failure
  18. File systems unfit as distributed storage backends: lessons from ten years of Ceph evolution
  19. An analysis of performance evolution of Linux’s core operations
  20. Optimized risk scores
  21. Learning certifiably optimal rule lists for categorical data
  22. Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead
  23. Task-based effectiveness of basic visualizations
  24. Futzing and moseying: interviews with professional data analysts on exploration practices
  25. Vega-Lite: a grammar of interactive graphics
  26. HackPPL: a universal probabilistic programming language
  27. “I was told to buy a software or lose my computer: I ignored it.” A study of ransomware
  28. Invisible mask: practical attacks on face recognition with infrared
  29. Learning a unified embedding for visual search at Pinterest
  30. Applying deep learning to Airbnb search
  31. 150 successful machine learning models: 6 lessons learned at Booking.com
  32. Detecting and characterizing lateral phishing at scale
  33. In-toto: providing farm-to-table guarantees for bits and bytes
  34. Small world with high risks: a study of security threats in the npm ecosystem
  35. Wireless attacks on aircraft instrument landing systems
  36. 50 ways to leak your data: an exploration of apps’ circumvention of the Android permissions system
  37. The secret-sharer: evaluating and testing unintended memorization in neural networks
  38. Even more amazing papers at VLDB 2019 (that I didn’t have space to cover yet)
  39. Updating graph databases with Cypher
  40. Fine-grained, secure and efficient data provenance on blockchain systems
  41. Declarative recursive computation on an RDBMS
  42. Procella: unifying serving and analytical data at YouTube
  43. Experiences with approximating queries in Microsoft’s production big-data clusters
  44. DDSketch: a fast and fully-mergeable quantile sketch with relative-error guarantees
  45. SLOG: serializable, low-latency, geo-replicated transactions
  46. IPA: invariant-preserving applications for weakly consistent replicated databases
  47. Choosing a cloud DBMS: architectures and tradeoffs
  48. Interactive checks for coordination avoidance
  49. Snuba: automating weak supervision to label training data
  50. Learning to prove theorems via interacting with proof assistants
  51. Statistical foundations of virtual democracy
  52. Robust learning from untrusted sources
  53. End of term
  54. Meta-learning neural Bloom filters
  55. Challenging common assumptions in the unsupervised learning of disentangled representations
  56. Data Shapley: equitable valuation of data for machine learning
  57. View-centric performance optimization for database-backed web applications
  58. Three key checklists and remedies for trustworthy analysis of online controlled experiments at scale
  59. Software engineering for machine learning: a case study
  60. Automating chaos experiments in production
  61. One SQL to rule them all: an efficient and syntactically idiomatic approach to management of streams and tables
  62. The convoy phenomenon
  63. Machine learning systems are stuck in a rut
  64. Designing far memory data structures: think outside the box
  65. Fast key-value stores: an idea whose time has come and gone
  66. What bugs cause cloud production incidents?
  67. Nines are not enough: meaningful metrics for clouds
  68. Towards multiverse databases
  69. A case for managed and model-less inference serving
  70. Beyond data and model parallelism for deep neural networks
  71. PyTorch-BigGraph: a large-scale graph embedding system
  72. Towards federated learning at scale: system design
  73. Data validation for machine learning
  74. Continuous integration of machine learning models with ease.ml/ci
  75. A case for lease-based, utilitarian resource management on mobile devices
  76. Boosted race trees for low energy classification
  77. CheriABI: enforcing valid pointer provenance and minimizing pointer privilege in the POSIX C run-time environment
  78. Compress objects, not cache lines: an object-based compressed memory hierarchy
  79. Software-defined far memory in warehouse scale computers
  80. RPCValet: NI-driven tail-aware balancing of µs-scale RPCs
  81. Understanding real-world concurrency bugs in Go
  82. Seer: leveraging big data to navigate the complexity of performance debugging in cloud microservices
  83. An open-source benchmark suite for microservices and their hardware-software implications for cloud & edge systems
  84. Distributed consensus revised – Part III
  85. Distributed consensus revised – Part II
  86. Distributed consensus revised – Part I
  87. End of term
  88. Keeping master green at scale
  89. Teaching rigorous distributed systems with efficient model checking
  90. Time protection: the missing OS abstraction
  91. Master of web puppets: abusing web browsers for persistent and stealthy computation
  92. Don’t trust the locals: investigating the prevalence of persistent client-side cross-site scripting in the wild
  93. How bad can it git? Characterizing secret leakage in public GitHub repositories
  94. Ginseng: keeping secrets in registers when you distrust the operating system
  95. Establishing software root of trust unconditionally
  96. The crux of voice (in)security: a brain study of speaker legitimacy detection
  97. Calvin: fast distributed transactions for partitioned database systems
  98. Amazon Aurora: on avoiding distributed consensus for I/Os, commits, and membership changes
  99. Amazon Aurora: design considerations for high throughput cloud-native relational databases
  100. Slim: OS kernel support for a low-overhead container overlay network
  101. Understanding lifecycle management complexity of datacenter topologies
  102. Datacenter RPCs can be general and fast
  103. Exploiting commutativity for practical fast replication
  104. Cloud computing simplified: a Berkeley view on serverless computing
  105. Efficient synchronisation of state-based CRDTs
  106. A generalised solution to distributed consensus
  107. Keeping CALM: when distributed consistency is easy
  108. Efficient large-scale fleet management via multi-agent deep reinforcement learning
  109. Large scale GAN training for high fidelity natural image synthesis
  110. GAN dissection: visualizing and understanding generative adversarial networks
  111. Understanding hidden memories of recurrent neural networks
  112. CORALS: who are my potential new customers? Tapping into the wisdom of customers’ decisions
  113. Protecting user privacy: an approach for untraceable web browsing history and unambiguous user profiles
  114. The why and how of nonnegative matrix factorization
  115. A survey on dynamic and stochastic vehicle routing problems
  116. Beyond news contents: the role of social context for fake news detection
  117. ExFaKT: a framework for explaining facts over knowledge graphs and text
  118. Graph neural networks: a review of methods and applications
  119. A comprehensive survey on graph neural networks
  120. TensorFlow.js: machine learning for the web and beyond
  121. Fixed it for you: protocol repair using lineage graphs
  122. Veritas: shared verifiable databases and tables in the cloud
  123. The case for network-accelerated query processing
  124. Programming paradigms for dummies: what every programmer should know
  125. The data calculator: data structure design and cost synthesis from first principles and learned cost models
  126. Design continuums and the path toward self-designing key-value stores that know and learn
  127. Towards a hands-free query optimizer through deep learning
  128. SageDB: a learned database system
  129. Serverless computing: one step forward, two steps back
  130. Unsupervised learning of artistic styles with archetypal style analysis
  131. Neural Ordinary Differential Equations
  132. The tradeoffs of large scale learning

2018 183

  1. Towards a theory of software development expertise
  2. Identifying impactful service system problems via log analysis
  3. Applied machine learning at Facebook: a datacenter infrastructure perspective
  4. Darwinian data structure selection
  5. GraphIt: A high-performance graph DSL
  6. MadMax: surviving out-of-gas conditions in Ethereum smart contracts
  7. RapidChain: scaling blockchain via full sharding
  8. FairSwap: how to fairly exchange digital goods
  9. Securify: practical security analysis of smart contracts
  10. LEMNA: explaining deep learning based security applications
  11. Towards usable checksums: automating the integrity verification of web downloads for the masses
  12. BEAT: asynchronous BFT made practical
  13. Uncertainty propagation in data processing systems
  14. Continuum: a platform for cost-aware low-latency continual learning
  15. ScootR: scaling R dataframes on dataflow systems
  16. Overload control for scaling WeChat microservices
  17. Unikernels as processes
  18. Debugging distributed systems with why-across-time provenance
  19. ApproxJoin: approximate distributed joins
  20. ASAP: fast, approximate graph pattern mining at scale
  21. Sharding the shards: managing datastore locality at scale with Akkio
  22. The FuzzyLog: a partially ordered shared log
  23. Moment-based quantile sketches for efficient high cardinality aggregation queries
  24. Noria: dynamic, partially-stateful data-flow for high-performance web applications
  25. RobinHood: tail latency aware caching – dynamic reallocation from cache-rich to cache-poor
  26. Maelstrom: mitigating datacenter-level disasters by draining interdependent traffic safely and efficiently
  27. LegoOS: a disseminated, distributed OS for hardware resource disaggregation
  28. Orca: differential bug localization in large-scale services
  29. REPT: reverse debugging of failures in deployed software
  30. Capturing and enhancing in situ system observability for failure detection
  31. Automatic discovery of tactics in spatio-temporal soccer match data
  32. Detecting spacecraft anomalies using LSTMs and nonparametric dynamic thresholding
  33. Online parameter selection for web-based ranking problems
  34. I know you’ll be back: interpretable new user clustering and churn prediction on a mobile social application
  35. Customized regression model for Airbnb dynamic pricing
  36. Rosetta: large scale system for text detection and recognition in images
  37. Columnstore and B+ tree – are hybrid physical designs important?
  38. The design and implementation of modern column-oriented database systems
  39. Smoke: fine-grained lineage at interactive speed
  40. Same-different problems strain convolutional neural networks
  41. Relational inductive biases, deep learning, and graph networks
  42. The seven tools of causal inference with reflections on machine learning
  43. An empirical analysis of anonymity in Zcash
  44. QSYM: a practical concolic execution engine tailored for hybrid fuzzing
  45. NAVEX: Precise and scalable exploit generation for dynamic web applications
  46. Unveiling and quantifying Facebook exploitation of sensitive personal data for advertising purposes
  47. Who left open the cookie jar? A comprehensive evaluation of third-party cookie policies
  48. Fear the reaper: characterization and fast detection of card skimmers
  49. STTR: A system for tracking all vehicles all the time at the edge of the network
  50. Learning the structure of generative models without labeled data
  51. Training classifiers with natural language explanations
  52. Snorkel: rapid training data creation with weak supervision
  53. Filter before you parse: faster analytics on raw data with Sparser
  54. Fairness without demographics in repeated loss minimization
  55. Obfuscated gradients give a false sense of security: circumventing defenses to adversarial examples
  56. Delayed impact of fair machine learning
  57. Bounding data races in space and time – part II
  58. Bounding data races in space and time – part I
  59. HHVM JIT: A profile-guided, region-based compiler for PHP and Hack
  60. BLeak: automatically debugging memory leaks in web applications
  61. Here we go again!
  62. End of term
  63. Oblix: an efficient oblivious search index
  64. EnclaveDB: a secure database using SGX
  65. Grand Pwning Unit: Accelerating microarchitectural attacks with the GPU
  66. Privacy risks with Facebook’s PII-based targeting: auditing a data broker’s advertising interface
  67. The rise of the citizen developer: assessing the security impact of online app generators
  68. Debugging data flows in reactive programs
  69. How not to structure your database-backed web applications: a study of performance bugs in the wild
  70. Secure coding practices in Java: challenges and vulnerabilities
  71. Deep code search
  72. To distribute or not to distribute? Why licensing bugs matter
  73. Automated localization for unreproducible builds
  74. Generalized data structure synthesis
  75. ConflictJS: finding and understanding conflicts between JavaScript libraries
  76. Debugging with intelligence via probabilistic inference
  77. DeepTest: automated testing of deep-neural-network-driven autonomous cars
  78. Popular is cheaper: curtailing memory costs in interactive analytics engines
  79. Analytics with smart arrays: adaptive and efficient language-independent data
  80. Medea: scheduling of long running applications in shared production clusters
  81. Optimus: an efficient dynamic resource scheduler for deep learning clusters
  82. Improving the expressiveness of deep learning frameworks with recursion
  83. BDS: A centralized near-optimal overlay network for inter-datacenter data replication
  84. Dynamic control flow in large-scale machine learning
  85. Reducing DRAM footprint with NVM in Facebook
  86. ServiceFabric: a distributed platform for building microservices in the cloud
  87. Hyperledger fabric: a distributed operating system for permissioned blockchains
  88. ForkBase: an efficient storage engine for blockchain and forkable applications
  89. zkLedger: privacy-preserving auditing for distributed ledgers
  90. Towards a design philosophy for interoperable blockchain systems
  91. Measuring the tendency of CNNs to learn surface statistical regularities
  92. Large-scale analysis of style injection by relative path overwrite
  93. Unsupervised anomaly detection via variational auto-encoder for seasonal KPIs in web applications
  94. Algorithmic glass ceiling in social networks: the effects of social recommendations on network diversity
  95. Pixie: a system for recommending 3+ billion items to 200+ million users in real-time
  96. SafeKeeper: protecting web passwords using trusted execution environments
  97. Semantics and complexity of GraphQL
  98. Re-coding Black Mirror, Part V
  99. Re-coding Black Mirror Part IV
  100. Re-coding Black Mirror Part III
  101. Re-coding Black Mirror, Part II
  102. Re-coding Black Mirror, Part I
  103. Inaudible voice commands: the long-range attack and defense
  104. Progressive growing of GANs for improved quality, stability, and variation
  105. Photo-realistic single image super-resolution using a generative adversarial network
  106. Image-to-image translation with conditional adversarial networks
  107. Equality of opportunity in supervised learning
  108. Performance analysis of cloud applications
  109. Stateless datacenter load-balancing with Beamer
  110. Andromeda: performance, isolation, and velocity at scale in cloud network virtualization
  111. Azure accelerated networking: SmartNICs in the public cloud
  112. NetChain: Scale-free sub-RTT coordination
  113. SmoothOperator: reducing power fragmentation and improving power utilization in large-scale datacenters
  114. Skyway: connecting managed heaps in distributed big data systems
  115. Espresso: brewing Java for more non-volatility with non-volatile memory
  116. Watching for software inefficiencies with Witch
  117. WSMeter: A performance evaluation methodology for Google’s production warehouse-scale computers
  118. The architectural implications of autonomous driving: constraints and acceleration
  119. Darwin: a genomics co-processor provides up to 15,000x acceleration on long read assembly
  120. Google workloads for consumer devices: mitigating data movement bottlenecks
  121. Securing wireless neurostimulators
  122. PrivacyGuide: towards an implementation of the EU GDPR on Internet privacy policy evaluation
  123. End of Term
  124. The surprising creativity of digital evolution
  125. Adversarial patch
  126. Deep learning scaling is predictable, empirically
  127. Anna: A KVS for any scale
  128. Information flow reveals prediction limits in online social activity
  129. Tracking ransomware end-to-end
  130. Three years of the Right To Be Forgotten
  131. On purpose and by necessity: compliance under the GDPR
  132. Designing secure Ethereum smart contracts: a finite state machine approach
  133. A quantitive analysis of the impact of arbitrary blockchain content on Bitcoin
  134. When coding style survives compilation: de-anonymizing programmers from executable binaries
  135. Exposing congestion attack on emerging connected vehicle based traffic signal control
  136. Game of missuggestions: semantic analysis of search autocomplete manipulation
  137. JavaScript Zero: real JavaScript, and zero side-channel attacks
  138. Synode: understanding and automatically preventing injection attacks on Node.js
  139. Settling payments fast and private: efficient decentralized routing for path-based transactions
  140. Zeus: Analyzing safety of smart contracts
  141. Investigating ad transparency mechanisms in social media: a case study of Facebook’s explanations
  142. Bug fixes, improvements, … and privacy leaks
  143. Apps, trackers, privacy, and regulators: a global study of the mobile tracking ecosystem
  144. Towards web-based delta synchronization for cloud storage systems
  145. Clay codes: moulding MDS codes to yield an MSR code
  146. Barrier-enabled IO stack for Flash storage
  147. Protocol aware recovery for consensus-based storage
  148. Fail-slow at scale: evidence of hardware performance faults in large production systems
  149. As we may think
  150. Dynamic word embeddings for evolving semantic discovery
  151. Can you trust the trend? Discovering Simpson’s paradoxes in social data
  152. Putting data in the driver’s seat: optimising earnings for on-demand ride hailing
  153. Tracing fake news footprints: characterizing social media messages by how they propagate
  154. Decentralisation in Bitcoin and Ethereum networks
  155. A survey on security and privacy issues of Bitcoin
  156. SoK: Research perspectives and challenges for Bitcoin and cryptocurrency – Part II
  157. SoK: Research perspective and challenges for Bitcoin and cryptocurrency – Part I
  158. SoK: Consensus in the age of blockchains
  159. OmniLedger: a secure, scale-out decentralized ledger via sharding
  160. Chainspace: a sharded smart contracts platform
  161. Blockstack: a global naming and storage system secured by blockchain
  162. Quantum algorithms: an overview
  163. Quantum computing in the NISQ era and beyond
  164. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer
  165. Learning representations by back-propagating errors
  166. A theory of the learnable
  167. A sample of brilliance
  168. The paradigms of programming
  169. A practitioner’s guide to reading programming languages papers
  170. A static verification framework for message passing in Go using behavioural types
  171. Linear Haskell: Practical linearity in a higher-order polymorphic language
  172. Why is random testing effective for partition tolerance bugs?
  173. Programming and proving with distributed protocols
  174. JaVerT: JavaScript Verification Toolchain
  175. RustBelt: securing the foundations of the Rust programming language
  176. Some thoughts on security after ten years of qmail 1.0
  177. Spectre attacks: exploiting speculative execution
  178. Meltdown
  179. One model to learn them all
  180. Emergent complexity via multi-agent competition
  181. Mastering chess and shogi by self-play with a general reinforcement learning algorithm
  182. The case for learned index structures – Part II
  183. The case for learned index structures – part I

2017 226

  1. End of term
  2. Bolt: anonymous payment channels for decentralized currencies – Part II
  3. Bolt: anonymous payment channels for decentralized currencies – part I
  4. Solidus: confidential distributed ledger transactions using PVORM
  5. Tail attacks on web applications
  6. Economic factors of vulnerability trade and exploitation
  7. Be selfish and avoid dilemmas: fork-after-withholding attacks on Bitcoin
  8. The dynamics of innocent flesh on the bone: code reuse ten years later
  9. Hindsight: understanding the evolution of UI vulnerabilities in mobile browsers
  10. ffwd: delegation is (much) faster than you think
  11. Analyzing software requirements errors in safety-critical embedded systems
  12. The role of software in spacecraft accidents
  13. Concrete problems in AI safety
  14. Popularity predictions of Facebook videos for higher quality streaming
  15. SVE: Distributed video processing at Facebook scale
  16. On the information bottleneck theory of deep learning
  17. KV-Direct: High-performance in-memory key-value store with programmable NIC
  18. Canopy: an end-to-end performance tracing and analysis system
  19. Algorand: scaling Byzantine agreements for cryptocurrencies
  20. DéjàVu: a map of code duplicates on GitHub
  21. Mastering the game of Go without human knowledge
  22. Opening the black box of deep neural networks via information – Part II
  23. Opening the black box of deep neural networks via information – part I
  24. Matrix capsules with EM routing
  25. Dynamic routing between capsules
  26. A model for reasoning about JavaScript promises
  27. Type test scripts for TypeScript testing
  28. Fast and precise type checking for JavaScript
  29. Virtual machine warmup blows hot and cold
  30. Statistically rigorous Java performance evaluation
  31. Log20: Fully automated optimal placement of log printing statements under specified overhead threshold
  32. My VM is lighter (and safer) than your container
  33. DeepXplore: automated whitebox testing of deep learning systems
  34. Same stats, different graphs: generating datasets with varied appearance and identical statistics through simulated annealing
  35. Occupy the cloud: distributed computing for the 99%
  36. Learning networking by reproducing research results
  37. The QUIC transport protocol: design and Internet-scale deployment
  38. Why does the neocortex have columns, a theory of learning the structure of the world
  39. Continuous online sequence learning with an unsupervised neural network model
  40. Why neurons have thousands of synapses, a theory of sequence memory in neocortex
  41. Computing machinery and intelligence
  42. Serverless computing: economic and architectural impact
  43. On understanding software agility – a social complexity point of view
  44. The new dynamics of strategy: sense-making in a complex and complicated world
  45. “A Rail of One’s Own” – Creating spaces for women in IT
  46. BadNets: Identifying vulnerabilities in the machine learning model supply chain
  47. CHAINIAC: Proactive software update transparency via collectively signed skipchains and verified builds
  48. TrustBase: an architecture to repair and strengthen certificate-based authentication
  49. Pretzel: email encryption and provider-supplied functions are compatible
  50. Detecting credential spearphishing attacks in enterprise settings
  51. A century of science: globalization of scientific collaborations, citations, and innovations
  52. HoTTSQL: Proving query rewrites with univalent SQL semantics
  53. ActiveClean: Interactive data cleaning for statistical modeling
  54. TFX: A TensorFlow-based production scale machine learning platform
  55. Google Vizier: A service for black-box optimization
  56. The evolution of continuous experimentation in software product development
  57. Peeking at A/B tests: continuous monitoring without pain
  58. An efficient bandit algorithm for real-time multivariate optimization
  59. Seven rules of thumb for web site experimenters
  60. A dirty dozen: twelve common metric interpretation pitfalls in online controlled experiments
  61. Distributed deep neural networks over the cloud, the edge, and end devices
  62. CLKSCREW: Exposing the perils of security-oblivious energy management
  63. A longitudinal, end-to-end view of the DNSSEC ecosystem
  64. To type or not to type: quantifying detectable bugs in JavaScript
  65. Bringing the web up to speed with WebAssembly
  66. Struc2vec: learning node representations from structural identity
  67. Accelerating innovation through analogy mining
  68. Adversarial examples for evaluating reading comprehension systems
  69. Universal adversarial perturbations
  70. Learning transferable architectures for scalable image recognition
  71. The ring of Gyges: investigating the future of criminal smart contracts
  72. SmartPool: Practical decentralized mining
  73. REM: Resource-efficient mining for blockchains
  74. Luck is hard to beat: the difficulty of sports prediction
  75. “The Leicester City fairytale?”: Utilizing new soccer analytics tools to compare performance in the 15/16 and 16/17 EPL seasons
  76. Step by step towards creating a safe smart contract: lessons from a cryptocurrency lab
  77. Adding concurrency to smart contracts
  78. A concurrent perspective on smart contracts
  79. Seeing is believing: a client-centric specification of database isolation
  80. Using chatbots against voicespam: analyzing Lenny’s effectiveness
  81. Towards deploying decommissioned mobile devices as cheap energy-efficient compute nodes
  82. A cloud-based content gathering network
  83. Growing a protocol
  84. JavaScript for extending low-latency in-memory key-value stores
  85. Paracloud: bringing application insight into cloud operations
  86. Deep photo style transfer
  87. On the design of distributed programming models
  88. Interactions of individual and pair programmers with an intelligent tutoring system for computer science
  89. Writing parsers like it is 2017
  90. Cardiologist-level arrhythmia detection with convolutional neural networks
  91. Automatic database management system tuning through large-scale machine learning
  92. Enabling signal processing over data streams
  93. Complete event trend detection in high-rate data streams
  94. A general purpose counting filter: making every bit count
  95. ACIDRain: concurrency-related attacks on database backed web applications
  96. End of term, and Orders of Magnitude
  97. Do we need specialized graph databases? Benchmarking real-time social networking applications
  98. Using word embedding to enable semantic queries on relational databases
  99. Blockbench: a framework for analyzing private blockchains
  100. Azure Data Lake Store: a hyperscale distributed file service for big data analytics
  101. Spanner: becoming a SQL system
  102. Dhalion: self-regulating stream processing in Heron
  103. Twitter Heron: towards extensible streaming engines
  104. An experimental security analysis of an industrial robot controller
  105. Hijacking Bitcoin: routing attacks on cryptocurrencies
  106. SoK: Cryptographically protected database search
  107. Cloak and dagger: from two permissions to complete control of the UI feedback loop
  108. IoT goes nuclear: creating a ZigBee chain reaction
  109. The password reset MitM attack
  110. How they did it: an analysis of emissions defeat devices in modern automobiles
  111. Hardware is the new software
  112. Why your encrypted database is not secure
  113. Gray failure: the Achilles’ heel of cloud-scale systems
  114. System programming in Rust: beyond safety
  115. A dissection of the test-driven development process: does it really matter to test-first or test-last?
  116. Decoding the representation of code in the brain: an fMRI study of code review and expertise
  117. Node.fz: fuzzing the server-side event-driven architecture
  118. SyncPerf: Categorizing, detecting, and diagnosing synchronization performance bugs
  119. RFP: When RPC is faster than server-bypass with RDMA
  120. SGXBounds: memory safety for shielded execution
  121. Hybrids on Steroids: SGX-based high-performance BFT
  122. Statistical analysis of latency through semantic profiling
  123. DStress: Efficient differentially private computations on distributed data
  124. Online reconstruction of structural information from datacenter logs
  125. Mosaic: processing a trillion-edge graph on a single machine
  126. An empirical study on the correctness of formally verified distributed systems
  127. Apps with hardware: enabling run-time architectural customization in smart phones
  128. Neurosurgeon: collaborative intelligence between the cloud and the mobile edge
  129. Bolt: I know what you did last summer… in the cloud
  130. Determining application-specific peak power and energy requirements for ultra-low power processors
  131. Typed Architectures: architectural support for lightweight scripting
  132. Who controls the Internet? Analyzing global threats using property traversal graphs
  133. BOAT: Building auto-tuners with structured Bayesian optimization
  134. DeepSense: a unified deep learning framework for time-series mobile sensing data processing
  135. Usage patterns and the economics of the public cloud
  136. Trajectory recovery from Ash: User privacy is NOT preserved in aggregated mobility data
  137. Learning to act by predicting the future
  138. Understanding deep learning requires re-thinking generalization
  139. Neural architecture search with reinforcement learning
  140. Semi-supervised knowledge transfer for deep learning from private training data
  141. End-to-end optimized image compression
  142. Efficient memory disaggregation with Infiniswap
  143. CherryPick: Adaptively unearthing the best cloud configurations for big data analytics
  144. vCorfu: A cloud-scale object store on a shared log
  145. Corfu: A distributed shared log
  146. The design, implementation and deployment of a system to transparently compress hundreds of petabytes of image files for a file storage service
  147. FM Backscatter: Enabling connected cities and smart fabrics
  148. ViewMap: Sharing private in-vehicle dashcam videos
  149. Improving user perceived page load time using gaze
  150. FarmBeats: An IoT platform for data-driven agriculture
  151. Bringing IoT to sports analytics
  152. End of term, and thank you to the ACM
  153. SGXIO: Generic trusted I/O path for Intel SGX
  154. Detecting ROP with statistical learning of program characteristics
  155. The curious case of the PDF converter that likes Mozart
  156. If you can’t beat them, join them: a usability approach to interdependent privacy in cloud apps
  157. A study of security vulnerabilities on Docker Hub
  158. BBR: Congestion-based congestion control
  159. Stochastic program optimization
  160. DeepCoder: Learning to write programs
  161. Large-scale evolution of image classifiers
  162. Ethically aligned design
  163. A miscellany of fun deep learning papers
  164. Recurrent Neural Network models
  165. Convolution neural networks, Part 3
  166. Convolution neural nets, Part 2
  167. Convolutional neural networks, Part 1
  168. Omid reloaded: scalable and highly-available transaction processing
  169. Deconstructing Xen
  170. Application crash consistency and performance with CCFS
  171. Panoply: Low-TCB Linux applications with SGX enclaves
  172. Enlightening the I/O path: A holistic approach for application performance
  173. Chronix: Long term storage and retrieval technology for anomaly detection in operational data
  174. MaMaDroid: Detecting Android malware by building Markov chains of behavorial models
  175. Redundancy does not imply fault tolerance: analysis of distributed storage reactions to single errors and corruptions
  176. Thou shalt not depend on me: analysing the use of outdated JavaScript libraries on the web
  177. HopFS: Scaling hierarchical file system metadata using NewSQL databases
  178. RNN models for image generation
  179. Unsupervised learning and GANs
  180. Optimisation and training techniques for deep learning
  181. When DNNs go wrong – adversarial examples and what we can learn from them
  182. Understanding, generalisation, and transfer learning in deep neural networks
  183. An experiment with awesome deep learning papers
  184. On decentralizing prediction markets and order books
  185. Making smart contracts smarter
  186. A first look at the usabilty of Bitcoin key management
  187. Zerocash: Decentralized anonymous payments from Bitcoin
  188. A fistful of Bitcoins: Characterizing payments among men with no names
  189. Online actions with offline impact: how online social networks influence online and offline social behavior
  190. Beyond the words: predicting user personality from heterogeneous information
  191. RedQueen: An online algorithm for smart broadcasting in social networks
  192. Reducing controversy by connecting opposing views
  193. Quantifying controversy in social media
  194. Learning to protect communications with adversarial neural cryptography
  195. Value iteration networks
  196. Does the online card payment landscape unwittingly facilitate fraud?
  197. Finding security bugs in web applications using a catalog of access control patterns
  198. Password managers: attacks and defenses
  199. Dynamics on emerging spaces: modeling the emergence of novelties
  200. Fencing off Go: Liveness and safety for channel-based programming
  201. Explaining outputs in modern data analytics
  202. European Union regulations on algorithmic decision making and a “right to explanation”
  203. How good are query optimizers, really?
  204. Cardinality estimation done right: index-based join sampling
  205. The truth, the whole truth, and nothing but the truth: a pragmatic guide to assessing empirical evaluations
  206. Toward sustainable insights, or why polygamy is bad for you
  207. Data provenance at internet scale: architecture, experiences, and the road ahead
  208. Ground: A data context service
  209. Dependency-driven analytics: a compass for uncharted data oceans
  210. Prioritizing attention in fast data: principles and promise
  211. SnappyData: A unified cluster for streaming, transactions, and interactive analytics
  212. Self-driving database management systems
  213. Weld: A common runtime for high performance data analytics
  214. Innovation, experience-based insight and vision at CIDR ’17
  215. Incremental consistency guarantees for replicated objects
  216. The many faces of consistency
  217. Adaptive logging: optimizing logging and recovery costs in distributed in-memory databases
  218. Shasta: Interactive reporting at scale
  219. Apache Hadoop YARN: Yet another resource negotiator
  220. “A Distributed Systems Seminar Reading List,” Spring 2017 edition
  221. Strategic attentive writer for learning macro-actions
  222. Unsupervised learning of 3D structure from images
  223. Learning to learn by gradient descent by gradient descent
  224. Matching networks for one shot learning
  225. Interaction networks for learning about objects, relations and physics
  226. Welcome to 2017

2016 216

  1. My New Year’s Resolution – read a research paper every (week)day
  2. So that was 2016
  3. TensorFlow: A system for large-scale machine learning
  4. FaSST: Fast, scalable and simple distributed transactions with two-sided (RDMA) datagram RPCs
  5. SCONE: Secure Linux containers with Intel SGX
  6. Diamond: Automating data management and storage for wide-area, reactive applications
  7. XFT: Practical fault-tolerance beyond crashes
  8. DQBarge: Improving data-quality tradeoffs in large-scale internet services
  9. Just say NO to Paxos overhead: replacing consensus with network ordering
  10. Interlude: On assumptions
  11. The SNOW theorem and latency-optimal read-only transactions
  12. REX: A development platform and online learning approach for runtime emergent software systems
  13. Slicer: Auto-sharding for datacenter applications
  14. Morpheus: Towards automated SLOs for enterprise clusters
  15. Firmament: Fast, centralized cluster scheduling at scale
  16. Early detection of configuration errors to reduce failure damage
  17. Kraken: Leveraging live traffic tests to identify and resolve resource utilization bottlenecks in large scale web services
  18. Building machines that learn and think like people
  19. Smart Reply: Automated response suggestion for email
  20. Playing FPS games with deep reinforcement learning
  21. Achieving human parity in conversational speech recognition
  22. Artificial Intelligence and life in 2030
  23. The Honey Badger of BFT protocols
  24. Twice the bits, twice the trouble: vulnerabilities induced by migrating to 64-bit platforms
  25. Generic attacks on secure outsourced databases
  26. Breaking web applications built on top of encrypted data
  27. Acing the IOC game: toward automatic discovery and analysis of open-source cyber threat intelligence
  28. Error handling of in-vehicle networks makes them vulnerable
  29. When CSI meets public wifi: Inferring your mobile phone password via wifi signals
  30. Leave your phone at the door: side channels that reveal factory floor secrets
  31. On formalism in specifications
  32. A comprehensive formal security analysis of OAuth 2.0
  33. Scaling Spark in the real world: performance and usability
  34. Algorithmic improvements for fast concurrent cuckoo hashing
  35. MemC3: Compact and concurrent Memcache with dumber caching and smarter hashing
  36. Getting beyond MVP
  37. Designing software for ease of extension and contraction
  38. A Bayesian approach to graphical record linkage and de-duplication
  39. Replex: A scalable, highly available multi-index data store
  40. Preemptive intrusion detection: theoretical framework and real-world measurements
  41. Purposes, concepts, misfits, and a redesign of Git
  42. What’s wrong with Git? A conceptual design analysis
  43. A design methodology for reliable software systems
  44. Programming with Abstract Data Types
  45. Protection in programming languages
  46. Hierarchical program structures
  47. Information distribution aspects of design methodology
  48. Program development by stepwise refinement
  49. Go to statement considered harmful
  50. Towards deep symbolic reinforcement learning
  51. Progressive neural networks
  52. Asynchronous methods for deep reinforcement learning
  53. Incremental knowledge base construction using DeepDive
  54. Simple testing can prevent most critical failures
  55. Why does deep and cheap learning work so well?
  56. Cyclades: Conflict-free asynchronous machine learning
  57. The load, capacity, and availability of quorum systems
  58. Write-limited sorts and joins for persistent memory
  59. Let’s talk about storage and recovery methods for non-volatile memory database systems
  60. Distributed consensus and the implications of NVM on database management systems
  61. Flexible Paxos: Quorum intersection revisited
  62. Time evolving graph processing at scale
  63. Texture networks: feed-forward synthesis of textures and stylized images
  64. Why should I trust you? Explaining the predictions of any classifier
  65. The Morning Paper on Operability
  66. Mastering the game of Go with deep neural networks and tree search
  67. Deep neural networks for YouTube recommendations
  68. Hints for computer system design
  69. The Rise of Worse is Better
  70. Why Functional Programming Matters
  71. Data on the Outside versus Data on the Inside
  72. On designing and deploying internet-scale services
  73. Reflections on trusting trust
  74. Computer programming as an art
  75. The Emperor’s Old Clothes
  76. No Silver Bullet – essence and accident in software engineering
  77. On the criteria to be used in decomposing systems into modules
  78. End of Term, and the power of compound interest
  79. Time-adaptive sketches (Ada sketches) for summarizing data streams
  80. Range thresholding on streams
  81. Sharing-aware outlier analytics over high-volume data streams
  82. Progressive skyline computation in database systems
  83. Spheres of influence for more effective viral marketing
  84. DBSherlock: A performance diagnostic tool for transactional databases
  85. Ambry: LinkedIn’s scalable geo-distributed object store
  86. Goods: organizing Google’s datasets
  87. Realtime data processing at Facebook
  88. Ten challenges in highly-interactive dialog systems
  89. Multi-domain dialog state tracking using recurrent neural networks
  90. Machine learning for dialog state tracking: a review
  91. End-to-end learning of semantic role labeling using recurrent neural networks
  92. Natural language understanding (almost) from scratch
  93. Building end-to-end dialogue systems using generative hierarchical neural network models
  94. Incorporating (a) copying mechanism in sequence to sequence learning
  95. A neural conversation model
  96. A survey of available corpora for building data-driven dialogue systems
  97. On chatbots
  98. Transactional data structure libraries
  99. AI^2: Training a big data machine to defend
  100. Hacking Blind
  101. BlindBox: Deep packet inspection over encrypted traffic
  102. Multi-context TLS (mcTLS): Enabling secure in-network functionality in TLS
  103. E2: A framework for NFV applications
  104. Shielding applications from an untrusted cloud with Haven
  105. IX: A protected dataplane operating system for high throughput and low latency
  106. Arrakis: the operating system is the control plane
  107. Identifying and quantifying architectural debt
  108. Hotspot Patterns: The formal definition and automatic detection of architecture smells
  109. Design Rule Spaces: A new form of architectural insight
  110. On the “naturalness” of buggy code
  111. BigDebug: Debugging primitives for interactive big data processing in Spark
  112. From Aristotle to Ringelmann
  113. Semi-supervised sequence learning
  114. Sequence to sequence learning with neural networks
  115. Distributed representations of sentences and documents
  116. How to build static checking systems using orders of magnitude less code
  117. Why do record/replay tests of web applications break?
  118. A DNA-based archival storage system
  119. HCloud: Resource-efficient provisioning in shared cloud systems
  120. SocialHash: An assignment framework for optimizing distributed systems operations on social networks
  121. StreamScope: Continuous reliable distributed processing of big data streams
  122. Efficiently compiling efficient query plans for modern hardware
  123. The landscape of domain name typosquatting: techniques and countermeasures
  124. Understanding malvertising through ad-injecting browser extensions
  125. Knowing your enemy: understanding and detecting malicious web advertising
  126. PharmaLeaks: Understanding the business of online pharmaceutical affiliate programs
  127. Click Trajectories: End-to-end analysis of the spam value chain
  128. Dynamic Time Warping averaging of time series allows faster and more accurate classification
  129. Time series classification under more realistic assumptions
  130. Searching and mining trillions of time series subsequences under Dynamic Time Warping
  131. Towards parameter-free data mining
  132. Finding surprising patterns in a time series database in linear time and space
  133. NOVA: A Log-Structured File System for Hybrid Volatile/Non-Volatile Main Memories
  134. Uncovering bugs in Distributed Storage Systems during Testing (not in production!)
  135. BTrDB: Optimizing Storage System Design for Timeseries Processing
  136. Gorilla: A fast, scalable, in-memory time series database
  137. Slacker: Fast Distribution with Lazy Docker Containers
  138. Optimizing Distributed Actor Systems for Dynamic Interactive Services
  139. Data Tiering in Heterogeneous Memory Systems
  140. GeePS: Scalable deep learning on distributed GPUs with a GPU-specialized parameter server
  141. The Linux Scheduler: a Decade of Wasted Cores
  142. Delta State Replicated Data Types
  143. GloVe: Global Vectors for Word Representation
  144. The amazing power of word vectors
  145. ImageNet Classification with Deep Convolutional Neural Networks
  146. Context-Dependent Pre-Trained Deep Neural Networks for Large-Vocabulary Speech Recognition
  147. Deep Learning in Neural Networks: An Overview
  148. End of term
  149. Scalable and private media consumption with Popcorn
  150. Ernest: Efficient Performance Prediction for Large-Scale Advanced Analytics
  151. Diplomat: Using Delegations to Protect Community Repositories
  152. Polaris: Faster Page Loads Using Fine-Grained Dependency Tracking
  153. Speeding up Web Page Loads with Shandian
  154. Sieve: Cryptographically Enforced Access Control for User Data in Untrusted Clouds
  155. Cliffhanger: Scaling Performance Cliffs in Web Memory Caches
  156. FairRide: Near-Optimal, Fair Cache Sharing
  157. Universal Packet Scheduling
  158. Maglev: A Fast and Reliable Software Network Load Balancer
  159. Distributed TensorFlow with MPI
  160. HyperLogLog in Practice: Algorithmic Engineering of a State of the Art Cardinality Estimation Algorithm
  161. MacroBase: Analytic Monitoring for the Internet of Things
  162. A Taxonomy of Attacks and a Survey of Defence Mechanisms for Semantic Social Engineering Attacks
  163. Secrets, Lies, and Account Recovery: Lessons from the Use of Personal Knowledge Questions at Google
  164. Strategic Dialogue Management via Deep Reinforcement Learning
  165. Memory Networks
  166. Neural Turing Machines
  167. CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy
  168. Trajectory Data Mining: An Overview
  169. Google’s Hybrid Approach to Research
  170. Inferring Causal Impact Using Bayesian Structural Time-Series Models
  171. Graying the Black Box: Understanding DQNs
  172. Ad Click Prediction: A View from the Trenches
  173. Machine Learning: The High-Interest Credit Card of Technical Debt
  174. Distributed Consistency and Session Anomalies
  175. Generalized Isolation Level Definitions
  176. A Critique of ANSI SQL Isolation Levels
  177. Not-quite-so-broken TLS: lessons in re-engineering a security protocol specification and implementation
  178. IncludeOS: A minimal, resource efficient unikernel for cloud systems
  179. Formal Requirements for Virtualizable Third Generation Architectures
  180. Ownership and Reference Counting Based Garbage Collection in the Actor World
  181. Deny Capabilities for Safe, Fast Actors
  182. Capability Myths Demolished
  183. A Short Note on Atomicity and Ordering
  184. Using Crash Hoare Logic for Certifying the FSCQ File System
  185. All File Systems are Not Created Equal: On the Complexity of Crafting Crash Consistent Applications
  186. How Complex Systems Fail
  187. The Heard-Of Model: Computing in Distributed Systems with Benign Failures
  188. Chapar: Certified Causally Consistent Distributed Key-Value Stores
  189. Is Sound Gradual Typing Dead?
  190. Reducing Crash Recoverability to Reachability
  191. ‘Cause I’m Strong Enough: Reasoning About Consistency Choices in Distributed Systems
  192. Modelling the ARM v8 Architecture, Operationally: Concurrency and ISA
  193. PSync: A Partially Synchronous Language for Fault-Tolerant Distributed Algorithms
  194. POPL 2016
  195. Panopticon: An Omniscient Lock Broker for Efficient Distributed Transactions in the Datacenter
  196. Chimera: Large-Scale Classification Using Machine Learning, Rules, and Crowdsourcing
  197. Petuum: A New Platform for Distributed Machine Learning on Big Data
  198. Arabesque: A System for Distributed Graph Mining
  199. The Design and Implementation of the Wave Transactional Filesystem
  200. A Distributed Systems Seminar Reading List…
  201. All Change Please
  202. Blurred Persistence: Efficient Transactions in Persistent Memory
  203. From ARIES to MARS: Transaction Support for Next-Generation Solid State Drives
  204. Experience with Rules-Based Programming for Distributed Concurrent Fault-Tolerant Code
  205. The RAMCloud Storage System
  206. Non-volatile Storage
  207. No Compromises: Distributed Transactions with Consistency, Availability, and Performance
  208. Consensus on Transaction Commit
  209. Transaction Management in the R* Distributed Database Management System – Part II
  210. Transaction Management in the R* Distributed Database Management System – Part I
  211. ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks
  212. Concurrency Control Performance Modeling: Alternatives and Implications
  213. Granularity of Locks and Degree of Consistency in a Shared Data Base – Part II
  214. Granularity of Locks and Degree of Consistency in a Shared Data Base – Part I
  215. Access Path Selection in a Relational Database Management System
  216. (Database) Techiques Everyone Should Know

2015 220

  1. A Year in Papers
  2. Reactive Vega: A Streaming Dataflow Architecture for Declarative Interactive Visualization
  3. We Have a DREAM: Distributed Reactive Programming with Consistency Guarantees
  4. Asynchronous Functional Reactive Programming for GUIs
  5. A Survey on Reactive Programming
  6. Functional Reactive Animation
  7. Prudent Engineering Practice for Cryptographic Protocols
  8. Fast and Vulnerable: A Story of Telematic Failures
  9. Experimental Security Analysis of a Modern Automobile
  10. The geometry of innocent flesh on the bone: Return-into-libc without function calls (on x86)
  11. SoK: Eternal War in Memory
  12. Optimizing Hash-Array Mapped Tries for Fast and Lean Immutable JVM Collections
  13. Asynchronous Complex Analytics in a Distributed Dataflow Architecture
  14. FIT: A Distributed Database Performance Trade-off
  15. GD-Wheel: A Cost-Aware Replacement Policy for Key-Value Stores
  16. Hashed and Hierarchical Timing Wheels: Data Structures for the Efficient Implementation of a Timer Facility
  17. Moving Fast with Software Verification
  18. Fail at Scale & Controlling Queue Delay
  19. Minimizing Faulty Executions of Distributed Systems
  20. Hierarchical Delta Debugging
  21. Simplifying and Isolating Failure-Inducing Input
  22. Scrap Your Boilerplate with Object Algebras
  23. A Sound and Optimal Incremental Build System with Dynamic Dependencies
  24. The O-Ring Theory of DevOps
  25. Runtime Metric Meets Developer – Building Better Cloud Applications Using Feedback
  26. From APIs to Languages: Generalising Method Names
  27. Monocular SLAM Supported Object Recognition
  28. Simultaneous Localization and Mapping: Part I History of the SLAM problem
  29. A Robust Layered Control System for a Mobile Robot
  30. Human-Robot Teaming for Rescue Missions: Team ViGIR’s Approach to the 2013 DARPA Robotics Challenge Trials
  31. ROS: An open-source Robot Operating System
  32. Symmetry Reduction Enables Model Checking of More Complex Emerging Behaviours of Swarm Navigation Algorithms
  33. How to memorize a random 60-bit string
  34. Split-Level IO Scheduling
  35. Read-Log-Update: A Lightweight Synchronization Mechanism for Concurrent Programming
  36. Fast In-memory Transaction Processing using RDMA and HTM
  37. Vuvuzela: Scalable Private Messaging Resistant to Traffic Analysis
  38. Implementing Linearizability at Large Scale and Low Latency
  39. Building Consistent Transactions with Inconsistent Replication
  40. High-Performance ACID via Modular Concurrency Control
  41. Existential Consistency: Measuring and Understanding Consistency at Facebook
  42. Holistic Configuration Management at Facebook
  43. IronFleet: Proving Practical Distributed Systems Correct
  44. Coz: Finding code that counts with causal profiling
  45. Pivot Tracing: Dynamic Causal Monitoring for Distributed Systems
  46. Failure Sketching: A Technique for Automated Root Cause Diagnosis of In-Production Failures
  47. App-Bisect: Autonomous healing for microservices-based apps
  48. lprof: A Non-intrusive Request-Flow Profiler for Distributed Systems
  49. The Mystery Machine: End-to-end performance analysis of large-scale internet services
  50. Dapper, A Large Scale Distributed Systems Tracing Infrastructure
  51. IPFS – Content Addressed, Versioned, P2P File System
  52. Cloud Computing Resource Scheduling and a Survey of its Evolutionary Approaches
  53. Misbehavior in Bitcoin: A Study of Double-Spending and Accountability
  54. A Pact with the Devil
  55. Distributed Information Processing in Biological and Computational Systems
  56. Flower Pollination Algorithm for Global Optimization
  57. Cuckoo Search via Lévy Flights
  58. A New Metaheuristic Bat-Inspired Algorithm
  59. Firefly Algorithms for Multimodal Optimization
  60. Ant Algorithms for Discrete Optimization
  61. Particle Swarm Optimization
  62. Buffer Overflows: Attacks and Defenses for the Vulnerability of the Decade
  63. Lessons Learned in Implementing and Deploying Crypto Software
  64. Mining your Ps and Qs: Detection of Widespread Weak Keys in Network Devices
  65. MD5 To Be Considered Harmful Someday
  66. Fast Database Restarts at Facebook
  67. Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google’s Datacenter Network
  68. Out of the Fire Swamp – Part III, Go with the flow.
  69. Out of the Fire Swamp – Part II, Peering into the mist
  70. Out of the Fire Swamp* – Part I, ‘The Data Crisis’
  71. Consistency Without Borders
  72. Feral Concurrency Control: An Empirical Investigation of Modern Application Integrity
  73. Quantifying Isolation Anomalies
  74. The Potential Dangers of Causal Consistency and an Explicit Solution
  75. Bolt-on Causal Consistency
  76. Probabilistically Bounded Staleness for Practical Partial Quorums
  77. Mining and Summarizing Customer Reviews
  78. Optimizing Search Engines using Clickthrough Data
  79. Mining High-Speed Data Streams
  80. Efficient Algorithms for Public-Private Social Networks
  81. A Machine Learning Framework to Identify Students at Risk of Adverse Academic Outcomes
  82. MillWheel: Fault-Tolerant Stream Processing at Internet Scale
  83. Virtual Time
  84. Asynchronous Distributed Snapshots for Distributed Dataflows
  85. The Dataflow Model: A Practical Approach to Balancing Correctness, Latency, and Cost in Massive-Scale, Unbounded, Out-of-Order Data Processing
  86. Lasp: A language for distributed, coordination-free programming
  87. PerfBlower: Quickly Detecting Memory-Related Performance Problems via Amplification
  88. Streams à la carte: Extensible pipelines with object algebras
  89. Global Sequence Protocol
  90. Cloud Types for Eventual Consistency
  91. Eventually Consistent Transactions
  92. Access Rights Analysis in the Presence of Subjects
  93. Cooking the Books: Formalizing the JMM Implementation Recipes
  94. Optimization Coaching for JavaScript
  95. The Good, the Bad, and the Ugly: An Empirical Study of Implicit Type Conversions in JavaScript
  96. Towards Practical Gradual Typing
  97. Welcome Back – and ECOOP ’15
  98. Summer Recess
  99. Helping Developers Help Themselves: Automatic Decomposition of Code Review Changes
  100. The Art of Testing Less Without Sacrificing Quality
  101. When and Why Your Code Starts to Smell Bad
  102. Work Practices and Challenges in Pull-Based Development
  103. How Much Up-Front? A Grounded Theory of Agile Architecture
  104. Discretized Streams: Fault Tolerant Stream Computing at Scale
  105. Spinning Fast Iterative Dataflows
  106. Differential Dataflow
  107. Heracles: Improving Resource Efficiency at Scale
  108. Twitter Heron: Stream Processing at Scale
  109. Naiad: A Timely Dataflow System
  110. The Drinking Philosophers Problem
  111. A higher order estimate of the optimum checkpoint interval for restart dumps
  112. Detecting Termination of Distributed Computations Using Markers
  113. A Bridging Model for Parallel Computation
  114. Scalability! But at what COST?
  115. Blogel: A Block-Centric Framework for Distributed Computation on Real-World Graphs
  116. Pregelix: Big(ger) Graph Analytics on a Dataflow Engine
  117. FlashGraph: Processing Billion Node Graphs on an Array of Commodity SSDs
  118. GraphX: Graph Processing in a Distributed Dataflow Framework
  119. PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs
  120. Distributed GraphLab: A framework for machine learning and data mining in the cloud
  121. GraphLab: A new framework for parallel machine learning
  122. Pregel: A System for Large-Scale Graph Processing
  123. Exploring Complex Networks
  124. FAWN: A Fast Array of Wimpy Nodes
  125. Congestion Avoidance and Control
  126. FaRM: Fast Remote Memory
  127. TAO: Facebook’s Distributed Data Store for the Social Graph
  128. Practical Byzantine Fault Tolerance
  129. FastRoute: A scalable load-aware anycast routing architecture for modern CDNs
  130. Wormhole: Reliable pub-sub to support Geo-Replicated Internet Services
  131. The Design and Implementation of Open vSwitch
  132. Queues don’t matter when you can JUMP them
  133. Jitsu: Just-in time summoning of unikernels
  134. Extensible Distributed Coordination
  135. Large-scale cluster management at Google with Borg
  136. Blade: A data center garbage collector
  137. Taming uncertainty in distributed systems with help from the network
  138. Putting Consistency Back into Eventual Consistency
  139. Staring into the abyss: An evaluation of concurrency control with one thousand cores
  140. Scaling Concurrent Log-Structured Data Stores
  141. Applying the Universal Scalability Law to organisations
  142. Musketeer – Part II: all for one, and one for all in data processing systems
  143. Musketeer – Part I : What’s the best data processing system?
  144. The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors
  145. From the Aether to the Ethernet – Attacking the Internet using Broadcast Digital Television
  146. Distributed Snapshots: Determining Global States of Distributed Systems
  147. Declarative Interaction Design for Data Visualization
  148. Making Sense of Performance in Data Analytics Frameworks
  149. Asynchronized Concurrency: The Secret to Scaling Concurrent Search Data Structures
  150. ApproxHadoop: Bringing Approximations to MapReduce Frameworks
  151. Cross-layer scheduling in cloud systems
  152. Mojim: A Reliable and Highly-Available Non-Volatile Memory System
  153. Sirius: An open end-to-end voice and vision personal assistant and its implications for future warehouse scale computers
  154. End of Term! (and how I read a paper…)
  155. Scalable Atomic Visibility with RAMP Transactions
  156. Lineage-driven Fault Injection
  157. SAMC: Semantic-aware model checking for fast discovery of deep bugs in cloud systems
  158. Combining static model checking with dynamic enforcement using the Statecall Policy Language
  159. Building on quicksand
  160. Out of the Tar Pit
  161. Coordination Avoidance in Database Systems
  162. A Comprehensive study of Convergent and Commutative Replicated Data Types
  163. Consistency, Availability, and Convergence + COPS
  164. Consistency analysis in Bloom: a CALM and collected approach
  165. Desert Island Papers: Jonas Bonér
  166. Raft Refloated: Do we have consensus?
  167. In Search of an Understandable Consensus Algorithm
  168. Vive La Différence: Paxos vs Viewstamped Replication vs Zab
  169. ZooKeeper’s Atomic Broadcast Protocol: Theory and Practice
  170. Zab: High-performance broadcast for primary-backup systems
  171. Viewstamped Replication Revisited
  172. Paxos Made Live
  173. Paxos made simple
  174. The Part-Time Parliament
  175. Viewstamped replication: A new primary copy method to support highly available distributed systems
  176. Can’t we all just agree?
  177. RIPQ: Advanced photo caching on flash for Facebook
  178. F2FS: A new file system for flash storage
  179. Bloom Cookies: web search personalization without user tracking
  180. Machine Learning Classification over Encrypted Data
  181. Information-Flow Analysis of Android Applications in DroidSafe
  182. NDSS and FAST week on The Morning Paper
  183. Edelweiss: Automatic storage reclamation for distributed programming
  184. Broadcast disks: data management for asymmetric communication environments
  185. TAG: A Tiny Aggregation Service for ad-hoc Sensor Networks
  186. Generative Communication in Linda
  187. Knowledge and Common Knowledge in a Distributed Environment
  188. Desert Island Papers: Peter Alvaro
  189. The Chubby lock service for loosely coupled distributed systems
  190. Enterprise Database Applications and the Cloud: A difficult road ahead
  191. Encapsulation of parallelism in the Volcano query processing system
  192. Personal Data: Thinking Inside the Box
  193. On the duality of resilience and privacy
  194. Specialized Evolution of the General Purpose CPU
  195. Impala: a modern, open-source SQL engine for Hadoop
  196. Liquid: Unifying nearline and offline big data integration
  197. WANalytics: Analytics for a geo-distributed, data intensive world
  198. The Missing Piece in Complex Analytics
  199. Introducing CIDR’15 week on The Morning Paper
  200. Recursive Programming
  201. On Distributed Communications Networks
  202. Eraser: A dynamic data race detector for multi-threaded programs
  203. ZooKeeper: wait-free coordination for internet scale systems
  204. Dremel: interactive analysis of web-scale datasets
  205. The MADlib Analytics Library
  206. The Design Philosophy of the DARPA Internet Protocols
  207. A new presumed commit optimisation for two-phase commit
  208. Architecture of a Database System
  209. Mesa: Geo-Replicated, Near Real-Time, Scalable Data Warehousing
  210. Epigrams on programming
  211. The Tail at Scale
  212. Mergeable persistent data structures
  213. Unikernels: Library Operating Systems for the Cloud
  214. How to write a 21st Century Proof
  215. A Brief History of the Internet
  216. Spanner: Google’s Globally Distributed Database
  217. Reflections on 100 editions of #themorningpaper
  218. Online, Aysnchronous Schema Change in F1
  219. F1: A Distributed SQL Database That Scales
  220. Blazes: Coordination analysis for distributed programs

2014 55

  1. Derflow: Distributed Deterministic Dataflow programming for Erlang
  2. The Network is Reliable
  3. A Hitchhiker’s Guide to Fast and Efficient Data Reconstruction in Erasure-coded Data Centers
  4. f4: Facebook’s warm BLOB storage system
  5. Predicate Logic as Programming Language
  6. Scala Actors: Unifying thread-based and event-based programming
  7. A language-based approach to unifying events and threads
  8. Why events are a bad idea
  9. Why threads are a bad idea
  10. On the duality of operating system structures
  11. Tachyon: Reliable, Memory Speed Storage for Cluster Computing
  12. Photon: Fault-tolerant and scalable joining of continuous data streams
  13. The 8 Requirements of Real-Time Stream Processing
  14. The case for distributed operating systems in the data center
  15. Protocols for Secure Computations
  16. The Semantic Elegance of Applicative Languages
  17. SwiftCloud: Fault-tolerant geo-replication integrated all the way to the client
  18. The Log-Structured Merge-Tree (LSM Tree)
  19. Detecting Discontinuities in Large-Scale Systems
  20. Use of Formal Methods at Amazon Web Services
  21. Church’s Thesis and Functional Programming
  22. Life Beyond Distributed Transactions
  23. Probabilistic Programming
  24. One VM to Rule Them All
  25. RAPPOR: Randomized Aggregatable Privacy-Preserving Ordinal Response
  26. End-to-End Arguments in System Design
  27. The Declarative Imperative: Experiences and Conjectures in Distributed Logic
  28. An Evaluation of Amazon S3’s Consistency Behavior
  29. The Power of Interoperability: why objects are inevitable
  30. Monads for functional programming
  31. Highly Available Transactions: Virtues and Limitations
  32. The Boom Hierarchy
  33. Route planning in transportation networks
  34. Dynamic vehicle routing, pickup, and delivery problems
  35. An unsupervised algorithm for person-name disambiguation on the web
  36. Leases: An efficient fault-tolerant mechanism for distributed file cache consistency
  37. The Google File System
  38. A few useful things to know about machine learning
  39. Enabling blockchain innovations with pegged sidechains
  40. Improving Cloud Service Resilience using Brownout-aware Load Balancing
  41. Brownout: building more robust cloud applications
  42. Analysis of join-the-shortest-queue routing
  43. Coverage and its Discontents
  44. Coverage is not strongly correlated with test suite effectiveness
  45. Compiler Error Notifications Revisited
  46. Debugging reinvented
  47. Patience is a virtue
  48. #themorningpaper reaches 50 papers!
  49. On ICSE’s “Most Influential Papers”
  50. Software Aging
  51. Shark: SQL and Rich Analytics at Scale
  52. Consistency, Availability, and Convergence
  53. Certificate Transparency
  54. A storm-drain for “The Morning Paper”
  55. Outperforming LRU with an Adaptive Replacement Cache Algorithm

2011 3

  1. Rod’s keynote at S2G Forum in London
  2. What’s Next? Paris keynote
  3. Welcome