360 likes | 474 Views
Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker Hilt and Wolfgang Effelberg. Irwin Chiu Hau Computer Science McGill University Winter 2004. Overview. Consistency Local-lag Timewarp Experiments Dead Reckoning
E N D
Local-lag and Timewarp:Providing Consistency forReplicated Continuous ApplicationsbyMartin Mauve, Jurgen Vogel, Volker Hilt and Wolfgang Effelberg Irwin Chiu Hau Computer Science McGill University Winter 2004 Comp763: Modern Computer Games
Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games
Terminology A Replicated Application is an • application that has its local states maintained by multiple application instances. Domain Name Servers Source: Irwin Chiu Hau Comp763: Modern Computer Games
Terminology A Replicated Discreet Application is a • replicated application that has its states changing in response to user operations Microsoft Hearts Source: Irwin Chiu Hau Comp763: Modern Computer Games
Terminology A Replicated Continuous Application is a • replicated application that has its states changing in response to time passage UT2003 Source: http://www.unrealtournament.com Comp763: Modern Computer Games
Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games
Consistency • What is CONSISTENCY? • Why is it so important? • Consistency in the Discrete Domain • Consistency in the Continuous Domain Comp763: Modern Computer Games
What is CONSISTENCY? Definition from www.dictionary.com: • Agreement or logical coherence among things or parts • Reliability or uniformity of successive results or events From what we have seen / heard so far Acronyms: • “Dead Man Shooting” Comp763: Modern Computer Games
Why is consistency so Important? In games, CONSISTENCY could give us: • Better aim • Confidence In games, INCONSISTENCY could make us: • Fall into pits • See “Dead Man Shooting” • FRUSTRATED America’s Army Source: http://www.americasarmy.com Comp763: Modern Computer Games
Consistency is Important Consistency must be present in: • Replicated Discreet Applications • Replicated Continuous Applications This paper investigates how consistency can be established! Comp763: Modern Computer Games
Consistency in the Discreet Domain Consistency can be established by: • Finding the correct sequence of all operations that are dependent of each other • Making sure that every site executes the dependent operations in that particular sequential order Comp763: Modern Computer Games
Consistency in the Discreet Domain Example: Hearts (card game) Player 1 Player 2 Drop Ace of Spades Drop Two of Spades Inventory: Ace of Hearts Two of Hearts send Player 1 dropped Ace of Spades Player 1 dropped Two of Spades Player 1’s Inventory: Ace of Hearts Two of Hearts send Comp763: Modern Computer Games
Consistency in the Continuous Domain Consistency can be not established by only: • Reusing approaches for the discreet domain Timing is critical !! Comp763: Modern Computer Games
Consistency in the Continuous Domain Example: Train simulation User 1 User 2 Train approaches a switch Pull switch Train turns right Train approaches a switch Train passes the switch Switch pulled Train goes straight send Inconsistency Comp763: Modern Computer Games
Consistency in the Continuous Domain Solving consistency in continuous domain requires in addition: • That the operations look as they had been executed at the CORRECT POINT OF TIME But first, we need to define what is: • Consistency • Correctness Comp763: Modern Computer Games
More Terminology Definition of CONSISTENCY and CORRECTNESS Let the reception function Ri be defined as Ri(t, oj, t0, t*) = false oj, t0, t* received by i after t true otherwise Interpreted as: Ri return false if a given operation has been received by site i after time t, true otherwise oj, t0, t* : Operation that has been issued at site i at a time t0, with t* being the time the operation is supposed to be executed Comp763: Modern Computer Games
More Terminology Definition of CONSISTENCYin the continuous domain So, a replicated continuous application ensures consistency iff For all t, i, j | for all t* ≤ t, ow,t0,t*єO Ri(t, ow, t0, t* )Λ Rj(t, ow, t0, t*) => (si,j = sj,t) Which means, at any time the state at any two sites i and j must be the same, if both sites have received all the operation that are supposed to be executed by time t Comp763: Modern Computer Games
More Terminology Definition of CORRECTNESS in the continuous domain • At any time t the state at any site i must be the same as the state of the virtual perfect site P • Provided that i has received all operations that are supposed to be executed before t A Perfect Virtual Site P is a site that receives all operations by the time they should be executed Source: Local-lag and Timewarp Comp763: Modern Computer Games
Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games
Local-lag One solution to solve short term inconsistencies, is to make use of the trade-off “Response time vs Short-term inconsistencies” • To lower responsiveness of an application • To minimize short-term consistencies This concept is calledLOCAL-LAG Comp763: Modern Computer Games
Responsiveness vs Inconsistency case : t0 = t* At any site, operations are executed immediately once they have been received That leads to responsiveness Source: Local-lag and Timewarp Comp763: Modern Computer Games
Responsiveness vs Inconsistency case : t0 < t* The operations are executed simultaneously by all the sites after a certain delay This minimizes inconsistency If response time exceed a certain threshold, players will notice lag Source: Local-lag and Timewarp Comp763: Modern Computer Games
Responsiveness vs Inconsistency Source: Local-lag and Timewarp Comp763: Modern Computer Games
Determining a value for Local-lag • Choose the minimal value for local-lag A number that would significantly reduce short-term inconsistencies ( 1ms for LAN, to 150ms for world-wide ) • Choose the highest acceptable response time A number that will not be noticeable by game players ( 80-100ms ) • Choose a value for local-lag Choose wisely between the values from above Comp763: Modern Computer Games
Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games
Timewarp • Local-lag does not eliminate all inconsistencies • We need a mechanism that repairs the state caused by these issues This Mechanism is called TIMEWARP: • Maintains a list of operations and a list of states • Repairs the lists Comp763: Modern Computer Games
Timewarp Timewarp ensures CORRECTNESS: • Proved by induction: At any site, all states that are saved in the list of states are the same as the ones computed by the virtual perfect site P Complexity: • Claimed to be O(n2), where n is the number of participants in a session Comp763: Modern Computer Games
Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games
Experiments A time warp game has been developed to: • Verify the theoretical observations • Show that local-lag and timewarp can be used in real applications Timewarp game Source: Local-lag and Timewarp Players control a spaceship: Accelerate, decelerate, turn and shoot Comp763: Modern Computer Games
Experiments Results Comp763: Modern Computer Games
Experiments Number of events: Increases linearly with number of users Increases linearly with network delay Time warp duration: O(n2) where n is the number of players Source: Local-lag and Timewarp Comp763: Modern Computer Games
Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games
Dead-Reckoningvs Local-lag / Timewarp Both provide consistency Dead-Reckoning (prediction of objects’ behaviour) • Does not providecorrectness • Complexity O(n) Timewarp • Provides correctness • Complexity O(n2) Comp763: Modern Computer Games
Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games
Conclusion Things to remember: Local-lag minimizes short-term inconsistencies by: • Reducing the responsiveness of an application Timewarp is an algorithm • Guarantees consistency • Provides correctness Comp763: Modern Computer Games
Questions ? Comp763: Modern Computer Games