SlideShare a Scribd company logo
1	
  
Game Studio Perforce Architecture
Ryan Mensching
Senior Network Administrator
NetherRealm Studios/WB Games Logo area
2	
  
The Setup
•  Established Studio with track record
•  Mortal Kombat (1992 – 2011)
•  DC Comics – Injustice (2013), Arkham City Lockdown
•  AAA Games on multiple platforms
•  360
•  PS3
•  WiiU
•  Vita
•  iOS
3	
  
Historical Perspective
•  Team has been making games for 20 plus years.
•  “Things will get done.”
•  Outages cost money, ship dates, and sanity.
•  “Crunch” is a reality.
•  Multi-Year development cycle, two years
•  Used other tools in the past, Source Safe
4	
  
Statistics
•  Games are Code and Binary Art Assets
•  Textures
•  Animations
•  Cinematics
•  Lighting
•  Sync of current project at head is 20G
•  Sync of source art assets is 545G
5	
  
Visuals
•  460+ CL’s per day at peek intervals (1000’s of builds)
•  Some 20G of changes per day at peek intervals
6	
  
Products
•  As a studio we have 3 software products that are
being produced at any given time.
•  Engine
•  Games
•  Art Tool/Game Editor
7	
  
Challenges
•  As IT we had several hurdles to overcome
•  Aging Hardware
•  Aging processes
•  Management woes
•  Insight into systems
•  Lack of agility to meet business demand
8	
  
Strategic Goals
9	
  
Strategic Goals
•  Game development support is a balancing of
immediate gratification and resources.
•  IT business driven goals/pillars
•  Space
•  Speed
•  Flexibility
•  Reliability
•  Management
10	
  
Space
•  Available, can’t be used if its locked up, i.e. thin
provisioning
•  Abstraction, array layer should not need
configuration to allocate space and at volume
layer should not require reconfig for volume
expansion.
11	
  
Speed
•  Entire VM platform, OS, and mass storage.
•  Performance needs to be maintained in relation
to consumption.
12	
  
Flexibility
•  Works in conjunction with other pillars.
•  Stands alone as a goal in games environment.
•  Freedom of protocol choices.
•  Ease of VM and hardware additions.
13	
  
Reliability
•  Redundancy should be inherent.
•  Should not require special plans or procedures.
•  If the reliability path is to complex issues will
arise.
14	
  
Management
•  IT Glue
•  Proper management makes all the pillars come
together.
•  Self documenting
15	
  
Solutions
How as an IT organization do we accomplish these goals and
vision?
16	
  
Solutions
•  Solid Layer 2 and 3 core
with 10G distribution.
•  Previous experience with
VM, Storage over IP and
infrastructure testing.
17	
  
Research
•  Built VM farm with
existing hardware and
repurposed array for
iSCSI.
•  Benchmarks were in the
top on the Perforce
Benchmark DB.
•  Ran real world project
on systems.
18	
  
19	
  
Storage Platform
•  Key building block of infrastructure design.
•  iSCSI management proved not agile enough,
LUN management chores. Redundancy requires
complex configurations.
•  NFS provided equal or better performance.
20	
  
NFS
•  True thin provisioning, space consumed and given
back.
•  No LUN changes.
•  Volumes size can be adjusted on the fly.
•  Strong VMware support.
•  NetApp engine
•  Snapshots
•  Native NFS among other protocols
•  Key to P4 revision file storage design.
21	
  
Virtualization
•  VM hardware needs to be “wide and fast”.
•  As much RAM as possible to improve VM operations
and better disk caching.
•  Cores should have highest clock speed possible.
•  Perforce uses 2 vCPUs.
•  Cisco UCS
•  Hardware abstraction
•  Native Unified Fabric, 10G
•  VM Passthrough
22	
  
OS
•  RHEL for all Perforce servers and many
applications.
•  Linux provides best usage of resources for VM’s
and disk caching.
•  Current project Perforce servers have 32GB of
RAM.
•  Able to achieve 440+Mb sustained transfer to p4
clients.
23	
  
Reliability
•  Redundancy at array level with NetApp SnapMirror.
•  Volume and VM level snapshots.
•  Provides ability to single file restore directly back to
depots/servers.
•  UCS blades multi-homed to core; dual chassis
uplinks, dual fabric uplinks, dual core switches.
•  VMware HA clustering
•  Perforce uses proxies for load balancing and
checkpoints for integrity.
•  Moving to replicas.
24	
  
