179 lines
6.9 KiB
TeX
179 lines
6.9 KiB
TeX
\begin{frame}
|
||
\frametitle{Linéarisation}
|
||
\begin{block}{Définition}
|
||
Un ensemble d'événement est dit linéarisable s'il existe une séquence d'événement qui respecte les 3 propriétés suivantes :
|
||
\begin{itemize}
|
||
\item \textbf{Sûreté}
|
||
\item \textbf{Régularité}
|
||
\item \textbf{Atomicité}
|
||
\end{itemize}
|
||
\end{block}
|
||
\end{frame}
|
||
|
||
\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}
|
||
\include{wconsistence_properties/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}
|
||
\include{wconsistence_properties/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}
|
||
\include{wconsistence_properties/linearisation_atomicite_hc}
|
||
\end{figure}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{Les classes de cohérence}
|
||
\begin{columns}
|
||
\column{0.5\textwidth}
|
||
\resizebox{\columnwidth}{!}{
|
||
\includegraphics{images/carte_criteres.png}
|
||
}
|
||
|
||
\column{0.5\textwidth}
|
||
Une approche pour définir la cohérence d'un algorithme est de placer l'histoire concurrente qu'il produit dans une classe de cohérence. \\
|
||
Nous pouvons définir 3 classes de cohérence : %citer Perrin
|
||
\begin{itemize}
|
||
\item La \textbf{Localité d'état} (LS)
|
||
\item La \textbf{Validité} (V)
|
||
\item La \textbf{Convergence} (EC)
|
||
\end{itemize}
|
||
\end{columns}
|
||
|
||
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{Localité d'état (LS)}
|
||
|
||
\begin{columns}
|
||
\column{0.4\textwidth}
|
||
\include{wconsistence_properties/localiteetat_hc}
|
||
\column{0.6\textwidth}
|
||
\begin{block}{Définition}
|
||
Pour tout processus $p$, il existe une linéarisation contenant toutes les lectures pures de $p$. \\
|
||
\end{block}
|
||
\begin{math}
|
||
\begin{array}{ll}
|
||
e.g.: & \textcolor{blue}{C_{p_1} = \{r/(0,0), r/(0,2)^w, w(2)\}}, \\
|
||
& \textcolor{red}{C_{p_2} = \{r/(0,0), r/(0,1)^w, w(1)\}}, \\
|
||
& \textcolor{blue}{r/(0,0) \bullet w(2) \bullet r/(0,2)^w} \\
|
||
& \textcolor{red}{r/(0,0) \bullet w(1) \bullet r/(0,1)^w} \\
|
||
\end{array}
|
||
\end{math}
|
||
\end{columns}
|
||
|
||
|
||
\begin{flushright}
|
||
\begin{math}
|
||
LS = \left\{
|
||
\begin{array}{l}
|
||
\mathcal{T} \rightarrow \mathcal{P}(\mathcal{H}) \\
|
||
T \rightarrow \left\{
|
||
\begin{tabular}{lll}
|
||
$H \in \mathcal{H}:$ & \multicolumn{2}{l}{$\forall p \in \mathcal{P}_H, \exists C_p \subset E_H,$} \\
|
||
& & $\hat{Q}_{T,H} \subset C_p$ \\
|
||
& $\land$ & $lin(H[p \cap C_p / C_p]) \cap L(T) \neq \emptyset$ \\
|
||
\end{tabular}
|
||
\right. \\
|
||
\end{array}
|
||
\right.
|
||
\end{math}
|
||
\end{flushright}
|
||
\end{frame}
|
||
|
||
|
||
\begin{frame}
|
||
\frametitle{Validité (V)}
|
||
|
||
\begin{columns}
|
||
\column{0.4\textwidth}
|
||
\include{wconsistence_properties/validite_hc}
|
||
\column{0.6\textwidth}
|
||
\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{math}
|
||
\begin{array}{ll}
|
||
e.g.: & E' = \{r/(2,1)^w, r/(1,2)^w\} \\
|
||
& w(2) \bullet w(1) \bullet \textcolor{red}{r/(2,1)^w} \\
|
||
& w(1) \bullet w(2) \bullet \textcolor{red}{r/(1,2)^w} \\
|
||
\end{array}
|
||
\end{math}
|
||
\end{columns}
|
||
|
||
|
||
\begin{flushright}
|
||
\begin{math}
|
||
V = \left\{
|
||
\begin{array}{l}
|
||
\mathcal{T} \rightarrow \mathcal{P}(\mathcal{H}) \\
|
||
T \rightarrow \left\{
|
||
\begin{array}{lll}
|
||
H \in \mathcal{H}: & \multicolumn{2}{l}{|U_{T,H}| = \infty} \\
|
||
& \lor & \exists E' \subset E_H, (|E_H \setminus E'| < \infty \\
|
||
& & \land \forall e \in E', lin(H[E_H / {e}]) \cap L(T) \neq \emptyset) \\
|
||
\end{array}
|
||
\right. \\
|
||
\end{array}
|
||
\right.
|
||
\end{math}
|
||
\end{flushright}
|
||
\end{frame}
|
||
|
||
|
||
\begin{frame}
|
||
\frametitle{Convergence (EC)}
|
||
|
||
\begin{columns}
|
||
\column{0.4\textwidth}
|
||
\include{wconsistence_properties/convergence_hc}%
|
||
\column{0.5\textwidth}
|
||
\begin{block}{Définition}
|
||
Il existe un ensemble cofini d'événements dont chacun peut être justifié par une seule linéarisation. \\
|
||
\end{block}
|
||
\begin{math}
|
||
\begin{array}{ll}
|
||
e.g.: & E' = \{r/(1,2)^w, r/(1,2)^w\} \\
|
||
& w(1) \bullet w(2) \bullet \textcolor{red}{r/(1,2)^w} \\
|
||
\end{array}
|
||
\end{math}
|
||
\end{columns}
|
||
|
||
|
||
\begin{flushright}
|
||
\begin{math}
|
||
EC = \left\{
|
||
\begin{array}{l}
|
||
\mathcal{T} \rightarrow \mathcal{P}(\mathcal{H}) \\
|
||
T \rightarrow \left\{
|
||
\begin{array}{lll}
|
||
H \in \mathcal{H}: & \multicolumn{2}{l}{|U_{T,H}| = \infty} \\
|
||
& \lor & \exists E' \subset E_H, |E_H \setminus E'| < \infty \\
|
||
& & \land \displaystyle\bigcap_{e \in E'} \delta_T^{-1}(\lambda(e)) \neq \emptyset \\
|
||
\end{array}
|
||
\right. \\
|
||
\end{array}
|
||
\right.
|
||
\end{math}
|
||
\end{flushright}
|
||
\end{frame}
|