Concurrence
La concurrence est une fonctionnalité puissante de votre action graph qui permet aux nodes de s’exécuter simultanément, améliorant les performances et les temps d’exécution.
Plusieurs nodes permettent l’exécution concurrente des nodes suivants, comme Concurrent For Loop, Concurrent For Each Loop, Concurrent Execution, et d’autres. En résumé, ces nodes aident votre action graph à s’exécuter beaucoup plus rapidement.
Quand les nodes s’exécutent en parallèle, ils tirent parti des ressources de votre système pour maximiser les performances. Même si vous exécutez plusieurs millions de nodes simultanément, le runtime peut les gérer efficacement en distribuant la charge de travail sur plusieurs coeurs CPU.
Concurrence basique
Section intitulée « Concurrence basique »Dans l’exemple suivant, nous avons un node Concurrent Execution qui exécute deux nodes File Write en parallèle.
Ports alimentés
Section intitulée « Ports alimentés »Dans l’exemple ci-dessous, le node Concurrent Execution exécute deux nodes en parallèle. L’un des nodes accède à l’output de l’autre. Cette connexion est problématique car l’output du premier node pourrait ne pas encore être disponible. Cela finira par provoquer une erreur runtime. Dans les versions futures, ces connexions ne pourront plus être créées.
Limitations
Section intitulée « Limitations »Il y a certaines limitations à prendre en compte concernant la concurrence. Bien que le runtime soit conçu pour gérer un très grand nombre de tâches en parallèle, l’exécution reste soumise aux contraintes du système et du système d’exploitation. Lancer un grand nombre de processus externes ou initier des milliers de requêtes réseau peut entraîner de mauvaises performances, voire des erreurs runtime.