comp763: modern computer games local-lag and timewarp: providing consistency for replicated...

36
Comp763: Modern Computer Games 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

Upload: alice-gordon

Post on 04-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Local-lag and Timewarp:Providing Consistency for

Replicated Continuous Applicationsby

Martin Mauve, Jurgen Vogel, Volker Hilt and Wolfgang Effelberg

Irwin Chiu HauComputer ScienceMcGill University

Winter 2004

Page 2: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Overview

• Consistency• Local-lag• Timewarp• Experiments• Dead Reckoning• Conclusion

Page 3: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 4: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 5: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 6: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Overview

• Consistency• Local-lag• Timewarp• Experiments• Dead Reckoning• Conclusion

Page 7: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Consistency

•What is CONSISTENCY?•Why is it so important?•Consistency in the Discrete Domain•Consistency in the Continuous Domain

Page 8: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

What is CONSISTENCY?

Definition from www.dictionary.com:

1. Agreement or logical coherence among things or parts 2. Reliability or uniformity of successive results or events

From what we have seen / heard so far

Acronyms:

• “Dead Man Shooting”

Page 9: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 10: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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!

Page 11: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 12: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Consistency in the Discreet Domain

Example: Hearts (card game)

Player 1 Player 2

send

Drop Ace of Spades

Drop Two of Spades

Inventory:

Ace of Hearts

Two of Hearts

Player 1 dropped Ace of Spades

Player 1 dropped Two of Spades

Player 1’s Inventory:

Ace of Hearts

Two of Hearts

send

Page 13: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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 !!

Page 14: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Consistency in the Continuous Domain

Example: Train simulation

User 1 User 2

send

Train approaches a switch

Pull switch

Train turns right

Train approaches a switch

Train passes the switch

Switch pulled

Train goes straight

Inconsistency

Page 15: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 16: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 17: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

More Terminology

Definition of CONSISTENCY in 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

Page 18: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 19: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Overview

• Consistency• Local-lag• Timewarp• Experiments• Dead Reckoning• Conclusion

Page 20: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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 called LOCAL-LAG

Page 21: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Responsiveness vs Inconsistency

Source: Local-lag and Timewarp

case : t0 = t*

At any site, operations are executed immediately once they have been received

That leads to responsiveness

Page 22: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 23: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Responsiveness vs Inconsistency

Source: Local-lag and Timewarp

Page 24: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Determining a value for Local-lag

•Choose the minimal value for local-lagA number that would significantly reduce short-terminconsistencies ( 1ms for LAN, to 150ms for world-wide )

•Choose the highest acceptable response timeA number that will not be noticeable by game players ( 80-100ms )

•Choose a value for local-lagChoose wisely between the values from above

Page 25: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Overview

•Consistency•Local-lag•Timewarp•Experiments•Dead Reckoning•Conclusion

Page 26: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 27: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 28: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Overview

• Consistency• Local-lag• Timewarp• Experiments• Dead Reckoning• Conclusion

Page 29: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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 gameSource: Local-lag and Timewarp

Players control a spaceship:

Accelerate, decelerate, turn and shoot

Page 30: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Experiments

Results

Simulated Network Delay

Local lag Notice local lag

Notice odd behaviour

0 ms 0-120 ms no no160 ms yes no

40-120 ms --- --- no140-240 ms Half of SND --- no> 290 ms Half of SND --- yes

Page 31: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

ExperimentsNumber of events: Increases linearly with number of

usersIncreases linearly with network

delayTime warp duration: O(n2) where n is the number of

players

Source: Local-lag and Timewarp

Page 32: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Overview

• Consistency• Local-lag• Timewarp• Experiments• Dead Reckoning• Conclusion

Page 33: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Dead-Reckoningvs

Local-lag / Timewarp

Both provide consistency

Dead-Reckoning (prediction of objects’ behaviour)• Does not provide correctness• Complexity O(n)

Timewarp• Provides correctness• Complexity O(n2)

Page 34: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Overview

• Consistency• Local-lag• Timewarp• Experiments• Dead Reckoning• Conclusion

Page 35: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

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

Page 36: Comp763: Modern Computer Games Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications by Martin Mauve, Jurgen Vogel, Volker

Comp763: Modern Computer Games

Questions ?