1 / 36

Irwin Chiu Hau Computer Science McGill University Winter 2004

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

Download Presentation

Irwin Chiu Hau Computer Science McGill University Winter 2004

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games

  3. 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

  4. 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

  5. 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

  6. Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games

  7. Consistency • What is CONSISTENCY? • Why is it so important? • Consistency in the Discrete Domain • Consistency in the Continuous Domain Comp763: Modern Computer Games

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games

  20. 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

  21. 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

  22. 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

  23. Responsiveness vs Inconsistency Source: Local-lag and Timewarp Comp763: Modern Computer Games

  24. 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

  25. Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games

  26. 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

  27. 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

  28. Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games

  29. 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

  30. Experiments Results Comp763: Modern Computer Games

  31. 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

  32. Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games

  33. 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

  34. Overview • Consistency • Local-lag • Timewarp • Experiments • Dead Reckoning • Conclusion Comp763: Modern Computer Games

  35. 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

  36. Questions ? Comp763: Modern Computer Games

More Related