├── .gitignore
├── Makefile
├── README.md
├── TODO.md
├── conferences
├── README.md
├── sigmod2016.md
└── tapp.md
├── css
├── default_highlight.css
└── style.css
├── footer.html
├── header.html
├── html
├── adya2000generalized.html
├── agarwal1996computation.html
├── agrawal1987concurrency.html
├── akidau2013millwheel.html
├── alvaro2010boom.html
├── alvaro2011consistency.html
├── alvaro2011dedalus.html
├── alvaro2015lineage.html
├── arasu2006cql.html
├── armbrust2015spark.html
├── avnur2000eddies.html
├── bailis2013highly.html
├── bailis2014coordination.html
├── balegas2015putting.html
├── barham2003xen.html
├── baumann2015shielding.html
├── beckmann1990r.html
├── berenson1995critique.html
├── bershad1995spin.html
├── brewer2005combining.html
├── brewer2012cap.html
├── brin1998anatomy.html
├── bugnion1997disco.html
├── burns2016borg.html
├── burrows2006chubby.html
├── cafarella2008webtables.html
├── carriero1994linda.html
├── chamberlin1981history.html
├── chang2008bigtable.html
├── chen2016realtime.html
├── cheney2009provenance.html
├── clark2005live.html
├── codd1970relational.html
├── conway2012logic.html
├── conway2014edelweiss.html
├── corbett2013spanner.html
├── crooks2016tardis.html
├── dan2017using.html
├── dean2008mapreduce.html
├── decandia2007dynamo.html
├── dewitt1990gamma.html
├── dewitt1992parallel.html
├── diaconu2013hekaton.html
├── elphinstone2013l3.html
├── engler1995exokernel.html
├── ghemawat2003google.html
├── ghodsi2011dominant.html
├── gilbert2002brewer.html
├── goldman1997dataguides.html
├── golub1992microkernel.html
├── gonzalez2012powergraph.html
├── gotsman2016cause.html
├── graefe1990encapsulation.html
├── graefe1993volcano.html
├── graefe2009five.html
├── gray1976granularity.html
├── green2013datalog.html
├── halevy2016goods.html
├── harinarayan1996implementing.html
├── hellerstein2007architecture.html
├── hellerstein2010declarative.html
├── hellerstein2012madlib.html
├── herlihy1990linearizability.html
├── hindman2011mesos.html
├── holt2016disciplined.html
├── isard2007dryad.html
├── kandel2011wrangler.html
├── kapritsos2012all.html
├── klonatos2014building.html
├── kohler2000click.html
├── kohler2012declarative.html
├── kornacker2015impala.html
├── kulkarni2015twitter.html
├── kung1981optimistic.html
├── lagar2009snowflock.html
├── lampson1980experience.html
├── lauer1979duality.html
├── lehman1981efficient.html
├── lehman1999t.html
├── letia2009crdts.html
├── li2012making.html
├── li2014automating.html
├── li2014scaling.html
├── lin2016towards.html
├── liu1973scheduling.html
├── lloyd2011don.html
├── madden2002tag.html
├── maddox2016decibel.html
├── mckeen2013innovative.html
├── mckusick1984fast.html
├── miller2000schema.html
├── mohan1986transaction.html
├── moore2006inferring.html
├── murray2013naiad.html
├── o1986escrow.html
├── o1997improved.html
├── ongaro2014search.html
├── prabhakaran2005analysis.html
├── quigley2009ros.html
├── recht2011hogwild.html
├── ritchie1978unix.html
├── roy2015homeostasis.html
├── saltzer1984end.html
├── selinger1979access.html
├── shapiro2011conflict.html
├── sigelman2010dapper.html
├── stoica2001chord.html
├── stonebraker1987design.html
├── stonebraker1991postgres.html
├── stonebraker2005c.html
├── taft2014store.html
├── terry1995managing.html
├── terry2013replicated.html
├── thomson2012calvin.html
├── toshniwal2014storm.html
├── tu2013speedy.html
├── van2004chain.html
├── vavilapalli2013apache.html
├── verma2015large.html
├── vogels2009eventually.html
├── waldspurger1994lottery.html
├── welsh2001seda.html
├── wilkes1996hp.html
├── yu2008dryadlinq.html
├── zaharia2012resilient.html
├── zaharia2013discretized.html
├── zhou2010efficient.html
├── zhou2011tap.html
└── zhou2012distributed.html
├── images
├── dan2017using_fork.png
└── dan2017using_zigzag.png
├── index.html
├── js
├── highlight.pack.js
└── mathjax_config.js
└── papers
├── adya2000generalized.md
├── agarwal1996computation.md
├── agrawal1987concurrency.md
├── akidau2013millwheel.md
├── alvaro2010boom.md
├── alvaro2011consistency.md
├── alvaro2011dedalus.md
├── alvaro2015lineage.md
├── arasu2006cql.md
├── armbrust2015spark.md
├── avnur2000eddies.md
├── bailis2013highly.md
├── bailis2014coordination.md
├── balegas2015putting.md
├── barham2003xen.md
├── baumann2015shielding.md
├── beckmann1990r.md
├── berenson1995critique.md
├── bershad1995spin.md
├── brewer2005combining.md
├── brewer2012cap.md
├── brin1998anatomy.md
├── bugnion1997disco.md
├── burns2016borg.md
├── burrows2006chubby.md
├── cafarella2008webtables.md
├── carriero1994linda.md
├── chamberlin1981history.md
├── chang2008bigtable.md
├── chen2016realtime.md
├── cheney2009provenance.md
├── clark2005live.md
├── codd1970relational.md
├── conway2012logic.md
├── conway2014edelweiss.md
├── corbett2013spanner.md
├── crooks2016tardis.md
├── dan2017using.md
├── dean2008mapreduce.md
├── decandia2007dynamo.md
├── dewitt1990gamma.md
├── dewitt1992parallel.md
├── diaconu2013hekaton.md
├── elphinstone2013l3.md
├── engler1995exokernel.md
├── ghemawat2003google.md
├── ghodsi2011dominant.md
├── gilbert2002brewer.md
├── goldman1997dataguides.md
├── golub1992microkernel.md
├── gonzalez2012powergraph.md
├── gotsman2016cause.md
├── graefe1990encapsulation.md
├── graefe1993volcano.md
├── graefe2009five.md
├── gray1976granularity.md
├── green2013datalog.md
├── halevy2016goods.md
├── harinarayan1996implementing.md
├── hellerstein2007architecture.md
├── hellerstein2010declarative.md
├── hellerstein2012madlib.md
├── herlihy1990linearizability.md
├── hindman2011mesos.md
├── holt2016disciplined.md
├── isard2007dryad.md
├── kandel2011wrangler.md
├── kapritsos2012all.md
├── klonatos2014building.md
├── kohler2000click.md
├── kohler2012declarative.md
├── kornacker2015impala.md
├── kulkarni2015twitter.md
├── kung1981optimistic.md
├── lagar2009snowflock.md
├── lampson1980experience.md
├── lauer1979duality.md
├── lehman1981efficient.md
├── lehman1999t.md
├── letia2009crdts.md
├── li2012making.md
├── li2014automating.md
├── li2014scaling.md
├── lin2016towards.md
├── liu1973scheduling.md
├── lloyd2011don.md
├── madden2002tag.md
├── maddox2016decibel.md
├── mckeen2013innovative.md
├── mckusick1984fast.md
├── miller2000schema.md
├── mohan1986transaction.md
├── moore2006inferring.md
├── murray2013naiad.md
├── o1986escrow.md
├── o1997improved.md
├── ongaro2014search.md
├── prabhakaran2005analysis.md
├── quigley2009ros.md
├── recht2011hogwild.md
├── ritchie1978unix.md
├── roy2015homeostasis.md
├── saltzer1984end.md
├── selinger1979access.md
├── shapiro2011conflict.md
├── sigelman2010dapper.md
├── stoica2001chord.md
├── stonebraker1987design.md
├── stonebraker1991postgres.md
├── stonebraker2005c.md
├── taft2014store.md
├── terry1995managing.md
├── terry2013replicated.md
├── thomson2012calvin.md
├── toshniwal2014storm.md
├── tu2013speedy.md
├── van2004chain.md
├── vavilapalli2013apache.md
├── verma2015large.md
├── vogels2009eventually.md
├── waldspurger1994lottery.md
├── welsh2001seda.md
├── wilkes1996hp.md
├── yu2008dryadlinq.md
├── zaharia2012resilient.md
├── zaharia2013discretized.md
├── zhou2010efficient.md
├── zhou2011tap.md
└── zhou2012distributed.md
/.gitignore:
--------------------------------------------------------------------------------
1 | # swap
2 | [._]*.s[a-w][a-z]
3 | [._]s[a-w][a-z]
4 | # session
5 | Session.vim
6 | # temporary
7 | .netrwhist
8 | *~
9 | # auto-generated tag files
10 | tags
11 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | PAPERS = $(wildcard papers/*.md)
2 | HTMLS = $(subst papers/,html/,$(patsubst %.md,%.html,$(PAPERS)))
3 |
4 | default: $(HTMLS)
5 |
6 | html/%.html: papers/%.md header.html footer.html
7 | cat header.html > $@
8 | pandoc --from markdown-tex_math_dollars-raw_tex --to html --ascii $< >> $@
9 | cat footer.html >> $@
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # [Papers](https://mwhittaker.github.io/papers)
2 | This repository is a compendium of notes on papers I've read.
3 |
4 | ## Getting Started
5 | If you want to read the paper summaries, simply go
6 | [here](https://mwhittaker.github.io/papers). If you want to add a paper
7 | summary, or clone this repo and create summaries of your own, here's how
8 | everything works.
9 |
10 | - First, add your summary as a markdown file in [the `papers`
11 | directory](papers/).
12 | - Run `make` to convert each markdown file `foo.md` into an HTML file
13 | `foo.html` using `pandoc`.
14 | - Then, update [`index.html`](index.html) with a link to the HTML file (e.g.
15 | `foo.html`)
16 |
17 | It's as simple as that. Oh, and if you want to include MathJax in your summary,
18 | add the following to the bottom of the markdown file:
19 |
20 | ```html
21 |
24 | ```
25 |
26 | If you want to add syntax highlighting, add this:
27 |
28 | ```html
29 |
30 |
31 |
32 | ```
33 |
--------------------------------------------------------------------------------
/TODO.md:
--------------------------------------------------------------------------------
1 | - [x] `codd1970relational.md`
2 | - [x] `liu1973scheduling.md`
3 | - [x] `ritchie1978unix.md`
4 | - [x] `gray1976granularity.md`
5 | - [x] `lauer1979duality.md`
6 | - [x] `lampson1980experience.md`
7 | - [x] `chamberlin1981history.md`
8 | - [x] `mckusick1984fast.md`
9 | - [x] `saltzer1984end.md`
10 | - [x] `agrawal1987concurrency.md`
11 | - [x] `stonebraker1987design.md`
12 | - [x] `herlihy1990linearizability.md`
13 | - [x] `stonebraker1991postgres.md`
14 | - [x] `golub1992microkernel.md`
15 | - [ ] `carriero1994linda.md`
16 | - [ ] `waldspurger1994lottery.md`
17 | - [ ] `berenson1995critique.md`
18 | - [ ] `engler1995exokernel.md`
19 | - [ ] `bershad1995spin.md`
20 | - [ ] `wilkes1996hp.md`
21 | - [ ] `bugnion1997disco.md`
22 | - [ ] `lehman1999t.md`
23 | - [ ] `adya2000generalized.md`
24 | - [ ] `kohler2000click.md`
25 | - [ ] `stoica2001chord.md`
26 | - [ ] `moore2006inferring.md`
27 | - [ ] `welsh2001seda.md`
28 | - [ ] `gilbert2002brewer.md`
29 | - [ ] `ghemawat2003google.md`
30 | - [ ] `barham2003xen.md`
31 | - [ ] `van2004chain.md`
32 | - [ ] `dean2008mapreduce.md`
33 | - [ ] `prabhakaran2005analysis.md`
34 | - [ ] `clark2005live.md`
35 | - [ ] `burrows2006chubby.md`
36 | - [ ] `hellerstein2007architecture.md`
37 | - [ ] `isard2007dryad.md`
38 | - [ ] `decandia2007dynamo.md`
39 | - [ ] `chang2008bigtable.md`
40 | - [ ] `yu2008dryadlinq.md`
41 | - [ ] `letia2009crdts.md`
42 | - [ ] `graefe2009five.md`
43 | - [ ] `lagar2009snowflock.md`
44 | - [ ] `alvaro2010boom.md`
45 | - [ ] `hellerstein2010declarative.md`
46 | - [ ] `shapiro2011conflict.md`
47 | - [ ] `alvaro2011consistency.md`
48 | - [ ] `alvaro2011dedalus.md`
49 | - [ ] `ghodsi2011dominant.md`
50 | - [ ] `hindman2011mesos.md`
51 | - [ ] `lloyd2011don.md`
52 | - [ ] `conway2012logic.md`
53 | - [ ] `li2012making.md`
54 | - [ ] `zaharia2012resilient.md`
55 | - [ ] `vavilapalli2013apache.md`
56 | - [ ] `zaharia2013discretized.md`
57 | - [ ] `elphinstone2013l3.md`
58 | - [ ] `mckeen2013innovative.md`
59 | - [ ] `akidau2013millwheel.md`
60 | - [ ] `murray2013naiad.md`
61 | - [ ] `terry2013replicated.md`
62 | - [ ] `li2014automating.md`
63 | - [ ] `bailis2014coordination.md`
64 | - [ ] `conway2014edelweiss.md`
65 | - [ ] `bailis2013highly.md`
66 | - [ ] `ongaro2014search.md`
67 | - [ ] `baumann2015shielding.md`
68 | - [ ] `toshniwal2014storm.md`
69 | - [ ] `roy2015homeostasis.md`
70 | - [ ] `kornacker2015impala.md`
71 | - [ ] `verma2015large.md`
72 | - [ ] `balegas2015putting.md`
73 | - [ ] `armbrust2015spark.md`
74 | - [ ] `kulkarni2015twitter.md`
75 | - [ ] `burns2016borg.md`
76 | - [ ] `gotsman2016cause.md`
77 | - [ ] `maddox2016decibel.md`
78 | - [ ] `holt2016disciplined.md`
79 | - [ ] `halevy2016goods.md`
80 | - [ ] `chen2016realtime.md`
81 | - [ ] `crooks2016tardis.md`
82 |
--------------------------------------------------------------------------------
/conferences/README.md:
--------------------------------------------------------------------------------
1 | - [ ] CIDR
2 | - [ ] SIGMOD
3 | - [ ] SOCC
4 | - [ ] VLDB
5 | - [ ] EuroSys
6 | - [ ] NSDI
7 | - [ ] OSDI
8 | - [ ] USENIX ATC
9 | - [ ] TODS
10 | - [ ] VLDBJ
11 |
--------------------------------------------------------------------------------
/conferences/sigmod2016.md:
--------------------------------------------------------------------------------
1 | ### Session 12: Distributed Data Processing
2 | 1. **Realtime Data Processing at Facebook** Facebook describes five design
3 | decisions faced when building a stream processing system, what decisions
4 | existing stream processing system made, and how their stream processing
5 | systems (Puma, Swift, and Stylus) differ.
6 | 2. **SparkR: Scaling R Programs with Spark** R is convenient but slow. This
7 | paper presents an R package that provides a frontend to Apache Spark to
8 | allow large scale data analysis from within R.
9 | 3. **VectorH: taking SQL-on-Hadoop to the next level** VectorH is a
10 | SQL-on-Hadoop system built on the Vectorwise database. VectorH builds on
11 | HDFS and YARN and supports ordered tables uing Positional Delta Trees. It is
12 | orders of magnitude faster than existing SQL-on-Hadoop systems HAWQ, Impala,
13 | SparkSQL, and Hive.
14 | 4. **Adaptive Logging: Optimizing Logging and Recovery Costs in Distributed
15 | In-memory Databases** Some memory databases have eschewed ARIES-like data
16 | logging for command logging to reduce the size of logs. However, this
17 | increases recovery time. This paper improves command logging allowing nodes
18 | to recover in parallel and also introduces an adaptive logging scheme that
19 | uses both data and command logging.
20 | 5. **Big Data Analytics with Datalog Queries on Spark** This paper presents
21 | BigDatalog: a system which runs Datalog efficiently using Apache Spark by
22 | exploiting compilation and optimization techniques.
23 | 6. **An Efficient MapReduce Cube Algorithm for Varied Data Distributions** This
24 | paper presents an algorithm that computes Data cubes using MapReduce that
25 | can tolerate skewed data distributions using a Skews and Partitions Sketch
26 | data structure.
27 |
28 | ### Session 18: Transactions and Consistency
29 | 1. **TARDiS: A Branch-and-Merge Approach To Weak Consistency**
30 | TARDiS is a transactional key-value store explicitly designed with weak
31 | consistency in mind. TARDiS exposes the set of conflicting branches in an
32 | eventually consistent system and allows clients to merge when desired.
33 | 2. **TicToc: Time Traveling Optimistic Concurrency Control** TicToc is a new
34 | timestamp management protocol that assigns read and write timestamps to data
35 | items and lazily computes commit timestamps.
36 | 3. **Scaling Multicore Databases via Constrained Parallel Execution** 2PL and
37 | OCC sacrifice parallelism in high contention workloads. This paper presents
38 | a new concurrency control scheme: interleaving constrained concurrency
39 | control (IC3). IC3 uses static analysis and runtime techniques.
40 | 4. **Towards a Non-2PC Transaction Management in Distributed Database Systems**
41 | Shared nothing transactional databases have fast local transactions but slow
42 | distributed transactions due to 2PC. This paper introduces the LEAP
43 | transaction management scheme that converts distributed transactions into
44 | local ones. Their database L-store is compared against H-store.
45 | 5. **ERMIA: Fast memory-optimized database system for heterogeneous workloads**
46 | ERMIA is a database that optimizes heterogeneous read-mostly workloads using
47 | snapshot isolation that performs better than traditional OCC systems.
48 | 6. **Transaction Healing: Scaling Optimistic Concurrency Control on Multicores**
49 | Multicore OCC databases don't scale well with high contention workloads.
50 | This paper presents a new concurrency control mechanism known as transaction
51 | healing where dependencies are analyzed ahead of time and transactions are
52 | not full-blown aborted when validation fails. Transaction healing is
53 | implemented in TheDB.
54 |
--------------------------------------------------------------------------------
/css/default_highlight.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Original highlight.js style (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | /* display: block; */
9 | /* overflow-x: auto; */
10 | /* padding: 0.5em; */
11 | /* background: #F0F0F0; */
12 | }
13 |
14 |
15 | /* Base color: saturation 0; */
16 |
17 | .hljs,
18 | .hljs-subst {
19 | color: #444;
20 | }
21 |
22 | .hljs-comment {
23 | color: #888888;
24 | }
25 |
26 | .hljs-keyword,
27 | .hljs-attribute,
28 | .hljs-selector-tag,
29 | .hljs-meta-keyword,
30 | .hljs-doctag,
31 | .hljs-name {
32 | font-weight: bold;
33 | }
34 |
35 |
36 | /* User color: hue: 0 */
37 |
38 | .hljs-type,
39 | .hljs-string,
40 | .hljs-number,
41 | .hljs-selector-id,
42 | .hljs-selector-class,
43 | .hljs-quote,
44 | .hljs-template-tag,
45 | .hljs-deletion {
46 | color: #880000;
47 | }
48 |
49 | .hljs-title,
50 | .hljs-section {
51 | color: #880000;
52 | font-weight: bold;
53 | }
54 |
55 | .hljs-regexp,
56 | .hljs-symbol,
57 | .hljs-variable,
58 | .hljs-template-variable,
59 | .hljs-link,
60 | .hljs-selector-attr,
61 | .hljs-selector-pseudo {
62 | color: #BC6060;
63 | }
64 |
65 |
66 | /* Language color: hue: 90; */
67 |
68 | .hljs-literal {
69 | color: #78A960;
70 | }
71 |
72 | .hljs-built_in,
73 | .hljs-bullet,
74 | .hljs-code,
75 | .hljs-addition {
76 | color: #397300;
77 | }
78 |
79 |
80 | /* Meta color: hue: 200 */
81 |
82 | .hljs-meta {
83 | color: #1f7199;
84 | }
85 |
86 | .hljs-meta-string {
87 | color: #4d99bf;
88 | }
89 |
90 |
91 | /* Misc effects */
92 |
93 | .hljs-emphasis {
94 | font-style: italic;
95 | }
96 |
97 | .hljs-strong {
98 | font-weight: bold;
99 | }
100 |
--------------------------------------------------------------------------------
/css/style.css:
--------------------------------------------------------------------------------
1 | html {
2 | font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
3 | background: #FEFEFE;
4 | }
5 |
6 | body {
7 | color: #333;
8 | margin: 0;
9 | padding: 0;
10 | font-size: 18px;
11 | }
12 |
13 | #header {
14 | background-color: #f44336;
15 | color: white;
16 | font-size: 24pt;
17 | font-weight: bold;
18 | padding-bottom: 10px;
19 | padding-top: 10px;
20 | text-align: center;
21 | }
22 |
23 | #header a {
24 | color: white;
25 | text-decoration: none;
26 | }
27 |
28 | #container {
29 | padding-left: 1em;
30 | padding-right: 1em;
31 | max-width: 44em;
32 | line-height: 27px;
33 | padding-top: 20px;
34 | padding-bottom: 20px;
35 | margin-left: auto;
36 | margin-right: auto;
37 | }
38 |
39 | @media screen and (min-width: 600px) {
40 | #container {
41 | padding-left: 28px;
42 | padding-right: 28px;
43 | }
44 | }
45 |
46 | #indextitle {
47 | font-size: 60pt;
48 | margin-top: 0pt;
49 | margin-bottom: 0pt;
50 | }
51 |
52 | .year {
53 | color: gray;
54 | }
55 |
56 | a { text-decoration: none; }
57 | h1 a:link, h1 a:visited { color: #222; }
58 | h1 a:active, h1 a:hover { color: #444; }
59 | #paperlist a:link, #paperlist a:visited { color: #222; }
60 | #paperlist a:active, #paperlist a:hover { color: #444; }
61 |
62 | h1 {
63 | line-height: 1;
64 | margin-top: 0em;
65 | margin-bottom: 0.55em;
66 | }
67 |
68 | h2 {
69 | margin-top: 0.9em;
70 | margin-bottom: 0.45em;
71 | }
72 |
73 | h3 {
74 | margin-top: 0.8em;
75 | margin-bottom: 0.35em;
76 | }
77 |
78 | h4 {
79 | margin-top: 0.7em;
80 | margin-bottom: 0.25em;
81 | }
82 |
83 | p {
84 | margin-top: 0em;
85 | margin-bottom: 1.15em;
86 | }
87 |
88 | pre {
89 | margin-top: 0em;
90 | margin-bottom: 1.15em;
91 | background-color: #f7f7f7;
92 | overflow: auto;
93 | padding: 5pt;
94 | }
95 |
96 | @media screen and (min-width: 600px) {
97 | pre {
98 | padding: 16pt;
99 | }
100 | }
101 |
102 | code {
103 | font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
104 | }
105 |
106 | table {
107 | margin-bottom: 1.15em;
108 | border-collapse: collapse;
109 | }
110 |
111 | td, th {
112 | padding: 2pt;
113 | border: 1.25pt solid gray;
114 | }
115 |
116 | blockquote {
117 | padding-left: 1em;
118 | color: #777;
119 | border-left: 0.25em solid #ddd;
120 | }
121 |
122 | .math {
123 | overflow: auto;
124 | }
125 |
--------------------------------------------------------------------------------
/footer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |