1 Requirements

1.1 Terminology

For the sake of this document (and others), specific terminology is described in the following table:

Application Profile:
 A grouping of application programs that are responsible for processing a specific job request. Each profile entry contains the path of the application’s rendering program on a particular computer.
Client node:Workstation node used to submit job requests to render farm. Can optionally render jobs if configured to do so.
Cloud Job:A render job submitted from outside the local render farm. Typically, from the Cloud User Interface (CUI)
Cross-Platform:Processing compatibility amongst different computer types and operating systems.
Job Queue:Network repository of active render jobs.
Job Profile:Saved SquidNet render job that can be edited and resubmitted for processing.
Job Slice:A portion of a job request that is distributed to available slave nodes.
Local Job:A render job submitted from inside the local render farm.
Master:Main computer that manages render farm workflow.
Node:An individual workstation, server or computer.
Pool:A group of render nodes configured to process specific types of render jobs.
Render Node:Computer that processes SquidNet job requests. Typically, this refers to SLAVE nodes.
Service:In computer terminology, a process that has no visual component and runs as a background task. On WINDOWS, background processes are called services. On Linux and Mac OS, they’re called daemons.
Service Account:
 Name of the admin account that the SquidNet service will run under. Referred to as the SquidNet Service Account (SSA).
Slave node:Node used to render job requests. (same as render node)
SquidNet Job:User created request that contains job-processing instructions for render nodes.
Template:The data entry form that contains all of the possible attributes and options for a specific rendering or compositing application.
Translation Path:
 A method of specifying a network share path that is easily recognized by different operating systems. UI SquidNet User Interface.

1.2 Operating System Requirements

Requirements for SquidNet vary according to the operating system. Here are some basic operating system requirements to consider:

Hardware:

  • Multi-core computers: Use CPUs that have at least 2 cores. SquidNet does not support single-core render nodes.
  • Lots of RAM: The minimum memory requirement for most 3D rendering applications is 8GB. Make sure to properly size your render farm by making sure that the rendering requirements of your scenes line up with the amount of RAM available on the rendering computers.
  • Storage content: Use network-accessible NAS/SAN content storage. Using Windows shares with render farms that have more than 5-6 nodes is not recommended because of Windows’ network connection limitations.

Network:

  • 1/10 GBit network: Use 1GB (or higher) network configurations.
  • Use static IP addresses for all nodes. Do not use DHCP addressing because of the likelihood that nodes will change their IP address between restarts.
  • If any node has more than one network interface enabled (multi-interface or multi-subnet configuration), use the Network Address Selector dialog (Configuration->Network Address…) in the Render Farm view to select the network interface that SquidNet will use on that node. By default, SquidNet auto-selects the local network interface.
  • In a cross-platform environment, it may be necessary to update the operating system’s “hosts” files to make sure that all nodes can “see” each other. On Windows, add Linux and Mac OS hostnames to the C:\Windows\System32\drivers\etchosts file. On Linux and Mac OS, add entries to each node’s /etc/hosts and /private/etc/hosts files, respectively.
  • Make sure that the Squidnet SSA account has full access to all network shared resources (NAS, Mapped drives, etc…). Verify access by logging into a node using the SSA account credentials and attempt to create/delete files on network share folders. (Windows ONLY)
  • Using WIFI-based network adapters is not recommended. Always use direct-wired network interfaces.

WINDOWS hosts:

  • Use 64-bit versions to take full advantage of the larger memory capabilities. SquidNet will work just fine on a 32-bit version will but will be limited to 3Gbytes of addressable memory space (if operating system is configured properly). Note: In the future, SquidNet will not support 32-bit operating systems.
  • For large render farms (20+ nodes), use WINDOWS SERVER products to avoid the TCP/IP connection limits imposed by Microsoft on non-server O/S versions (WIN10, WIN8, WIN7, VISTA, WIN-XP and WIN2000).
  • Use of WINDOWS HOME editions is not recommended because of the lack of network connectivity support.
  • Use of a Network Access Storage server (NAS) is highly recommended. NAS devices are relatively easy to configure and provide a better data protection option than WINDOWS resident drives. Consider using a NAS that supports RAID technology to better protect your scene content.
  • Configure virus software to allow SquidNet to access system resources. In most cases, it’s recommended that you disable your virus software until your configuration is complete. Check your virus documentation and SquidNet installation documention for configuration settings
  • SquidNet runs under a Windows Administrator account and requires network access.

Linux hosts:

  • Use 64-bit versions to take full advantage of the larger memory capabilities. SquidNet will work just fine on a 32-bit version will but will be limited to 4Gbytes of addressable memory space.
  • Use a SAMBA server to allow local disk volumes to be used as network storage devices. If used as a network device, make sure to acquire a large capacity disk drive.
  • Lower cost: Most Linux distributions are free (or close to it) so they provide a better cost alternative to Microsoft’s licensing models.
  • Use the more common Linux distributions like Red Hat, Fedora, Ubuntu, CentOS and OpenSUSE.

Mac OS hosts:

  • Use iMac-class machines as they have more CPU cores and larger memory configurations.

From a high level, a SquidNet render farm can exist in any environment where computers are networked together. With SquidNet, the following render farm configurations are possible:

  • WINDOWS only: Environment where all computers use Microsoft Operating Systems (XP, Vista, WIN7, WIN8, WIN10, WINDOWS Server, etc…)
  • Mac OS only: Environment where all computers use Apple’s Mac OS Operating System (Snow Leopard, Lion, Mountain, Lion, Mavericks, etc…).
  • Linux only: Environment where all computers use some variant of Linux (RedHat, Fedora, Ubuntu, CentOS, OpenSUSE, etc…)
  • Cross-platform: Environment where different operating systems co-exist on the same physical network.

Each SquidNet node can be configured to run on any operating system. For example, in a cross-platform system, Mac OS client workstations can submit jobs to the SquidNet master running on a Linux distribution and it can send jobs to Windows-based render nodes. With SquidNet any render farm configuration is possible. From a networking perspective, all SquidNet nodes on the same subnet automatically find each other so there’s never a need to mess with complicated configuration files. For nodes on external subnets, SquidNet provides GUI/CLI options for connecting those nodes to the SquidNet master.

Important

The biggest challenge in setting up any render farm is the initial setup and configuration. Proper network setup can often be a very daunting and confusing task. Take your time and be patient. Read thru all available documentation and make sure you understand basic networking concepts and the unique aspects of your render farm. Send us an email if you’re having trouble setting up your network. Email and remote-login support is always available at no charge. In most cases, setup problems are always related to permission issues on network resources. Make sure project files, content and output folders all have read and/or write access rights.

Tip

Consult your hardware and software documentation for optimal performance requirements

1.3 Network Storage Devices

If your system has 10 or more render nodes, it’s strongly recommended that you use either a Network Access Storage (NAS) device or a Linux machine with a configured SAMBA server (A free open source solution can be found at http://www.freenas.org). Using either will keep you from getting Windows System Error #267 errors when too many connection attempts are made to a WINDOWS network drive. (This does not apply if you’re using a WINDOWS Server configuration with the appropriate Microsoft connection licenses.)