3
Windowsプロセッサアフィニティは、ハイパースレッドCPUとどのように機能しますか?
Windowsプロセッサアフィニティは、ハイパースレッドCPUとどのように機能しますか?それぞれがハイパースレッド仮想コアを持つ4つのコアを持つシステムの例(写真)を使用してみましょう。 以下の各「CPU」に対応するコアはどれですか? (たとえば)以下のCPU 6とCPU 7は1つのコアを表しますか?HTと実際のコア? たとえば、CPU 6が実際のコアを表し、CPU 7がHTコアを表す場合、CPU7だけに割り当てられたスレッドは、実際のコアのリソースだけを残しますか?(コアが他のタスクを実行していると仮定) ハイパースレッディングは、スレッドが内部でジャグリングされるように、プロセッサ内で完全に管理されていますか?その場合、それはCPUスコープまたはコアスコープですか?例:CPU 6と7が1つのコアを表す場合、CPUは実行中のスレッドに適切にリソースを割り当てるため、どのプロセスに割り当てられるかは問題になりませんか? 少なくともタスクマネージャーによれば、長時間実行されているシングルスレッドプロセスがコアの周りでかなり跳ね返っていることがわかります。これは、プロセスを単一のコアに割り当てると、パフォーマンスが少し向上することを意味しますか(コンテキストの切り替えやキャッシュの無効化などを回避することにより)?もしそうなら、「仮想コアだけ」に割り当てていないことを知ることができますか? これはすべて非常に曖昧でわかりにくいものです。HTは優れていますが、リソース割り当ての透明性が低下するようです。