Management Tools
•  NetApp OnCommand
•  UCS Manager
•  VMware
•  Plugins, SMVI
•  Active monitoring of P4
services and disk health.
25	
  
26	
  
Conclusion
•  Perforce is very capable of scaling to speed and
data intense development.
•  Requires investments in engineering and
infrastructure.
•  Each environment is different, but can share
philosophies.
•  Abstraction, abstraction, abstraction
27	
  
Thank you
Questions?
Ryan Mensching
rmensching@wbgames.com

More Related Content

What's hot

NGENSTOR_ODA_HPDA
NGENSTOR_ODA_HPDANGENSTOR_ODA_HPDA
NGENSTOR_ODA_HPDA
UniFabric
 
SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3
UniFabric
 
Vm13 vnx mixed workloads
Vm13 vnx mixed workloadsVm13 vnx mixed workloads
Vm13 vnx mixed workloads
pittmantony
 

What's hot (20)

Developing a Ceph Appliance for Secure Environments
Developing a Ceph Appliance for Secure EnvironmentsDeveloping a Ceph Appliance for Secure Environments
Developing a Ceph Appliance for Secure Environments
 
Ceph Day Shanghai - Opening
Ceph Day Shanghai - Opening Ceph Day Shanghai - Opening
Ceph Day Shanghai - Opening
 
GPLS/PINES GenaSYS Presentation - EG2012
GPLS/PINES GenaSYS Presentation - EG2012GPLS/PINES GenaSYS Presentation - EG2012
GPLS/PINES GenaSYS Presentation - EG2012
 
NGENSTOR_ODA_HPDA
NGENSTOR_ODA_HPDANGENSTOR_ODA_HPDA
NGENSTOR_ODA_HPDA
 
XPDDS17: Xen Test Lab: The Installation and Our Plans - Ian Jackson, Citrix
XPDDS17: Xen Test Lab: The Installation and Our Plans - Ian Jackson, CitrixXPDDS17: Xen Test Lab: The Installation and Our Plans - Ian Jackson, Citrix
XPDDS17: Xen Test Lab: The Installation and Our Plans - Ian Jackson, Citrix
 
Simplifying Ceph Management with Virtual Storage Manager (VSM)
Simplifying Ceph Management with Virtual Storage Manager (VSM)Simplifying Ceph Management with Virtual Storage Manager (VSM)
Simplifying Ceph Management with Virtual Storage Manager (VSM)
 
Intro to Zenoss by Andrew Kirch
Intro to Zenoss by Andrew KirchIntro to Zenoss by Andrew Kirch
Intro to Zenoss by Andrew Kirch
 
SM16 - Can i move my stuff to openstack
SM16 - Can i move my stuff to openstackSM16 - Can i move my stuff to openstack
SM16 - Can i move my stuff to openstack
 
VMware Virtual SAN slideshow
VMware Virtual SAN slideshowVMware Virtual SAN slideshow
VMware Virtual SAN slideshow
 
Postgres on OpenStack
Postgres on OpenStackPostgres on OpenStack
Postgres on OpenStack
 
XPDDS17: Xen-lite for ARM: Adapting Xen for a Samsung Exynos MicroServer with...
XPDDS17: Xen-lite for ARM: Adapting Xen for a Samsung Exynos MicroServer with...XPDDS17: Xen-lite for ARM: Adapting Xen for a Samsung Exynos MicroServer with...
XPDDS17: Xen-lite for ARM: Adapting Xen for a Samsung Exynos MicroServer with...
 
Xen Virtualization 2008
Xen Virtualization 2008Xen Virtualization 2008
Xen Virtualization 2008
 
MySQL & noSQL Conference: MySQL for Sysadmins
MySQL & noSQL Conference: MySQL for SysadminsMySQL & noSQL Conference: MySQL for Sysadmins
MySQL & noSQL Conference: MySQL for Sysadmins
 
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking ToolCeph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking Tool
 
OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...
OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...
OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...
 
