Enhancing Responsiveness in Distributed Virtual Environments with MultiLags Approach
Explore improving responsiveness through MultiLags approach, dynamically adjusting local lag values based on network conditions in distributed virtual environments.
Enhancing Responsiveness in Distributed Virtual Environments with MultiLags Approach
E N D
Presentation Transcript
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
PRESENTATION OUTLINE DVE: an overview Consistency Models, Perceptive Consistency Local Lag Our proposal: the MultiLags approach Experimental results
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.
DVE: RELATED ISSUES Issues related to the definition of a large-scale DVE Consistency Scalability Performance/Responsiveness Persistency Reliability Security
CONSISTENCY MODELS • Causality • Concurrency • Simultaneity • Instantaneity
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
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.
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
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 ∆ .
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
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
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
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
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
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
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
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
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.
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)