Causality in online gaming Objectives – Understand how online gaming relates to causality research in distributed systems – Be able to apply distributed.

Slides:



Advertisements
Similar presentations
Fault Tolerance. Basic System Concept Basic Definitions Failure: deviation of a system from behaviour described in its specification. Error: part of.
Advertisements

INPUT-OUTPUT ORGANIZATION
Impossibility of Distributed Consensus with One Faulty Process
Global States in a Distributed System By John Kor and Yvonne Cheng.
Logical Clocks (2).
1 CS 194: Distributed Systems Process resilience, Reliable Group Communication Scott Shenker and Ion Stoica Computer Science Division Department of Electrical.
Virtual Time “Virtual Time and Global States of Distributed Systems” Friedmann Mattern, 1989 The Model: An asynchronous distributed system = a set of processes.
Lecture 8: Asynchronous Network Algorithms
BASIC BUILDING BLOCKS -Harit Desai. Byzantine Generals Problem If a computer fails, –it behaves in a well defined manner A component always shows a zero.
Teaser - Introduction to Distributed Computing
Parallel and Distributed Simulation Time Warp: Basic Algorithm.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
Time and Global States Part 3 ECEN5053 Software Engineering of Distributed Systems University of Colorado, Boulder.
Computer Science 425 Distributed Systems CS 425 / ECE 428 Consensus
Solve for x. 28 = 4(2x + 1) = 8x = 8x + 8 – 8 – 8 20 = 8x = x Distribute Combine Subtract Divide.
1 Complexity of Network Synchronization Raeda Naamnieh.
Distributed Systems Fall 2010 Time and synchronization.
Ordering and Consistent Cuts Presented By Biswanath Panda.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
CMPT 431 Dr. Alexandra Fedorova Lecture VIII: Time And Global Clocks.
A Progressive Fault Detection and Service Recovery Mechanism in Mobile Agent Systems Wong Tsz Yeung Aug 26, 2002.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
Distributed Process Management
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 13 Wenbing Zhao Department of Electrical and Computer Engineering.
Lecture 13 Synchronization (cont). EECE 411: Design of Distributed Software Applications Logistics Last quiz Max: 69 / Median: 52 / Min: 24 In a box outside.
EEC 688/788 Secure and Dependable Computing Lecture 13 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Recitation 5: Reliable.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Composition Model and its code. bound:=bound+1.
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport (1978) Presented by: Yoav Kantor.
INPUT-OUTPUT ORGANIZATION
Logical Clocks (2). Topics r Logical clocks r Totally-Ordered Multicasting r Vector timestamps.
CIS 720 Distributed algorithms. “Paint on the forehead” problem Each of you can see other’s forehead but not your own. I announce “some of you have paint.
Networked Games - consistency and real-time Objectives – –Understand the problems associated with networked games. –Realize the importance of satisfying.
Fault Tolerance via the State Machine Replication Approach Favian Contreras.
Introduction Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012.
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
MANETS Justin Champion Room C203, Beacon Building Tel 3292,
Issues with Clocks. Context The tree correction protocol was based on the idea of local detection and correction. Protocols of this type are complex to.
1 Distributed Process Management Chapter Distributed Global States Operating system cannot know the current state of all process in the distributed.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
Lamport’s Logical Clocks & Totally Ordered Multicasting.
Replication (1). Topics r Why Replication? r System Model r Consistency Models – How do we reason about the consistency of the “global state”? m Data-centric.
Event Ordering Greg Bilodeau CS 5204 November 3, 2009.
November NC state university Group Communication Specifications Gregory V Chockler, Idit Keidar, Roman Vitenberg Presented by – Jyothish S Varma.
CSE 60641: Operating Systems Implementing Fault-Tolerant Services Using the State Machine Approach: a tutorial Fred B. Schneider, ACM Computing Surveys.
D u k e S y s t e m s Asynchronous Replicated State Machines (Causal Multicast and All That) Jeff Chase Duke University.
Dynamic Models Sequence Diagrams Collaboration Diagrams Activity Diagrams.
Chap 15. Agreement. Problem Processes need to agree on a single bit No link failures A process can fail by crashing (no malicious behavior) Messages take.
Several sets of slides by Prof. Jennifer Welch will be used in this course. The slides are mostly identical to her slides, with some minor changes. Set.
Logical Clocks. Topics r Logical clocks r Totally-Ordered Multicasting.
ITEC452 Distributed Computing Lecture 2 – Part 2 Models in Distributed Systems Hwajung Lee.
Failure detection The design of fault-tolerant systems will be easier if failures can be detected. Depends on the 1. System model, and 2. The type of failures.
Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks Authors: Q. Huang, C. Julien, G. Roman Presented By: Jeff.
Ordering in online games Objectives – Understand the ordering requirements of gaming – Realise how ordering may be achieved – Be able to relate ordering.
Fault Tolerance (2). Topics r Reliable Group Communication.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
Introduction to distributed systems description relation to practice variables and communication primitives instructions states, actions and programs synchrony.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
The Principles of Operating Systems Chapter 9 Distributed Process Management.
The consensus problem in distributed systems
Lecture 9: Asynchronous Network Algorithms
COT 5611 Operating Systems Design Principles Spring 2012
Agreement Protocols CS60002: Distributed Systems
Fault-Tolerant State Machine Replication
Basics of Distributed Systems
COT 5611 Operating Systems Design Principles Spring 2014
Presentation transcript:

