Ferme de rendu

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Une ferme de rendu (plus connue sous la désignation anglophone de Render Farm) est une grappe de serveurs dont l'objectif est de calculer le rendu des images de synthèse, typiquement pour les effets spéciaux au cinéma ou à la télévision. Le rendu d'images est une activité très gourmande en termes de calcul et nécessite l'utilisation d'une architecture apte au calcul parallèle, chaque image pouvant ainsi être calculée indépendamment des autres.

Le temps nécessaire pour rendre des images n'a pas progressé tout au long des 20 dernières années malgré l'énorme progrès réalisé dans la puissance de calcul des processeurs. La raison en est que l'avancée technologique dans la puissance des ordinateurs est absorbée par l'augmentation du temps de calcul nécessaire aux nouveaux algorithmes pour faire face à la demande sans cesse plus grande concernant la qualité des images générées.

L'utilisation de fermes de rendu peut être vu comme une application précoce des grilles de calcul.

Acquisition d'une ferme de rendu[modifier | modifier le code]

L’utilisation de fermes de rendu n’est pas exclusivement réservée aux grands studios de l’animation. Des petites sociétés aux moyens financiers restreints disposent de fermes de calculs à petite échelle. De nos jours, il y a plusieurs façons de disposer d’une grande puissance de calcul.

Partie matérielle[modifier | modifier le code]

Une ferme de rendu se compose de multiples ordinateurs reliés entre eux par un réseau à vitesse rapide, dont l'un de ces ordinateurs, appelé « serveur », supervise la distribution automatique des tâches aux autres processeurs, appelés « nœuds de calculs », les tâches étant réparties dans une file (ou queue) de traitement.

Monter une ferme de rendu[modifier | modifier le code]

La solution la plus économique consiste à construire sa propre ferme de rendu. Une machine peut jouer le rôle à la fois du serveur et de l'unique nœud de la ferme, toutefois l'intérêt majeur consiste à répartir la charge de calcul sur plusieurs nœuds différents et donc plusieurs machines. Plus le nombre de machines inter-connectées est grand, plus la charge de travail sera répartie et parallélisée et plus la ferme sera performante.

La machine serveur représente le cœur du système. Celle-ci doit être puissante et réactive pour répartir au mieux et le plus rapidement possible la charge sur les différents nœuds.

Les principaux facteurs d'efficacité des nœuds de rendu sont la puissance du processeur et la capacité en mémoire virtuelle. Toutefois il est indispensable de veiller à l'homogénéité de la configuration matérielle de chacun des nœuds de rendu : un nœud disposant de ressources matérielles significativement plus faible que les autres serait susceptible de ralentir l'ensemble du processus de calcul.

La puissance de calcul des nœuds peut être augmentée en utilisant les moteurs de rendu (GPU) intégrés dans les cartes graphiques utilisant l'accélération matérielle. Créées pour le calcul 3D temps réel, celles-ci sont particulièrement adaptées au calcul de rendu (3D pré-calculée).

L’inconvénient majeur de cette solution, est de devoir faire face aux éventuels problèmes techniques et matériels qui pourraient survenir. La ferme reste extensible à volonté, en fonction du besoin et du budget.

Acheter une ferme de rendu[modifier | modifier le code]

Le moyen pour ne pas être confronté seul aux problèmes techniques et matériels est d'avoir recours à des services professionnels.

Des spécialistes dans le domaine proposent le montage de telles architectures. Le coût est plus important, mais dans la majorité des cas, le revendeur propose ses services pour la configuration et la résolution d’éventuelles pannes.

Des grandes enseignes comme HP ou Dell offrent des kits de rendu prêts à l'emploi. Ces sociétés disposent d’une assistance, d'un suivi et d'un service après vente d’une grande qualité. Néanmoins, l'ensemble de cette solution reste difficilement abordable financièrement.

Louer une ferme de rendu[modifier | modifier le code]

Il est désormais possible, avec l’arrivée du Cloud computing, de répondre à un besoin ponctuel de calcul intensif. En effet, la puissance de calcul disponible à travers le monde peut être louée par tout individu moyennant un abonnement ou une prestation de service. La location représente un réel avantage puisqu'elle permet de disposer d'une grande puissance de calcul sans se soucier de l'achat initial ni de son entretien. cela permet notamment de réduire les dépenses de l'entreprise en termes d'investissement (achat de matériel et logiciel) et de coûts récurrents (notamment espace et électricité).

Fermes de rendu collaboratives[modifier | modifier le code]

Sur le même principe que la location de fermes de rendu à travers du Cloud computing, il existe des fermes de rendu collaboratives et gratuites. N'importe quel ordinateur individuel ou serveur peut se greffer à l'ensemble des machines pour participer au calcul ; de la même manière, n'importe quel individu peut soumettre des rendus à ces fermes collaboratives (par exemple http://www.sheepit-renderfarm.com ).

Partie logicielle[modifier | modifier le code]

Les logiciels utilisés sur les fermes de rendu possèdent généralement une architecture client serveur qui facilite les communications entre les processeurs et le gestionnaire de la file de tâches, bien que certains logiciels n'implémentent pas de gestionnaire spécifique pour cette file. Certains aspects communs pour ces gestionnaires sont :

  • la remise à jour de la priorité des tâches dans la file,
  • la gestion des licences logicielles, ainsi que des algorithmes pour améliorer au mieux les communications et transmissions entre les différents ordinateurs suivant le type de matériel utilisé dans la ferme de rendu.

De plus, les logiciels spécialisés dans le rendu et la composition des images, comme 3ds Max, Blender, Maya ou Cinéma 4D, proposent généralement un contrôleur de rendu en réseau.

Articles connexes[modifier | modifier le code]

Notes et références[modifier | modifier le code]