course announcements tomorrow, jan 11, at 09:45, lecture hall h: “gpu programming: tips and...

50
Course Announcements Tomorrow, Jan 11, at 09:45, Lecture Hall H: “GPU Programming: Tips and Tricks” Ana Varbanescu Exam-related questions: contact Hai Xiang Lin and Ana Varbanescu Lab-related questions: contact Jie Shen [email protected] Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 1

Upload: dayna-carr

Post on 25-Dec-2015

214 views

Category:

Documents


2 download

TRANSCRIPT

Course Announcements

• Tomorrow, Jan 11, at 09:45, Lecture Hall H: “GPU Programming: Tips and Tricks”Ana Varbanescu

• Exam-related questions: contact Hai Xiang Lin and Ana Varbanescu

• Lab-related questions:contact Jie Shen [email protected]

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 1

PDS: MSc courses

October 31, 2012

1. High-Performance Computing (now)

(IN4049, Hai-Xiang Lin, Henk Sips, and Ana Varbanescu)

2. Cloud Computing (sep – nov 2012)

(IN4392, Dick Epema and Alexandru Iosup)

3. Distributed Computing Systems (feb – apr 2013)

(IN4391, Alexandru Iosup)

4. Parallel Algorithms and Parallel Computers (feb-jun 2013)

(IN4026, Henk Sips and Cees Witteveen)

5. Seminar P2P Systems (feb-mar 2013)

(IN4312, Dick Epema and Johan Pouwelse)

6. Distributed Algorithms (feb-mar 2013)

(IN4150, Dick Epema)

2

Today’s Menu

1. Starter: Introduction to Cloud Computing2. Main: Cloud Programming Models3. Desert: Online Gaming as an HPC Problem

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 3

April 19, 20234

April 19, 20235

What is Cloud Computing?3. A Useful IT Service“Use only when you want! Pay only for what you

use!”

April 19, 20236

IaaS Cloud Computing

VENI – @larGe: Massivizing Online Games using Cloud Computing

Many tasks

April 19, 20238

HP Engineering

Which Applications NeedCloud Computing? A Simplistic View…

Demand Variabilit

y

Demand Volume

Taxes, @Home

Low

Low High

High Web Server Space Survey

Comet Detected

Sky Survey

Pharma Research

Social Gaming

Online Gaming

Social Networking

AnalyticsSW

Dev/Test

OfficeTools

TsunamiPrediction

EpidemicSimulationExp.

Research

After an idea by Helmut Krcmar

Today’s Menu

1. Starter: Introduction to Cloud Computing2. Main: Cloud Programming Models3. Desert: Online Gaming as an HPC Problem

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 9

2012-201310

Terms for Today’s Discussion

Programming model= language + libraries + runtime system that create a model of computation (an abstract machine)= “an abstraction of a computer system” WikipediaExamples: message-passing vs shared memory, data- vs task-parallelism, …

Abstraction level= distance from physical machineExamples: Assembly low-level vs Java is high levelMany design trade-offs: performance, ease-of-use, common-task optimization, programming paradigm, …

Q: What is the best abstraction level?

Today’s Challenges

• eScience• The Fourth Paradigm• The Data Deluge and Big Data• Possibly others

2012-201311

eScience (John Taylor, UK Sci.Tech., 1999)• A new scientific method

• Combine science with IT• Full scientific process: control scientific instrument or produce

data from simulations, gather and reduce data, analyze and model results, visualize results

• Mostly compute-intensive, e.g., simulation of complex phenomena

• IT support• Infrastructure: LHC Grid, Open Science Grid, DAS, NorduGrid, …• From programming models to infrastructure management tools

• Examples• * physics, Bioinformatics, Material science, Engineering, CompSci

2012-201312

Q: Why is CompSci an example here?

The Fourth Paradigm: The What

• Thousand years ago: science was empirical describing natural phenomena

• Last few hundred years: theoretical branch using models, generalizations

• Last few decades: a computational branch simulating complex phenomena

• Today (the Fourth Paradigm): data explorationunify theory, experiment, and simulation • Data captured by instruments or generated by simulator• Processed by software• Information/Knowledge stored in computer• Scientist analyzes results using data management and statistics

2012-201313Source: Jim Gray and “The Fourth Paradigm”,

