220 likes | 323 Views
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.
E N D
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)