attribution des slides
This commit is contained in:
parent
aaf931e0b5
commit
bb06a0c2a7
50
slides.md
50
slides.md
|
@ -27,6 +27,8 @@ Stanford University
|
||||||
(2014)
|
(2014)
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
<!-- Laurent -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<!-- Qu'est ce que le "consensus" dans un premier temps ? -->
|
<!-- Qu'est ce que le "consensus" dans un premier temps ? -->
|
||||||
|
@ -49,12 +51,16 @@ Stanford University
|
||||||
- La majorité des serveurs HS: perte de disponibilité, maintien de la cohérence
|
- La majorité des serveurs HS: perte de disponibilité, maintien de la cohérence
|
||||||
- La clé pour construire des systèmes de stockage cohérents
|
- La clé pour construire des systèmes de stockage cohérents
|
||||||
|
|
||||||
|
<!-- Laurent -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
|
||||||
# Architecture typique des systèmes de consensus
|
# Architecture typique des systèmes de consensus
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
![bg 95%](https://ongardie.net/static/coreosfest/slides/rsm.svg)
|
![bg 95%](https://ongardie.net/static/coreosfest/slides/rsm.svg)
|
||||||
|
|
||||||
<!-- Un ou plusieurs clients. Et plusieurs serveurs formant un groupe de consensus (généralement > 3 et impair). Quand client RPC serv, leader réplique cela sur ses suiveurs et une fois cela validé, répond au client. -->
|
<!-- Un ou plusieurs clients. Et plusieurs serveurs formant un groupe de consensus (généralement > 3 et impair). Quand client RPC serv, leader réplique cela sur ses suiveurs et une fois cela validé, répond au client. -->
|
||||||
|
@ -69,7 +75,7 @@ Stanford University
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
</header>
|
<!-- Laurent -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -91,6 +97,14 @@ Paxos domine le marché depuis ~25 ans (Leslie Lamport, 1989)
|
||||||
|
|
||||||
> There are significant gaps between the description of the Paxos algorithm and the needs of a real-world system…the final system will be based on an unproven protocol. – [Chubby](https://research.google/pubs/pub27897/) authors
|
> There are significant gaps between the description of the Paxos algorithm and the needs of a real-world system…the final system will be based on an unproven protocol. – [Chubby](https://research.google/pubs/pub27897/) authors
|
||||||
|
|
||||||
|
<!-- Clément -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Slides PAXOS TODO
|
||||||
|
|
||||||
|
<!-- Clément -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
@ -101,6 +115,8 @@ Paxos domine le marché depuis ~25 ans (Leslie Lamport, 1989)
|
||||||
|
|
||||||
<!-- Les auteurs de RAFT en avait donc ras le bol de voir cette situation, ils ont donc décidés de créer un nouvel algorithme, en se fondant sur la compréhensibilité -->
|
<!-- Les auteurs de RAFT en avait donc ras le bol de voir cette situation, ils ont donc décidés de créer un nouvel algorithme, en se fondant sur la compréhensibilité -->
|
||||||
|
|
||||||
|
<!-- Clément -->
|
||||||
|
|
||||||
## Prendre des décisions de conception fondées sur la compréhensibilité
|
## Prendre des décisions de conception fondées sur la compréhensibilité
|
||||||
|
|
||||||
<!-- Pour se faire ils ont choisis de décomposer le consensus le plus possible en des petits problèmes trivials à résoudre. -->
|
<!-- Pour se faire ils ont choisis de décomposer le consensus le plus possible en des petits problèmes trivials à résoudre. -->
|
||||||
|
@ -115,6 +131,8 @@ Paxos domine le marché depuis ~25 ans (Leslie Lamport, 1989)
|
||||||
- Minimiser le non-déterminisme
|
- Minimiser le non-déterminisme
|
||||||
- Maximiser la cohérence
|
- Maximiser la cohérence
|
||||||
|
|
||||||
|
<!-- Laurent -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
@ -133,6 +151,8 @@ Paxos domine le marché depuis ~25 ans (Leslie Lamport, 1989)
|
||||||
- Maintenir la cohérence des journaux
|
- Maintenir la cohérence des journaux
|
||||||
- Seuls les serveurs dont les journaux sont à jour peuvent devenir des leaders
|
- Seuls les serveurs dont les journaux sont à jour peuvent devenir des leaders
|
||||||
|
|
||||||
|
<!-- Laurent -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
@ -162,6 +182,8 @@ Leader: Issues AppendEntries RPCs:
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<!-- Laurent -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
@ -185,6 +207,8 @@ Terms identify obsolete information
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<!-- Clément -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
@ -195,11 +219,13 @@ Terms identify obsolete information
|
||||||
|
|
||||||
![bg 70%](figs/leader-election.png)
|
![bg 70%](figs/leader-election.png)
|
||||||
|
|
||||||
|
<!-- Clément -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
|
||||||
# Exactitude des élections
|
# Correction des élections
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
@ -210,9 +236,11 @@ Terms identify obsolete information
|
||||||
- Vivacité: un candidat doit finir par gagner
|
- Vivacité: un candidat doit finir par gagner
|
||||||
- Délais d'expiration des élections aléatoire dans $[T, 2T]$ (i.e. 150-300 ms)
|
- Délais d'expiration des élections aléatoire dans $[T, 2T]$ (i.e. 150-300 ms)
|
||||||
- Le serveur gagne l'élection en dépassant le délai d'attente avant les autres
|
- Le serveur gagne l'élection en dépassant le délai d'attente avant les autres
|
||||||
- Fonctionne bien si $T \gg T_{\text{diffusion}}$
|
- Fonctionne bien si $\text{MTBF} \gg T \gg T_{\text{diffusion}}$
|
||||||
- Approche aléatoire plus simple que les autres comme le ranking
|
- Approche aléatoire plus simple que les autres comme le ranking
|
||||||
|
|
||||||
|
<!-- Clément -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
@ -334,6 +362,16 @@ AppendEntries RPCs include <index, term> of entry preceding new one(s)
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
|
||||||
|
# Changement de composition du cluster
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
|
TODO insérer figure 11
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<header>
|
||||||
|
|
||||||
# De nombreuses implémentations
|
# De nombreuses implémentations
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
@ -348,6 +386,8 @@ AppendEntries RPCs include <index, term> of entry preceding new one(s)
|
||||||
| akka-raft | Konrad Malawski | Scala | Apache2 |
|
| akka-raft | Konrad Malawski | Scala | Apache2 |
|
||||||
| kanaka/raft.js | Joel Martin | Javascript | MPL-2.0 |
|
| kanaka/raft.js | Joel Martin | Javascript | MPL-2.0 |
|
||||||
|
|
||||||
|
<!-- Laurent -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
@ -358,6 +398,8 @@ AppendEntries RPCs include <index, term> of entry preceding new one(s)
|
||||||
|
|
||||||
![bg 90%](https://ongardie.net/static/coreosfest/slides/timeoutcdf.svg)
|
![bg 90%](https://ongardie.net/static/coreosfest/slides/timeoutcdf.svg)
|
||||||
|
|
||||||
|
<!-- Clément -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
@ -386,3 +428,5 @@ AppendEntries RPCs include <index, term> of entry preceding new one(s)
|
||||||
|
|
||||||
![bg 70%](https://ongardie.net/static/coreosfest/slides/studyscatter.svg)
|
![bg 70%](https://ongardie.net/static/coreosfest/slides/studyscatter.svg)
|
||||||
![bg 90%](https://ongardie.net/static/coreosfest/slides/survey.svg)
|
![bg 90%](https://ongardie.net/static/coreosfest/slides/survey.svg)
|
||||||
|
|
||||||
|
<!-- Laurent -->
|
||||||
|
|
Loading…
Reference in a new issue