2015 open storage workshop ceph software defined storage
2015 open storage workshop   ceph software defined storage2015 open storage workshop   ceph software defined storage
2015 open storage workshop ceph software defined storage
 
SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3
 
VMware - Virtual SAN - IT Changes Everything
VMware - Virtual SAN - IT Changes EverythingVMware - Virtual SAN - IT Changes Everything
VMware - Virtual SAN - IT Changes Everything
 
Varrow datacenter storage today and tomorrow
Varrow   datacenter storage today and tomorrowVarrow   datacenter storage today and tomorrow
Varrow datacenter storage today and tomorrow
 
Vm13 vnx mixed workloads
Vm13 vnx mixed workloadsVm13 vnx mixed workloads
Vm13 vnx mixed workloads
 

Similar to [NetherRealm Studios] Game Studio Perforce Architecture

Presentation architecting a cloud infrastructure
Presentation   architecting a cloud infrastructurePresentation   architecting a cloud infrastructure
Presentation architecting a cloud infrastructure
solarisyourep
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5
UniFabric
 
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
Ruslan Meshenberg
 

Similar to [NetherRealm Studios] Game Studio Perforce Architecture (20)

Kubernetes for HCL Connections Component Pack - Build or Buy?
Kubernetes for HCL Connections Component Pack - Build or Buy?Kubernetes for HCL Connections Component Pack - Build or Buy?
Kubernetes for HCL Connections Component Pack - Build or Buy?
 
Engage 2020 - Kubernetes for HCL Connections Component Pack - Build or Buy?
Engage 2020 - Kubernetes for HCL Connections Component Pack - Build or Buy?Engage 2020 - Kubernetes for HCL Connections Component Pack - Build or Buy?
Engage 2020 - Kubernetes for HCL Connections Component Pack - Build or Buy?
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Software is Eating The Data center
Software is Eating The Data centerSoftware is Eating The Data center
Software is Eating The Data center
 
Presentation architecting a cloud infrastructure
Presentation   architecting a cloud infrastructurePresentation   architecting a cloud infrastructure
Presentation architecting a cloud infrastructure
 
Presentation architecting a cloud infrastructure
Presentation   architecting a cloud infrastructurePresentation   architecting a cloud infrastructure
Presentation architecting a cloud infrastructure
 
The Fabric of the Future
The Fabric of the FutureThe Fabric of the Future
The Fabric of the Future
 
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5
 
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
 
Virtualization: A Case Study from the IT Trenches - Darren Schoen, Broward Ce...
Virtualization: A Case Study from the IT Trenches - Darren Schoen, Broward Ce...Virtualization: A Case Study from the IT Trenches - Darren Schoen, Broward Ce...
Virtualization: A Case Study from the IT Trenches - Darren Schoen, Broward Ce...
 
Introduction to HPC & Supercomputing in AI
Introduction to HPC & Supercomputing in AIIntroduction to HPC & Supercomputing in AI
Introduction to HPC & Supercomputing in AI
 
Citrix Synergy 2014: Going the CloudPlatform Way
Citrix Synergy 2014: Going the CloudPlatform WayCitrix Synergy 2014: Going the CloudPlatform Way
Citrix Synergy 2014: Going the CloudPlatform Way
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
 
C++ Programming and the Persistent Memory Developers Kit
C++ Programming and the Persistent Memory Developers KitC++ Programming and the Persistent Memory Developers Kit
C++ Programming and the Persistent Memory Developers Kit
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
 
Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02
 
Ironic
IronicIronic
Ironic
 
Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02Ironic 140622212631-phpapp02
Ironic 140622212631-phpapp02
 
Opening last bits of the infrastructure
Opening last bits of the infrastructureOpening last bits of the infrastructure
Opening last bits of the infrastructure
 

More from Perforce

More from Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 

