Multi-user Extensible Virtual Worlds Increasing complexity of objects and interactions with increasing world size, users, numbers of objects and types.

Slides:



Advertisements
Similar presentations
Department of nskinfo i-education
Advertisements

1/17/20141 Leveraging Cloudbursting To Drive Down IT Costs Eric Burgener Senior Vice President, Product Marketing March 9, 2010.
Introduction to Direct3D 10 Course Porting Game Engines to Direct3D 10: Crysis / CryEngine2 Carsten Wenzel.
Integrating 3D Geodata in Service-Based Visualization Systems Jan Klimke, Dieter Hildebrandt, Benjamin Hagedorn, and Jürgen Döllner Computer Graphics Systems.
OMKAR Solutions Inc. EMM – Error Message Manager Version 1.0.
Multi-user Extensible Virtual Worlds Increasing complexity of objects and interactions with increasing world size, users, numbers of objects and types.
Executional Architecture
Sheldon Brown, UCSD, Site Director Milton Halem, UMBC Director Yelena Yesha, UMBC Site Director Tom Conte, Georgia Tech Site Director Fundamental Research.
Combining Incremental and Parallel Methods for Large- scale Physics Simulation OpenCL Physics 1 Sheldon Brown, Site Director Daniel Tracy, Programmer Analyst.
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
UNIT-IV Computer Network Network Layer. Network Layer Prepared by - ROHIT KOSHTA In the seven-layer OSI model of computer networking, the network layer.
Soul Envoy Final Year Project 22nd April 2006 By Zhu Jinhao.
19 Historical overview Main challenge: How to distribute content in high quality over the Internet cost-effectively? • Traditional “Best-effort” model:
Access Control for Networks Problems: –Enforce an access control policy Allow trust relationships among machines –Protect local internet from outsiders.
Dealing with Computational Load in Multi-user Scalable City with OpenCL Assets and Dynamics Computation for Virtual Worlds.
Sheldon Brown, UCSD, Site Director Milton Halem, UMBC Director Yelena Yesha, UMBC Site Director Tom Conte, Georgia Tech Site Director Fundamental Research.
Multi-user Extensible Virtual Worlds Increasing complexity of objects and interactions with increasing world size, users, numbers of objects and types.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Assets and Dynamics Computation for Virtual Worlds.
User-level Internet Path Diagnosis R. Mahajan, N. Spring, D. Wetherall and T. Anderson.
1 By Vanessa Newey. 2 Introduction Background Scalability in Distributed Simulation Traditional Aggregation Techniques Problems with Traditional Methods.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
JokerStars: Online Card Playing William Sanville Milestone 4.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Installing software on personal computer
Gearbox Software PRODUCTION PIPELINE – JOBS TITLES – JOB DESCRIPTIONS.
1 Latency Equalization: A Programmable Routing Service Primitive Minlan Yu Joint work with Marina Thottan, Li Li at Bell Labs.
Applying Real-time Simulation to Real-time Collaboration Bart Miller.
Research Area B Leif Kobbelt. Communication System Interface Research Area B 2.
Animation. Pre-calculated Animation Do more now, less later.
Holistic Mobile Game Development with Unity 2015 Taylor & Francis. All rights Reserved.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
LECTURE 9 CT1303 LAN. LAN DEVICES Network: Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and.
Building An Interactive, 3-D Virtual World Raymond H. Mazza, Computer Science, Colby College Advisor:
Proposed Work 1. Client-Server Synchronization Proposed Work 2.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Canyon Adventure Technology David Maung, Tristan Reichardt, Dan Bibyk, Juan Roman Department of Computer Science and Engineering The Ohio State University.
Network Physics Created by Ruslan Yavdoshak for Nikitova Games, 2008.
An Introduction to Software Architecture
Computer Science and Game Development By: Nicholas Fahey & Griffin Marsh.
Lyon, June 26th 2006 ICPS'06: IEEE International Conference on Pervasive Services 2006 Routing and Localization Services in Self-Organizing Wireless Ad-Hoc.
Invitation to Computer Science 5th Edition
Network Aware Resource Allocation in Distributed Clouds.
Introduction to Networked Graphics Part 3 of 5: Latency.
Web Programming: Client/Server Applications Server sends the web pages to the client. –built into Visual Studio for development purposes Client displays.
Combining Incremental and Parallel Methods for Large-scale Physics Simulation 1 Daniel Tracy, UCSD CHMPR Software Engineer Erik Hill, UCSD CHMPR Software.
Introduction to Networked Graphics Part 4 of 5: Bandwidth Management & Scalability.
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Gregory Fotiades.  Global illumination techniques are highly desirable for realistic interaction due to their high level of accuracy and photorealism.
Towards Low Overhead Provenance Tracking in Near Real-Time Stream Filtering Nithya N. Vijayakumar, Beth Plale DDE Lab, Indiana University {nvijayak,
Zibin Zheng DR 2 : Dynamic Request Routing for Tolerating Latency Variability in Cloud Applications CLOUD 2013 Jieming Zhu, Zibin.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Chapter 3.6 Game Architecture. 2 Overall Architecture The code for modern games is highly complex (can easily exceed 1M LOC) The larger your program,
Intradomain Traffic Engineering By Behzad Akbari These slides are based in part upon slides of J. Rexford (Princeton university)
Routing and Routing Protocols
The Effects of Parallel Programming on Gaming Anthony Waterman.
Rehab AlFallaj.  Network:  Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and do specific task.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS The GPU.
The Effects of Parallel Programming on Gaming Anthony Waterman.
Quality Is in the Eye of the Beholder: Meeting Users ’ Requirements for Internet Quality of Service Anna Bouch, Allan Kuchinsky, Nina Bhatti HP Labs Technical.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
University of Maryland College Park
The NPD Group - Enterprise DC Agenda
An Introduction to Software Architecture
Requirements of Computing in Network
Presentation transcript:

Multi-user Extensible Virtual Worlds Increasing complexity of objects and interactions with increasing world size, users, numbers of objects and types of interactions. Sheldon Brown, Site Director CHMPR, UCSD Daniel Tracy, Programmer, Experimental Game Lab Erik Hill, Programmer, Experimental Game Lab Todd Margolis, Technical Director, CRCA Kristen Kho, Programmer, Experimental Game Lab Future Optimizations

Multi-User Load Challenges Communications Graphics Rendering Geometry Processing Shaders Rendering techniques Dynamics Computation Physics AI or other application specific behaviors Animation

Communication Optimizations Reduce transmission frequency – Present frequency is unrealistic for internet traffic – Server and client will run internally at higher frequency – Client requires methods to produce smooth experience Allow Client to do more work – Client-side interpolation for smoothing movements – Predictive path computation (dead reckoning) – Compensates when server is lagging – Requires dynamics computation on client mimicking server – Preload static animations, simplify synchronization – Re-perform deterministic work – Rebuild assets with deterministic generators

Communication Optimizations Reduce transmission frequency – Present frequency is unrealistic for internet traffic – Server and client will run internally at higher frequency – Client requires methods to produce smooth experience Allow Client to do more work – Client-side interpolation for smoothing movements – Predictive path computation (dead reckoning) – Compensates when server is lagging – Requires dynamics computation on client mimicking server – Preload static animations, simplify synchronization – Re-perform deterministic work – Rebuild assets with deterministic generators

Client-side Interpolation Both Server and Client operate at 60 fps Communication only occurs at ~10 fps Client slightly behind Server (0.1s) ServerClient Present time on Server Present time on Client

Client-side Interpolation Interpolation provides intermediate values Provides smoother animation Drawn to Screen Positions From Server

Communication Optimizations Reduce transmission frequency – Present frequency is unrealistic for internet traffic – Server and client will run internally at higher frequency – Client requires methods to produce smooth experience Allow Client to do more work – Client-side interpolation for smoothing movements – Predictive path computation (dead reckoning) – Compensates when server is lagging – Requires dynamics computation on client mimicking server – Preload static animations, simplify synchronization – Re-perform deterministic work – Rebuild assets with deterministic generators

Client-side Predictive Path Computation Client may sometimes experience high latency between Server updates Endemic to TCP/IP over internet Client cannot be too far behind server without producing a lack of responsiveness on client – Even with interpolation, high latency response to user input – Requires “turning down” interpolation rate and increasing communication frequency – Use predictive path computation to provide interpolation with future targets

Client-side Predictive Path Computation Server copy injected into the client Performs same work on subset of data for prediction Server state may differ from prediction – Client continues to smoothly interpolate between user’s understanding and new destination from server Client Server

Communication Optimizations Reduce transmission frequency – Present frequency is unrealistic for internet traffic – Server and client will run internally at higher frequency – Client requires methods to produce smooth experience Allow Client to do more work – Client-side interpolation for smoothing movements – Predictive path computation (dead reckoning) – Compensates when server is lagging – Requires dynamics computation on client mimicking server – Preload static animations, simplify synchronization – Re-perform deterministic work – Rebuild assets with deterministic generators

Preloading Static Animations Present communication for animation is most general purpose – Communicates each vertex/face alteration separately – Designed for case of dynamic geometry generation on the server – Also works for statically known animations, but requires more bandwidth Specialize communication – Pre-loading animations done during city loading – Animation updates consist of animation id and an interpolation point – Animation geometry recomputed on the client

Communication Optimizations Reduce transmission frequency – Present frequency is unrealistic for internet traffic – Server and client will run internally at higher frequency – Client requires methods to produce smooth experience Allow Client to do more work – Client-side interpolation for smoothing movements – Predictive path computation (dead reckoning) – Compensates when server is lagging – Requires dynamics computation on client mimicking server – Preload static animations, simplify synchronization – Re-perform deterministic work – Rebuild assets with deterministic generators

Rebuilding Assets Deterministically Many assets generated algorithmically – Geometry landscape from satellite height map data – Animated roads from landscape & configuration – Lots and animated fences from roads & landscape – House piece, tree, and sign placement Regenerate on client after making deterministic – Challenge in some cases is determinism – Similar algorithm & seed values produce same results Reduces communication during city loading – Preloading static animations increases strain – Uses client compute resources to compensate

Multi-User Load Challenges Communications Graphics Rendering Geometry Processing Shaders Rendering techniques Dynamics Computation Physics AI or other application specific behaviors Animation

Lot-House selection Logical entities called “lots” grab house pieces to form structures on the landscape Our global broad phase solution quickly determines the set of local house pieces for each lot However, searching the set of those nearby pieces for proper state and texture criteria is now taking a ‘lot’ of time! –All lots in multiple landscapes can now be active at once! –For some cities, lots search over most of the landscape through thousands of house pieces

Lot-House selection Lot-HousePiece relationships must be specialized upon a lot’s selection criteria –Both lot & housepiece criteria can change dynamically Eliminating search: Incremental Processing Approach –All processes should be triggered when house piece & lot criteria change –No polling should occur each cycle to find candidate Expand relationship and state-aware system into a more unified and flexible subsystem –Planned changes should reduce overhead from “highest” to “immeasurably small”

Identifying the Bottlenecks Communications Graphics Rendering Geometry Processing Shaders Rendering techniques Dynamics Computation Physics AI or other application specific behaviors Animation

Next Portion: Future Dynamics & Rendering Optimizations Server: Integrate compute accelerators Physics multistep approach –Step 1: »Cell BE with Bullet variant »Xeon Blades with Scalable Engine –Step2: »OpenCL physics engine across multiple platforms Client: OpenCL-based particle systems Geometry & shader processing on GPU