7

一部のスレッドの頻度を制御するためにLinuxカーネルを拡張しています:それらがコア(任意のコア!)にスケジュールされている場合IA32_PERF_CTL、Intelの提案に従って、適切なp-stateをレジスタに書き込むことによってコアの頻度が変更されますマニュアル。ただし、「カスタム」頻度が異なるさまざまなスレッドがスケジュールされると、すべてのコアが設定された最大頻度で実行されているかのように、すべてのスレッドのスループットが向上するように見えます。

負荷と構成のさまざまな条件で多くの試行と測定を行いましたが、結果は同じです。CPUFreqでいくつかの試行を行った後(アプリを実行せずに、各コアに異なる周波数を設定し、最後にcpufreq-info -wで測定された周波数が等しくなりました)、CPUコアが実際に異なる独立した周波数で実行できるかどうか疑問に思います、またはハードウェアポリシーまたは制約がある場合。

最後に、このきめ細かい周波数スケーリングを実現可能なCPUモデルはありますか?

私が使用しているCPUはIntelCorei5750です

4

4 に答える 4

4

アクティブコアの個々のコア周波数を制御することはできません。ただし、すべてのアクティブなコアの周波数を同じになるように制御できます。その理由は前の回答にあります-すべてのコアが同じアクティブ電圧面上にあります。うまくいけば、次世代のHaswellプロセッサによって、各コアを個別に制御できるようになります。

于 2012-11-19T22:59:44.697 に答える
3

私はあなたが絵の大きな部分を逃していると思います!

電源とクロックのドメインを読んでください。ドメイン内のすべてのプロセッサコアは、同じP状態(つまり、同じ周波数と電圧)で実行されます。そのドメインですべてのコアが実行されるPステートは、常にそのドメインで最高のPステートを要求するコアのPステートになります。MSRはこれをまったく反映しておらず、カーネルが公開しているインターフェイスも反映していません。

Anandtechにはこれに関する良い記事があります: http ://www.anandtech.com/show/2658/2

「これはすべてAMDのPhenomと非常に似ていますが、2つの違いは、電力管理の処理方法です。AMDは個々のコアが異なるクロック速度を要求できるようにしますが、Nehalemはすべてのコアを同じ周波数で実行しようとします。コアはアイドル状態であるため、単にパワーゲーティングされ、コアは効果的にオフになります。」

パワーメータをSB/IBに接続していませんが、動作は同じだと思います。

于 2012-09-26T16:02:36.360 に答える
2

cpufreq-infoは、どのコアがP状態で同期する必要があるかに関する情報を表示します。

[root@navi ~]# cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 <---- THIS
  CPUs which need to have their frequency coordinated by software: 0 <--- and THIS
  maximum transition latency: 10.0 us.

少なくともそのため、レジスタを直接設定するのではなく、cpufreqインターフェイスを使用することをお勧めします。また、一般的でない要件を持つ可能性のある非IntelCPUで実行できるようにすることをお勧めします。

また、カーネルスレッドを特定のコアに固定する方法を確認して、予期しない切り替えを回避します(まだ行っていない場合)。

于 2012-07-13T01:04:55.273 に答える
0

皆さんの貢献に感謝したいです!さらに調べてみると、コミュニティと共有している他の詳細が見つかりました。

提案されているように、Nehalemはすべてのコアを単一のクロックドメインに配置するため、すべてのコアに設定された最大周波数がすべてのコアに適用されます。一部のツールはアイドル状態のコアで異なる周波数を表示する場合がありますが、周波数を最大に上げるには、任意のアプリケーションを実行するだけで十分です。これは、私のテストから、コアとLLCスライスがすべて同じ周波数/電圧ドメインに存在するSandyBridgeにも当てはまります。この動作はIvyBridgeでも発生すると思います。これは、「ダニ」の反復にすぎないためです。代わりに、HaswellはコアとLLCスライスを異なる単一のドメインに配置し、コアごとの周波数を有効にすると信じています。これは、 http: //www.anandtech.com/show/8423/intel-xeon-e5-version-3-up-to-18-haswell-ep-cores-/4のようないくつかのページでも宣伝されています 。

于 2014-12-22T12:40:09.470 に答える