From cbb522e17942797ea1f0fd972225b6945a775368 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 13 Jan 2023 12:33:27 +0100 Subject: Different lattice figures --- doc/talks/2023-01-18-tocatta/Makefile | 14 +- doc/talks/2023-01-18-tocatta/assets/lattice8.svg | 112 ++-- doc/talks/2023-01-18-tocatta/assets/lattice9.svg | 587 ----------------- doc/talks/2023-01-18-tocatta/assets/latticeA.svg | 587 ----------------- doc/talks/2023-01-18-tocatta/assets/latticeB.svg | 598 ----------------- doc/talks/2023-01-18-tocatta/assets/latticeB_1.svg | 576 +++++++++++++++++ .../2023-01-18-tocatta/assets/latticeB_10.svg | 715 +++++++++++++++++++++ doc/talks/2023-01-18-tocatta/assets/latticeB_2.svg | 576 +++++++++++++++++ doc/talks/2023-01-18-tocatta/assets/latticeB_3.svg | 576 +++++++++++++++++ doc/talks/2023-01-18-tocatta/assets/latticeB_4.svg | 587 +++++++++++++++++ doc/talks/2023-01-18-tocatta/assets/latticeB_5.svg | 604 +++++++++++++++++ doc/talks/2023-01-18-tocatta/assets/latticeB_6.svg | 632 ++++++++++++++++++ doc/talks/2023-01-18-tocatta/assets/latticeB_7.svg | 654 +++++++++++++++++++ doc/talks/2023-01-18-tocatta/assets/latticeB_8.svg | 671 +++++++++++++++++++ doc/talks/2023-01-18-tocatta/assets/latticeB_9.svg | 699 ++++++++++++++++++++ doc/talks/2023-01-18-tocatta/assets/latticeC.svg | 598 ----------------- doc/talks/2023-01-18-tocatta/talk.pdf | Bin 2494390 -> 2488793 bytes doc/talks/2023-01-18-tocatta/talk.tex | 66 +- 18 files changed, 6386 insertions(+), 2466 deletions(-) delete mode 100644 doc/talks/2023-01-18-tocatta/assets/lattice9.svg delete mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeA.svg delete mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeB.svg create mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeB_1.svg create mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeB_10.svg create mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeB_2.svg create mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeB_3.svg create mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeB_4.svg create mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeB_5.svg create mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeB_6.svg create mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeB_7.svg create mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeB_8.svg create mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeB_9.svg delete mode 100644 doc/talks/2023-01-18-tocatta/assets/latticeC.svg diff --git a/doc/talks/2023-01-18-tocatta/Makefile b/doc/talks/2023-01-18-tocatta/Makefile index a1f76e15..554f7b97 100644 --- a/doc/talks/2023-01-18-tocatta/Makefile +++ b/doc/talks/2023-01-18-tocatta/Makefile @@ -12,10 +12,16 @@ ASSETS=assets/consistent_hashing_1.pdf \ assets/lattice6.pdf_tex \ assets/lattice7.pdf_tex \ assets/lattice8.pdf_tex \ - assets/lattice9.pdf_tex \ - assets/latticeA.pdf_tex \ - assets/latticeB.pdf_tex \ - assets/latticeC.pdf_tex \ + assets/latticeB_1.pdf_tex \ + assets/latticeB_2.pdf_tex \ + assets/latticeB_3.pdf_tex \ + assets/latticeB_4.pdf_tex \ + assets/latticeB_5.pdf_tex \ + assets/latticeB_6.pdf_tex \ + assets/latticeB_7.pdf_tex \ + assets/latticeB_8.pdf_tex \ + assets/latticeB_9.pdf_tex \ + assets/latticeB_10.pdf_tex \ assets/deuxfleurs.pdf talk.pdf: talk.tex $(ASSETS) diff --git a/doc/talks/2023-01-18-tocatta/assets/lattice8.svg b/doc/talks/2023-01-18-tocatta/assets/lattice8.svg index 3bada791..c94a69b2 100644 --- a/doc/talks/2023-01-18-tocatta/assets/lattice8.svg +++ b/doc/talks/2023-01-18-tocatta/assets/lattice8.svg @@ -25,8 +25,8 @@ inkscape:document-units="mm" showgrid="false" inkscape:zoom="1.4734708" - inkscape:cx="451.65469" - inkscape:cy="272.14655" + inkscape:cx="399.39712" + inkscape:cy="248.39311" inkscape:window-width="1920" inkscape:window-height="999" inkscape:window-x="0" @@ -433,8 +433,8 @@ $write(\{a\})$: + $read()$: $\sqsupseteq \{a\} \to$ OK $\not\sqsupseteq \{a\}$ + y="41.972523">$\sqsupseteq \{a\}$ + + $\to \{\}$ return OK - - - $write(\{b\})$: - $\not\sqsupseteq \{b\}$ - $\not\sqsupseteq \{b\}$ + x="14.395845" + y="92.005798">return $\{\}\sqcup\{a\}=\{a\}$ + $\not\sqsupseteq \{b\}$ + y="83.577797">$\to \{a\}$ diff --git a/doc/talks/2023-01-18-tocatta/assets/lattice9.svg b/doc/talks/2023-01-18-tocatta/assets/lattice9.svg deleted file mode 100644 index 8b3c6585..00000000 --- a/doc/talks/2023-01-18-tocatta/assets/lattice9.svg +++ /dev/null @@ -1,587 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $\{\}$ - $\{a,b,c\}$ - - $\{a\}$ - $\{b\}$ - $\{c\}$ - - - $\{a,c\}$ - $\{a,b\}$ - $\{b,c\}$ - - - - - - - - - - - - - - - - - - - - $write(\{a\})$: - $\sqsupseteq \{a\} \to$ OK - $\sqsupseteq \{a\} \to$ OK - $\not\sqsupseteq \{a\}$ - return OK - - - - $write(\{b\})$: - $\not\sqsupseteq \{b\}$ - $\not\sqsupseteq \{b\}$ - $\sqsupseteq \{b\} \to$ OK - - diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeA.svg b/doc/talks/2023-01-18-tocatta/assets/latticeA.svg deleted file mode 100644 index 400ccff8..00000000 --- a/doc/talks/2023-01-18-tocatta/assets/latticeA.svg +++ /dev/null @@ -1,587 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $\{\}$ - $\{a,b,c\}$ - - $\{a\}$ - $\{b\}$ - $\{c\}$ - - - $\{a,c\}$ - $\{a,b\}$ - $\{b,c\}$ - - - - - - - - - - - - - - - - - - - - $write(\{a\})$: - $\sqsupseteq \{a\} \to$ OK - $\sqsupseteq \{a\} \to$ OK - $\sqsupseteq \{a\}$ - return OK - - - - $write(\{b\})$: - $\not\sqsupseteq \{b\}$ - $\not\sqsupseteq \{b\}$ - $\sqsupseteq \{b\} \to$ OK - - diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeB.svg b/doc/talks/2023-01-18-tocatta/assets/latticeB.svg deleted file mode 100644 index 06725d75..00000000 --- a/doc/talks/2023-01-18-tocatta/assets/latticeB.svg +++ /dev/null @@ -1,598 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $\{\}$ - $\{a,b,c\}$ - - $\{a\}$ - $\{b\}$ - $\{c\}$ - - - $\{a,c\}$ - $\{a,b\}$ - $\{b,c\}$ - - - - - - - - - - - - - - - - - - - - $write(\{a\})$: - $\sqsupseteq \{a\} \to$ OK - $\sqsupseteq \{a\} \to$ OK - $\sqsupseteq \{a\}$ - return OK - return OK - - - - $write(\{b\})$: - $\not\sqsupseteq \{b\}$ - $\sqsupseteq \{b\} \to$ OK - $\sqsupseteq \{b\} \to$ OK - - diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeB_1.svg b/doc/talks/2023-01-18-tocatta/assets/latticeB_1.svg new file mode 100644 index 00000000..92232a1b --- /dev/null +++ b/doc/talks/2023-01-18-tocatta/assets/latticeB_1.svg @@ -0,0 +1,576 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $\{\}$ + $\{a,b,c\}$ + + $\{a\}$ + $\{b\}$ + $\{c\}$ + + + $\{a,c\}$ + $\{a,b\}$ + $\{b,c\}$ + + + + + + + + + + + + + + + + + + + + $write(\{a\})$: + $\not\sqsupseteq \{a\}$ + $\not\sqsupseteq \{a\}$ + $\not\sqsupseteq \{a\}$ + + + + $write(\{b\})$: + $\not\sqsupseteq \{b\}$ + $\not\sqsupseteq \{b\}$ + $\not\sqsupseteq \{b\}$ + + diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeB_10.svg b/doc/talks/2023-01-18-tocatta/assets/latticeB_10.svg new file mode 100644 index 00000000..34c24e0d --- /dev/null +++ b/doc/talks/2023-01-18-tocatta/assets/latticeB_10.svg @@ -0,0 +1,715 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $\{\}$ + $\{a,b,c\}$ + + $\{a\}$ + $\{b\}$ + $\{c\}$ + + + $\{a,c\}$ + $\{a,b\}$ + $\{b,c\}$ + + + + + + + + + + + + + + + + + + + $write(\{a\})$: + $\sqsupseteq \{a\} \to$ OK + $\not\sqsupseteq \{a\}$ + $\not\sqsupseteq \{a\}$ + + + + $write(\{b\})$: + $read()$: + $\not\sqsupseteq \{b\}$ + $\sqsupseteq \{b\} \to$ OK + $\not\sqsupseteq \{b\}$ + + + $\to \{a\}$ + return $\{a\}$ + + $\to \{\}$ + + $\to \{\}$ + $read()$: + ; + return $\{b\}$ + + $\to \{b\}$ + ${\Large\textbf{??!}}$~~~~~$\{a\} \not\sqsubseteq \{b\}$ + + diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeB_2.svg b/doc/talks/2023-01-18-tocatta/assets/latticeB_2.svg new file mode 100644 index 00000000..c07cba2b --- /dev/null +++ b/doc/talks/2023-01-18-tocatta/assets/latticeB_2.svg @@ -0,0 +1,576 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $\{\}$ + $\{a,b,c\}$ + + $\{a\}$ + $\{b\}$ + $\{c\}$ + + + $\{a,c\}$ + $\{a,b\}$ + $\{b,c\}$ + + + + + + + + + + + + + + + + + + + + $write(\{a\})$: + $\sqsupseteq \{a\} \to$ OK + $\not\sqsupseteq \{a\}$ + $\not\sqsupseteq \{a\}$ + + + + $write(\{b\})$: + $\not\sqsupseteq \{b\}$ + $\not\sqsupseteq \{b\}$ + $\not\sqsupseteq \{b\}$ + + diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeB_3.svg b/doc/talks/2023-01-18-tocatta/assets/latticeB_3.svg new file mode 100644 index 00000000..198d1f5d --- /dev/null +++ b/doc/talks/2023-01-18-tocatta/assets/latticeB_3.svg @@ -0,0 +1,576 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $\{\}$ + $\{a,b,c\}$ + + $\{a\}$ + $\{b\}$ + $\{c\}$ + + + $\{a,c\}$ + $\{a,b\}$ + $\{b,c\}$ + + + + + + + + + + + + + + + + + + + $write(\{a\})$: + $\sqsupseteq \{a\} \to$ OK + $\not\sqsupseteq \{a\}$ + $\not\sqsupseteq \{a\}$ + + + + $write(\{b\})$: + $\not\sqsupseteq \{b\}$ + $\sqsupseteq \{b\} \to$ OK + $\not\sqsupseteq \{b\}$ + + + diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeB_4.svg b/doc/talks/2023-01-18-tocatta/assets/latticeB_4.svg new file mode 100644 index 00000000..c5f6148d --- /dev/null +++ b/doc/talks/2023-01-18-tocatta/assets/latticeB_4.svg @@ -0,0 +1,587 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $\{\}$ + $\{a,b,c\}$ + + $\{a\}$ + $\{b\}$ + $\{c\}$ + + + $\{a,c\}$ + $\{a,b\}$ + $\{b,c\}$ + + + + + + + + + + + + + + + + + + + $write(\{a\})$: + $\sqsupseteq \{a\} \to$ OK + $\not\sqsupseteq \{a\}$ + $\not\sqsupseteq \{a\}$ + + + + $write(\{b\})$: + $read()$: + $\not\sqsupseteq \{b\}$ + $\sqsupseteq \{b\} \to$ OK + $\not\sqsupseteq \{b\}$ + + + diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeB_5.svg b/doc/talks/2023-01-18-tocatta/assets/latticeB_5.svg new file mode 100644 index 00000000..c2b668be --- /dev/null +++ b/doc/talks/2023-01-18-tocatta/assets/latticeB_5.svg @@ -0,0 +1,604 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $\{\}$ + $\{a,b,c\}$ + + $\{a\}$ + $\{b\}$ + $\{c\}$ + + + $\{a,c\}$ + $\{a,b\}$ + $\{b,c\}$ + + + + + + + + + + + + + + + + + + + $write(\{a\})$: + $\sqsupseteq \{a\} \to$ OK + $\not\sqsupseteq \{a\}$ + $\not\sqsupseteq \{a\}$ + + + + $write(\{b\})$: + $read()$: + $\not\sqsupseteq \{b\}$ + $\sqsupseteq \{b\} \to$ OK + $\not\sqsupseteq \{b\}$ + + + $\to \{a\}$ + + diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeB_6.svg b/doc/talks/2023-01-18-tocatta/assets/latticeB_6.svg new file mode 100644 index 00000000..980823fc --- /dev/null +++ b/doc/talks/2023-01-18-tocatta/assets/latticeB_6.svg @@ -0,0 +1,632 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $\{\}$ + $\{a,b,c\}$ + + $\{a\}$ + $\{b\}$ + $\{c\}$ + + + $\{a,c\}$ + $\{a,b\}$ + $\{b,c\}$ + + + + + + + + + + + + + + + + + + + $write(\{a\})$: + $\sqsupseteq \{a\} \to$ OK + $\not\sqsupseteq \{a\}$ + $\not\sqsupseteq \{a\}$ + + + + $write(\{b\})$: + $read()$: + $\not\sqsupseteq \{b\}$ + $\sqsupseteq \{b\} \to$ OK + $\not\sqsupseteq \{b\}$ + + + $\to \{a\}$ + return $\{a\}$ + + $\to \{\}$ + + diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeB_7.svg b/doc/talks/2023-01-18-tocatta/assets/latticeB_7.svg new file mode 100644 index 00000000..154c0b7d --- /dev/null +++ b/doc/talks/2023-01-18-tocatta/assets/latticeB_7.svg @@ -0,0 +1,654 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $\{\}$ + $\{a,b,c\}$ + + $\{a\}$ + $\{b\}$ + $\{c\}$ + + + $\{a,c\}$ + $\{a,b\}$ + $\{b,c\}$ + + + + + + + + + + + + + + + + + + + $write(\{a\})$: + $\sqsupseteq \{a\} \to$ OK + $\not\sqsupseteq \{a\}$ + $\not\sqsupseteq \{a\}$ + + + + $write(\{b\})$: + $read()$: + $\not\sqsupseteq \{b\}$ + $\sqsupseteq \{b\} \to$ OK + $\not\sqsupseteq \{b\}$ + + + $\to \{a\}$ + return $\{a\}$ + + $\to \{\}$ + $read()$: + ; + + diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeB_8.svg b/doc/talks/2023-01-18-tocatta/assets/latticeB_8.svg new file mode 100644 index 00000000..21766415 --- /dev/null +++ b/doc/talks/2023-01-18-tocatta/assets/latticeB_8.svg @@ -0,0 +1,671 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $\{\}$ + $\{a,b,c\}$ + + $\{a\}$ + $\{b\}$ + $\{c\}$ + + + $\{a,c\}$ + $\{a,b\}$ + $\{b,c\}$ + + + + + + + + + + + + + + + + + + + $write(\{a\})$: + $\sqsupseteq \{a\} \to$ OK + $\not\sqsupseteq \{a\}$ + $\not\sqsupseteq \{a\}$ + + + + $write(\{b\})$: + $read()$: + $\not\sqsupseteq \{b\}$ + $\sqsupseteq \{b\} \to$ OK + $\not\sqsupseteq \{b\}$ + + + $\to \{a\}$ + return $\{a\}$ + + $\to \{\}$ + + $\to \{\}$ + $read()$: + ; + + diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeB_9.svg b/doc/talks/2023-01-18-tocatta/assets/latticeB_9.svg new file mode 100644 index 00000000..b60f8afe --- /dev/null +++ b/doc/talks/2023-01-18-tocatta/assets/latticeB_9.svg @@ -0,0 +1,699 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $\{\}$ + $\{a,b,c\}$ + + $\{a\}$ + $\{b\}$ + $\{c\}$ + + + $\{a,c\}$ + $\{a,b\}$ + $\{b,c\}$ + + + + + + + + + + + + + + + + + + + $write(\{a\})$: + $\sqsupseteq \{a\} \to$ OK + $\not\sqsupseteq \{a\}$ + $\not\sqsupseteq \{a\}$ + + + + $write(\{b\})$: + $read()$: + $\not\sqsupseteq \{b\}$ + $\sqsupseteq \{b\} \to$ OK + $\not\sqsupseteq \{b\}$ + + + $\to \{a\}$ + return $\{a\}$ + + $\to \{\}$ + + $\to \{\}$ + $read()$: + ; + return $\{b\}$ + + $\to \{b\}$ + + diff --git a/doc/talks/2023-01-18-tocatta/assets/latticeC.svg b/doc/talks/2023-01-18-tocatta/assets/latticeC.svg deleted file mode 100644 index c815af94..00000000 --- a/doc/talks/2023-01-18-tocatta/assets/latticeC.svg +++ /dev/null @@ -1,598 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $\{\}$ - $\{a,b,c\}$ - - $\{a\}$ - $\{b\}$ - $\{c\}$ - - - $\{a,c\}$ - $\{a,b\}$ - $\{b,c\}$ - - - - - - - - - - - - - - - - - - - - $write(\{a\})$: - $\sqsupseteq \{a\} \to$ OK - $\sqsupseteq \{a\} \to$ OK - $\sqsupseteq \{a\}$ - return OK - return OK - - - - $write(\{b\})$: - $\sqsupseteq \{b\}$ - $\sqsupseteq \{b\} \to$ OK - $\sqsupseteq \{b\} \to$ OK - - diff --git a/doc/talks/2023-01-18-tocatta/talk.pdf b/doc/talks/2023-01-18-tocatta/talk.pdf index e4acf75e..6a70fcd7 100644 Binary files a/doc/talks/2023-01-18-tocatta/talk.pdf and b/doc/talks/2023-01-18-tocatta/talk.pdf differ diff --git a/doc/talks/2023-01-18-tocatta/talk.tex b/doc/talks/2023-01-18-tocatta/talk.tex index db6d26ef..4c3e4eeb 100644 --- a/doc/talks/2023-01-18-tocatta/talk.tex +++ b/doc/talks/2023-01-18-tocatta/talk.tex @@ -49,7 +49,7 @@ \title{Garage} \subtitle{a lightweight and robust geo-distributed data storage system} -\author{Deuxfleurs Association} +\author{Alex Auvolat, Deuxfleurs Association} \date{Inria, 2023-01-18} \begin{document} @@ -59,7 +59,7 @@ \includegraphics[width=.3\linewidth]{../../sticker/Garage.pdf} \vspace{1em} - {\large\bf Deuxfleurs Association} + {\large\bf Alex Auvolat, Deuxfleurs Association} \vspace{1em} \url{https://garagehq.deuxfleurs.fr/} @@ -68,7 +68,7 @@ \end{frame} \begin{frame} - \frametitle{Who we are} + \frametitle{Who I am} \begin{columns}[t] \begin{column}{.2\textwidth} \centering @@ -82,21 +82,6 @@ ~ \end{column} \end{columns} - \vspace{1em} - - \begin{columns}[t] - \begin{column}{.2\textwidth} - ~ - \end{column} - \begin{column}{.6\textwidth} - \textbf{Quentin Dufour}\\ - PhD; co-founder of Deuxfleurs - \end{column} - \begin{column}{.2\textwidth} - \centering - \adjincludegraphics[width=.5\linewidth, valign=t]{assets/quentin.jpg} - \end{column} - \end{columns} \vspace{2em} \begin{columns}[t] @@ -546,7 +531,7 @@ \vspace{1em} - \textbf{CRDTs only}\\(conflict-free replicated data types) + \textbf{Limited objects such as CRDTs}\\(conflict-free replicated data types) \vspace{1em} Part of the complexity is \textbf{reported to the consumer of the API}\\~ @@ -647,6 +632,13 @@ \end{itemize} \end{frame} +\begin{frame} + \frametitle{Performance gains in practice} + \begin{center} + \includegraphics[width=.8\linewidth]{assets/endpoint-latency-dc.png} + \end{center} +\end{frame} + \begin{frame} \frametitle{What can we implement without consensus?} \begin{itemize} @@ -664,7 +656,7 @@ \end{frame} \begin{frame} - \frametitle{Understanding CRDTs and quorums} + \frametitle{CRDTs and quorums: read-after-write consistency} \begin{figure} \centering \def\svgwidth{.8\textwidth} @@ -676,15 +668,11 @@ \only<6>{\import{assets/}{lattice6.pdf_tex}}% \only<7>{\import{assets/}{lattice7.pdf_tex}}% \only<8>{\import{assets/}{lattice8.pdf_tex}}% - \only<9>{\import{assets/}{lattice9.pdf_tex}}% - \only<10>{\import{assets/}{latticeA.pdf_tex}}% - \only<11>{\import{assets/}{latticeB.pdf_tex}}% - \only<12>{\import{assets/}{latticeC.pdf_tex}}% \end{figure} \end{frame} \begin{frame} - \frametitle{Read-after-write consistency:} + \frametitle{CRDTs and quorums: read-after-write consistency} \textbf{Property:} If node $A$ did an operation $write(x)$ and received an OK response,\\ \hspace{2cm} and node $B$ starts an operation $read()$ after $A$ received OK,\\ \hspace{2cm} then $B$ will read a value $x' \sqsupseteq x$. @@ -718,7 +706,25 @@ \end{frame} \begin{frame} - \frametitle{Monotonical read consistency:} + \frametitle{CRDTs and quorums: monotonic-reads consistency} + \begin{figure} + \centering + \def\svgwidth{.8\textwidth} + \only<1>{\import{assets/}{latticeB_1.pdf_tex}}% + \only<2>{\import{assets/}{latticeB_2.pdf_tex}}% + \only<3>{\import{assets/}{latticeB_3.pdf_tex}}% + \only<4>{\import{assets/}{latticeB_4.pdf_tex}}% + \only<5>{\import{assets/}{latticeB_5.pdf_tex}}% + \only<6>{\import{assets/}{latticeB_6.pdf_tex}}% + \only<7>{\import{assets/}{latticeB_7.pdf_tex}}% + \only<8>{\import{assets/}{latticeB_8.pdf_tex}}% + \only<9>{\import{assets/}{latticeB_9.pdf_tex}}% + \only<10>{\import{assets/}{latticeB_10.pdf_tex}}% + \end{figure} +\end{frame} + +\begin{frame} + \frametitle{CRDTs and quorums: monotonic-reads consistency} \textbf{Property:} If node $A$ did an operation $read()$ and received $x$ as a response,\\ \hspace{2cm} and node $B$ starts an operation $read()$ after $A$ received $x$,\\ \hspace{2cm} then $B$ will read a value $x' \sqsupseteq x$. @@ -735,14 +741,8 @@ \end{enumerate} \vspace{1em} - This makes reads slower in some cases, and is \textbf{not implemented in Garage}. -\end{frame} -\begin{frame} - \frametitle{Performance gains in practice} - \begin{center} - \includegraphics[width=.8\linewidth]{assets/endpoint-latency-dc.png} - \end{center} + This makes reads slower in some cases, and is \textbf{not implemented in Garage}. \end{frame} \begin{frame} -- cgit v1.2.3