私は、長さが異なるタスクを実行するワーカースレッドが多数あるマルチスレッドプログラムに取り組んでいます。タスクがほぼ同じ量の作業を行うように、タスクの負荷を分散したいと考えています。各タスク T iには 、そのタスクに必要な作業量の適切な近似値を提供する 数値 c iがあります。
私は効率的な (O(N) N = タスク数以上) アルゴリズムを探しています。これは、 c iの値が与えられた場合に「おおよそ」適切な負荷バランスを提供します。最適である必要はありませんが、結果として得られる割り当てがどれほど悪いかについて、理論的な境界を設定できるようにしたいと考えています。
何か案は?