(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

29
November 13, 2014 | Las Vegas Dhruv Thukral, Solutions Architect Gaming, Amazon Web Services Yuval Noimark, VP R&D, Playcast Media Systems

description

In this session, we go beyond online game servers, to explore other areas where AWS can benefit your game. First, we dive into using AWS to perform load testing of your game. We present architecture patterns, what makes a good load test, and real-world example scenarios. We then highlight emerging trends with cloud rendering, and show how you can integrate Amazon EC2 GPU-based instances into your game workflow. Finally, hear from Playcast, who brought their Cloud Gaming service to new players worldwide, by leveraging the G2 EC2 instance. Playcast share how they architected their streaming service to best leverage the cloud, things they learned, and demo their service streaming games from AWS.

Transcript of (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

Page 1: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

November 13, 2014 | Las Vegas

Dhruv Thukral, Solutions Architect – Gaming, Amazon Web Services

Yuval Noimark, VP R&D, Playcast Media Systems

Page 2: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014
Page 3: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014
Page 4: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014
Page 5: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

Public Subnet

Master

Database

Internal Services Servers

Private

Subnet

Load Test

Scripts

Metrics

Collection &

Graphing

Load

Generators

Private or

Public Subnet

Page 6: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

corporate data centerLoad Test

Scripts

Load

Generators

Metrics

Collection &

Graphing

Subnet

Direct

Connect

Internet

OR

Page 7: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014
Page 8: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

External

APIs

Internet

Load Test

ScriptsRegion 1

Metrics

Collection &

Graphing

Load

GeneratorsLoad Test

ScriptsRegion 2

Metrics

Collection &

Graphing

Load

Generators

Load Test

ScriptsRegion 3

Metrics

Collection &

Graphing

Load

Generators

Hammer Time

Page 9: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014
Page 10: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

Corporate Data Center

Load Test

Deployment

External

APIs

Internet

Internet

Direct

Connect

Load Test

Scripts

region

Metrics

Collection &

Graphing

Load

Generators

region

region

Internet

Page 11: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

Developers

Developers

Developers

Load Test

Deployment

S3

Bucket

Developer

Workstation

Small Load

Test to Verify

Scripts

Upload

Finished Test

Scenarios to

S3

Download

Scenarios

Upload Raw

Results &

Aggregates

Full Scale

Load Testing

EMR +

RedShift,

Graphite or

Splunk et al.

Configuration

Management

Server

Pushes

Configuration

Code

Repository

Load Test Stack

Send Data

Page 12: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

Developers

Developers

Developers

Load Test

Deployment

S3

Bucket

Developer

Workstation

Small Load

Test to Verify

Scripts

Developer

Pushes an

Updated Script

Restart Test

EMR +

RedShift,

Graphite or

Splunk et al.

Configuration

Management

Server

Pushes

Configuration

Code

Repository

Load Test Stack

Send Data

SNS

Notification

Download

Updated

Scenarios

Page 13: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

http://bit.ly/110ig1l

Page 14: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

November 13, 2014 | Las Vegas, NV

Yuval Noimark, VP R&D, Playcast Media Systems

Page 15: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

Game is running

(and rendered)

on a server

Rendered frames are

streamed as video in

real time to the client

Gamepad commands are

sent back to the server

Page 16: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

Management

System

Game is running (and

rendered)

on a server

Rendered frames are

streamed as video in

real time to the client

Gamepad commands are

sent back to the serverA management system to provision

games on servers and store progress

Page 17: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

100+titleslicensed from:

And more…

Page 18: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

France

Portugal

South Korea

Page 19: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014
Page 20: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014
Page 21: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

G2 Instance (nVIDIA

GRID GPU) – running

and streaming games

EBS – attached to

the G2 instance as

games storage

S3 – storing user’s game progress

AMIs and Snapshots – store

instance and EBS image

AWS APIs – dynamically

create/terminate G2

instances according to load

G2 Instance

Amazon EBS

Amazon S3

AMI

Page 22: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

Management System

Games

Streaming

Server

G2-based Games

Streaming ServerAMI

EBSG2

Instance

SW

Stack

Game Over

S3

Page 23: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

Gameprogress

CPU

GPU

Storage

S3

G2

EBSUse EBS and achieve

local hard-disk

performance for

Cloud Gaming

Throughput challenge

Achieve

CPU & GPU

performance

on a Virtual

Machine

VM Challenge

Page 24: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

0

20

40

60

80

100

120

140

160

180

1 4 71

01

31

61

92

22

52

83

13

43

74

04

34

64

95

25

55

86

16

46

77

07

37

67

98

28

58

89

19

49

71

00

103

106

109

112

115

118

121

124

127

130

133

136

139

142

145

148

151

154

157

160

163

166

169

172

175

178

181

Dirt3 CPU Usage

% Processor Time AWS % Processor Time Physical

Page 25: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

0

500

1000

1500

2000

2500

3000

0 2 4 6 8 10 12

Dirt3 GPU Time

Physical G2

GPU processing time

is the mostly the same

Page 26: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

0

100

200

300

400

500

125

49

73

97

12

114

516

919

321

724

126

528

931

333

736

138

540

943

345

748

150

552

955

357

760

162

564

967

369

772

174

576

979

381

784

186

588

991

393

796

198

5

IOPS

Running multiple games on a G2 instance with GP2 EBS

Page 27: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Playtime 24 Hour Distribution

.NET

Page 28: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014
Page 29: (GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS re:Invent 2014

http://bit.ly/awsevals