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 .