Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies.

Similar presentations


Presentation on theme: "1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies."— Presentation transcript:

1 1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies & Department of Computer Science University of Pisa, Italy ECMS 2007-Prague – 4-6 th June 2007

2 2 PRESENTATION OUTLINE ● DVE: an overview ● Consistency Models, Perceptive Consistency ● Local Lag ● Our proposal: the MultiLags approach ● Experimental results

3 3 DISTRIBUTED VIRTUAL ENVIRONMENTS ● Distributed Virtual Environments (DVE) = A Virtual Environment including a set of Avatars: ● Interacting within a virtual world. ● Hosted by geographically distributed computers. ● Usually controlled by the users ● Instances of DVE are: ● Large scale combat simulations. ● Massively Multiplayer Online Games (MMOG). ● Distributed simulations of complex physical models based upon domain decomposition approach.

4 4 DVE: RELATED ISSUES Issues related to the definition of a large-scale DVE ● Consistency ● Scalability ● Performance/Responsiveness ● Persistency ● Reliability ● Security

5 5 CONSISTENCY MODELS Causality Concurrency Simultaneity Instantaneity

6 6 PERCEPTIVE CONSISTENCY Perceptive Consistency: a wall-clock time based model integrating Simultaneity: if two actions occurs simultaneously, then all the hosts perceive them at the same instant of time. Each host perceives at t + ∆ any action occurring at time t It requires clocks synchronization but it guarantees a total order of events (a tiebreaker may be introduced to order simultaneous events) ∆ = Response Time (typical values 100- 400 millisec) = These values guarantee that humans cannot perceive the delay ∆, because of their perceptive limits

7 7 THE LOCAL LAG TECHNIQUE ● Local lag: a technque to implement perceptive consistency ● Basic idea: rendering of events is delayed by any host of an interval of time ∆, (local lag) in order ● to hide the delay due to network latencies in the notification of events to other hosts. ● to guarantee event simultaneity ● Problems to be solved: ●Instantaneusness is maintained provided that ∆ is kept small ● If ∆ is statically defined ● it may be overestimated because of latency jitter ●Overestimation of ∆ decreases the responsiveness of the application and favours cheating.

8 8 THE LOCAL LAG TECHNIQUE: IMPLEMENTATION Each event e is associated with a timestamp T= t + ∆, where t is the wall clock time corresponding to the generation of e ∆ is the value of the local lag An event e on the local host is stored and rendered at T on the remote hosts if e is received on time: e is rendered at T if e is received after T: e is discarded

9 9 OUR PROPOSAL: THE MULTILAGS APPROACH ● Multilags extends the local lag approach by ● Dynamic definition of the value of ∆ ● Multiple values for ∆ are associated to different groups of interacting hosts ● Dynamic definition of ∆: ● ∆ is dinamically updated according to network conditions. It is increased if the network is congestioned, it is decreased if the latency is low ● Multiple values of ∆: ● DVE locality: each DVE entity interacts with a subset other entities of the DVE only ● Groups of interacting entities may exploit different values of ∆.

10 10 DVE LOCALITY: AREA OF INTEREST Area of Interest (AOI) of a DVE entity e: it includes entities which may interact with e Mobile Area of Interest Area surronding the avatar’s position. Dynamically updated as the avatar moves. Static AOI: Tightly bounded to a particular portion of virtual environment, not to a particular avatar May be dinamically modified Area of Interest: generally exploited to define scalable DVEs overlay topologies

11 11 STATIC AOI: THE MULTILAGS APPROACH Static AOI: ● a distinct value of ∆ i for each static region r i ● ∆ i ● is exploited by any entity in r i ● depends upon the state of network connections among the players belonging r i. ● Each entity updates ∆ i when it moves to a new region ● ∆ i Caching ● ∆ i Prefetching

12 12 DYNAMIC AOI: THE MULTILAGS APPROACH ● Dynamic AOI: detecting groups of mutually interacting entities ● Definition: belongs to relation = A belongs to B  A belongs to the AOI of B. ● A group S of interacting entitities is a set of entities such that belongs to on S is equal to its transitive and symmetric closure. ● Complex dynamic tests to verify this condition in a distributed environment. S

13 13 OUR PROPOSAL Our solution exploits static AOIs A multicast group for each region The value of ∆ is updated according to the interactions among the entities in a region ∆ is updated periodically, while the entity stays in a region anytime the entity moves to a new region

14 14 MULTILAGS IMPLEMENTATION The value of ∆ is dynamically computed by each host according to its Local Network View (LNV) Local Network View = information collected by H on the network status. It depends upon the number of late messages with respect to their timestamps the number of lost messages Each host may perceive different LNV compute a distinct values of ∆ but.... all the interacting entities must exploit the same value of ∆ to guarantee simultaneousness and correct event ordering

15 15 MULTILAGS IMPLEMENTATION A set of interacting hosts executes a protocol to reach a distributed consensus on a common value of ∆ Each host: updates its LNV at each message reception broadcasts its LNV to all the interacting entities. Heartbeat messages may be exploited update local lag: periodically combines its LNV with those received from the interacting hosts in order to refine the value of the local lag

16 16 MULTILAGS IMPLEMENTATION ● Each event sent by an entity E is associated with ● the local lag ● the LNV of E ● When an host P receives a messages ● Computes the delay/...of the message with respect to its timestamp ● Updates P LNV Sending operations Receiving operations

17 17 MULTILAGS IMPLEMENTATION ● A fully distributed consensus may introduce inconsistencies because distinct hosts may ● perceive different values of LNV due to packet loss ● execute the procedure at different instants of time ● Definition of a coordinator: ● computes the new value of the local lag and send this value to all the interacting hosts ● coordination selection: based upon the IP address ● SPMD-like code

18 18 LOCAL LAG DYNAMIC UPDATE

19 19 EXPERIMENTAL RESULTS ● Testing Environment: 16 hosts, connected by a local network. ● The DVE is partitioned into four rectangular regions ● Wide area network conditions simulation: network delays generated according to an exponential distribution. ● A distinct average latency has been associated to each region. ● The values associated with the regions 0…3 are, respectively, 80,120,160,200 ms. ● Update Local Lag is executed every 5 seconds. The response time is incr\decr by 10 msec. The initial value of the response time is 100 msec.

20 20 EXPERIMENTAL RESULTS: AVERAGE DRIFT 0 1 2 3

21 21 EXPERIMENTAL RESULTS: NUMBER OF ERRORS 0 1 2 3

22 22 DEADLINE BASED CONSISTENCY MODELS ∆- Sequential/Causal Consistency Introduces the notion of physical time Simultaneity is not captured. ‘’Reading in Time’’ = ’A Read operation R on a object X executed at time T(R) occurs in time if it returns the value written by operation W at time T(W) and no intermediate writes occur in the system in the interval of time [T(W), T(R)-∆], where ∆ is a parameter characterizing the model.’’ An implementation of the models requires physical clocks synchronization (ex: via NTP)


Download ppt "1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies."

Similar presentations


Ads by Google