マルチノードの分散メモリ クラスターで、タスクをスケジュールして並行して実行したいと考えています。
他のタスクに依存するさまざまなタスクがありますが、同じタスクをさまざまなパラメーターで並行して実行したいと考えています。たとえば、必要な最適パラメータが 10 であるタスクがあるが、これが失敗する可能性があるとします (特定のタスク内の特定の複雑さが原因で、事前に知ることはできません)。失敗のリスクをヘッジするために、次善のパラメーターを使用して同じタスクを実行したいと考えています。リスクをヘッジし続けるために、次善のパラメーターを減らしてさらに多くのタスクを実行したいと考えています。
最適なパラメーターに基づいて、タスク間に暗黙の階層があります。最適でないパラメータを持つすべてのタスクは、より良い値へのヘッジと見なすことができます。
私の主な質問は次のとおりです。同じタスクを異なるパラメーターで並行して実行しているため、パラメーターの最適性に基づいてタスクが優先され、そのタスクのインスタンスが正常に完了するとすぐに、優先度が低い(パラメーターが悪い)タスクの後続のすべてのインスタンスを強制終了し、プロセスキューから削除します。つまり、より適切なパラメーター タスクが正常に完了したことがわかったら、ヘッジ プロセスを強制終了したいと考えています。
DAGuEはこれを許可しますか? つまり、キューからのタスクの削除ですか? そうでない場合は、別の C++ スケジューラを提案できますか。