DS420 Case study – a reference counting problem 1.0 Clark Elliott Instructor.

Slides:



Advertisements
Similar presentations
Good Morning! Today is ____________________.
Advertisements

Data Link Layer Protocols Flow Control in Data Link Layer.
Discerning. Discerning The Lost Discerning For I have come down from heaven to do the will of God who sent me, not to do my own will. And this is the.
TECHNICOOL A Technology Safety Program © 2011 PCAV.
(Chapter 5) Deleting Objects
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Romeo and Juliet Act V Study Game Write down any questions and answers you do not know and study those for your retake.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
I'll lean on you and you lean on me and we'll be okay
Gospel May 5th John 14:23-29.
Network Protocols Mark Stanovich Operating Systems COP 4610.
Act 5 Scene 5 At the start of the scene why is Macbeth unafraid? a)He thinks his enemies are cowards b)He thinks his castle is strong enough to last out.
Forever My Love The nails in Your hands, The nails in Your feet, They tell me how much You love me.
Termination Detection. Goal Study the development of a protocol for termination detection with the help of invariants.
How to Have a Relationship with God
Lecture 13 Synchronization (cont). EECE 411: Design of Distributed Software Applications Logistics Last quiz Max: 69 / Median: 52 / Min: 24 In a box outside.
JokerStars: Online Card Playing William Sanville Milestone 4.
FORGING LINKs conference Young People’s Presentation WORKIN-2-GETHER Jayde, Karl, Laura, Rachel, Shane, Shelly & Vicky.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Mark 8:27–29 (NIV) 27 Jesus and his disciples went on to the villages around Caesarea Philippi. On the way he asked them, “Who do people say I am?” 28.
Touching is Good Game Design for the Nintendo DS Nick Balogh Computer Science Senior Project Union College Prof. Burns.
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
By: Brandee Burke.  This is an interactive slideshow that is going to teach you all about how to be safe while using the internet and also other kinds.
Team ThinkTank. Specifications Ad Hoc networking game. Similar to the Atari Combat! Players control their tank and shoot enemy tanks. Each player gets.
When Someone is Talking. Sometimes in school I have something important to tell an adult. Oh I really need to tell her something…but she is talking…
More on TCP Acknowledgements Sequence Number Field Initial Sequence Number Acknowledgement Number Field.
You are chief advisor to a SuperHero Tell him what to do…. B. look for a super villain C. ride a bike A. go to the park You’d better …
Distributed Transactions Chapter 13
Naming (1) Chapter 4. Chapter 4 topics What’s in a name? Approaches for naming schemes Directories and location services Distributed garbage collection.
If you should die before me, ask if you could bring a friend. If you live to be a hundred, I want to live to be a hundred minus one day, so I never have.
Cyclic Code. Linear Block Code Hamming Code is a Linear Block Code. Linear Block Code means that the codeword is generated by multiplying the message.
Following Jesus. Fishing with Jesus Peter: “Go away from me, Lord; I am a sinful man!” Jesus: “Don’t be afraid; from now on you will catch men.” Praying.
The Prodigal Son Year 5 Here I Am Lesson 4. The Prodigal Son Introduction Jesus told many stories to his friends to help them understand difficult things.
Copyright 2008 Kenneth M. Chipps Ph.D. Controlling Flow Last Update
1 IEEE MEDIA INDEPENDENT HANDOVER DCN: Title: MIH Protocol State Machine Date Submitted: September 13, 2006 Presented at IEEE.
Heading Poetry 11 Mr. Dunne 3 rd December. Last week’s homework Everyone count up how many lines you created for your poem. To acquire the prize, there.
Sight Word List.
Real-Time & MultiMedia Lab Synchronization Distributed System Jin-Seung,KIM.
Routing and Forwarding Simulation on Paper. We will simulate: Hop by hop forwarding DV - Distance vector routing (like RIP) LS - Link State routing (like.
More Distributed Garbage Collection DC4 Reference Listing Distributed Mark and Sweep Tracing in Groups.
E.Gushchin (INR,Moscow) 09 March 2009 Shutdown Calo meeting CERN Status PS/SPD of LED tuning Status of tuning on A-side. Some problems Results of tuning.
Warlords Patrick Levoshko SE 558 – Multiplayer Game Design.
- Manvitha Potluri. Client-Server Communication It can be performed in two ways 1. Client-server communication using TCP 2. Client-server communication.
Activity 4 Phone Safety Quiz. 1 You receive a picture message from a friend that makes you uncomfortable. Do you… Send back a text telling her to get.
By Kevin Sandhu. Pick a Deck 5 decks to choose from Each player gets 20 life points Each player cuts the others deck Untap all cards at beginning Draw.
E-Safety Quiz Are you cybersafe?.
5. The Transport Layer 5.1 Role of Transport Layer It bridge the gab between applications and the network layer. Provides reliable cost-effective data.
Operating Systems COMP 4850/CISG 5550 Interprocess Communication, Part II Dr. James Money.
For Programming Challenge N. H. N. D. de Silva. Introduction General Game Architecture Server Architecture Joining the game Game initiation Moving and.
CSE 486/586 CSE 486/586 Distributed Systems Global States Steve Ko Computer Sciences and Engineering University at Buffalo.
Video game blogger (1999 – 2011ish) Dark Age of Camelot, Mythic Entertainment (programmer) (2001 – 2006) Various titles, NCsoft and elsewhere (programmer/designer)
Data Link Layer. Data link layer The communication between two machines that can directly communicate with each other. Basic property – If bit A is sent.
1 The utopia protocol  Unrealistic assumptions: –processing time ignored –infinite buffer space available –simplex: data transmitted in one direction.
Network Protocols Andy Wang Operating Systems COP 4610 / CGS 5765.
Guide By Phoebi Stewart. has changed the way we communicate with each other. Being able to send information quickly across the internet.
Flow Control Ben Abdallah Abderazek The University of Aizu
Othello Act V Monday, November 10, 2014 Honors MYP.
Chapter 3: The Data Link Layer –to achieve reliable, efficient communication between two physically connected machines. –Design issues: services interface.
Improved Robotic Arm for Sensitivity Characterization of Occupancy Sensors Will Hedgecock Brian Auerbach John Sullivan.
Please take out the homework - viewing sheet fro the movie
Data Link Layer - 3 Dr. Sanjay P. Ahuja, Ph.D.
TCP.
Sarah Diesburg Operating Systems COP 4610
CS4470 Computer Networking Protocols
Reliable Client-Server Communication
CS4470 Computer Networking Protocols
Andy Wang Operating Systems COP 4610 / CGS 5765
Selective Repeat.
Presentation transcript:

DS420 Case study – a reference counting problem 1.0 Clark Elliott Instructor

The Game Multi-player first-person shooter game. Interact with the Avatars of others Magical objects, such as dragons, can be created by the actions of one player, but interact with everyone. Users A,B,…Zn; Machines 1, 2, …n Objects reside on machine where they are created. Users “live” on one machine.

The Dragon Big green dragon with detailed graphics, complex physics, and full history-of- interaction: Expensive object When no one needs the dragon, make her go away to conserve resources

Scenario One (Users) A, B, C are playing the game on machines 1,2,3 B creates dragon. Dragon count is one, for B. A discovers dragon; dragon count is two. B cuts off dragon’s hind foot. A sees dragon with three feet.

One, cont. A gets roasted by dragon, and starts dying. A (on 1) sends message to dragon (on 2) “I am dead” Dragon count is one. A dies. B continues to interact with dragon All is well with scenario one.

Scenario Two (Users) A, B, C are playing the game on machines 1,2,3 B creates dragon. Dragon count is one, for B. A discovers dragon; dragon count is two, for A and B B cuts off dragon’s hind foot. A sees dragon with three feet.

Two, cont. A gets roasted by dragon, starts dying. A (on 1) sends message to dragon (on 2) “I am dead” but message gets lost Dragon count remains two. A dies. B gets killed by a falling anvil, and starts dying. B (on 2) sends message to dragon “I am dead” Dragon count is one. All users are dead, but dragon remains active – ouch!

Solution for two… Before dying, A waits for acknowledgment of death message. Message gets lost. No acknowledgment comes. A resends death message Dragon is decremented; sends ACK A gets ACK, dies.

But, suppose… Second message gets lost? Acknowledgment gets lost, so… –Second message is sent saying “I am dead” –Both first and second messages are received and the dragon is decremented twice. – Dragon count is set to zero, and dragon object is destroyed while B still has a reference to it…”Hey, where’s my dragon?”

Scenario Three (Users) A, B, C are playing the game on machines 1,2,3 B creates dragon. Dragon count is one, for B. A discovers dragon; dragon count is two, for A and B B cuts off dragon’s hind foot. A sees dragon with three feet.

Three – cont. A “tells” C about the dragon (passes the reference), but does not tell the dragon that C knows about the dragon. A and B die, dragon is decremented to zero, dragon object is destroyed to save resources. C says, “Hey, where’s my dragon?”

Some techniques Weighted reference counting, so know about someone being “told” about you. Messages have counters, and sender IDs. Never respond to a message with a lesser ID. Use a reliable message protocol. Do global, independent, garbage collection