“Workload Characterization of a First Person Shooter” Luka Spoljaric Jeff Kwiat.

Post on 18-Dec-2015

214 views 0 download

Transcript of “Workload Characterization of a First Person Shooter” Luka Spoljaric Jeff Kwiat.

““Workload Characterization of a Workload Characterization of a First Person Shooter”First Person Shooter”

Luka Spoljaric

Jeff Kwiat

The ProblemThe Problem

Problem: Today’s games consume enormous amounts of CPU resources.– Complex graphics and faster movement

require greater rendering speeds

Can anything be done about this??

SolutionSolution

We must form a better understanding of the workload generated by one these games– Increase efficiency within the game– Relieve the machine of excess burden

to allow other processes more CPU resources

Presentation OverviewPresentation Overview

Introduction to GamesMethodologyData AnalysisImplications, Conclusions, and

Future Research

IntroductionIntroduction

Several genres of video games– First Person Shooter

• Fast-paced, graphically enhanced• Focus of this presentation

– Role-Playing Games (RPGs)• Lower graphics and slower play

– Board Games• Just plain boring

MethodologyMethodology

Hardware TLAB setup– Dell Dimension 4100– 800 MHz Pentium III processor– 256 MB DRAM– Video Card: NVIDIA_GLX-0.9-5

Software– Instrumented version of Linux Doom– Running on Redhat Linux release 6.2

Testing PhaseTesting Phase

20 real-world tests were conducted using the Doom instrumentation

Each run lasted for 180 seconds Each player started at the same point in

the game– Shareware version - “Knee-deep in the Dead”

Skill level was set to “Ultimate Violence”– Player could interact with more enemies

Doom InstrumentationDoom Instrumentation

Incoming Data (3 Blocks)– Doom Loop wraps all of these– GetEvents()

• X Windows events Doom Events

– ProcessEvents()• Process Doom Events

– DisplayEvents()• Update Sounds• Display• Submit Sounds

Task SizesTask Sizes

Represent the amount of CPU time needed to perform a specific task.

We measured task sizes of each event block:– GetEvents()– ProcessEvents()– DisplayEvents

Empty Tasks Blocks where no events occurred– ~98.5% !!

GetEvents() BlockGetEvents() Block

Task Size– With empty tasks

• Mean: 0.00176 seconds• STD: 0.0050825 seconds• Range: 0.1 – 0.4 seconds

– Without empty tasks• Mean: 0.01390 seconds• STD: 0.00595 seconds• Range: 0.1 – 0.4 seconds

Task Sizes With Empty TasksTask Sizes With Empty Tasks

0.00 0.01 0.02 0.03

0

10000

20000

30000

Task Sizes (With 0s) - GEL

Fre

quen

cy

Many cycles without events

Task Sizes Without Empty TasksTask Sizes Without Empty Tasks

0.01 0.02 0.03

0

1000

2000

3000

Task Size (Without 0s) GEL

Fre

quen

cy

Inter-arrival TimesInter-arrival Times

Inter-arrival times show multi-modal distributions

Divided data into separate bins (short intervals and long intervals)

Plotted each separately to present more effectively

GetEvents() BlockGetEvents() Block

Inter-arrival times– Mean: 0.0159– STD: 0.0244– Distribution: Tri-modal Distribution

STD > Mean!! – Relates to multi-modal distribution

Inter-arrival Times vs. PercentInter-arrival Times vs. Percent

0.0 0.1 0.2 0.3

0

10

20

30

40

Inter-arrival Times

Per

cent

Inter-arrival Times (Short)Inter-arrival Times (Short)

0.050.040.030.020.010.00

10000

5000

0

Short

Fre

quen

cy

Inter-arrival Times (Long)Inter-arrival Times (Long)

0.1 0.2 0.3

0

1000

2000

3000

Medium

Fre

quen

cy

ProcessEvents() BlockProcessEvents() Block

Task Size– With empty tasks

• Mean: 0.00387• STD: 0.00781

– Without empty task• Mean: 0.0166• STD: 0.00703

Task Sizes with Empty TasksTask Sizes with Empty Tasks

0.00 0.01 0.02 0.03 0.04

0

50000

100000

150000

C5

Fre

quen

cy

Task Sizes without Empty TasksTask Sizes without Empty Tasks

0.01 0.02 0.03 0.04

0

10000

20000

C6

Fre

quen

cy

ProcessEvents()ProcessEvents()

Inter-arrival times– Mean: 0.029 s– STD: 0.026 s– Distribution: Multi-Modal distribution

• Longer intervals are more popular than in the GetEvents() blocks

Inter-arrival Times vs. PercentInter-arrival Times vs. Percent

0.0 0.1 0.2 0.3

0

10

20

30

40

50

60

Sorted_1

Per

cent

Inter-arrival Times (Short)Inter-arrival Times (Short)

0.00 0.01 0.02 0.03 0.04 0.05

0

10000

20000

30000

40000

50000

Short Inter-arrival Times

Fre

quen

cy

Inter-arrival Times (Long)Inter-arrival Times (Long)

0.1 0.2 0.3

0

1000

2000

Medium Inter-arrival Times

Fre

quen

cy

Display() BlockDisplay() Block

Task Size– With empty tasks

• Mean: 0.0016• STD: 0.0050

– Without empty tasks• Mean: 0.0148• STD: 0.0065

Task Sizes with Empty TasksTask Sizes with Empty Tasks

0.00 0.01 0.02 0.03 0.04

0

100000

200000

300000

400000

Sort

Fre

quen

cy

Task Sizes without Empty TasksTask Sizes without Empty Tasks

0.01 0.02 0.03 0.04

0

10000

20000

30000

Task Size w/o 0s

Fre

quen

cy

Display() BlockDisplay() Block

Inter-arrival Times– Mean: 0.0346– STD: 0.0307– Distribution: Multi-modal

Inter-arrival Times vs. PercentInter-arrival Times vs. Percent

0.0 0.1 0.2 0.3

0

10

20

30

40

50

60

C3

Per

cent

Inter-arrival Times (Short)Inter-arrival Times (Short)

0.00 0.01 0.02 0.03 0.04 0.05

0

10000

20000

30000

Short Inter-arrival Times

Fre

quen

cy

Inter-arrival Times (Long)Inter-arrival Times (Long)

0.1 0.2 0.3

0

1000

2000

Long Inter-arrival Times

Fre

quen

cy

Display() EventsDisplay() Events

Event 1: “UpdateSounds”

0.000001 0.000002 0.000003 0.000004 0.000005 0.000006

0

5000

10000

15000

Update

Fre

quen

cy

Display() EventsDisplay() Events

Event 2: “Display”

0.0 0.1 0.2

0

10000

20000

Display

Fre

quen

cy

Display() EventsDisplay() Events

Event 3: “SubmitSounds”

0.0002 0.0003 0.0004 0.0005 0.0006

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

Submit

Fre

quen

cy

Future WorkFuture Work

Extend workload characterization to other games (especially first person shooters)

Participants with varying skill levels– Differences in task sizes– Differences in inter-arrival times

Develop software to dynamically decide how much resources are necessary at a given point in the game

ConclusionsConclusions

The task sizes of event blocks range from 0.0 – 0.4 CPU seconds with a large number of empty tasks

The inter-arrival times can be modeled as a multi-modal distribution

Thanks