I / Oが多いがCPU使用率が低い10Kの同時スレッドをサポートするアプリケーションをスケジュールするために使用するのに最適なアルゴリズムは何ですか?論文へのリンクをいただければ幸いです。
3415 次
5 に答える
4
SCHED_RR を使用しないのはなぜですか? あなたはそれを自分で言いました:低 CPU 使用率. 負荷の高い I/O を実行することが予想される場合は、他のプロセスよりもスケジュール頻度が低くなるようにプロセスを調整することもできます。
しかし、一般的には、OS が最も得意とすることを OS に任せて、効率的なコードを書くことだけに気を配ればよいのではないでしょうか。OS は、ブロッキング I/O 呼び出しを行っていることを認識し、スレッド/タスクを待機キューに入れ、実行する別のタスクを選択します。これらの詳細について心配する必要はありません。
于 2009-03-31T16:08:17.453 に答える
1
あなたの問題は、スレッドスケジューリングよりもI/Oスケジューリングに関連しています。Linuxカーネルは、さまざまなI/Oスケジューラの実装を提供します。このテーマに関する優れた記事は、このエディションのLWNにあります。
于 2009-04-15T09:53:09.853 に答える
1
このためにSCHED_RRが必要になる可能性があります。SCHED_FIFOとSCHED_RRの違いに関するこの質問を読むことに興味があるかもしれません。
于 2009-04-01T05:24:26.340 に答える
0
グローバーが示唆したように、リソース集約型ではないスレッドプーリングメカニズムを使用することもでき、完全ではないにしても、少なくともある程度合理的な範囲で目的を解決します
于 2009-04-01T05:50:50.473 に答える