一部のスレッドの頻度を制御するためにLinuxカーネルを拡張しています:それらがコア(任意のコア!)にスケジュールされている場合IA32_PERF_CTL
、Intelの提案に従って、適切なp-stateをレジスタに書き込むことによってコアの頻度が変更されますマニュアル。ただし、「カスタム」頻度が異なるさまざまなスレッドがスケジュールされると、すべてのコアが設定された最大頻度で実行されているかのように、すべてのスレッドのスループットが向上するように見えます。
負荷と構成のさまざまな条件で多くの試行と測定を行いましたが、結果は同じです。CPUFreqでいくつかの試行を行った後(アプリを実行せずに、各コアに異なる周波数を設定し、最後にcpufreq-info -wで測定された周波数が等しくなりました)、CPUコアが実際に異なる独立した周波数で実行できるかどうか疑問に思います、またはハードウェアポリシーまたは制約がある場合。
最後に、このきめ細かい周波数スケーリングを実現可能なCPUモデルはありますか?
私が使用しているCPUはIntelCorei5750です