FlumeJava: Easy, Efficient Data-Parallel Pipelines (2010)
GraphX: A Resilient Distributed Graph System on Spark (2013)
Dremel: Interactive Analysis of Web-Scale Datasets (2010)
Pig latin: a not-so-foreign language for data processing (2008)
MapReduce: simplified data processing on large clusters (2008)
Resilient distributed datasets: A fault-tolerant abstraction for in-memory cluster computing (2012)
Spark SQL: Relational Data Processing in Spark (2015)
Towards Haskell in the Cloud (2011)
Alice Through the Looking Glass (2004)
Concurrency Oriented Programming in Termite Scheme (2006)
Type-safe distributed programming with ML5 (2007)
MBrace: cloud computing with monads (2013) & MBrace Programming Model (Tutorial)
Consistency Analysis in Bloom: a CALM and Collected Approach (2011)
Logic and Lattices for Distributed Programming (2012)
Consistency Without Borders (2013)
Lasp: A language for distributed, coordination-free programming (2015)
CAP Papers (2)
Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services (2002)
CAP Twelve Years Later: How the “Rules” Have Changed (2012)
Conflict-free Replicated Data Types (2011)
A comprehensive study of Convergent and Commutative Replicated Data Types (2011)
Cloud Types for Eventual Consistency (2012)
Distributed Programming in Argus (1988)
Distribution and Abstract Types in Emerald (1987)
The Linda alternative to message-passing systems (1994)
Orca: A Language For Parallel Programming of Distributed Systems (1992)
Ambient-Oriented Programming in AmbientTalk (2006)
RPC
Futures
Message-passing
Distributed PLs
Consistency & CRDTs
Languages & Consistency
Languages Extended for Distribution
Large-scale batch processing
Large-scale streaming
Concurrent Object-Oriented Programming (1990)
Concurrency among strangers (2005)
Scala actors: Unifying thread-based and event-based programming (2009)
Orleans: cloud computing for everyone (2011)
Multilisp: A language for concurrent symbolic computation (1985)
Oz Dataflow Concurrency
The F# asynchronous programming model (2011)
Your Server as a Function (2013)
I mentioned last week in class that I had a few pointers what sorts of questions to ask yourself when reading a research paper that may help you in writing your weekly analysis.
It turns out that this information has always been on the Reading Research Papers page.
In particular, Michael Mitzenmacher has some good advice and tips on what to ask yourself when reading papers, which you may find useful!
William Griswold has prepared a form of good questions to ask yourself which you may find helpful.
If you wish to get credit for the first assignment, I need to have received your CCS username in my inbox by Wednesday so I can add you to the course GitHub repository.
Remember, this week only, your writeup is due by 12pm on Thursday September 15th as a pull request to the course GitHub repository.