1 / 22

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. IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS. PRESENTATION OUTLINE.

sonel
Download Presentation

IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS

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. Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies & Department of Computer Science University of Pisa, Italy ECMS 2007-Prague – 4-6th June 2007 IMPROVING RESPONSIVENESSBY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS

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

  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. DVE: RELATED ISSUES Issues related to the definition of a large-scale DVE Consistency Scalability Performance/Responsiveness Persistency Reliability Security

  5. CONSISTENCY MODELS • Causality • Concurrency • Simultaneity • Instantaneity

  6. PERCEPTIVE CONSISTENCY • Perceptive Consistency: a wall-clock time based model integrating • Simultaneity: if two actions occurs simultaneously, then all the hosts perceive themat 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 orderof 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. 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 thedelay 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. 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. 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. 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. STATIC AOI: THE MULTILAGS APPROACH Static AOI: a distinct value of ∆ifor each static region ri ∆i is exploited by any entity in ri depends upon the state of network connections among the players belonging ri. Each entity updates ∆i when it moves to a new region ∆iCaching ∆iPrefetching

  12. DYNAMIC AOI: THE MULTILAGS APPROACH Dynamic AOI: detecting groups of mutually interacting entities Definition: belongs torelation = A belongsto 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. 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. 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. 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. 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. 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. LOCAL LAG DYNAMIC UPDATE

  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. EXPERIMENTAL RESULTS: AVERAGE DRIFT 2 0 1 3

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

  22. DEADLINE BASED CONSISTENCY MODELS ∆- Sequential/Causal Consistency • Introduces the notion of physicaltime • Simultaneityis 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)

More Related