Comment Mikros Image a utilisé AWS pour le projet Sherlock Gnomes
Grand consommateur de puissance de calcul, l'industrie de l'animation et des effets spéciaux a été construite en déployant ses propres ressources informatiques. Les studios s'intéressent désormais au cloud, même si les contraintes techniques et surtout financières sont fortes. Mais les géants du cloud sont-ils prêts ?
« Sherlock Gnomes », le dernier film d'animation de Paramount / MGM a une particularité plutôt inhabituelle dans le secteur : il a été presque entièrement calculé dans le cloud. Un choix plutôt inhabituel dans la production de longs métrages pour lesquels les studios ont leurs propres « renderfarms » (fermes de rendu ou de calcul).
Derrière « Sherlock Gnomes », un studio français, Mikros Image. Cette société de post-production travaille sur des films d'animation comme « Le Petit Prince », « le futur Astérix » et « le secret de la potion magique ». Le studio exerce aussi une activité VFX, c'est-à-dire des effets visuels numériques sur des films traditionnels et la publicité. Filiale de Technicolor, la société est présente en France, en Belgique et au Canada.
Ferme informatique ou cloud interne, avant tout une question de coût
Pour calculer chaque image d'un film, Mikros Image utilise deux types de machines: des serveurs dédiés rassemblés dans un datacenter, la ferme de rendu, mais aussi les postes de travail des graphistes, lorsqu'ils sont inactifs.
Au total, elle exploite plus de 800 serveurs informatiques et près de 700 stations de travail, une infrastructure qui permet de fournir 3500 heures de calcul par jour, soit 550 tâches informatiques représentant entre 1 et 10 To de données produites au quotidien.
Cette architecture, optimisée pour la production d’images permet au studio d’atteindre des coûts de production très compétitifs, mais Thomas Eskénazi, responsable de l'équipe Core Technology de Mikros Image, explique son intérêt pour le calcul dans le cloud : « Le cloud n’est utilisé qu’avec l'accord de nos clients pour des raisons de sécurité. Avant ce projet, nous n'avions pas encore utilisé d’instances Spot Amazon EC2, or celles-ci permettent de considérablement réduire le coût du rendu sur le cloud en tirant parti de la capacité disponible dans les centres de données AWS. »
Paradoxalement, Mikros n'utilise pratiquement aucun GPU pour effectuer ses calculs. Seulement une dizaine de machines GPU sont disponibles par site et réservées à des calculs très spécifiques. Les machines de renderfarms sont renouvelées régulièrement. Les lames de calcul les plus récentes sont des machines Xeon avec 40 cœurs et 128 Go de RAM. Certaines machines à 32 cœurs sont encore dans le parc de machines du studio.
Pour le stockage, Mikros Image utilise plusieurs NAS Hitachi (HNAS), séparés en fonction des activités. « A la fin de la vie, un film d'animation représente environ 800 To de données et, si nous ajoutons divers travaux effectués par notre laboratoire, nous ne sommes pas loin d’un péta de données. Nous avons choisi d'avoir un seul serveur de fichiers, un SAN NetApp pour tous. Pour le rendu, nous utilisons Arnold d'Autodesk et, contractuellement, nous sommes contraints à de lourdes rétentions de données : nous conservons un instantané incrémental toutes les heures et une sauvegarde complète tous les jours. Après un temps déterminé, les données sont transférées sur 2 robotiques LTO. »
Le cloud, une flexibilité adaptée aux contraintes de production
Si, économiquement, l'option du cloud semble moins attrayante pour le studio que d'exploiter ses ressources internes existantes, il peut être indispensable de l'utiliser occasionnellement.
« Si un projet nous demande des images qui nécessiteront beaucoup d’heures de calcul, nous ajustons la puissance pour gérer le délais de livraison. Jusqu'à présent, nous louions des serveurs pour faire face à ce type de demandes. Cependant, lorsque le temps est un facteur important, avec le cloud nous pouvons mobiliser des milliers d'instances en quelques minutes sans avoir de délais associés à la logistique de transport et de mise en route de machines (configuration réseau, provision d’OS, installation des logiciels, et tests, etc.) Lorsque vous ajoutez également la connectivité réseau rapide et les aspects de sécurité à gérer, il devient très intéressant pour nous d'utiliser le cloud. »
Un autre cas d'utilisation est lorsque l'équipe de création souhaite modifier ou ajouter des scènes sans changer la date de livraison du film.
« Nous avons plus d'images à produire, ce qui peut dépasser nos propres capacités : nous confions ces calculs au cloud. Lors de la production du dernier long métrage du studio Sherlock Gnomes, dès le départ, nous avions envisagé, avec notre client Paramount, de mobiliser des ressources dans le cloud pour faire face à ces aléas. Nous savions que ce film serait donc certainement calculé hors les murs, mais la demande en ressources est passée à 4 750 nœuds de calcul certains jours. Ceci peut sembler modeste, mais pour mobiliser une telle quantité de ressources en 3 semaines, peu d’acteurs, même parmi les grands dans le secteur, peuvent réellement répondre ».
Le studio s'est tourné vers Amazon Web Services, qui a tout mis en œuvre pour fournir les ressources demandées, malgré l'ampleur du défi.
« Nous mobilisons des machines très spécifiques et une partie importante de l'ingénierie a été de provisionner ces équipements. En utilisant AWS, nous avons commencé le rendu avec le centre de données de Francfort (une région AWS plus petite) en raison des exigences de latence d’accès du projet.
Puis avec AWS Direct Connect Gateway, nous avons été en mesure de déborder sur AWS Dublin. Cela représentait un défi technique, mais avec l'aide de l'équipe AWS, nous avons pu équilibrer entre Francfort, Dublin et nos ressources locales. »
Le studio a dû provisionner des machines contenant 128 cœurs et 1 T de RAM pour ses noeuds de calcul ainsi qu’une douzaine de nœuds pour porter des caches Avere afin de maintenir dans le cloud les données les plus sollicitées par les nœuds de calcul et limiter ainsi le trafic de données ou saturer la lecture disque locale.
Un pic à 114 mille heures de calcul en un jour pour Sherlock Gnomes
Le plus gros jour de calcul sur Sherlock Gnomes a représenté 114 000 heures de calcul sur 3 datacenters. Avec une seule machine, il aurait fallu 13 ans pour réaliser un tel volume de calcul. Au total, sur les 18 mois de la production, ce film représente plus de 6,5 millions d'heures de calculs effectués par 300 000 "jobs", qui ont eux-mêmes lancé 18,5 millions de tâches.
« Les pics étaient si importants qu'il nous a fallu augmenter la flotte de licences pour notre dispatcheur qui était limité à 3000 nœuds. C'est notre production où les pics de calcul étaient les plus extrêmes », explique Thomas Eskénazi.
Néanmoins, même lorsqu'un projet a besoin d'un surplus de puissance, tout ne peut être réalisé dans le cloud. « Cette expérience a été l'occasion de construire notre relation avec les architectes d'AWS, en partageant avec eux les spécificités de notre métier : un usage du calcul parallèle dans un contexte très particulier. Chaque studio possède ses propres outils logiciels et optimise l’utilisation de ses ressources. »
Cet article initialement publié le 26 juin 2018 a été relu et amendé par Mikros Image, puis republié le 02/07/2018 dans sa version modifiée.