reorganisation
0
docs/présentation_consistence_faible/définition/adt.tex → docs/presentations/LIS/consistence_faible/définition/adt.tex
Normal file → Executable file
0
docs/présentation_consistence_faible/définition/exemple.tex → docs/presentations/LIS/consistence_faible/définition/exemple.tex
Normal file → Executable file
2
docs/présentation_consistence_faible/définition/index.tex → docs/presentations/LIS/consistence_faible/définition/index.tex
Normal file → Executable file
@ -4,4 +4,4 @@
|
|||||||
\include{définition/adt}
|
\include{définition/adt}
|
||||||
|
|
||||||
\subsection{Définition du modèle}
|
\subsection{Définition du modèle}
|
||||||
% \include{définition/modele}
|
\include{définition/modele}
|
0
docs/présentation_consistence_faible/définition/intro.tex → docs/presentations/LIS/consistence_faible/définition/intro.tex
Normal file → Executable file
0
docs/présentation_consistence_faible/définition/modele.tex → docs/presentations/LIS/consistence_faible/définition/modele.tex
Normal file → Executable file
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 159 KiB |
0
docs/présentation_consistence_faible/main.tex → docs/presentations/LIS/consistence_faible/main.tex
Normal file → Executable file
0
docs/présentation_consistence_faible/script.md → docs/presentations/LIS/consistence_faible/script.md
Normal file → Executable file
69
docs/presentations/LIS/vanderlinde/corps/attaques.tex
Executable file
@ -0,0 +1,69 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Résumé de l'article}
|
||||||
|
|
||||||
|
\begin{block}{Apports}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Formalisation des attaques possibles sur les systèmes satisfaisant la convergence causale.
|
||||||
|
\item Définition de propriétés permettant de contrer ou de limiter ces attaques.
|
||||||
|
\item Formalisation de "nouvelles" classes de cohérence faible étendant la cohérence causale à ces propriétés : "Secure Causal Consistency".
|
||||||
|
\item Présentation d'algorithmes produisant des histoires satisfaisant cette classe.
|
||||||
|
\item Expérimentation de ces algorithmes et comparaison avec les algorithmes existants.
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Résumé de l'article}
|
||||||
|
|
||||||
|
\begin{block}{Attentes}
|
||||||
|
Les auteurs cherchent à produire un algorithme maximisant l'interactivité et donc minimisant la latence. \newline
|
||||||
|
L'architecture étudiée est une architecture client-serveur, avec une connectivité en pair à pair entre les clients.
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
Illustration de l'architecture
|
||||||
|
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Attaques}
|
||||||
|
|
||||||
|
\begin{block}{Attaques}
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Tempering} : Anticipation d'une opération reçue par le système, mais pas encore exécutée par l'ensemble des nœuds.
|
||||||
|
\item \textbf{Omitting Dependencies} : Création d'une opération suivant un sous ensemble des dépendances réelles.
|
||||||
|
\item \textbf{Unseen Dependencies} : Anticipation d'une opération non reçue par le système, mais probable d'arrivée.
|
||||||
|
\item \textbf{Sibling Generation} : Création de deux opérations différentes possédant le même identifiant. Réalisant ainsi une divergence entre les nœuds.
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Propriétés}
|
||||||
|
|
||||||
|
\begin{block}{Propriétés}
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Immutable History} : Chaque opération est envoyée avec son passé causal. (Parade le \textbf{Tempering})
|
||||||
|
\item \textbf{No Future Dependencies} : Chaque opération est envoyée avec l'état qu'il connait des nœuds. (Parade l'\textbf{Unseen Dependencies}, il devient impossible de créer une opération à l'avance).
|
||||||
|
\item \textbf{Causal Execution} : Toute opération $o_i$ appartenant au passé causal d'une opération $o$ doit être sérialisable t.q. : $o_i < o$. (Fait office de synchronisation entre les nœuds)
|
||||||
|
\item \textbf{Eventual Sibling Detection} : Les opérations sont considérées comme des "jumeaux" éventuels et sont donc "révocables" via une nouvelle opération dédiée. (Parade (relativement) le \textbf{Sibling Generation})
|
||||||
|
\item \textbf{Limited Omission} : à travailler
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
Ces propriétés définissent la première classe que les auteurs introduisent : \textbf{Secure Causal Consistency}.
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Les différentes classes de cohérence faible}
|
||||||
|
|
||||||
|
\begin{block}{Les différentes classes de cohérence faible}
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Secure Causal Consistency} : Respecte les propriétés précédentes ainsi que celles introduites par la convergence causale.
|
||||||
|
\item \textbf{Secure Strict Causal Consistency} : Extension de la précédente, mais avec un ordre total basé sur la vision d'un observateur externe.
|
||||||
|
\item \textbf{Extended Secure Causal Consistency} :
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
|
||||||
|
\end{frame}
|
1
docs/presentations/LIS/vanderlinde/corps/index.tex
Executable file
@ -0,0 +1 @@
|
|||||||
|
\input{corps/attaques.tex}
|
BIN
docs/presentations/LIS/vanderlinde/images/carte_criteres.png
Executable file
After Width: | Height: | Size: 159 KiB |
88
docs/presentations/LIS/vanderlinde/intro/coherencecausale.tex
Executable file
@ -0,0 +1,88 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Cohérence Causale (Convergente)}
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.5\textwidth}
|
||||||
|
\resizebox{\columnwidth}{!}{
|
||||||
|
\includegraphics{images/carte_criteres.png}
|
||||||
|
}
|
||||||
|
|
||||||
|
\column{0.5\columnwidth}
|
||||||
|
\begin{block}{La cohérence causale selon Van Der Linde}
|
||||||
|
Usage du terme \textbf{Causal Consistency} qui pourrait être confondue avec la Cohérence Causale de Perrin. \newline
|
||||||
|
Mais s'approche plus de ce que Perrin qualifie de \textbf{Convergence Causale} (ou Causal Convergence (CCv)). \newline
|
||||||
|
Les auteurs souhaitent privilégier la \textbf{Convergence} à la \textbf{Validité}.
|
||||||
|
\end{block}
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Cohérence Causale Faible (WCC)}
|
||||||
|
|
||||||
|
\begin{block}{Définition}
|
||||||
|
Il existe un ordre causal tel que pour chaque lecture, il existe une linéarisation du passé causal de cet événement le justifiant.
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
\only<1>{
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{tcolorbox}[colframe=green!50!black]
|
||||||
|
\input{schemas/wcc_hc_1}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\column{0.5\columnwidth}
|
||||||
|
$\textcolor{red}{w(1)} \bullet \textcolor{red!50}{r/(0,1)}$ \newline
|
||||||
|
$\textcolor{blue}{w(3)} \bullet \textcolor{red}{w(1)} \bullet \textcolor{green!75!black}{r/(3,1)}$ \newline
|
||||||
|
$\textcolor{blue}{w(3)} \bullet \textcolor{red}{w(1)} \bullet \textcolor{green!75!black}{r} \bullet \textcolor{blue!50}{r/(3,1)}$ \newline
|
||||||
|
$\textcolor{red}{w(1)} \bullet \textcolor{blue}{w(3)} \bullet \textcolor{green!75!black}{r} \bullet \textcolor{green!95!black}{w(2)} \bullet \textcolor{red!25}{r/(3,2)}$ \newline
|
||||||
|
$\textcolor{red}{w(1)} \bullet \textcolor{blue}{w(3)} \bullet \textcolor{green!75!black}{r} \bullet \textcolor{green!95!black}{w(2)} \bullet \textcolor{blue!50}{r} \bullet \textcolor{blue!25}{r/(3,2)}$ \newline
|
||||||
|
\end{columns}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{tcolorbox}[colframe=red!50!black]
|
||||||
|
\input{schemas/wcc_hc_2}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\column{0.5\columnwidth}
|
||||||
|
$w(1) \bullet r/(0,1)$ \newline
|
||||||
|
Ici il n'est pas possible de trouver un ordre causal qui permette de linéariser le passé causal de $r/(2,1)$.
|
||||||
|
\end{columns}
|
||||||
|
}
|
||||||
|
|
||||||
|
\only<2>{
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{tcolorbox}[colframe=green!50!black]
|
||||||
|
\input{schemas/wcc_hc_3}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\column{0.5\columnwidth}
|
||||||
|
$\textcolor{green!75!black}{r/(0,0)}$ \newline
|
||||||
|
$\textcolor{red}{w(1)} \bullet \textcolor{blue}{w(3)} \bullet \textcolor{red!50}{r/(3,1)}$ \newline
|
||||||
|
$\textcolor{blue}{w(3)} \bullet \textcolor{red}{w(1)} \bullet \textcolor{blue!50}{r/(1,3)}$ \newline
|
||||||
|
$\textcolor{red}{w(1)} \bullet \textcolor{blue}{w(3)} \bullet \textcolor{green!75!black}{r} \bullet \textcolor{green!95!black}{w(2)} \bullet \textcolor{red!25}{r/(1,2)^\omega}$ \newline
|
||||||
|
$\textcolor{blue}{w(3)} \bullet \textcolor{red}{w(1)} \bullet \textcolor{blue!50}{r} \bullet \textcolor{green!75!black}{r} \bullet \textcolor{green!95!black}{w(2)} \bullet \textcolor{blue!25}{r/(3,2)^\omega}$ \newline
|
||||||
|
|
||||||
|
Cet exemple respecte la validité, mais pas la convergence.
|
||||||
|
\end{columns}
|
||||||
|
}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Convergence Causale (CCv)}
|
||||||
|
|
||||||
|
\begin{block}{Définition}
|
||||||
|
Il existe un ordre causal et un ordre total tel que pour chaque lecture, il existe une linéarisation du passé causal de cet événement trié suivant l'ordre total le justifiant.
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{tcolorbox}[colframe=green!50!black]
|
||||||
|
\resizebox{1.2\columnwidth}{!}{
|
||||||
|
\includegraphics{schemas/ccv_hc_1.png}
|
||||||
|
}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\column{0.5\columnwidth}
|
||||||
|
% J'expliquerai au tableau
|
||||||
|
\end{columns}
|
||||||
|
|
||||||
|
\end{frame}
|
36
docs/presentations/LIS/vanderlinde/intro/history.tex
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
\subsubsection{Le début de l'informatique distribuée}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Les processeurs multicœurs}
|
||||||
|
|
||||||
|
\begin{block}{Historique (1970)}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Besoin d'augmenter les performances des processeurs
|
||||||
|
\begin{itemize}
|
||||||
|
\item Augmentation de la fréquence (limite physique)
|
||||||
|
\item Augmentation du nombre de processeurs (problèmes de cohérence)
|
||||||
|
\end{itemize}
|
||||||
|
\item Lamport à défini des propriétés permettant de définir la notion de cohérence forte.
|
||||||
|
\item L'approche de Lamport est de classer l'exécution et non pas l'algorithme.
|
||||||
|
\end{itemize}
|
||||||
|
\begin{quotation}
|
||||||
|
"A correct execution is achieved if the results produced are the same as would be produced by executing the program steps in order."
|
||||||
|
\footnote{Lamport, \emph{How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs}, 1979}
|
||||||
|
\end{quotation}
|
||||||
|
\end{block}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{La généralisation aux systèmes distribuée}
|
||||||
|
\begin{block}{Historique (1980)}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Lamport étend sa définition de la cohérence forte aux systèmes distribués. \footnote{Lamport, \emph{On interprocess communication}, 1986}
|
||||||
|
\item Il définit trois propriétés :
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Sûreté}
|
||||||
|
\item \textbf{Régularité}
|
||||||
|
\item \textbf{Atomicité}
|
||||||
|
\end{itemize}
|
||||||
|
\item Une exécution qui respecte ces 3 propriétés est dite linéarisable.
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
\end{frame}
|
11
docs/presentations/LIS/vanderlinde/intro/index.tex
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
\subsection{Historique}
|
||||||
|
\include{intro/history.tex}
|
||||||
|
|
||||||
|
\subsection{La linéarisabilité}
|
||||||
|
\include{intro/linearisabilite.tex}
|
||||||
|
|
||||||
|
\subsection{Rappels}
|
||||||
|
\include{intro/rappel.tex}
|
||||||
|
|
||||||
|
\subsection{Cohérence Causale (Convergente)}
|
||||||
|
\include{intro/coherencecausale.tex}
|
45
docs/presentations/LIS/vanderlinde/intro/linearisabilite.tex
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Sûreté}
|
||||||
|
\begin{block}{Définition}
|
||||||
|
Toute lecture réalisée dans un même environnement non-concurrent est identique.
|
||||||
|
\end{block}
|
||||||
|
\begin{figure}
|
||||||
|
\input{schemas/linearisation_surete_hc}
|
||||||
|
\end{figure}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Régularité}
|
||||||
|
\begin{block}{Définition}
|
||||||
|
Une lecture concurrente à une écriture peut lire soit la valeur avant l'écriture, soit la valeur après l'écriture.
|
||||||
|
\end{block}
|
||||||
|
\begin{figure}
|
||||||
|
\input{schemas/linearisation_regularite_hc}
|
||||||
|
\end{figure}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Atomicité}
|
||||||
|
\begin{block}{Définition}
|
||||||
|
Si deux lectures ne sont pas concurrente la deuxième doit retourner une valeur au moins aussi récente que la première.
|
||||||
|
\end{block}
|
||||||
|
\begin{figure}
|
||||||
|
\input{schemas/linearisation_atomicite_hc}
|
||||||
|
\end{figure}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Cohérence Atomique ($C_\top$)}
|
||||||
|
|
||||||
|
\begin{block}{Définition}
|
||||||
|
La cohérence atomique est le critère de cohérence le plus fort existant.
|
||||||
|
\begin{itemize}
|
||||||
|
\item Il est le moins efficace en terme d'interactivité.
|
||||||
|
\item Il demande une synchronisation entre les opérations
|
||||||
|
\begin{itemize}
|
||||||
|
\item Chaque opération d'écriture ou de lecture est bloquante et doit attendre la fin de la précédente.
|
||||||
|
\end{itemize}
|
||||||
|
\item Il est utilisé en tant que référence.
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
\end{frame}
|
147
docs/presentations/LIS/vanderlinde/intro/rappel.tex
Executable file
@ -0,0 +1,147 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Les modèles de cohérences}
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.6\textwidth}
|
||||||
|
\footnote{Perrin, \emph{Concurrence et cohérence dans les systèmes répartis}, 2017}
|
||||||
|
\resizebox{\columnwidth}{!}{
|
||||||
|
\includegraphics{images/carte_criteres.png}
|
||||||
|
}
|
||||||
|
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{block}{Les classes de cohérences}
|
||||||
|
2 Grandes familles :
|
||||||
|
\begin{itemize}
|
||||||
|
\item Cohérence Forte
|
||||||
|
\item Cohérence Faible :
|
||||||
|
\begin{itemize}
|
||||||
|
\item Localité d'état (SL)
|
||||||
|
\item Convergence (EC)
|
||||||
|
\item Validité (V)
|
||||||
|
\end{itemize}
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Validité (V)}
|
||||||
|
|
||||||
|
\begin{block}{Définition}
|
||||||
|
Il existe, un ensemble cofini d'événement tel que pour chacun d'entre eux une linéarisation de toutes les opérations d'écriture les justifient. \\
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{tcolorbox}[colframe=green!50!black]
|
||||||
|
\input{schemas/validite_hc_1}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\column{0.5\columnwidth}
|
||||||
|
\begin{math}
|
||||||
|
\begin{array}{ll}
|
||||||
|
E' = & \{r/(2,1)^\omega, r/(1,2)^\omega\} \\
|
||||||
|
& w(2) \bullet w(1) \bullet \textcolor{red}{r/(2,1)^\omega} \\
|
||||||
|
& w(1) \bullet w(2) \bullet \textcolor{red}{r/(1,2)^\omega} \\
|
||||||
|
\end{array}
|
||||||
|
\end{math}
|
||||||
|
\end{columns}
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{tcolorbox}[colframe=red!50!black]
|
||||||
|
\input{schemas/validite_hc_2}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\column{0.5\columnwidth}
|
||||||
|
$E' = \{r/(0,1)^\omega, r/(1,2)^\omega\}$. \\
|
||||||
|
Il n'existe pas de linéarisation des opérations d'écritures qui justifie $r/(0,1)^\omega$.
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Localité d'état}
|
||||||
|
|
||||||
|
\begin{block}{Définition}
|
||||||
|
Pour tout processus $p$, il existe une linéarisation contenant toutes les lectures pures de $p$. Respectant l'ordre local de ces lectures. \\
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{tcolorbox}[colframe=green!50!black]
|
||||||
|
\input{schemas/localiteetat_hc_1}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\column{0.5\columnwidth}
|
||||||
|
\begin{math}
|
||||||
|
\begin{array}{l}
|
||||||
|
\textcolor{blue}{C_{p_0} = \{r/(0,0), r/(0,2)^\omega, w(2)\}}, \\
|
||||||
|
\textcolor{red}{C_{p_1} = \{r/(0,0), r/(0,1)^\omega, w(1)\}}, \\
|
||||||
|
\textcolor{blue}{r/(0,0) \bullet w(2) \bullet r/(0,2)^\omega} \\
|
||||||
|
\textcolor{red}{r/(0,0) \bullet w(1) \bullet r/(0,1)^\omega} \\
|
||||||
|
\end{array}
|
||||||
|
\end{math}
|
||||||
|
\end{columns}
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{tcolorbox}[colframe=red!50!black]
|
||||||
|
\input{schemas/localiteetat_hc_2}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\column{0.5\columnwidth}
|
||||||
|
$E'_{p_0} = \{r/(0,0), r/(2,1)^\omega\},$ \newline
|
||||||
|
$r/(0,0) \bullet w(2) \bullet w(1) \bullet r/(2,1)^\omega$ \newline
|
||||||
|
$E'_{p_1} = \{r/(0,1), r/(2,1)^\omega\}$. \newline
|
||||||
|
Il n'existe pas de linéarisation de $p_1$ respectant la localité d'état.
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Convergence (EC)}
|
||||||
|
|
||||||
|
\begin{block}{Définition}
|
||||||
|
Il existe un ensemble cofini d'événements dont chacun peut être justifié par un seul et même état. \\
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{tcolorbox}[colframe=green!50!black]
|
||||||
|
\input{schemas/convergence_hc_1}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\column{0.5\columnwidth}
|
||||||
|
$E' = \{r/(1,2)^\omega, r/(1,2)^\omega\}$ \newline
|
||||||
|
$\delta = ((1,2), \emptyset)$ est un état possible justifiant $E'$.
|
||||||
|
\end{columns}
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{tcolorbox}[colframe=red!50!black]
|
||||||
|
\input{schemas/convergence_hc_2}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\column{0.5\columnwidth}
|
||||||
|
$E' = \{r/(1,2)^\omega, r/(2,1)^\omega\}$. \newline
|
||||||
|
Il n'existe aucun état possible justifiant $E'$ puisque deux lectures infinies sont incohérentes.
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Cohérence Causale}
|
||||||
|
|
||||||
|
\begin{columns}
|
||||||
|
\column{0.6\textwidth}
|
||||||
|
\resizebox{\columnwidth}{!}{
|
||||||
|
\includegraphics{images/carte_criteres.png}
|
||||||
|
}
|
||||||
|
|
||||||
|
\column{0.4\columnwidth}
|
||||||
|
\begin{block}{Les classes de la cohérence causale}
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{WCC}: Weak Causal Consistency (V)
|
||||||
|
\item \textbf{CCv}: Causal Convergence (V, EC)
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
On respecte les propriétés suivantes :
|
||||||
|
\begin{itemize}
|
||||||
|
\item Localité d'état (SL)
|
||||||
|
\item Convergence (EC)
|
||||||
|
\end{itemize}
|
||||||
|
\end{columns}
|
||||||
|
\end{frame}
|
58
docs/presentations/LIS/vanderlinde/main.tex
Executable file
@ -0,0 +1,58 @@
|
|||||||
|
\documentclass{beamer}
|
||||||
|
\usetheme{Boadilla}
|
||||||
|
\usecolortheme{orchid}
|
||||||
|
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[french]{babel}
|
||||||
|
\usepackage{stackengine}
|
||||||
|
|
||||||
|
\addtobeamertemplate{navigation symbols}{}{%
|
||||||
|
\usebeamerfont{footline}%
|
||||||
|
\usebeamercolor[fg]{footline}%
|
||||||
|
\hspace{1em}%
|
||||||
|
\insertframenumber/\inserttotalframenumber
|
||||||
|
}
|
||||||
|
\usepackage{ulem}
|
||||||
|
\usepackage{tkz-tab}
|
||||||
|
\setbeamertemplate{blocks}[rounded]%
|
||||||
|
[shadow=true]
|
||||||
|
\AtBeginSection{%
|
||||||
|
\begin{frame}
|
||||||
|
\tableofcontents[sections=\value{section}]
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usetikzlibrary{positioning}
|
||||||
|
\usetikzlibrary{calc}
|
||||||
|
\usetikzlibrary{arrows.meta}
|
||||||
|
|
||||||
|
\usepackage{tcolorbox}
|
||||||
|
|
||||||
|
\usepackage{chronosys}
|
||||||
|
|
||||||
|
\title[bwconsistency]{Cohérence faible byzantine appliquée au cloud}
|
||||||
|
\subtitle{Présentation intermédiaire: "Practical Client-side Replication: Weak Consistency Semantics for Insecure Settings"}
|
||||||
|
\author[JOLY Amaury]{JOLY Amaury\\ \textbf{Encadrants :} GODARD Emmanuel, TRAVERS Corentin }
|
||||||
|
% \\[2ex] \includegraphics[scale=0.1]{./img/amu.png}
|
||||||
|
\institute[LIS, Scille]{LIS-LAB, Scille}
|
||||||
|
\date{\today}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\begin{frame}{Table des matières}
|
||||||
|
\tableofcontents
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\section{Introduction}
|
||||||
|
\input{intro/index.tex}
|
||||||
|
|
||||||
|
\input{corps/index.tex}
|
||||||
|
|
||||||
|
% \section{Les propriétés de la Cohérence Faible}
|
||||||
|
% \input{wconsistence_properties/index.tex}
|
||||||
|
|
||||||
|
\end{document}
|
BIN
docs/presentations/LIS/vanderlinde/schemas/ccv_hc_1.png
Executable file
After Width: | Height: | Size: 72 KiB |
41
docs/presentations/LIS/vanderlinde/schemas/convergence_hc_1.tex
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,},
|
||||||
|
ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,},
|
||||||
|
arrow/.style={|->, thick,},
|
||||||
|
message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[roundnode] (11) {};
|
||||||
|
\node[left] at (11.west) {$p_0$};
|
||||||
|
\node[above] at (11.north) {$w(1)$};
|
||||||
|
\node[roundnode] (12) [right=of 11] {};
|
||||||
|
\node[above] at (12.north) {$I(a)$};
|
||||||
|
\node[roundnode] (13) [right=of 12] {};
|
||||||
|
\node[above] at (13.north) {$r/(0,1)$};
|
||||||
|
\node[roundnode] (14) [right=35pt of 13] {};
|
||||||
|
\node[above] at (14.north) {$r/(1,2)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (11) -- (12);
|
||||||
|
\draw[arrow] (12) -- (13);
|
||||||
|
\draw[arrow] (13) -- (14);
|
||||||
|
|
||||||
|
\node[roundnode] (21) [below=10pt of 11] {};
|
||||||
|
\node[left] at (21.west) {$p_1$};
|
||||||
|
\node[below] at (21.south) {$w(2)$};
|
||||||
|
\node[roundnode] (22) [right=of 21] {};
|
||||||
|
\node[below] at (22.south) {$R/\emptyset$};
|
||||||
|
\node[roundnode] (23) [right=of 22] {};
|
||||||
|
\node[below] at (23.south) {$r/(0,2)$};
|
||||||
|
\node[roundnode] (24) [right=35pt of 23] {};
|
||||||
|
\node[below] at (24.south) {$r/(1,2)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (21) -- (22);
|
||||||
|
\draw[arrow] (22) -- (23);
|
||||||
|
\draw[arrow] (23) -- (24);
|
||||||
|
|
||||||
|
\draw (24) -- (14);
|
||||||
|
|
||||||
|
\draw[dashed] ($(14)!0.5!(13) + (0,1)$) -- ++(0, -2.9);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
41
docs/presentations/LIS/vanderlinde/schemas/convergence_hc_2.tex
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,},
|
||||||
|
ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,},
|
||||||
|
arrow/.style={|->, thick,},
|
||||||
|
message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[roundnode] (11) {};
|
||||||
|
\node[left] at (11.west) {$p_0$};
|
||||||
|
\node[above] at (11.north) {$w(1)$};
|
||||||
|
\node[roundnode] (12) [right=of 11] {};
|
||||||
|
\node[above] at (12.north) {$I(a)$};
|
||||||
|
\node[roundnode] (13) [right=of 12] {};
|
||||||
|
\node[above] at (13.north) {$r/(0,1)$};
|
||||||
|
\node[roundnode] (14) [right=35pt of 13] {};
|
||||||
|
\node[above] at (14.north) {$r/(1,2)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (11) -- (12);
|
||||||
|
\draw[arrow] (12) -- (13);
|
||||||
|
\draw[arrow] (13) -- (14);
|
||||||
|
|
||||||
|
\node[roundnode] (21) [below=10pt of 11] {};
|
||||||
|
\node[left] at (21.west) {$p_1$};
|
||||||
|
\node[below] at (21.south) {$w(2)$};
|
||||||
|
\node[roundnode] (22) [right=of 21] {};
|
||||||
|
\node[below] at (22.south) {$R/\emptyset$};
|
||||||
|
\node[roundnode] (23) [right=of 22] {};
|
||||||
|
\node[below] at (23.south) {$r/(0,2)$};
|
||||||
|
\node[roundnode] (24) [right=35pt of 23] {};
|
||||||
|
\node[below] at (24.south) {$r/(2,1)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (21) -- (22);
|
||||||
|
\draw[arrow] (22) -- (23);
|
||||||
|
\draw[arrow] (23) -- (24);
|
||||||
|
|
||||||
|
\draw (24) -- (14);
|
||||||
|
|
||||||
|
\draw[dashed] ($(14)!0.5!(13) + (0,1)$) -- ++(0, -2.9);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
26
docs/presentations/LIS/vanderlinde/schemas/linearisation_atomicite_hc.tex
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{%
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundedrectangle/.style={draw, rounded corners, rectangle, minimum height=10pt, minimum width=20pt},
|
||||||
|
invisible/.style={draw=none, fill=none},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[invisible] (10) {};
|
||||||
|
\node[roundedrectangle, minimum width=150pt] (11) [right=100pt of 10] {$w_x(1)$};
|
||||||
|
\node[invisible] (12) [right=100pt of 11] {};
|
||||||
|
|
||||||
|
\node[invisible] (20) [below=15pt of 10] {};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (21) [right=25pt of 20] {\textcolor{blue}{$r/(0)$}};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (22) [right=75pt of 21] {\textcolor{blue}{$r/(0)$}};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (23) [right=75pt of 22] {\textcolor{red}{$r/(1)$}};
|
||||||
|
\node[invisible] (24) [below=15pt of 12] {};
|
||||||
|
|
||||||
|
\node[invisible] (30) [below=15pt of 20] {};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (31) [right=125pt of 30] {\textcolor{red}{$r/(1)$}};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (32) [right=40pt of 31] {\textcolor{red}{$r/(1)$}};
|
||||||
|
\node[invisible] (33) [below=15pt of 24] {};
|
||||||
|
|
||||||
|
\draw (10) -- (11) -- (12);
|
||||||
|
\draw (20) -- (21) -- (22) -- (23) -- (24);
|
||||||
|
\draw (30) -- (31) -- (32) -- (33);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
26
docs/presentations/LIS/vanderlinde/schemas/linearisation_regularite_hc.tex
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{%
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundedrectangle/.style={draw, rounded corners, rectangle, minimum height=10pt, minimum width=20pt},
|
||||||
|
invisible/.style={draw=none, fill=none},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[invisible] (10) {};
|
||||||
|
\node[roundedrectangle, minimum width=150pt] (11) [right=100pt of 10] {$w_x(1)$};
|
||||||
|
\node[invisible] (12) [right=100pt of 11] {};
|
||||||
|
|
||||||
|
\node[invisible] (20) [below=15pt of 10] {};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (21) [right=25pt of 20] {\textcolor{blue}{$r/(0)$}};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (22) [right=75pt of 21] {\textcolor{blue}{$r/(0)$}};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (23) [right=75pt of 22] {\textcolor{red}{$r/(1)$}};
|
||||||
|
\node[invisible] (24) [below=15pt of 12] {};
|
||||||
|
|
||||||
|
\node[invisible] (30) [below=15pt of 20] {};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (31) [right=125pt of 30] {\textcolor{red}{$r/(1)$}};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (32) [right=40pt of 31] {\textcolor{blue}{$r/(0)$}};
|
||||||
|
\node[invisible] (33) [below=15pt of 24] {};
|
||||||
|
|
||||||
|
\draw (10) -- (11) -- (12);
|
||||||
|
\draw (20) -- (21) -- (22) -- (23) -- (24);
|
||||||
|
\draw (30) -- (31) -- (32) -- (33);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
26
docs/presentations/LIS/vanderlinde/schemas/linearisation_surete_hc.tex
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{%
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundedrectangle/.style={draw, rounded corners, rectangle, minimum height=10pt, minimum width=20pt},
|
||||||
|
invisible/.style={draw=none, fill=none},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[invisible] (10) {};
|
||||||
|
\node[roundedrectangle, minimum width=150pt] (11) [right=100pt of 10] {$w_x(1)$};
|
||||||
|
\node[invisible] (12) [right=100pt of 11] {};
|
||||||
|
|
||||||
|
\node[invisible] (20) [below=15pt of 10] {};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (21) [right=25pt of 20] {\textcolor{blue}{$r/(0)$}};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (22) [right=75pt of 21] {\textcolor{blue}{$r/(0)$}};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (23) [right=75pt of 22] {\textcolor{red}{$r/(1)$}};
|
||||||
|
\node[invisible] (24) [below=15pt of 12] {};
|
||||||
|
|
||||||
|
\node[invisible] (30) [below=15pt of 20] {};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (31) [right=125pt of 30] {\textcolor{red!50!blue}{$r/(27)$}};
|
||||||
|
\node[roundedrectangle, minimum width=50pt] (32) [right=40pt of 31] {\textcolor{red}{$r/(1)$}};
|
||||||
|
\node[invisible] (33) [below=15pt of 24] {};
|
||||||
|
|
||||||
|
\draw (10) -- (11) -- (12);
|
||||||
|
\draw (20) -- (21) -- (22) -- (23) -- (24);
|
||||||
|
\draw (30) -- (31) -- (32) -- (33);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
34
docs/presentations/LIS/vanderlinde/schemas/localiteetat_hc_1.tex
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{%
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,},
|
||||||
|
ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,},
|
||||||
|
arrow/.style={|->, thick,},
|
||||||
|
message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[roundnode, draw=red, fill=red] (11) {};
|
||||||
|
\node[left] at (11.west) {$p_0$};
|
||||||
|
\node[above] at (11.north) {$w(1)$};
|
||||||
|
\node[roundnode, draw=blue, fill=blue] (12) [right=of 11] {};
|
||||||
|
\node[above] at (12.north) {$r/(0,0)$};
|
||||||
|
\node[roundnode, draw=blue, fill=blue] (13) [right=of 12] {};
|
||||||
|
\node[above] at (13.north) {$r/(0,2)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (11) -- (12);
|
||||||
|
\draw[arrow] (12) -- (13);
|
||||||
|
|
||||||
|
\node[roundnode, draw=blue, fill=blue] (21) [below=10pt of 11] {};
|
||||||
|
\node[left] at (21.west) {$p_1$};
|
||||||
|
\node[below] at (21.south) {$w(2)$};
|
||||||
|
\node[roundnode, draw=red, fill=red] (22) [right=of 21] {};
|
||||||
|
\node[below] at (22.south) {$r/(0,0)$};
|
||||||
|
\node[roundnode, draw=red, fill=red] (23) [right=of 22] {};
|
||||||
|
\node[below] at (23.south) {$r/(0,1)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (21) -- (22);
|
||||||
|
\draw[arrow] (22) -- (23);
|
||||||
|
|
||||||
|
\draw[message] (11) -- ($(22)!0.5!(23)$);
|
||||||
|
\draw[message] (21) -- ($(12)!0.5!(13)$);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
32
docs/presentations/LIS/vanderlinde/schemas/localiteetat_hc_2.tex
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{%
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,},
|
||||||
|
ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,},
|
||||||
|
arrow/.style={|->, thick,},
|
||||||
|
message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[roundnode] (11) {};
|
||||||
|
\node[left] at (11.west) {$p_0$};
|
||||||
|
\node[above] at (11.north) {$w(1)$};
|
||||||
|
\node[roundnode] (12) [right=of 11] {};
|
||||||
|
\node[above] at (12.north) {$r/(0,0)$};
|
||||||
|
\node[roundnode] (13) [right=of 12] {};
|
||||||
|
\node[above] at (13.north) {$r/(0,2)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (11) -- (12);
|
||||||
|
\draw[arrow] (12) -- (13);
|
||||||
|
|
||||||
|
\node[roundnode] (21) [below=10pt of 11] {};
|
||||||
|
\node[left] at (21.west) {$p_1$};
|
||||||
|
\node[below] at (21.south) {$w(2)$};
|
||||||
|
\node[roundnode] (22) [right=of 21] {};
|
||||||
|
\node[below] at (22.south) {$r/(0,1)$};
|
||||||
|
\node[roundnode] (23) [right=of 22] {};
|
||||||
|
\node[below] at (23.south) {$r/(2,1)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (21) -- (22);
|
||||||
|
\draw[arrow] (22) -- (23);
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
31
docs/presentations/LIS/vanderlinde/schemas/validite_hc_1.tex
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{%
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,},
|
||||||
|
ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,},
|
||||||
|
arrow/.style={|->, thick,},
|
||||||
|
message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[roundnode] (11) {};
|
||||||
|
\node[left] at (11.west) {$p_0$};
|
||||||
|
\node[above] at (11.north) {$w(1)$};
|
||||||
|
\node[roundnode] (12) [right=of 11] {};
|
||||||
|
\node[above] at (12.north) {$r/(0,1)$};
|
||||||
|
\node[roundnode] (13) [right=of 12] {};
|
||||||
|
\node[above] at (13.north) {$r/(2,1)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (11) -- (12);
|
||||||
|
\draw[arrow] (12) -- (13);
|
||||||
|
|
||||||
|
\node[roundnode] (21) [below=10pt of 11] {};
|
||||||
|
\node[left] at (21.west) {$p_1$};
|
||||||
|
\node[below] at (21.south) {$w(2)$};
|
||||||
|
\node[roundnode] (22) [right=of 21] {};
|
||||||
|
\node[below] at (22.south) {$r/(0,2)$};
|
||||||
|
\node[roundnode] (23) [right=of 22] {};
|
||||||
|
\node[below] at (23.south) {$r/(1,2)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (21) -- (22);
|
||||||
|
\draw[arrow] (22) -- (23);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
31
docs/presentations/LIS/vanderlinde/schemas/validite_hc_2.tex
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{%
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,},
|
||||||
|
ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,},
|
||||||
|
arrow/.style={|->, thick,},
|
||||||
|
message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[roundnode] (11) {};
|
||||||
|
\node[left] at (11.west) {$p_0$};
|
||||||
|
\node[above] at (11.north) {$w(1)$};
|
||||||
|
\node[roundnode] (12) [right=of 11] {};
|
||||||
|
\node[above] at (12.north) {$r/(0,1)$};
|
||||||
|
\node[roundnode] (13) [right=of 12] {};
|
||||||
|
\node[above] at (13.north) {$r/(0,1)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (11) -- (12);
|
||||||
|
\draw[arrow] (12) -- (13);
|
||||||
|
|
||||||
|
\node[roundnode] (21) [below=10ptof 11] {};
|
||||||
|
\node[left] at (21.west) {$p_1$};
|
||||||
|
\node[below] at (21.south) {$w(2)$};
|
||||||
|
\node[roundnode] (22) [right=of 21] {};
|
||||||
|
\node[below] at (22.south) {$r/(0,2)$};
|
||||||
|
\node[roundnode] (23) [right=of 22] {};
|
||||||
|
\node[below] at (23.south) {$r/(1,2)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (21) -- (22);
|
||||||
|
\draw[arrow] (22) -- (23);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
42
docs/presentations/LIS/vanderlinde/schemas/wcc_hc_1.tex
Executable file
@ -0,0 +1,42 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{%
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,},
|
||||||
|
ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,},
|
||||||
|
arrow/.style={|->, thick,},
|
||||||
|
message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[roundnode, color=red] (11) {};
|
||||||
|
\node[above] at (11.north) {$w(1)$};
|
||||||
|
\node[roundnode, color=red!50] (12) [right=of 11] {};
|
||||||
|
\node[above] at (12.north) {$r/(0,1)$};
|
||||||
|
\node[roundnode, color=red!25] (13) [right=of 12] {};
|
||||||
|
\node[above] at (13.north) {$r/(3,2)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (11) -- (12);
|
||||||
|
\draw[arrow] (12) -- (13);
|
||||||
|
|
||||||
|
\node[roundnode, color=green!75!black] (21) [below=20pt of 11] {};
|
||||||
|
\node[left] at (21.west) {$r/(3,1)$};
|
||||||
|
\node[roundnode, color=green!95!black] (22) [right=of 21] {};
|
||||||
|
\node[right] at (22.east) {$w(2)$};
|
||||||
|
|
||||||
|
\draw[arrow] (21) -- (22);
|
||||||
|
|
||||||
|
\node[roundnode, color=blue] (31) [below=20pt of 21] {};
|
||||||
|
\node[below] at (31.south) {$w(3)$};
|
||||||
|
\node[roundnode, color=blue!50] (32) [right=of 31] {};
|
||||||
|
\node[below] at (32.south) {$r/(3,1)$};
|
||||||
|
\node[roundnode, color=blue!25] (33) [right=of 32] {};
|
||||||
|
\node[below] at (33.south) {$r/(3,2)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (31) -- (32);
|
||||||
|
\draw[arrow] (32) -- (33);
|
||||||
|
|
||||||
|
\draw[message] (11) -- (21);
|
||||||
|
\draw[message] (31) -- (21);
|
||||||
|
\draw[message] (21) -- (32);
|
||||||
|
\draw[message] (22) -- (13);
|
||||||
|
\draw[message] (22) -- (33);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
29
docs/presentations/LIS/vanderlinde/schemas/wcc_hc_2.tex
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{%
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,},
|
||||||
|
ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,},
|
||||||
|
arrow/.style={|->, thick,},
|
||||||
|
message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[roundnode] (11) {};
|
||||||
|
\node[above] at (11.north) {$w(1)$};
|
||||||
|
\node[roundnode] (12) [right=of 11] {};
|
||||||
|
\node[above] at (12.north) {$r/(2,1)$};
|
||||||
|
\node[roundnode] (13) [right=of 12] {};
|
||||||
|
\node[above] at (13.north) {$r/(2,1)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (11) -- (12);
|
||||||
|
\draw[arrow] (12) -- (13);
|
||||||
|
|
||||||
|
\node[roundnode] (21) [below=20pt of 11] {};
|
||||||
|
\node[left] at (21.west) {$r/(0,1)$};
|
||||||
|
\node[roundnode] (22) [right=of 21] {};
|
||||||
|
\node[right] at (22.east) {$w(2)$};
|
||||||
|
|
||||||
|
\draw[arrow] (21) -- (22);
|
||||||
|
|
||||||
|
\draw[message] (11) -- (21);
|
||||||
|
\draw[message] (22) -- (12);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
41
docs/presentations/LIS/vanderlinde/schemas/wcc_hc_3.tex
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
\resizebox{\columnwidth}{!}{%
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
roundnode/.style={circle, draw=black, fill=black, very thick, minimum size=1pt,},
|
||||||
|
ignorednode/.style={circle, draw=black!20, fill=black!20, very thick, minimum size=1pt,},
|
||||||
|
arrow/.style={|->, thick,},
|
||||||
|
message/.style={->, blue!50, dashed, -{Circle[length=4pt,]}},
|
||||||
|
]
|
||||||
|
|
||||||
|
\node[roundnode, color=red] (11) {};
|
||||||
|
\node[above] at (11.north) {$w(1)$};
|
||||||
|
\node[roundnode, color=red!50] (12) [right=of 11] {};
|
||||||
|
\node[above] at (12.north) {$r/(3,1)$};
|
||||||
|
\node[roundnode, color=red!25] (13) [right=of 12] {};
|
||||||
|
\node[above] at (13.north) {$r/(1,2)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (11) -- (12);
|
||||||
|
\draw[arrow] (12) -- (13);
|
||||||
|
|
||||||
|
\node[roundnode, color=green!75!black] (21) [below=20pt of 11] {};
|
||||||
|
\node[left] at (21.west) {$r/(0,0)$};
|
||||||
|
\node[roundnode, color=green!95!black] (22) [right=of 21] {};
|
||||||
|
\node[right] at (22.east) {$w(2)$};
|
||||||
|
|
||||||
|
\draw[arrow] (21) -- (22);
|
||||||
|
|
||||||
|
\node[roundnode, color=blue] (31) [below=20pt of 21] {};
|
||||||
|
\node[below] at (31.south) {$w(3)$};
|
||||||
|
\node[roundnode, color=blue!50] (32) [right=of 31] {};
|
||||||
|
\node[below] at (32.south) {$r/(1,3)$};
|
||||||
|
\node[roundnode, color=blue!25] (33) [right=of 32] {};
|
||||||
|
\node[below] at (33.south) {$r/(3,2)^\omega$};
|
||||||
|
|
||||||
|
\draw[arrow] (31) -- (32);
|
||||||
|
\draw[arrow] (32) -- (33);
|
||||||
|
|
||||||
|
\draw[message] (11) -- (31);
|
||||||
|
\draw[message] (31) -- (12);
|
||||||
|
\draw[message] (22) -- (13);
|
||||||
|
\draw[message] (22) -- (33);
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 319 KiB After Width: | Height: | Size: 319 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |