再帰連鎖反応

スケジューラーは、ツリー構造のタスクグラフで最も効率良く動作します。これは、"幅優先のスチールと深さ優先のワーク" 手法が最もうまく適用できるためです。また、ツリー構造のタスクグラフでは、多くのタスクを迅速に生成できます。例えば、マスタータスクが N 個の子を直接生成するには、O(N) ステップ必要です。しかし、ツリー構造のフォークでは、O(lg(N)) ステップしか必要ありません。

ドメインが明らかにツリー構造ではないことがありますが、簡単にツリーにマップできます。例えば、parallel_for (tbb/parallel_for.h') は、整数シーケンスなど、反復空間で動作します。parallel_for テンプレート関数は、定義を使用して反復空間をバイナリーツリーに再帰的にマップします。

関連情報