SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Scaling Source Control for the Next
Generation of Game Development


     Mike Sundy            Toby Roberts




   2007 Perforce User’s Conference


  Scaling Source Control for NextGen Game Development   1
Overview
• Current Gen vs. NextGen
• Test Methodology
• Test Results
• Lessons Learned
• Future of P4 at EA

        Scaling Source Control for NextGen Game Development   2
Challenges in Game Industry
 • CurrentGen vs. NextGen
   • 9 GB for DVD's for CurrentGen. (Xbox, PS2)
   • 30-50 GB for NextGen (Blu-Ray, HD-DVD – XBox 360,
         PS3) - 3-5x increase in storage capacity
 •   Asset Volume Explosion
     •   50k clientspec grew to 500k clientspec
 •   Build Farms
     •   20-30 machines grew to 100+
 •   Team Sizes
 •   Outsourcing

               Scaling Source Control for NextGen Game Development   3
EA Redwood Shores (EARS)
             P4 Installation Metrics
•   11 Perforce Servers, 1200 users (90+ servers, 4,000+ users at EA)

•   7 million files on one server, 80 GB db.have

•   Store all source code and source data in P4

•   1.5 TB on one server, 7 TB total P4 storage

•   Avg. client workspace – 80-120GB and 250k-500k files

•   2,500 – 66,000 syncs per day

•   Titles include Sims, Godfather, Simpsons, and Spore.


             Scaling Source Control for NextGen Game Development        4
Problems with Windows
 •   2 GB per process memory limit

 •   Filehandle leak (crashed up to 6 times per day)

 •   Performance during large concurrent syncs

     • 40 GB sync went from 40 min. to 3+ hours

 •   NTFS

 •   Threads and troubleshooting

 •   Patching



            Scaling Source Control for NextGen Game Development   5
Goals of Project

 •   Improve stability

 •   Improve scalability

 •   Solution that works for our dev environment,
     infrastructure, and team cultures




         Scaling Source Control for NextGen Game Development   6
Parameters of Project
 •   Dell and STK hardware

     • Intel

 •   RedHat

 •   Windows Desktops

     • 95% of user machines

 •   Gig network


        Scaling Source Control for NextGen Game Development   7
Test Methodology
 •   Single operation vs. load

 •   P4 benchmarking tools

     • fstst and locktest

 •   Homegrown scripts

     • Force sync of 39 GB data, 180k files

 •   p4.exe on Windows




           Scaling Source Control for NextGen Game Development   8
Configuration Overview

 •   Tested 21 different server configurations.

     • Windows vs. Linux

     • 32-bit vs. 64-bit

     • NTFS v. ext3 v. ReiserFS v. XFS

     • 10k vs. 15k drives




           Scaling Source Control for NextGen Game Development   9
db locktest

          6



          5



          4
Seconds




          3



          2



          1



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




                  Scaling Source Control for NextGen Game Development                                             10
db 8k read-write

       600



       500



       400
MBs




       300



       200



       100



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




                 Scaling Source Control for NextGen Game Development                                              11
rcs 64k write

       900

       800

       700

       600

       500
MBs




       400

       300

       200

       100

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




                 Scaling Source Control for NextGen Game Development                                                12
rcs 64k read

       3500


       3000


       2500


       2000
MBs




       1500


       1000


        500


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




                  Scaling Source Control for NextGen Game Development                                                13
1 force sync avg.

         21

         19

         17

         15

         13
config




         11

          9

          7

          5

          3

          1

              0    5     10   15     20      25        30   35   40   45   50
                                          minutes




                  Scaling Source Control for NextGen Game Development           14
3 force syncs avg.

         21

         19

         17

         15

         13
config




         11

          9

          7

          5

          3

          1

              0     10     20     30        40         50   60   70     80
                                          minutes




                  Scaling Source Control for NextGen Game Development        15
5 force syncs avg.

         21

         19

         17

         15

         13
config




         11

          9

          7

          5

          3

          1

              0     10     20     30        40         50   60   70     80
                                          minutes




                  Scaling Source Control for NextGen Game Development        16
% degradation from 1 to 3 syncs

         21

         19

         17

         15

         13
config




         11

          9

          7

          5

          3

          1

              0        0.1      0.2          0.3           0.4   0.5    0.6
                                           percent




                  Scaling Source Control for NextGen Game Development         17
edit loop avg. (176 files)

         21

         19

         17

         15

         13
