Réplication, Temps réel et simulation

Transcription

Réplication, Temps réel et simulation
Répliation, Temps réel et simulation
Domaine : simulation (jeux, réalité virtuelle)
Répliation : problème de ohérene
Deux méthodes omplémentaires
Retard loal (Loal-lag)
Timewarp
Comparaison ave le dead-rekoning
: Loal Lag and Timewarp : providing onsisteny for
repliated ontinuous appliations, Martin Moore, Jürgen Vogel,
Volker Hilt.
d'après
Domaine : simulation d'un univers
atif
Évolution ontinue dans le temps d'un état global répliqué ;
État global vu par tous les partiipants ;
Chaque opération d'un partiipant doit être diusée aux autres ;
Les opérations sont datées (horloges loales).
op(i)
Evolution "continue"
Opération usager
Tc
op(i+1)
Mouvement ontinu et événement loal
Idéal (impossible) : Opération onnue instantanément par les autres
Temps
Site S2
Commuter
T
T’
Délai de transmission du message
Site S1
Tehnique de maintien de la ohérene
Datation des opérations par l'horloge loale du
demandeur et synhronisation des horloges loales (réelles).
Prinipes de base
Corriger les inohérenes dues à l'arrivée trop tardive
d'une opération.
Réagir ave retard : notion de loal lag
Traiter par paquets et orriger si néessaire : Time-warp
Caluler le futur probable et orriger si besoin : Dead-rekoning
Point-lé : Compromis risque d'inohérene et temps de réponse
Problème
Critère de ohérene de l'état global répliqué
Prinipe
:Toute opération est diusé à tous les autres sites.
Prédiat Ri (. . .) : une opération est arrivée à temps sur i

 f alse si r (OP (j, T 0 , T ∗ )) > t
i
Ri (t, OP (j, T 0 , T ∗ )) =
 true sinon
ave :
T 0 : date de requête et T ∗ : date d'exéution
ri (OP (. . .)) : date de l'événement de réeption de OP sur le site i
Critère de ohérene de l'état global répliqué(suite)
: si à l'instant t toutes les opérations sont
onnues de haque site, alors l'état de haque site doit être identique.
Cohérene globale
∀t, i, j, k :
∀OP (k, T 0 , T ∗ ) : T ∗ < t :: Ri (t, OP (k, T 0 , T ∗ ))∧Rj (t, OP (k, T 0 , T ∗ ))
⇒ E(i, t) ≡ E(j, t)
Corretion de l'état global répliqué
: un site idéal virtuel P ordonne totalement toutes les
opérations instantanément.
Prinipe
: si à t, toutes les opérations sont onnues
par le site i, l'état du site i doit être identique à elui du site idéal P .
Critère de orretion
∀t, i : ∀OP (k, T 0 , T ∗ ) ∈ OP E : T ∗ < t :: Ri (t, OP (k, T 0 , T ∗ ))
⇒ E(i, t) ≡ E(P, t)
Corretion ⇒ Cohérene
Cohérene et orretion
Site S1
Temps
Site S2
Site Idéal
Temps
2
3
4
5
6
vis−à−vis du site 2
2
vis−à−vis du site 1
1
Zone d’incohérence
1
3
4
5
6
Premiere stratégie : Loal-lag
Introdution d'un temps de réponse loal minimal
Site S1
Site S2
Site S3
t1
∆Tr
t2
t3
∆Tr
t4
Seonde stratégie : Timewarp
Prise en ompte des opérations en retard Algorithme de timewarp
Opération
en retard
L(op) =
SITE i
T
L(state) = {st1,
{op1,
Opérations
à temps
11
00
00
11
op2,
T
st2,
Opération
en avance
op4}
op3,
T
st3}
Etat
modifié
T
Tc
Dead-rekoning
Transmission des états (au lieu des opérations)
Objets au omportement préditible
Uniité du ontrleur d'un objet
Diusion des états imprévus aux abonnés (résultats d'opérations
appliquées à l'objet)
Diusion périodique (sans ation usager) pour palier les pertes de
messages.
Même tehnique de loal-lag appliable à la mise-à-jour
de l'état d'un objet.
Remarque
Conlusion
Prinipe de base : retarder l'exéution des opérations
Corriger "en retard" si néessaire (problèmes éventuels de réalisme)
Problème : onserver un temps de réponse aeptable (7→ réseau à
qualité de servie garantie .

Documents pareils