World of Tanks Linux and Open Source Inside Maksim Melnikau Im - - PowerPoint PPT Presentation

world of tanks linux and open source inside
SMART_READER_LITE
LIVE PREVIEW

World of Tanks Linux and Open Source Inside Maksim Melnikau Im - - PowerPoint PPT Presentation

World of Tanks Linux and Open Source Inside Maksim Melnikau Im developer in Wargaming (Belarus, Minsk) Order of War Order of War: Challenge World of Tanks Linux Mobile hobbyist Openmoko systemd telepathy


slide-1
SLIDE 1

World of Tanks Linux and Open Source Inside

Maksim Melnikau

slide-2
SLIDE 2

I’m

◮ developer in Wargaming (Belarus, Minsk)

◮ Order of War ◮ Order of War: Challenge ◮ World of Tanks

◮ Linux Mobile hobbyist

◮ Openmoko ◮ systemd ◮ telepathy ◮ Gentoo

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-3
SLIDE 3

World of Tanks

◮ mmorpg ◮ fps about tanks ◮ 15x15 pvp

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-4
SLIDE 4

World of Tanks Today

◮ 800k concurrent users in peak ◮ 8M messages per second ◮ 500 servers for game and web ◮ 60M game portal visits per month ◮ 5 PB (petabytes) for game installs and updates per month

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-5
SLIDE 5
slide-6
SLIDE 6

Cheaters

◮ many players want to cheat ◮ cheaters make other players unhappy ◮ cheaters xenophobia

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-7
SLIDE 7

Scaleability

◮ better product — more users ◮ more users — more servers ◮ more servers — bigger synchronization problem

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-8
SLIDE 8

Single Datacenter Issues

◮ latency ◮ availability ◮ single point of failure

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-9
SLIDE 9

Big Data

◮ more users — more data ◮ more data — bigger disks ◮ suddenly, new storage solution required

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-10
SLIDE 10

Rapid Growth

◮ simple solution — faster time to market ◮ great success — simple solutions completely unusable ◮ rewriting everything on-the-fly ◮ business changes every day

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-11
SLIDE 11
slide-12
SLIDE 12

Nobody Will Help You

◮ no time to educate people ◮ no time to wait 3rd party support ◮ no time to write good proper solutions

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-13
SLIDE 13

Full Control

◮ software ◮ data ◮ team ◮ hardware

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-14
SLIDE 14

Linux and Open Source Software

◮ ready to use components ◮ good documentation ◮ customize software when required ◮ hire people with required skills

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-15
SLIDE 15
slide-16
SLIDE 16

World of Tanks Architecture

◮ game client — thin client, player ◮ server — world simulation ◮ cluster — thousands of process working as one server ◮ step-game world, with very small steps

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-17
SLIDE 17

Development

◮ regular Python ◮ GC disabled ◮ some parts rewritten on C++ ◮ message-based RPC ◮ UDP-based reliable internal protocol

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-18
SLIDE 18

Cluster

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-19
SLIDE 19

Multi Cluster

◮ scaleability ◮ geo distributed ◮ availability ◮ independence

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-20
SLIDE 20

Production

  • 1. 500 servers
  • 2. 8k cpu cores
  • 3. 32 TB RAM
  • 4. Linux

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-21
SLIDE 21

MySQL

◮ database size: 300 GB ◮ 384 GB RAM ◮ Percona 5.5 (buffer pool warming — 1GBps) ◮ 40k selects, 1k inserts, 1k updates per second ◮ 24 HDD ∗ 600 GB ∗ 0.5 = 6 TB

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-22
SLIDE 22

Client

  • 1. regular Python
  • 2. HUD - ActionScript, Scaleform
  • 3. 3D graphics - C++

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-23
SLIDE 23
slide-24
SLIDE 24

Web Tasks

◮ registrations ◮ news ◮ docs ◮ media ◮ payment form ◮ receiving payments ◮ update distribution ◮ account management ◮ account profile ◮ statistics ◮ ratings ◮ ...

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-25
SLIDE 25

LNAMPMR

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-26
SLIDE 26

Other

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-27
SLIDE 27
slide-28
SLIDE 28

Keys to Success

◮ Linux on server ◮ relaying on Open Source ◮ fast and easy development ◮ having full control on everything ◮ don’t afraid of different software stacks

World of Tanks: Linux and Open Source Inside, Maksim Melnikau

slide-29
SLIDE 29

Thank You. Questions

Maksim Melnikau

mailto:m_melnikau@wargaming.net https://plus.google.com/114669104565190507739/ https://twitter.com/max_posedon http://wargaming.com