並行処理
並行処理は、action graph の強力な機能で、node を同時に実行してパフォーマンスを改善し、execution 時間を短縮します。
いくつかの node が後続 node の並行 execution を可能にします。Concurrent For Loop、Concurrent For Each Loop、Concurrent Execution などがあります。簡単に言えば、これらの node は action graph の execution を大幅に高速化します。
node が並行で実行されると、システムのリソースを活用してパフォーマンスを最大化します。数百万の node を並行で実行しても、ランタイムはワークロードを複数の CPU コアに分散して効率的に処理できます。
基本的な並行処理
Section titled “基本的な並行処理”以下の例では、Concurrent Execution node が 2 つの File Write node を並列で実行しています。
Populated Port
Section titled “Populated Port”以下の例では、Concurrent Execution node が 2 つの node を並行で実行しています。一方の node がもう一方の output にアクセスしています。この接続は、最初の node の output がまだ利用できない可能性があるため問題があります。最終的にランタイムエラーが発生します。将来のバージョンでは、このような接続はそもそも作成できなくなる予定です。
並行処理にはいくつかの制限事項があります。ランタイムは大量のタスクを並行で管理するように設計されていますが、execution はシステムおよび OS の制約を受けます。大量の外部プロセスの起動や数千のネットワークリクエストの開始は、パフォーマンスの低下やランタイムエラーにつながる可能性があります。