http://research.microsoft.com/en-us/collaboration/fourthparadigm/

2

22.

3

4

a

cG

a

a

2

22.

3

4

a

cG

a

a

Q1: What is the Fourth Paradigm?

From Hypothesis to Data

Q2: What are the dangers of the Fourth Paradigm?

What is “Big Data”?

• Very large, distributed aggregations of loosely structured data, often incomplete and inaccessible

• Easily exceeds the processing capacity of conventional database systems

• Principle of Big Data: “When you can, keep everything!”

• Too big, too fast, and doesn’t comply with the traditional database architectures

2011-201214

Time [units]

What is a Bag of Tasks (BoT)? A System View

• Why Bag of Tasks? From the perspective of the user, jobs in set are just tasks of a larger job

• A single useful result from the complete BoT• Result can be combination of all tasks, or a selection

of the results of most or even a single task

2012-201315

BoT = set of jobs sent by a user…

…that start at most Δs after the first job

Iosup et al., The Characteristics and Performance of Groups of Jobs in Grids, Euro-Par, LNCS, vol.4641, pp. 382-393, 2007.

Q: What is the user’s view?

BoTs Became the Dominant Programming Model for Grid Computing

2012-201316Iosup and Epema: Grid Computing Workloads.

IEEE Internet Computing 15(2): 19-26 (2011)

Practical Applications of the BoT Programming Model

Parameter Sweeps in Condor [1/4]• Sue the scientist wants to

“Find the value of F(x,y,z) for 10 values for x and y, and 6 values for z”

• Solution: Run a parameter sweep, with 10 x 10 x 6 = 600 parameter values

• Problem of the solution: • Sue runs one job (a combination of x, y, and z) on her

low-end machine. It takes 6 hours.• That’s 150 days uninterrupted computation on Sue’s

machine!

2012-201317Source: Condor Team, Condor User’s Tutorial.

http://cs.uwisc.edu/condor

Practical Applications of the BoT Programming Model

Parameter Sweeps in Condor [2/4]Universe = vanillaExecutable = sim.exeInput = input.txtOutput = output.txtError = error.txtLog = sim.log

Requirements = OpSys == “WINNT61” && Arch == “INTEL” &&

(Disk >= DiskUsage) && ((Memory * 1024)>=ImageSize)

InitialDir = run_$(Process)Queue 600

2012-201318Source: Condor Team, Condor User’s Tutorial.

http://cs.uwisc.edu/condor

Also passed as parameter to sim.exe

Complex SLAs can be specified easily

Practical Applications of the BoT Programming Model

Parameter Sweeps in Condor [3/4]% condor_submit sim.submitSubmitting

job(s) ...............................................................................................................................................................................................................................................................

Logging submit event(s) ...............................................................................................................................................................................................................................................................

600 job(s) submitted to cluster 3.

2012-201319Source: Condor Team, Condor User’s Tutorial.

http://cs.uwisc.edu/condor

Practical Applications of the BoT Programming Model

Parameter Sweeps in Condor [4/4]% condor_q

-- Submitter: x.cs.wisc.edu : <128.105.121.53:510> : x.cs.wisc.edu

ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD3.0 frieda 4/20 12:08 0+00:00:05 R 0 9.8 sim.exe3.1 frieda 4/20 12:08 0+00:00:03 I 0 9.8 sim.exe3.2 frieda 4/20 12:08 0+00:00:01 I 0 9.8 sim.exe3.3 frieda 4/20 12:08 0+00:00:00 I 0 9.8 sim.exe...3.598 frieda 4/20 12:08 0+00:00:00 I 0 9.8 sim.exe3.599 frieda 4/20 12:08 0+00:00:00 I 0 9.8 sim.exe

600 jobs; 599 idle, 1 running, 0 held

2012-201320Source: Condor Team, Condor User’s Tutorial.

http://cs.uwisc.edu/condor

Asterix B-tree

Ecosystems of Big-Data Programming Models

2012-201321

DremelService

Tree

SQL Hive PigJAQL

MapReduce Model AlgebrixPACT

MPI/Erlang

LFS

Nephele Hyracks

DryadHadoop/YARN

Haloop

DryadLINQScope

Pregel

HDFS

AQL

CosmosFS

AzureEngine

TeraData

