View a markdown version of this page

Découpage des tâches pour les modèles de tâches - Deadline Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Découpage des tâches pour les modèles de tâches

Les tâches de rendu et de simulation passent souvent plus de temps à charger l'application et le fichier de scène qu'à traiter chaque image. Lorsqu'une tâche exécute une image par tâche, ce temps de chargement se répète pour chaque image. Le découpage des tâches regroupe plusieurs tâches en une seule unité de travail appelée bloc, de sorte que l'application se charge une fois pour chaque bloc au lieu d'une fois pour chaque cadre. Le découpage est particulièrement utile lorsque le temps de chargement est long par rapport au temps de traitement de chaque image, comme dans le cas d'une scène qui se charge pendant quelques minutes puis affiche chaque image en quelques secondes.

Si vous effectuez une migration depuis Deadline 10, le découpage des tâches remplace le paramètre de cadres par tâche, également appelé taille des blocs, dans les soumissionnaires de la date limite 10.

Le découpage des tâches est une extension d'Open Job Description (OpenJD) nommée. TASK_CHUNKING Dans un modèle de tâche qui utilise l'extension, vous définissez un paramètre de tâche avec typeCHUNK[INT]. Lorsque la tâche est exécutée, Deadline Cloud distribue une plage de valeurs à chaque tâche au lieu d'une seule valeur, et la {{Task.Param.Frame}} variable de votre script prend la forme d'une expression de plage telle que1-10. Votre script transmet cette plage à l'application. Pour la spécification complète, voir RFC 0001 : Task Chunking on. GitHub

Pour utiliser le découpage des tâches, vous devez prendre deux décisions :

  • Contrainte de plage  : choisissez à CONTIGUOUS quel moment votre application accepte les arguments de début et de fin de trame. Chaque segment est alors une plage consécutive telle que1-10. Choisissez à NONCONTIGUOUS quel moment votre application accepte des listes de cadres arbitraires. Les morceaux peuvent ensuite couvrir des ensembles d'images clairsemés1-3,5,7-20:2, tels que, ce qui est utile lors du rendu des images de capture.

  • Taille du bloc  : le defaultTaskCount champ définit un nombre fixe d'images pour chaque bloc. Si les blocs sont trop petits, le temps de chargement est prépondérant et la tâche s'exécute de manière inefficace. Si les pièces sont trop importantes, le travail ne peut pas équilibrer le travail au sein d'une flotte plus importante. Pour éviter de régler la valeur manuellement, définissez le targetRuntimeSeconds champ facultatif. Deadline Cloud ajuste ensuite la taille des blocs en fonction de l'exécution cible en fonction des temps d'exécution observés des blocs terminés.

La taille des morceaux limite également le parallélisme. Une étape produit une tâche pour chaque bloc, ce qui correspond approximativement au nombre d'images divisé par la taille du bloc, et chaque tâche s'exécute sur un travailleur. Le tableau suivant montre comment la taille des blocs limite le nombre de travailleurs pouvant traiter une tâche de 100 images en parallèle.

Cadres en cours de travail Taille du morceau Tâches (nombre maximum de travailleurs parallèles)
100 1 100
100 10 10
100 50 2

Si la taille du bloc est supérieure au nombre d'images divisé par le nombre de travailleurs disponibles, certains travailleurs restent inactifs. Lorsque vous définisseztargetRuntimeSeconds, Deadline Cloud équilibre ce compromis à votre place en ajustant la taille des blocs en fonction du temps d'exécution cible.

Les tâches fractionnées diffèrent des tâches comportant une image par tâche de deux manières. Dans le moniteur Deadline Cloud, la liste des tâches de l'étape affiche une tâche pour chaque segment, identifiée par sa plage de cadres. Lorsque vous téléchargez le résultat d'une seule tâche dans une tâche fragmentée, Deadline Cloud télécharge le résultat pour l'ensemble du bloc. Par exemple, si Deadline Cloud a traité les images 1 à 10 ensemble sous forme de bloc, le téléchargement de la sortie pour l'image 3 télécharge toutes les images 1 à 10. Le téléchargement de la sortie fragmentée nécessite deadline-cloud la version 0.53.3 ou une version ultérieure.

Pour plus d'informations sur le découpage des tâches, consultez les rubriques suivantes :