La banda intercontinentale è costosa in due sensi: costa denaro sulla fattura di egress cloud e costa tempo quando gli artisti aspettano che un asset arrivi giù per il tubo. Un parco di rendering che non ci pensa può spendere una frazione significativa del wall-time di ogni job a scaricare a freddo file di scena che sono già in cache da qualche altra parte nell'edificio.
Il pattern della cache condivisa è la leva più semplice e più grande. Un server di cache Samba (SMB3) nel datacenter principale tiene gli asset di progetto. Ogni nodo di render monta la cache e legge i file di scena via LAN. Quando un nuovo asset è referenziato da un job, la cache lo scarica dallo storage cloud del cliente una sola volta. Ogni nodo successivo che ne ha bisogno lo legge dalla copia LAN. Un parco da 20 nodi che altrimenti scaricherebbe una scena da 40 GB venti volte, la scarica una sola volta.
In linea di principio è lineare. In pratica, due pezzi del design contano.
Evitare la cache per-nodo. È tentante dare a ogni nodo di render un proprio SSD locale capiente e lasciarlo cachare quello che vuole. Per un parco da 20 nodi con 10 TB di dati di progetto, questo diventa 200 TB di storage duplicato senza logica di invalidazione condivisa. Non lo facciamo. La cache condivisa è l'unica cache; i nodi trattano i dischi locali come spazio scratch, non come archivio di progetto.
Pre-riscaldare la cache prima del D-day. Quando un cliente annuncia che un progetto parte lunedì, pre-riscaldiamo la cache durante il weekend. Il primo job di lunedì legge da una cache calda invece di innescare venti ore di pull a freddo. È il metodo più affidabile per far sentire veloce il primo render di un progetto.
Una nota sul right-sizing: la box di cache usa un singolo SSD SATA con filesystem ext4. Per una cache (rispetto allo storage primario), un layout a disco singolo è il compromesso corretto. La cache non è la fonte di verità — lo è lo storage cloud del cliente — e la cache può essere ricostruita ri-scaricando dal cloud o tramite rsync da un backup di progetto. Costruire un array ridondante su un volume cifrato aggiungerebbe costo e complessità senza cambiare la storia operativa; un nodo che perde la cache è una ricostruzione di una serata, non un evento di perdita dati. Dimensionare l'hardware di cache per il suo ruolo è uno dei modi più facili per mantenere il costo operazionale irrecuperabile prevedibile.
Per team che valutano un cluster permanente piuttosto che un singolo deployment cross-country, la pagina dedicated cluster options copre quell'assetto in dettaglio.