Introduction
Pour les
"CG artists" qui souhaitent gagner en productivité dans leurs créations vidéos, l'utilisation d'une ferme de rendu ou "
renderfarm" est vivement recommandée. Une
renderfarm c'est tout simplement des ordinateurs
connectés en réseau pour vous aider à calculer vos
séquences d'images (
http://fr.wikipedia.org/wiki/Ferme_de_rendu).
Le titre de cet article est trompeur car une vraie
renderfarm open source ne le sera complétement que si l'on utilise des logiciels
open source sur un
OS open source tel que
Linux. Cependant, pour tous ceux qui ont encore besoin de travailler sur des applications propriétaires non compatibles
Linux, tels que
After Effect ou
Cinéma4D, la solution
Windows et/ou
Mac est recommandée. Passée cette concession et en attendant de faire le grand saut sur
Linux, on peut déjà s'aider de quelques solutions
open source compatibles
Windows dont
Natron (compositing) et
Afanasy (renderfarm manager).
Cet article est donc un petit retour sur expérience pour vous aider à monter et gérer une
ferme de rendu sous
Windows et installer
Afanasy pour lancer et contrôler vos rendus sur votre
renderfarm maison au travers du réseau.
1. Configurer le réseau
Étape1: configuration du réseau physique
Le matériel requis :
- un ordinateur principal que l'on nommera WORKSTATION.
- vos autres ordinateurs que l'on nommera CLIENTS.
- une "box" internet et un "switch" pour lier le tout par câble ethernet.
Tip : mieux vaut connecter la box au switch plutôt qu'utiliser le second port ethernet de votre
workstation
(si vous en avez un). Ainsi, ils auront tous une adresse IP délivrée par
la box et ce sera plus facile de les repérer sur le réseau et de les
contrôler par internet. De plus, les mises à jours système seront
disponibles.
Votre réseau devrait ressembler à ça :
Étape2: configuration du réseau Windows
1. Activer la découverte du réseau
Pour chaque ordinateur (workstation et clients) suivez ces étapes :
- Allez dans "Démarrer => Panneau de configuration => Centre réseau et partage => Modifier les paramètres de partage avancés".
- Activez la découverte du réseau et désactivez le partage protégé par mot de passe, à configurer pour le Réseau Public et Privé ("Résidentiel ou Professionnel")
Vous pouvez maintenant voir vos autres ordinateurs par l'onglet réseau situé à gauche de l'explorateur.
Tip : il n'est pas nécessaire de créer de "jonction" au travers d'un
"groupe résidentiel". Tout ce qui importe ici est la reconnaissance
de vos ordinateurs connectés par le réseau.
2. Créer un dossier de travail
Créez où vous le souhaitez un dossier de travail sur votre workstation. Ce dossier devra contenir tous les éléments du projet nécessaires à son calcul. Que ce soit pour Maya, After Effect, Nuke, Natron...etc, la logique reste la même : le chemin d'accès des fichiers doit être exactement le même pour tous vos ordinateurs. Ce dossier, que nous nommerons "WORK", contiendra donc :
- le fichier projet
- les références externes (fichiers, images, vidéos...)
- le dossier de sortie enregistrement (à configurer dans vos paramètres de rendus)
Ainsi quand votre "
manager" de
renderfarm distribuera un calcul à vos
clients, ceux-ci utiliserons le même "
chemin dossier" pour atteindre votre projet et rendront au
même endroit les fichiers calculés.
Tip
: Par exemple, pour un projet Maya, ce sera le dossier projet avec
toutes les textures, EXR, HDRI, références externes, proxies, caches...
que vous utiliserez. Sauf exceptions les scripts et plugins nécessaires à
la bonne exécution de vos applications devront être installés
individuellement sur chaque ordinateur.
N'oubliez pas de paramétrer le partage de ce dossier :
- Clic Droit sur votre dossier WORK => Propriétés => onglet Partage => Partager...
- dans le menu déroulant sélectionnez "Tout le monde" puis "Ajouter"
- sélectionnez "Lecture/écriture" puis "Partager"
3. Connecter un lecteur réseau
Une fois votre dossier "
WORK" créé sur votre
workstation il faut, pour chaque ordinateur (
workstation et
clients) suivre ces étapes :
- ouvrez l'explorateur Windows.
- cliquez sur "Connecter un lecteur réseau" puis choisissez arbitrairement une lettre de lecteur, disons "X", et enfin sélectionnez le dossier "WORK".
- laissez coché "Se reconnecter à l'ouverture de session".
Un nouveau lecteur réseau vient d'apparaitre avec votre disque local (C:). Il doit s'appeler :
"nom-dossier (\\Host-Name) (lettre-choisie:)"
"Host-Name"
étant le nom de votre ordinateur rentré par vos soins pendant
l'installation de Windows (Si vous ne vous en souvenez pas allez dans Panneau de configuration => Système, il est écrit en bas à droite). Dans notre cas il s'agit de WORKSTATION-PC. Pour notre exemple nous obtenons donc ceci :
"WORK (\\WORKSTATION-PC) (X:)"
Répétez cette opération sur tous vos
clients en prenant bien garde de choisir la même lettre (
X dans notre exemple) ainsi que le même dossier (
WORK, au travers du réseau par
WORKSTATION).
Tous vos ordinateurs doivent avoir le même
lecteur réseau avec le même nom ciblant vers le même dossier de travail. Vos ordinateurs sont donc maintenant configurés en
renderfarm. Il ne reste plus
qu'à installer sur chaque ordinateur les logiciels et plugins associés
que vous utilisez, dans la mesure où ceux ci acceptent ce mode de
traitement.
2. Installer AFANASY sur Windows
Vous pouvez maintenant travailler votre projet dans le dossier "
WORK" et
ensuite lancer votre rendu de
séquence d'images manuellement, partie par partie, sur chaque
client. Méthode bien fastidieuse... Pour faire cette tache ingrate, il
existe de nombreux "
managers" capables de soumettre, distribuer et
organiser des rendus au travers de votre
renderfarm. La plupart sont
payants :
Deadline,
Royal Render,
PipelineFX ...etc
...tandis que d'autres sont
OPEN SOURCE, tel que
AFANASY, qui fait partie
du pack d'outils
open source dédiés à la création graphique nommé
CGRU (
http://cgru.info/home) et disponible sur toutes les plateformes
Windows,
Mac et
Linux.
CGRU is a
CG tools pack includes AFANASY - Free Open Source Render Farm Manager.
Name "CGRU" - came from CG - Rules. It has two meanings: computer
graphics principles and computer graphics is a cool thing. Name
"Afanasy" - came from a Greek name meaning "immortal".
Actuellement
Afanasy propose des "
scripts de soumission" pour ces applications :
A quoi ressemble
Afanasy :
Etape 1 : installation du "serveur" (workstation)
Le serveur est l'ordinateur qui supervise la distribution automatique des taches aux autres ordinateurs, vos
clients. Il est donc préférable de l'installer sur celui sur lequel vous travaillez, votre
workstation :
- Téléchargez le dernier fichier d'installation CGRU pour MS windows ici : http://cgru.info/downloads
- Dé-zippez le dossier et copiez-collez le contenu (dossier "cgru-windows") directement à la racine de votre disque local, ce qui donne : C:\cgru-windows.
Voila, c'est installé ! Maintenant, il faut lui préciser au moins deux choses :
- qui est le serveur (quel est son IP).
- où trouver les fichiers .EXE de vos logiciels.
Pour cela, il existe un petit logiciel "
embarqué" dans le dossier que vous venez de télécharger qui s'appelle "
KEEPER". Pour le lancer, allez dans votre dossier "
cgru-windows" et double-cliquez sur le fichier "
start.cmd". En quelques secondes, vous verrez
Keeper apparaitre en bas à droite avec vos
icônes de notification. Faites un clic droit dessus pour accéder à ses options.
- Clic Droit => Afanasy => Set server...
- indiquez l'adresse IP de votre workstation (pour la connaitre allez dans Démarrer => tapez "CMD" dans la zone de recherche puis "entrée" => dans la fenêtre de console tapez "ipconfig" puis "entrée", votre IP apparait à la 8ème ligne devant "Adresse IPv4......." ).
- De nouveau Clic Droit => Software => Setup Soft => sélectionnez celui qui vous concerne (Maya, Blender...) puis indiquez le chemin vers son exécutable (.exe).
Tip: indiquez votre IP plutôt que votre nom d'ordinateur (host-name).
Personnellement, pour une raison qui m'échappe, ça n'a fonctionné
qu'avec l'IP.
Et voila! Rien de plus à faire de ce coté. Maintenant, pour
lancer le serveur, il faut accéder aux fichiers exécutables et pour cela
il y a deux options :
- allez dans C:\cgru-windows\start\AFANASY\
- ou sur Keeper faites Clic Droit => Afanasy => [ browse ]
Vous y trouverez toutes les applications nécessaires au déploiement d'
AFANASY dont :
- _afserver.cmd : sert à lancer le serveur sur votre workstation.
- _afstarter.cmd : sert à lancer un travail sur votre renderfarm.
- afwatch.cmd : sert à manager vos rendus en cours ("Jobs"), vos clients ("Renders") ainsi que les utilisateurs ("Users").
- render.cmd : sert à lancer le "RENDER" sur vos ordinateurs, notamment sur la workstation.
Suivez ces étapes :
- Exécutez "_afserver.cmd" : une invite de commande s'ouvrira en terminant par "Listening 51000 port...". C'est le port utilisé par défaut qui servira au serveur à communiquer avec ses clients.
- Exécutez "afwatch.cmd" ou sur Keeper faites un "Clic Droit => Afanasy => Start Watch...". Une fenêtre s'ouvrira où vous pourrez voir si dans l'onglet "Renders" apparait le nom de votre workstation. Dans mon exemple, apparait donc "workstation-pc" et afwatch me dit qu'il est "Offline". C'est normal, je n'ai pas encore lancé le "render". Le serveur communique mais ne calcule rien, il me faut donc lancer le "render" sur ma workstation pour la faire apparaitre comme unité potentielle de calcul dans afwatch.
- Exécutez "render.cmd" ou sur Keeper faites "Clic Droit => Afanasy => Local Render..."
Voici ce que vous devez voir apparaitre :
- afwatch une fois le serveur lancé
- une fois le serveur ET le render lancés

Votre
serveur est maintenant configuré et votre
workstation est prête à rendre n'importe quel
job. Avant de passer aux
clients, faites un test de rendu en exécutant "
_afstarter.cmd" (n'oubliez
pas avant de bien paramétrer le chemin des exécutables de vos
logiciels) ou en utilisant les
scripts de soumission qui vous permettent d'envoyer vos
jobs directement depuis votre application.
Etape2 : installation des "renders" (clients)
Le render est celui qui lance le calcul des taches vers vos
exécutables. Vous pouvez le démarrer à la fois sur vos
clients et votre
workstation.
Pour l'installer sur vos
clients, suivez les mêmes étapes que sur votre
workstation (attention à l'
étape n°4) :
- copiez-collez le dossier "cgru-windows"
directement à la racine de votre disque local (C:\cgru-windows).
- dans "cgru-windows" double-cliquez sur "start.cmd".
- sur Keeper faites: Clic Droit => Afanasy => Set server...
- INDIQUEZ L'ADRESSE IP DE VOTRE WORKSTATION !!!
- De nouveau sur Keeper: Clic Droit => Software => Setup Soft =>
sélectionnez celui qui vous concerne puis indiquez le chemin vers son
exécutable.
- allez dans C:\cgru-windows\start\AFANASY\ et exécutez "render.cmd" ou sur Keeper faites "Clic Droit => Afanasy => Local Render...".
Vérifiez qu'à la fin de la fenêtre de commande du "
render" apparaisse bien "
Render registered". C'est très important, cela veut dire que votre
client vient d'être repéré par votre
serveur. Pour le confirmer allez voir sur votre
workstation l
' afwatch;
votre nouveau
client devrait apparaitre dans l'onglet "
Renders".
Votre
client est maintenant configuré et votre
workstation est prête à
lui envoyer n'importe quel
job. Répétez cette opération sur autant de
clients que vous le souhaitez. Puis envoyez vos
Jobs en exécutant
"
_afstarter.cmd" depuis votre
workstation ou en utilisant les
sripts de soumission.
Tip
: vous n'êtes maintenant plus obligé de passer par Keeper. Accédez aux
exécutables d'Afanasy en créant des raccourcis sur votre bureau: Clic
Droit => Envoyer vers => Bureau (raccourcis). Pratique pour lancer
rapidement le render sur vos clients.
Si vous rencontrez des soucis particuliers vous pouvez toujours vous reporter au manuel d'utilisation en ligne
http://cgru.info/home et si vous n'arrivez toujours pas vous pouvez aussi poser vos questions sur le
forum dédié
http://rules.cgru.info/#/Ask_Questions_Here.
Etape 3 : lancer un "Job"
Procédez comme suit :
- sur votre workstation lancez _afsever.cmd puis render.cmd puis afwatch.cmd
- sur vos clients lancez render.cmd
- de nouveau sur votre workstation lancez afstarter.cmd
4. Indiquez au moins ces éléments :
- File : sélectionnez le fichier projet (.mb, .ma, .aep, .ntp, .c4d, .nk ...etc).
- Frames : indiquez votre "frame range" (de l'image 1 à l'image ...).
- FPT : "Frames Per Task" ou le nombre d'images calculées par "tache" envoyée aux renders. Si vous laissez 1 cela signifie qu'il y aura autant de taches que d'images à calculer. Sachant que chaque client devra charger tout le projet à chaque tache il vaut mieux augmenter ce paramètre au moins jusqu'à 10
(en fait cela dépend: si votre projet pèse lourd il vaut
mieux réduire ce paramètre pour éviter les trop gros plantages. Si non
et que vous avez beaucoup d'images vous pouvez augmentez ce paramètre
comme il vous plaira).
Cliquez sur "Refresh" pour voir le code équivalent envoyé au serveur puis "Start" pour commencer le Job.
Tip : une fois l'afwatch lancé tapez IDDQD pour passer en mode "Super Utilisateur". Ne l'écrivez pas dans les zones de recherche, tapez le "dans le vide" après avoir sélectionné la fenêtre. L'afwatch doit passer en vert. Vous aurez ainsi accès à l'intégralité des options disponibles en faisant un clic droit sur vos Jobs, Renders et Users.
Vous pouvez également utiliser votre
navigateur internet à la place de l'
afwatch :
- sur Keeper => Clic Droit => AFANASY => Web GUI
- ou entrez dans la barre d'adresse => votre adresse IP:51000
De préférence utilisez
Firefox et son module
CGRU :
http://cgru.info/firefox/cgru-addon.xpi
3. Astuces et outils :
Contrôle par internet
Maintenant que tout est paramétré, il vous faut mettre en place un moyen simple d'accéder à vos
clients depuis votre
workstation pour vérifier ce qu'il s'y passe.
Pour l'instant, la solution la plus simple que j'ai trouvée, non
open source mais
FREE, est d'utiliser le logiciel "
Teamviewer". Il vous permet d'accéder à distance par internet à vos ordinateurs depuis votre
workstation, ainsi que votre
smartphone (très
pratique pour partir du bureau en toute confiance sachant qu'on pourra
relancer des calculs en cas d'erreur depuis n'importe où).
Très
facile d'utilisation, il vous suffit de télécharger et d'installer le
logiciel sur tous vos ordinateurs puis de créer un compte
FREE et d'insérer votre nom d'
admin et
mot de passe créés sur chacun afin de les lier au même compte. Et voila ! Vous pouvez ouvrir sur votre
workstation autant de fenêtres
Teamviewer que vous avez de
clients.
Tips suplémentaires
- Désactivez l'installation automatique des mises à jours pour éviter que vos ordinateurs ne s'éteignent en plein milieu d'un rendu.
- Coupez la mise hors tension automatique de votre ordinateur. Démarrer => Panneau de configuration => Options d'alimentation ...etc.
- Dans un souci d' économie d'énergie, certains modèles de carte mère font de même avec votre carte réseau.
Le problème est qu'ensuite cela crée des coupures de connexion réseau
qui interrompent vos rendus. Très embêtant. Pour y remédier allez dans :
Démarrer => Panneau de configuration =>
Centre réseau et partage => Modifier les paramètres de la carte =>
Clic Droit sur votre connexion => Propriétés => Configurer =>
Gestion de l'alimentation. Parfois, cela ne suffit pas, il faut dans ce cas aller dans le BIOS de votre ordinateur pour désactiver cette option.
- Vérifiez que dans vos paramètres de pare-feu Windows aucun des logiciels que vous souhaitez lancer en rendu réseau ne soit bloqué. Démarrer
=> Panneau de configuration => Pare feu Windows => Paramètres
avancés => Règles de trafic entrant et sortant.
- Pour gagner du temps, enlevez la protection de compte utilisateur par mot de passe. Démarrer => Panneau de configuration => Comptes d'utilisateurs.
Reconnaissance lecteur réseau
Sous
Windows 7, la reconnaissance automatique des
lecteurs réseau au démarrage ne se fait pas automatiquement. Pour l'y aider, il y a une solution simple :
- ouvrez le Bloc-notes
- tapez: "explorer X:\" (sans les guillemets, et à la place de X, votre lettre choisie comme lecteur réseau partagé)
- enregistrez le fichier avec le nom qu'il vous plaira. Par exemple, "ouverture_lecteur_reseau_X" et changez manuellement son extension en ".bat".
Avant cela, vérifiez bien que vos options d'affichage vous permettent
de voir vos extensions de fichier. Pour cela, dans l'explorateur Windows
cliquez sur "Organiser => Options des dossier et de recherche => onglet Affichage => décochez Masquer les extensions des fichiers dont le type est connu".
- collez ce fichier dans votre dossier de démarrage : Démarrer => Tous les programmes => Clic Droit sur Démarrage => Ouvrir tous les utilisateurs. Vous pouvez coller ici tous les raccourcis des programmes que vous souhaitez voir s'exécuter automatiquement au démarrage.
Lecture séquence d'images
Une fois votre
séquence d'images calculée par votre
renderfarm,
il vous faut vérifier qu'il ne manque rien et que le rendu est celui
auquel vous vous attendiez. Et donc, plutôt que de créer une vidéo sur
After Effect à partir de la
séquence d'image (c'est-à-dire ouvrir
AE, importer
séquence d'image, créer composition, faire un rendu vidéo...etc) pour pré-visualiser votre rendu rapidement, il existe un soft
open source très pratique qui vous permet de lancer directement en vidéo une séquence d'images :
DJV_VIEW
Installez
djv_view puis sélectionnez une image de votre suite d'image (pas forcément la première) et faites :
Clic Droit => ouvrir avec => djv_view
FIN
Voila c'est
terminé. Si vous avez des remarques ou si certains points manquent
de précision, merci de me les signaler. Je continuerai de mettre à jour
cet article au fur et à mesure de vos commentaires et de mes expériences.
JR
creature-studio