Readings

Current schedule of readings

This list is neither sound (i.e., if something’s listed here, that doesn’t mean we’ll read it) nor complete (i.e., if something’s not listed here, that doesn’t mean we won’t read it).

Date Topic Presenter Reading
Friday, 9/28 Course overview Lindsey  
Monday, 10/1 The CAP trade-off Lindsey Seth Gilbert and Nancy Lynch, Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services (2002) (see also: Gilbert and Lynch’s Perspectives on the CAP Theorem (2012)
Wednesday, 10/3 The CAP trade-off Aldrin Eric Brewer, CAP Twelve Years Later: How the “Rules” Have Changed (IEEE Computer, 2012)
Friday, 10/5 Consistency models Dev Maurice P. Herlihy and Jeannette M. Wing, Linearizability: A Correctness Condition for Concurrent Objects (TOPLAS 1990)
Monday, 10/8 Consistency models Natasha Mustaque Ahamad et al., Causal memory: definitions, implementation, and programming (Distributed Computing, 1995) (off-campus access link (requires CruzID Gold login))
Wednesday, 10/10 Consistency models Abhishek Leslie Lamport, Time, Clocks, and the Ordering of Events in a Distributed System (1978)
Friday, 10/12 Consistency models Austen Douglas B. Terry et al., Session Guarantees for Weakly Consistent Distributed Data (PDIS ‘94) (off-campus access link (requires CruzID Gold login))
Monday, 10/15 Consistency models Abhishek Wyatt Lloyd et al., Don’t Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS (SOSP ‘11)
Wednesday, 10/17 Consistency models Lindsey Paolo Viotti and Marko Vukolić, Consistency in Non-Transactional Distributed Storage Systems (ACM Computing Surveys, 2016) (off-campus access link (requires CruzID Gold login)) (cf. the Jepsen overview of consistency models)
Friday, 10/19 Replicated data types Sohum Marc Shapiro et al., Conflict-free Replicated Data Types (2011)
Monday, 10/22 Replicated data types Dev Marc Shapiro et al., A comprehensive study of Convergent and Commutative Replicated Data Types (2011)
Wednesday, 10/24 Replicated data types Austen Sebastian Burckhardt et al., Cloud Types for Eventual Consistency (ECOOP ‘12) (see also: Burckhardt’s book, Principles of Eventual Consistency)
Friday, 10/26 Replicated data types Sohum Sebastian Burckhardt et al., Replicated Data Types: Specification, Verification, Optimality (POPL ‘14)
Monday, 10/29 *pause for breath* (aim to be done with a draft of your first blog post and soliciting editor/instructor feedback by today)    
Wednesday, 10/31 Combining consistencies Guest speaker: Brandon Holt Brandon Holt et al., Disciplined Inconsistency with Consistency Types (SoCC ‘16)
Friday, 11/2 Combining consistencies Aldrin Alexey Gotsman et al., ‘Cause I’m Strong Enough: Reasoning About Consistency Choices in Distributed Systems (POPL ‘16)
Monday, 11/5 Combining consistencies Natasha Matthew Milano and Andrew C. Myers, MixT: a Language for Mixing Consistency in Geodistributed Transactions (PLDI ‘18)
Wednesday, 11/7 Verifying consistency [unclaimed] Mohsen Lesani, Christian J. Bell, and Adam Chlipala, Chapar: Certified Causally Consistent Distributed Key-Value Stores (POPL ‘16)
Friday, 11/9 Verifying consistency [Aziz] Gowtham Kaki et al., Safe Replication through Bounded Concurrency Verification (OOPSLA ‘18)
Monday, 11/12 No class (Veterans Day) (hard deadline to have your first of two blog posts published)    
Wednesday, 11/14 Languages and frameworks for distribution Guest speaker: Peter Alvaro Peter Alvaro et al., Consistency Analysis in Bloom: a CALM and Collected Approach (CIDR ‘11)
Friday, 11/16 Languages and frameworks for distribution Dev Neil Conway et al., Logic and Lattices for Distributed Programming (SoCC ‘15)
Monday, 11/19 Languages and frameworks for distribution Sohum Yanhong A. Liu et al., From Clarity to Efficiency for Distributed Algorithms (OOPSLA ‘12) (see also: the extended TOPLAS version; the DistAlgo website)
Wednesday, 11/21 Languages and frameworks for distribution Abhishek Cezara Drăgoi, Thomas Henzinger, and Damien Zufferey, PSync: A partially synchronous language for fault-tolerant distributed algorithms (POPL ‘16) (see also: the authors’ previous SNAPL ‘15 paper on this project for helpful context)
Friday, 11/23 No class (Thanksgiving)    
Monday, 11/26 Languages and frameworks for distribution Guest speaker: Ankush Desai Ankush Desai et al., P: Safe Asynchronous Event-Driven Programming (PLDI ‘13) (see also: P on GitHub)
Wednesday, 11/28 Languages and frameworks for distribution (aim to be done with a draft of your second blog post and soliciting editor/instructor feedback by today) Natasha Sergey Bykov et al., Orleans: Cloud Computing for Everyone (SoCC ‘11)
Friday, 11/30 Languages and frameworks for distribution [unclaimed] Sebastian Burckhardt and Tim Coppieters, Reactive Caching for Composed Services: Polling at the Speed of Push (OOPSLA ‘18) (TODO: update with correct paper link)
Monday, 12/3 Abstractions for configuration management Aldrin Sameer Ajmani, Barbara Liskov, and Liuba Shrira, Modular Software Upgrades for Distributed Systems (ECOOP ‘06)
Wednesday, 12/5 Abstractions for configuration management Guest speaker: Arjun Guha Rian Shambaugh, Aaron Weiss, and Arjun Guha, Rehearsal: A Configuration Verification Tool for Puppet (PLDI ‘16)
Friday, 12/7 Abstractions for configuration management Austen Mark Reitblatt et al., Abstractions for Network Update (SIGCOMM ‘12)
Wednesday, 12/12 final exam end-of-quarter celebration (hard deadline to have your second of two blog posts published)    

Further reading

There’s a vast amount of reading material that would be in scope for a course on “languages and abstractions for distributed programming”, but that this particular course won’t have time to cover, including but not limited to: