Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Global backend of a visual effects pipeline

André Prado
November 19, 2017

Global backend of a visual effects pipeline

Presentation at PyCon Canada 2017.

Goes over an introduction to visual effects (VFX), the backend of a VFX pipeline, the challenges we face and the operational part of maintaining the backend.

André Prado

November 19, 2017
Tweet

Other Decks in Programming

Transcript

  1. Visual Effects? “Visual effects involve the integration of live-action footage

    and generated imagery to create environments which look realistic, but would be dangerous, expensive, impractical, or impossible to capture on film.” source: https://en.wikipedia.org/wiki/Visual_effects
  2. Scope VFX studios turn the director’s imagination into a reality.

    AVATAR SUPERMAN INCEPTION OKJA Primary VFX by Weta Digital Primary VFX by MPC Primary VFX by Double Negative Primary VFX by Method Studios
  3. The Work Breaking it down. “SHOW” – The Film, Commercial

    or TV Show “SEQUENCE” – A single set or environment “SHOT” – A single camera movement “TASK” – A unit of work for an artist /jobs/vfx_pycon/abc/abc1000/model /(ROOT)/(SHOW)/(SEQUENCE)/(SHOT)/(TASK)
  4. Layout Primary VFX by Mackevision from a_library import search_assets houses

    = search_assets(type=“model”, level_of_detail=“low”, ext=“mb”)
  5. FX

  6. Compositing VFX by Method Studios (and others) def create_write_dir(): import

    nuke import os import errno file = nuke.filename(nuke.thisNode()) dir = os.path.dirname(file) osdir = nuke.callbacks.filenameFilter(dir) try: os.makedirs(osdir) except OSError, e: if e.errno != errno.EEXIST: raise nuke.addBeforeRender(create_write_dir)
  7. Pipeline • We need to support the dynamic workflow of

    artists and productions. • Common in all VFX studios • Asset system; • Render farm; • Disk storage; • Software packages.
  8. Asset system • All the data produced by artists needs

    to be tracked and versioned • A model, a texture, a render, a digital camera. • Metadata on assets • Who created it? • Who is using it downstream in the pipeline? • What are the assets needed to generate this asset? • What version was approved by the supervisor? • Where is it on disk?
  9. The basics • High-performance computing (HPC) • Many computers •

    Clusters • Render jobs • Tasks • Requirements • Memory • Cores • Priority • Farm manager • Server
  10. Challenging… Single Shot 120h per frame 27 years total Primary

    VFX by Method Studios 1,500 Nodes 56,000 Cores 150 TB RAM
  11. Disk storage • Network File System (NFS) • Very high

    I/O • 300,000 IOPS • 82 GB/s throughput • Scalable to petabytes • 21 nodes in Vancouver • 4 PB of storage • 36 TB of SSD cache • Still easy to run out of disk space • Asset tracking is really important
  12. Software management in pipeline • NFS • Different shows /

    shots / tasks use different versions of software • Just in time (JIT) resolving of the runtime environment
  13. REZ

  14. Abstracting the pipeline core in services • Libraries, libraries… •

    Runtime dependencies • Exposes too much • Different versions at same time • Services!
  15. Services • Building blocks necessary for the backend of a

    pipeline • Asset service • Farm service • Disk service • Network calls • HTTP • AMQP
  16. Ansible • Deployment pipeline • Development -> Staging -> Production

    • Environment variables • Common roles • Systems metrics • Centralized logging • Service discovery
  17. • Service discovery • Health checks • DNS • production.farm.service.van.consul

    • Round robin to a healthy Vancouver farm service. • production.farm.service.consul • In case the farm service in current datacenter is down go to next. • K/V store Consul
  18. • Zabbix agents • Installed on each Virtual Machine •

    Collects system metrics • Send periodically to Zabbix servers • Zabbix server • Storage • Alerts • Displayed through Grafana Zabbix
  19. What we want? Empower the Artists. Empower the Studio. Reduce

    Costs Automate,
 Automate, Automate!
  20. Thank you! Feel free to reach me at andre.prado@methodstudios.com Special

    thanks to Mitchell Deeming for being awesome! VFX by Method Studios (and others)