Interkontinentale Bandbreite ist in zwei Sinnen teuer: Sie kostet Geld auf der Cloud-Egress-Rechnung, und sie kostet Zeit, wenn Künstler darauf warten, dass ein Asset durch die Leitung kommt. Eine Render-Flotte, die nicht darüber nachdenkt, kann einen relevanten Anteil der Wall-Time jedes Jobs damit verbringen, Szenendateien kalt zu ziehen, die anderswo im Gebäude schon im Cache liegen.
Das Shared-Cache-Muster ist der einfachste und größte Hebel. Ein Samba (SMB3) Cache-Server im Haupt-Rechenzentrum hält die Projekt-Assets. Jeder Render-Knoten mountet den Cache und liest Szenendateien über LAN. Wenn ein neues Asset von einem Job referenziert wird, zieht der Cache es einmal aus dem Cloud-Speicher des Kunden. Jeder folgende Knoten, der dasselbe Asset braucht, liest es aus der LAN-Kopie. Eine 20-Knoten-Flotte, die eine 40-GB-Szenendatei sonst zwanzigmal ziehen würde, zieht sie einmal.
Im Prinzip ist das geradlinig. In der Praxis zählen zwei Designteile.
Per-Node-Caching vermeiden. Es ist verlockend, jedem Render-Knoten eine eigene große lokale SSD zu geben und ihn cachen zu lassen, was er will. Für eine 20-Knoten-Flotte mit 10 TB Projektdaten werden daraus 200 TB duplizierter Speicher ohne gemeinsame Invalidierungslogik. Das machen wir nicht. Der Shared Cache ist der einzige Cache; die Knoten behandeln ihre lokalen Platten als Scratch-Space, nicht als Projektarchiv.
Den Cache vor dem D-Day vorwärmen. Wenn ein Kunde ankündigt, dass ein Projekt am Montag startet, wärmen wir den Cache über das Wochenende vor. Der erste Job am Montag liest aus einem warmen Cache statt zwanzig Stunden Cold-Pulls auszulösen. Das ist die zuverlässigste Methode, das erste Rendern eines Projekts schnell wirken zu lassen.
Eine Anmerkung zum Right-Sizing: Die Cache-Box nutzt eine einzelne SATA-SSD mit einem ext4-Dateisystem. Für einen Cache (im Gegensatz zu Primärspeicher) ist ein Single-Disk-Layout der richtige Kompromiss. Der Cache ist nicht die Wahrheitsquelle — das ist der Cloud-Speicher des Kunden — und der Cache kann durch Re-Pulls aus der Cloud oder Rsync aus einem Projekt-Backup neu aufgebaut werden. Eine redundante Array auf einem verschlüsselten Volume aufzubauen würde Kosten und Komplexität hinzufügen und die operative Geschichte nicht verändern; ein Knoten, der den Cache verliert, ist ein Aufbau über einen Abend, kein Datenverlust-Ereignis. Cache-Hardware passend zur Rolle zu dimensionieren ist eine der einfacheren Methoden, die Betriebskosten vorhersagbar zu halten.
Für Teams, die einen dauerhaften Cluster statt einer einzelnen Cross-Country-Bereitstellung erwägen, behandelt die Seite dedicated cluster options diese Anordnung im Detail.