Darkstar. Darkstar is a Sun research project on massively parallel online games The objective (not yet demonstrated!) is to supply a framework for massively.

Slides:



Advertisements
Similar presentations
Two phase commit. Failures in a distributed system Consistency requires agreement among multiple servers –Is transaction X committed? –Have all servers.
Advertisements

COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 7: Consistency 4/13/20151Distributed Systems - COMP 655.
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Zookeeper at Facebook Vishal Kathuria.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Business Continuity and DR, A Practical Implementation Mich Talebzadeh, Consultant, Deutsche Bank
A Dependable Auction System: Architecture and an Implementation Framework
Technical Architectures
1 Pertemuan 13 Servers for E-Business Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi: >
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Chapter 11: Distributed Processing Parallel programming Principles of parallel programming languages Concurrent execution –Programming constructs –Guarded.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
1 By Vanessa Newey. 2 Introduction Background Scalability in Distributed Simulation Traditional Aggregation Techniques Problems with Traditional Methods.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
Introduction to client/server architecture
Online Gaming (for virtual living). Objectives – Understand the business related to online gaming works – Realise how online games are managed – Have.
Distributed Databases
Massively Multiplayer Online Games & DIS Commercial/Defense Convergence?
How WebMD Maintains Operational Flexibility with NoSQL Rajeev Borborah, Sr. Director, Engineering Matt Wilson – Director, Production Engineering – Consumer.
Shilpa Seth.  Centralized System Centralized System  Client Server System Client Server System  Parallel System Parallel System.
Software Engineer, #MongoDBDays.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 3 – 10 – 2011 College Of Computer Science and Information, Information Systems.
CSC 456 Operating Systems Seminar Presentation (11/13/2012) Leon Weingard, Liang Xin The Google File System.
The Worlds of Database Systems Chapter 1. Database Management Systems (DBMS) DBMS: Powerful tool for creating and managing large amounts of data efficiently.
Microsoft Active Directory(AD) A presentation by Robert, Jasmine, Val and Scott IMT546 December 11, 2004.
CS525: Special Topics in DBs Large-Scale Data Management Hadoop/MapReduce Computing Paradigm Spring 2013 WPI, Mohamed Eltabakh 1.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Exercises for Chapter 2: System models
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
MapReduce and GFS. Introduction r To understand Google’s file system let us look at the sort of processing that needs to be done r We will look at MapReduce.
MV-3500 DoD Modeling & Simulation Network Protocols.
Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.
Distributed Computing Systems CSCI 4780/6780. Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!!
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
Distributed database system
Feb 1, 2001CSCI {4,6}900: Ubiquitous Computing1 Eager Replication and mobile nodes Read on disconnected clients may give stale data Eager replication prohibits.
Virtual Company By: Aiman Erbad Dung Nguyen Dung Nguyen Khalil El Haitami Khalil El Haitami.
Networked Games Objectives – –Understand the types of human interaction that a network game may provide and how this influences game play. –Understand.
Ethernet. Ethernet  Ethernet is the standard communications protocol embedded in software and hardware devices, intended for building a local area network.
CHAPTER 7 CLUSTERING SERVERS. CLUSTERING TYPES There are 2 types of clustering ; Server clusters Network Load Balancing (NLB) The difference between the.
Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
HADOOP Carson Gallimore, Chris Zingraf, Jonathan Light.
Hadoop/MapReduce Computing Paradigm 1 CS525: Special Topics in DBs Large-Scale Data Management Presented By Kelly Technologies
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Database Management System Architecture 2004, Spring Pusan National University.
Presentation 3: Designing Distributed Objects. Ingeniørhøjskolen i Århus Slide 2 af 16 Outline Assumed students are knowledgeable about OOP principles.
ZOOKEEPER. CONTENTS ZooKeeper Overview ZooKeeper Basics ZooKeeper Architecture Getting Started with ZooKeeper.
SQL Basics Review Reviewing what we’ve learned so far…….
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
BIG DATA/ Hadoop Interview Questions.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
Hadoop Aakash Kag What Why How 1.
A Software Architecture Model……
CHAPTER 3 Architectures for Distributed Systems
3. Distributed Systems – Architecture Models Part 1
#01 Client/Server Computing
Ch > 28.4.
Replication Middleware for Cloud Based Storage Service
Introduction to Databases Transparencies
Consistency and Replication
Lazy Type Changes in Object-oriented Databases
Database System Architectures
Distributed Databases
#01 Client/Server Computing
Presentation transcript:

Darkstar

Darkstar is a Sun research project on massively parallel online games The objective (not yet demonstrated!) is to supply a framework for massively parallel online games that scale into the tens or hundreds of thousands of simultaneous users Open source, free implementation Sun would like to sell the servers and server sites to run these games

What it is Not We’ve been talking about game protocols so far. Protocols are responsible for exchanging state change information between hosts. But this says nothing about how the information is maintained on a host once it arrives For example, a DIS ESPDU might send information about an M1A2 tank moving to another host. But that host is responsible for maintaining information about that entity once it arrives, which is completely outside the domain of DIS

What it is Not Software on a host is often also responsible for doing graphics. Darkstar is silent about this as well. Likewise game scripting and other classic game engine tasks You could combine Darkstar with Delta3D and DIS or HLA

What it Does Darkstar is responsible for keeping track of game state on a central server (or server cluster) It is very strongly tied to a server- based model for games, vs. a peer-to-peer model in which state is distributed across many hosts Darkstar is an “application server” for games that maintains game state in a centralized repository. It is intended to be low-latency and highly scalable

Conventional Server Architecture Classically designers scale MMOGs on the server side by dividing up the game space into regions, and assign a server to each region S1 S2 S3 S4

Convetional Architectures This is sometimes called “sharding”. Each server maintains the state information for that region. There are some problems with this What if everyone decides to move into one square? It takes a lot of server resources--you need to provision regions with servers even if no one is there at the time Harder to interact with someone not in your server region Used in Second Life, many others

Darkstar Darkstar takes a somewhat different approach. Persistent object state is kept in a centralized database. User transactions come in from clients; the server retrieves persistent (managed) objects from the store, performs operations on them, then if changed writes them back Can also have server-side tasks that operate on persistent objects (dead reckoning, periodic tasks, etc.) Server operations are transaction oriented; if they fail, or take too long, the transaction can be rolled back Server operations are given a limited amount of time to perform an operation; if this time is exceeded, the operation fails and is rolled back

Darkstar This means that We can scale the number of servers by simply adding more, so long as we can read and write from our data store quickly enough Don’t need shards Data sharing is achieved via the common persistent store Game logic is the same as a single node Writing a high performance data store and persistent object system is critical to success. This has not been demonstrated yet. But SQL databases have exhibited very high transaction rates, so it may be possible

Darkstar Model Client Server(s) Persistent Object Store Server(s)

Darkstar Darkstar is not a complete server-side solution. It’s a framework for writing one Example: client updates tank position. Sends request to server, server retrieves persistent tank object and locks it. Performs update and writes data back to persistent store If another client tries to modify the tank state during this process, the lock will prevent concurrent changes Concurreny is solved by making object modification guaranteed to be sequential Complete game can shut down in a power failure, then be restarted in the same state

Applications Project Wonderland: Sun social virtual world project using X3D for graphics Project Snowman: snowball throwing game