Engine

Adapted from: Dagstuhl Seminar on Information Management in the Cloud,http://www.dagstuhl.de/program/calendar/partlist/?semnr=11321&SUOG

AzureData Store

TeraDataStore

Storage Engine

Execution Engine

Voldemort

High-Level Language

Programming Model

GFS

BigQueryFlume

FlumeEngine

S3

Dataflow

Giraph

SawzallMeteor

* Plus Zookeeper, CDN, etc.

Q: Where does MR-on-demand fit? Q: Where does Pregel-on-GPUs fit?

Today’s Menu

1. Starter: Introduction to Cloud Computing2. Main: Cloud Programming Models3. Desert: Online Gaming as an HPC Problem

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 22

23

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup

Alexandru Iosup

Parallel and Distributed Systems GroupDelft University of Technology

Our team: Undergrad Adrian Lascateu, Alexandru Dimitriu (UPB, Romania), …, Grad Siqi Shen, Yong Guo (TU Delft, the Netherlands), …Staff Dick Epema, Johan Pouwelse, Henk Sips (TU Delft), Thomas Fahringer, Radu Prodan (U. Innsbruck), Nicolae Tapus, Vlad Posea (UPB), …

Massivizing Online Games: High Performance Computing and High Quality Time

HPDC-Trends, Amsterdam, Mar 2012

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 24

@large: Massivizing Online Games as an HPC Problem

Online Gaming used to be multimedia, is now HPCOnline Gaming used to be multimedia, is now HPC

Online Gaming used to be networking, is now Online Gaming used to be networking, is now allall HPC HPC

Online Gaming used to be v-worlds, is now Online Gaming used to be v-worlds, is now many appsmany apps

Online Gaming used to be art, may now be computingOnline Gaming used to be art, may now be computing

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 25

What’s in a name? MSG, MMOG, MMO, …

1. Virtual World SimExplore, do, learn, socialize, compete+

2. Game DataPlayer stats and relationships, others+

3. Game ContentGraphics, maps, puzzles, quests, culture

Massively Social Gaming =(online) games with massive numbers of players (100K+), for which social interaction helps the gaming experience

Over 250,000,000 active players

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 26

MSGs are a Popular, Growing Market

• 25,000,000+ subscribed players (from 250,000,000+ active)

• Over 10,000 MSGs in operation

• Subscription market size $7.5B+/year, Zynga $600M+/year

Sources: MMOGChart, own research. Sources: ESA, MPAA, RIAA.

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 27

Zynga, an Amazon WS User

Sources: CNN, Zynga.

Source: InsideSocialGames.com

“Zynga made more than $600M in 2010 from selling in-game virtual goods.”S. Greengard, CACM, Apr 2011

Selling in-game virtual goods:

“Zynga made est. $270M in 2009 from.”http://techcrunch.com/2010/05/03/zynga-revenue/

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 28

World of Warcraft, a Traditional HPC User (since 2003)

• 10 data centers• 13,250 server blades,

75,000+ cores• 1.3PB storage• 68 sysadmins (1/1,000 cores)

http://www.datacenterknowledge.com/archives/2009/11/25/wows-back-end-10-data-centers-75000-cores/

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 29

Bungie, Computing then Serving 1.4PB/yr.

• Halo 3 is one of the many successful games• Halo 3 players get, in 1.4PB

• Detailed player profiles• Detailed usage stats• Ranking

• CERN produces ~15PB/year (10x larger)

Massivizing Social Games: Yesterday, Today, and the Next Five Years – A. Iosup30

Agenda

1. What’s in a Name?2. Three Current Challenges

1. Platform Scalability Challenge2. Gaming Analytics Challenge3. Content Generation Challenge

3. Conclusion

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 31

@large Research Challenge: V-World Platform for MMOGs

Scaling quickly to millions of players

- 1M in 4 days, 10M in 2 months- Up-front and operational costs- Performance, Scalability, & Cost

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 32

Impact on Game Experience

Responsive game Unresponsive game

April 19, 2023

[Source: Nae, Iosup, and Prodan, ACM SC 2008 and IEEE TPDS 2011]

33

• Using data centers for dynamic resource allocation

• Main advantages:1. Significantly lower over-provisioning2. Efficient coverage of the world is possible

Proposed hosting model: dynamic

Massive join

Massive joinMassive leave

[Source: Nae, Iosup, and Prodan, ACM SC 2008]

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 34

Resource Provisioning and AllocationStatic vs. Dynamic Provisioning

250%

25%

[Source: Nae, Iosup, and Prodan, ACM SC 2008]

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 35

Resource Provisioning and AllocationCompound Metrics

• Trade-off Utility-Cost still needs investigation• Performance and Cost are not both improved by

the policies we have studied

Villegas, Antoniou, Sadjadi, Iosup. An Analysis of Provisioning and

Allocation Policies for Infrastructure-as-a-Service Clouds,

CCGrid, 2012.

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 36

(Variable) Blackbox Performance Engineering

• Performance Evaluation of Four Commercial Clouds• Amazon EC2, GoGrid, Elastic Hosts, Mosso• Resource acquisition• Single- and Multi-Instance benchmarking

• Low compute and networking performance1

• Performance variability over time2

1- Iosup et al., Performance Analysis of Cloud Computing Services for Many Tasks

Scientific Computing, IEEE TPDS, 2011, http://www.st.ewi.tudelft.nl/~iosup/cloud-

perf10tpds_in-print.pdf 2- Iosup et al., On the Performance Variability of Production Cloud Services, CCGrid

2011, pds.twi.tudelft.nl/reports/2010/PDS-2010-002.pdf

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 37

SLAs Supporting Real Ecosystems Multivariate SLA Languages- Specification of SLAs

- Multivariate- Include provisions for faults- Include detailed penalties:

compensation for temporaryQoS violations

- Use existing IaaS cloud SLA specifications- How would the MMOG ecosystem operate? [TPDS

2011]- How to specify, use, and optimize for SLAs?

(upcoming)

Nae, Prodan,Iosup. A Cloud-Based Operational SLA Negotiation Model

for MMOGs, (upcoming).

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 38

@large Research Challenge: Content Generation for MMOGs

Generating content on time for millions of players

- Player-customized: Balanced, Diverse, Fresh

- Up-front and operational costs- Response time, Scalability, & Cost

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 39

(Procedural) Game Content (Generation)

Game BitsTexture, Sound, Vegetation, Buildings,

Behavior, Fire/Water/Stone/Clouds

Game SpaceHeight Maps, Bodies of Water, Placement

Maps, …

Game SystemsEco, Road Nets, Urban Envs,

Game ScenariosPuzzle, Quest/Story, …

Game DesignRules, Mechanics, …

Hendricks, Meijer, vd Velden, Iosup, Procedural Content

Generation for Games: A Survey, ACM TOMCCAP, 2012

Derived ContentNewsGen, Storification

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 40

The POGGI Content Generation Framework

Only the puzzle concept, and the instance generation and solving algorithms, are produced at development time

* A. Iosup, POGGI: Puzzle-Based Online Games on Grid

Infrastructures, EuroPar 2009 (Best Paper Award)

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 41

@large Research Challenge: Continuous Analytics for MMOGs

Analyzing the behavior of millions of players, on-time

- Data mining, data access rights, cost v. accuracy, …

- Reduce upfront costs- Low response time & Scalable

- Large-scale Graph Processing

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 42

The CAMEO Framework

1. Address community needs• Can analyze skill level, experience points, rank• Can assess community size dynamically

2. Using on-demand technology: Cloud Comp.• Dynamic cloud resource allocation, Elastic IP

3. Data management and storage: Cloud Comp.• Crawl + Store data in the cloud (best performance)

4. Performance, scalability, robustness: Cloud Comp.A. Iosup, CAMEO: Continuous Analytics for Massively

Multiplayer Online Games on Cloud Resources. ROIA, Euro-Par

2009 Workshops, LNCS 6043, (2010)

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 43

@large: Sample Analytics ResultsSkill Level Distribution in RuneScape

• Runescape: 135M active accounts, 7M active (2008)• High-scoring players: 1.8M (2007) / 3.5M (2010) • (largest MMOG msmt.)

• Player skill:distribution changes over time

* A. Iosup, POGGI: Puzzle-Based Online Games on Grid

Infrastructures EuroPar 2009 (Best Paper Award)

A. Iosup, A. Lascateu, N. Tapus, CAMEO: Enabling Social

Networks for Massively Multiplayer Online Games through

Continuous Analytics and Cloud Computing, ACM NetGames

2010.

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 44

@large: Social Everything!

• Social Network=undirected graph, relationship=edge• Community=sub-graph, density of edges between its nodes

higher than density of edges outside sub-graph

(Analytics Challenge) Improve gaming experience

• Ranking / Rating• Matchmaking / Recommendations• Play Style/Tutoring

Self-Organizing Gaming Communities• Player Behavior

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 45

• Bridge Base Online (BBO): 1M+ players, top free site

• Dataset: 100K players• 9K group• Social relationships

from bridge pairing

• Large (~10K) online social groups can coordinate

• Identified player behaviorcommunity builder, community member, random player, faithful player

@large: Sample Analytics ResultsActivity and Social Network

Interaction group-socnet

Coordinated large-scale social group

M. Balint, V. Posea, A. Dimitriu, and A. Iosup, An Analysis

of Social Gaming Networks in Online and Face to Face

Bridge Communities, LSAP 2011.

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 46

@large: Sample Analytics ResultsAnalysis of Meta-Gaming Network• “When you play a number of games, not as ends

unto themselves but as parts of a larger game, you are participating in a metagame.” (Dr. Richard Garfield, 2000)

• XFire: since 2008 (3+ years), 500K of 20M players

* A. Iosup, POGGI: Puzzle-Based Online Games on Grid

Infrastructures EuroPar 2009 (Best Paper Award)

S. Shen, and A. Iosup, The XFire Online Meta-Gaming Network:

Observation and High-Level Analysis, MMVE 2011

PhDPhD

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 47

Summary

Current TechnologyCurrent Technology

@large: The Future@large: The Future• Happy players• Happy cloud operators

• Million-user, multi-bn market

• V-World, Content, Analytics

Massivizing Online GamingMassivizing Online Gaming

• Upfront payment• Cost and scalability

problems• Makes players unhappy

@large: Our Vision@large: Our Vision

• HPC has to help• Economy of scale with

clouds@large: Ongoing Work@large: Ongoing Work

• Content: POGGI Framework

• Platform: edutain@grid• Analytics: CAMEO

Framework

Publications Gaming and Clouds

2008: ACM SC

2009: ROIA, CCGrid, NetGames,

EuroPar (Best Paper Award), …

2010: IEEE TPDS, Elsevier CCPE

2011: Book Chapter CAMEO, IEEE

TPDS, IJAMC

2012: IPDPS, CCGrid, …

Graduation (Forecast)

2012—14: 3PhD, 6Msc, 6BSc

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 48

Thank you for your attention! Questions? Suggestions? Observations?

Alexandru Iosup

[email protected]://www.pds.ewi.tudelft.nl/~iosup/ (or google “iosup”)Parallel and Distributed Systems GroupDelft University of Technology

- http://www.st.ewi.tudelft.nl/~iosup/research.html

- http://www.st.ewi.tudelft.nl/~iosup/research_gaming.html

- http://www.st.ewi.tudelft.nl/~iosup/research_cloud.html

More Info:

Do not hesitate to contact me…

PDS: MSc courses

October 31, 2012

1. High-Performance Computing (now)

(IN4049, Hai-Xiang Lin, Henk Sips, and Ana Varbanescu)

2. Cloud Computing (sep – nov 2012)

(IN4392, Dick Epema and Alexandru Iosup)

3. Distributed Computing Systems (feb – apr 2013)

(IN4391, Alexandru Iosup)

4. Parallel Algorithms and Parallel Computers (feb-jun 2013)

(IN4026, Henk Sips and Cees Witteveen)

5. Seminar P2P Systems (feb-mar 2013)

(IN4312, Dick Epema and Johan Pouwelse)

6. Distributed Algorithms (feb-mar 2013)

(IN4150, Dick Epema)

49

Massivizing Social Games: High Performance Computing and High Quality Time – A. Iosup 65

Continuous Analytics for MMOGsMMOG Data =

raw and derivative information from the virtual world (millions of users)

Continuous Analytics for MMOGs =

Analysis of MMOG data s.t. important events are not lost• Data collection• Data storage• Data analysis• Data presentation• … at MMOG rate and scale