Causality in online gaming Objectives – Understand how online gaming relates to causality research in distributed systems – Be able to apply distributed systems knowledge in the domain of online gaming with respect to causality

Describing game play The act of “witnessing” an event by an artefact may be represented, in its simplest form, via message passing between artefacts: an artefact, say A 1, generates an event, say E 1, that results in a message, say M 1, been sent from A 1 to A 2 to enable A 2 to witness event E 1. This notion of message passing brings our model for gaming scenarios inline with the more general model for distributed computing.

Space Time Diagram

Internal and external events

Assumptions Two basic assumptions that tend to divide the distributed computing community are those pertaining to the reliability of communication links and processes. Processes may fail via a crash manner (faulty processors stop) or byzantine manner (faulty processors continue to produce output) – (one must realise there are a number of varying failure models found between these two extremes). Communication links are commonly modelled as either asynchronous (message and processing delays are bounded but unknown) or synchronous (message and processing delays are bounded and known).

Cause and effect When viewed globally we may deduce that an event, say E 1 may have caused an event, say E 2. This is the classic “happens before” relationship as described by Lamport and indicates that E 1 “happened before” E 2 (E 1 → E 2 ). The consideration of causal relationships throughout a distributed computation provides a partial ordering of events; – partial as simultaneous events (those that do not share a causal relation) may be arbitrarily ordered with respect to each other.

A simple scenario Consider a gaming scenario consisting of four players (P 1, P 2, P 3 and P 4 ). The goal of the game is for a player to shoot all other players. The virtual world is constructed from a number of different rooms and players may not shoot beyond the room they are within. – P 2 enters a room (containing P 1, P 3 and P 4 ) and is shot by P 1 while P 4 leaves the room and P 1 and P 3 reload their guns at some point during the gaming scenario. To allow this gaming scenario to proceed there is a need to propagate event notification, that is, different players must be informed when certain events happen so they may react.

Game progression P 2 enters the room where P 1, P 3 and P 4 reside (E 2 1 ) at approximately the same time as P 4 leaves the room (E 4 1 ), which is witnessed by all players via M 2 1 and M 4 1 respectively. P 1 loads their gun (E 1 1 ) and shoots their gun at P 2 (E 1 2 ). The firing of the gun is seen by all (M 1 1 ). P 2 realises they are shot (M 1 1 ) and dies (E 2 2 ), informing all other players of their mortal wound (M 2 2 ). During the shooting of P 2, P 3 reloads their gun (E 3 1 ). – A number of events can be ordered arbitrarily with respect to each other (e.g., E 1 1 and E 3 1 ), with many events exhibiting causal relations (e.g., E 2 1 → E 1 1 → E 1 2 → E 2 2 → E 2 3 ).

Example in space and time

Causal violation

Delivery as opposed to receive To preserve causality there is a need to ensure that P 3 witnesses E 2 1 (M 2 1 ) before E 1 2 (M 1 1 ). The term witness is not adequate for describing this process and what actually is required is a distinction to be made between the receiving of a message by a process and the ability to act on such a message. This introduces the classic send, receive and deliver approach to describing message handling in distributed computations: – although P 3 received M 1 1 before M 2 1, P 3 does not actually deliver M 1 1 until it has delivered message M 2 1 (preserving causal ordering). This delayed delivery is shown

Ensuring causality