Skip to content
Snippets Groups Projects
Commit b00fc6ac authored by Amaury's avatar Amaury
Browse files

reorganisation

parent f1b1dc40
No related branches found
No related tags found
No related merge requests found
Showing
with 195 additions and 1 deletion
...@@ -4,4 +4,4 @@ ...@@ -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}
\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}
\input{corps/attaques.tex}
\ No newline at end of file
docs/presentations/LIS/vanderlinde/images/carte_criteres.png

159 KiB

\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}
\ No newline at end of file
\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}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment