course announcements tomorrow, jan 11, at 09:45, lecture hall h: “gpu programming: tips and...
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
What is Cloud Computing?3. A Useful IT Service“Use only when you want! Pay only for what you
use!”
April 19, 20236
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