^ Cardinalite
|
.---> Type
/
/ Temporalite
V
3 axes:
x
: Type
y
: Temporalite
z
: Cardinalite
k<n
3 types de checkpoint:
On considere que l’algo n’est pas tolerant, les sites finissent par revenir. Mais une fois revenu, il faut reprendre le bon fonctionement du systeme.
Si l’algo est deterministe, et je log tout, tout le temps, sur hard.
Coupure choerente : ce qui est plus vieux qu la coupure ne depent pas de ce qui est plus recent que la coupure. Tout les elements du passe soient independents
Tout les evenement plus vieux que la coupure soient independent d’element qui soit plus recent que la coupure. (Arc arriere, quand un message vient du futur pour revenir dans le passe)
Algos:
Spontanes -> Implicites Coordones -> Explicites Coordones
----------------------------------------------------------------->
Cout d'overhead
Reculez
Colorez
Reculez
Colorez
Rince and repeat
.A .B
local : -----------------------------------
A v
causale : -----------------------------------
\
-----------------------------------
^ B
On dit A->B (B depend de A)
On dit Hist(A) = {C, C->A}
C v A v
-----------------------------------
\
-----------------------------------
^D ^ B
donne
C -> A
|
v
D -> B
Logique: Si je retire X alors je peux apres utiliser l’autre
To get the graph we take the next checkpoint on both the sender and receiver lines and retrace an arrow between the two, following the sens from the original exeuction MPI.
We use this scenario to find useless checkpoints
On part toujours a droite d’un point, on arrive toujours a gauche d’un point.
Soit une cupure corehente C
alors qq soit i
, j
, il n’existe pas de z-chemin qui va de i
a j
.
If there’s a Z-Cycle on a checkpoint, then that checkpoint is useless. A-z-B
// TODO Why?