config




         11

          9

          7

          5

          3

          1

              0        0.2      0.4           0.6            0.8   1    1.2
                                           seconds




                  Scaling Source Control for NextGen Game Development         18
Test Results Summary
•   DB operations 5-10x faster on 64-bit Linux on XFS than
    Windows 32-bit.

•   Linux sync performance under load degraded only 5%
    instead of the 450% we saw with Windows.

•   XFS outperforms ext3 and even edges ReiserFS for data
    syncs from the repository volume.




             Scaling Source Control for NextGen Game Development   19
dm-CommitSubmit




config   linux-gf1_1666




         win-gf1_1777




         win-gf1_1666




                          0   0.2   0.4    0.6   0.8      1      1.2   1.4   1.6   1.8   2
                                                       seconds




                   Scaling Source Control for NextGen Game Development                       20
avg. edit




config   linux-gf1_1666




         win-gf1_1777




         win-gf1_1666




                          0   0.2   0.4   0.6      0.8      1      1.2   1.4   1.6   1.8   2
                                                         seconds




                   Scaling Source Control for NextGen Game Development                         21
avg. fstat




config   linux-gf1_1666




         win-gf1_1777




         win-gf1_1666




                          0   0.1    0.2           0.3   0.4   0.5       0.6
                                               seconds




                   Scaling Source Control for NextGen Game Development         22
avg. sync compute phase




config   linux-gf1_1666




         win-gf1_1777




         win-gf1_1666




                          0   0.2   0.4       0.6   0.8      1      1.2   1.4   1.6   1.8   2
                                                          seconds




                   Scaling Source Control for NextGen Game Development                          23
Configuration Lessons Learned
  •   OS
      •   2.6 kernel was 2 – 4x faster than 2.4 in some tests.
  •   RAID
      •   RAID 5 best for RCS due to the high number of syncs/reads.
      •   DB benefited from RAID 1 or RAID 10.
  •   Filesystem
      •   XFS proved to be significantly faster than ext3 and beat Reiser by
          30% in some tests.
  •   Drive Speed
      •   20% less degradation with 15k drives during multiple concurrent
          forced syncs due to higher I/O capacity.



               Scaling Source Control for NextGen Game Development             24
Performance Principles

   •   Keep your db’s on their own disks
   •   Proxy heavy sync users such as build farms or remote
       locations
   •   Best place to improve hardware performance is memory
       and disk I/O for db’s
   •   There is a big difference in filesystem speed




            Scaling Source Control for NextGen Game Development   25
Success Stories
  •   New standard has had a huge impact on our local team
      productivity and P4 performance across EA.
  •   New platform has scaled well for 1,000 user team and
      could scale to larger teams.
  •   Stability is great!
  •   No more memory or file descriptor limits
  •   Can identify and kill individual threads.
  •   $5 million saved per year in productivity across EA.



              Scaling Source Control for NextGen Game Development   26
NextGen EA P4 Architecture

  • P4 Server setup
  • Distributed Development
  • Proxy Build Farm (30% gain)
  • Case-insensitivity
  • Disk to disk mirroring




          Scaling Source Control for NextGen Game Development   27
The Future of Perforce at EA
  • RAID 50 (2x faster locking than RAID 10)
  • SAS SFF drives
  • AD2P4
  • Multi-Node Cluster
  • Perforce + binary delta copy technology
    • Workspace mirroring
  • Single View of Perforce Servers


          Scaling Source Control for NextGen Game Development   28
Thanks
  • Michael Shields
  • Brett Taylor
  • Kenny Wu




         Scaling Source Control for NextGen Game Development   29
Trivia for Schwag




Questions?



       Scaling Source Control for NextGen Game Development   30

Mais conteúdo relacionado

Semelhante a Scaling Source Control for the Next Generation of Game Development

OakTable World Sep14 clonedb
OakTable World Sep14 clonedb OakTable World Sep14 clonedb
OakTable World Sep14 clonedb Connor McDonald
 
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010Atlassian
 
Intel 8th Core G Series with Radeon Vega M
Intel 8th Core G Series with Radeon Vega M Intel 8th Core G Series with Radeon Vega M
Intel 8th Core G Series with Radeon Vega M Low Hong Chuan
 
Blog msi workstation vs dell vs hp vs custom final
Blog msi workstation vs dell vs hp vs custom finalBlog msi workstation vs dell vs hp vs custom final
Blog msi workstation vs dell vs hp vs custom finalSteve Thomas
 
Hyper Fast Whitepaper
Hyper Fast WhitepaperHyper Fast Whitepaper
Hyper Fast WhitepaperDiskeeper
 
QCon2016--Drive Best Spark Performance on AI
QCon2016--Drive Best Spark Performance on AIQCon2016--Drive Best Spark Performance on AI
QCon2016--Drive Best Spark Performance on AILex Yu
 

Semelhante a Scaling Source Control for the Next Generation of Game Development (7)

OakTable World Sep14 clonedb
OakTable World Sep14 clonedb OakTable World Sep14 clonedb
OakTable World Sep14 clonedb
 
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
Performance Tuning: Pulling a Rabbit From a Hat - Atlassian Summit 2010
 
Intel 8th Core G Series with Radeon Vega M
Intel 8th Core G Series with Radeon Vega M Intel 8th Core G Series with Radeon Vega M
Intel 8th Core G Series with Radeon Vega M
 
Blog msi workstation vs dell vs hp vs custom final
Blog msi workstation vs dell vs hp vs custom finalBlog msi workstation vs dell vs hp vs custom final
Blog msi workstation vs dell vs hp vs custom final
 
Hyper Fast Whitepaper
Hyper Fast WhitepaperHyper Fast Whitepaper
Hyper Fast Whitepaper
 
QCon2016--Drive Best Spark Performance on AI
QCon2016--Drive Best Spark Performance on AIQCon2016--Drive Best Spark Performance on AI
QCon2016--Drive Best Spark Performance on AI
 
Database Hardware Benchmarking
Database Hardware BenchmarkingDatabase Hardware Benchmarking
Database Hardware Benchmarking
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 

Último (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Scaling Source Control for the Next Generation of Game Development

  • 1. Scaling Source Control for the Next Generation of Game Development Mike Sundy Toby Roberts 2007 Perforce User’s Conference Scaling Source Control for NextGen Game Development 1
  • 2. Overview • Current Gen vs. NextGen • Test Methodology • Test Results • Lessons Learned • Future of P4 at EA Scaling Source Control for NextGen Game Development 2
  • 3. Challenges in Game Industry • CurrentGen vs. NextGen • 9 GB for DVD's for CurrentGen. (Xbox, PS2) • 30-50 GB for NextGen (Blu-Ray, HD-DVD – XBox 360, PS3) - 3-5x increase in storage capacity • Asset Volume Explosion • 50k clientspec grew to 500k clientspec • Build Farms • 20-30 machines grew to 100+ • Team Sizes • Outsourcing Scaling Source Control for NextGen Game Development 3
  • 4. EA Redwood Shores (EARS) P4 Installation Metrics • 11 Perforce Servers, 1200 users (90+ servers, 4,000+ users at EA) • 7 million files on one server, 80 GB db.have • Store all source code and source data in P4 • 1.5 TB on one server, 7 TB total P4 storage • Avg. client workspace – 80-120GB and 250k-500k files • 2,500 – 66,000 syncs per day • Titles include Sims, Godfather, Simpsons, and Spore. Scaling Source Control for NextGen Game Development 4
  • 5. Problems with Windows • 2 GB per process memory limit • Filehandle leak (crashed up to 6 times per day) • Performance during large concurrent syncs • 40 GB sync went from 40 min. to 3+ hours • NTFS • Threads and troubleshooting • Patching Scaling Source Control for NextGen Game Development 5
  • 6. Goals of Project • Improve stability • Improve scalability • Solution that works for our dev environment, infrastructure, and team cultures Scaling Source Control for NextGen Game Development 6
  • 7. Parameters of Project • Dell and STK hardware • Intel • RedHat • Windows Desktops • 95% of user machines • Gig network Scaling Source Control for NextGen Game Development 7
  • 8. Test Methodology • Single operation vs. load • P4 benchmarking tools • fstst and locktest • Homegrown scripts • Force sync of 39 GB data, 180k files • p4.exe on Windows Scaling Source Control for NextGen Game Development 8
  • 9. Configuration Overview • Tested 21 different server configurations. • Windows vs. Linux • 32-bit vs. 64-bit • NTFS v. ext3 v. ReiserFS v. XFS • 10k vs. 15k drives Scaling Source Control for NextGen Game Development 9
  • 10. db locktest 6 5 4 Seconds 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 config Scaling Source Control for NextGen Game Development 10
  • 11. db 8k read-write 600 500 400 MBs 300 200 100 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 config Scaling Source Control for NextGen Game Development 11
  • 12. rcs 64k write 900 800 700 600 500 MBs 400 300 200 100 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 config Scaling Source Control for NextGen Game Development 12
  • 13. rcs 64k read 3500 3000 2500 2000 MBs 1500 1000 500 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 config Scaling Source Control for NextGen Game Development 13
  • 14. 1 force sync avg. 21 19 17 15 13 config 11 9 7 5 3 1 0 5 10 15 20 25 30 35 40 45 50 minutes Scaling Source Control for NextGen Game Development 14
  • 15. 3 force syncs avg. 21 19 17 15 13 config 11 9 7 5 3 1 0 10 20 30 40 50 60 70 80 minutes Scaling Source Control for NextGen Game Development 15
  • 16. 5 force syncs avg. 21 19 17 15 13 config 11 9 7 5 3 1 0 10 20 30 40 50 60 70 80 minutes Scaling Source Control for NextGen Game Development 16
  • 17. % degradation from 1 to 3 syncs 21 19 17 15 13 config 11 9 7 5 3 1 0 0.1 0.2 0.3 0.4 0.5 0.6 percent Scaling Source Control for NextGen Game Development 17
  • 18. edit loop avg. (176 files) 21 19 17 15 13 config 11 9 7 5 3 1 0 0.2 0.4 0.6 0.8 1 1.2 seconds Scaling Source Control for NextGen Game Development 18
  • 19. Test Results Summary • DB operations 5-10x faster on 64-bit Linux on XFS than Windows 32-bit. • Linux sync performance under load degraded only 5% instead of the 450% we saw with Windows. • XFS outperforms ext3 and even edges ReiserFS for data syncs from the repository volume. Scaling Source Control for NextGen Game Development 19
  • 20. dm-CommitSubmit config linux-gf1_1666 win-gf1_1777 win-gf1_1666 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 seconds Scaling Source Control for NextGen Game Development 20
  • 21. avg. edit config linux-gf1_1666 win-gf1_1777 win-gf1_1666 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 seconds Scaling Source Control for NextGen Game Development 21
  • 22. avg. fstat config linux-gf1_1666 win-gf1_1777 win-gf1_1666 0 0.1 0.2 0.3 0.4 0.5 0.6 seconds Scaling Source Control for NextGen Game Development 22
  • 23. avg. sync compute phase config linux-gf1_1666 win-gf1_1777 win-gf1_1666 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 seconds Scaling Source Control for NextGen Game Development 23
  • 24. Configuration Lessons Learned • OS • 2.6 kernel was 2 – 4x faster than 2.4 in some tests. • RAID • RAID 5 best for RCS due to the high number of syncs/reads. • DB benefited from RAID 1 or RAID 10. • Filesystem • XFS proved to be significantly faster than ext3 and beat Reiser by 30% in some tests. • Drive Speed • 20% less degradation with 15k drives during multiple concurrent forced syncs due to higher I/O capacity. Scaling Source Control for NextGen Game Development 24
  • 25. Performance Principles • Keep your db’s on their own disks • Proxy heavy sync users such as build farms or remote locations • Best place to improve hardware performance is memory and disk I/O for db’s • There is a big difference in filesystem speed Scaling Source Control for NextGen Game Development 25
  • 26. Success Stories • New standard has had a huge impact on our local team productivity and P4 performance across EA. • New platform has scaled well for 1,000 user team and could scale to larger teams. • Stability is great! • No more memory or file descriptor limits • Can identify and kill individual threads. • $5 million saved per year in productivity across EA. Scaling Source Control for NextGen Game Development 26
  • 27. NextGen EA P4 Architecture • P4 Server setup • Distributed Development • Proxy Build Farm (30% gain) • Case-insensitivity • Disk to disk mirroring Scaling Source Control for NextGen Game Development 27
  • 28. The Future of Perforce at EA • RAID 50 (2x faster locking than RAID 10) • SAS SFF drives • AD2P4 • Multi-Node Cluster • Perforce + binary delta copy technology • Workspace mirroring • Single View of Perforce Servers Scaling Source Control for NextGen Game Development 28
  • 29. Thanks • Michael Shields • Brett Taylor • Kenny Wu Scaling Source Control for NextGen Game Development 29
  • 30. Trivia for Schwag Questions? Scaling Source Control for NextGen Game Development 30