どのようにハードのオペレーティングシステムは、TLBフラッシュを最小化しようとしていますか?
-
20-09-2019 - |
質問
「スケジューリングされる」リストに一緒に同じプロセス内のスレッドをグループ化、例えばすることにより、TLBフラッシュを最小限にするためにオペレーティングシステムに実装共通のメカニズムがある場合、
のだろうか。
私は、これは、スレッドに対してプロセスを使用しての間で決定する重要な要因であると考えています。 OSは、次のスレッドが同じプロセス空間であるか否かを気にしない場合は、「TLBフラッシュを最小限に抑える」スレッドのいわゆる利点が過大評価される可能性があります。ケースということですか?
スレッドとプロセスの数十の何百ものシステムを考えてみましょう。これらはタンデムで同じプロセス内のスレッドをスケジュールするように最適化されていない場合は、スレッドのパフォーマンス上の我々の期待はそれほど大きくないことがあります。
質問はその明確でない場合は、私は例をあげます。
解決
CPUの設計は、ように見えますタグ付けされたTLBエントリがのハードウェアサポートに向けて進化します。これは、TLBをフラッシュする必要がなくなります。そうであってもTLBのフラッシュが、今日のプロセッサに対する懸念であると仮定すると、それは数年後にはもはや適切ではないかもしれません。私はそれを上の任意の設計上の決定を基づかないでしょう。
所属していません StackOverflow