[NetherRealm Studios] Game Studio Perforce Architecture

  • 1. 1   Game Studio Perforce Architecture Ryan Mensching Senior Network Administrator NetherRealm Studios/WB Games Logo area
  • 2. 2   The Setup •  Established Studio with track record •  Mortal Kombat (1992 – 2011) •  DC Comics – Injustice (2013), Arkham City Lockdown •  AAA Games on multiple platforms •  360 •  PS3 •  WiiU •  Vita •  iOS
  • 3. 3   Historical Perspective •  Team has been making games for 20 plus years. •  “Things will get done.” •  Outages cost money, ship dates, and sanity. •  “Crunch” is a reality. •  Multi-Year development cycle, two years •  Used other tools in the past, Source Safe
  • 4. 4   Statistics •  Games are Code and Binary Art Assets •  Textures •  Animations •  Cinematics •  Lighting •  Sync of current project at head is 20G •  Sync of source art assets is 545G
  • 5. 5   Visuals •  460+ CL’s per day at peek intervals (1000’s of builds) •  Some 20G of changes per day at peek intervals
  • 6. 6   Products •  As a studio we have 3 software products that are being produced at any given time. •  Engine •  Games •  Art Tool/Game Editor
  • 7. 7   Challenges •  As IT we had several hurdles to overcome •  Aging Hardware •  Aging processes •  Management woes •  Insight into systems •  Lack of agility to meet business demand
  • 9. 9   Strategic Goals •  Game development support is a balancing of immediate gratification and resources. •  IT business driven goals/pillars •  Space •  Speed •  Flexibility •  Reliability •  Management
  • 10. 10   Space •  Available, can’t be used if its locked up, i.e. thin provisioning •  Abstraction, array layer should not need configuration to allocate space and at volume layer should not require reconfig for volume expansion.
  • 11. 11   Speed •  Entire VM platform, OS, and mass storage. •  Performance needs to be maintained in relation to consumption.
  • 12. 12   Flexibility •  Works in conjunction with other pillars. •  Stands alone as a goal in games environment. •  Freedom of protocol choices. •  Ease of VM and hardware additions.
  • 13. 13   Reliability •  Redundancy should be inherent. •  Should not require special plans or procedures. •  If the reliability path is to complex issues will arise.
  • 14. 14   Management •  IT Glue •  Proper management makes all the pillars come together. •  Self documenting
  • 15. 15   Solutions How as an IT organization do we accomplish these goals and vision?
  • 16. 16   Solutions •  Solid Layer 2 and 3 core with 10G distribution. •  Previous experience with VM, Storage over IP and infrastructure testing.
  • 17. 17   Research •  Built VM farm with existing hardware and repurposed array for iSCSI. •  Benchmarks were in the top on the Perforce Benchmark DB. •  Ran real world project on systems.
  • 18. 18  
  • 19. 19   Storage Platform •  Key building block of infrastructure design. •  iSCSI management proved not agile enough, LUN management chores. Redundancy requires complex configurations. •  NFS provided equal or better performance.
  • 20. 20   NFS •  True thin provisioning, space consumed and given back. •  No LUN changes. •  Volumes size can be adjusted on the fly. •  Strong VMware support. •  NetApp engine •  Snapshots •  Native NFS among other protocols •  Key to P4 revision file storage design.
  • 21. 21   Virtualization •  VM hardware needs to be “wide and fast”. •  As much RAM as possible to improve VM operations and better disk caching. •  Cores should have highest clock speed possible. •  Perforce uses 2 vCPUs. •  Cisco UCS •  Hardware abstraction •  Native Unified Fabric, 10G •  VM Passthrough
  • 22. 22   OS •  RHEL for all Perforce servers and many applications. •  Linux provides best usage of resources for VM’s and disk caching. •  Current project Perforce servers have 32GB of RAM. •  Able to achieve 440+Mb sustained transfer to p4 clients.
  • 23. 23   Reliability •  Redundancy at array level with NetApp SnapMirror. •  Volume and VM level snapshots. •  Provides ability to single file restore directly back to depots/servers. •  UCS blades multi-homed to core; dual chassis uplinks, dual fabric uplinks, dual core switches. •  VMware HA clustering •  Perforce uses proxies for load balancing and checkpoints for integrity. •  Moving to replicas.
  • 24. 24   Management Tools •  NetApp OnCommand •  UCS Manager •  VMware •  Plugins, SMVI •  Active monitoring of P4 services and disk health.
  • 25. 25  
  • 26. 26   Conclusion •  Perforce is very capable of scaling to speed and data intense development. •  Requires investments in engineering and infrastructure. •  Each environment is different, but can share philosophies. •  Abstraction, abstraction, abstraction
  • 27. 27   Thank you Questions? Ryan Mensching rmensching@wbgames.com