UbuntuはCore Parkingをサポートしていますか?


13

コアパーキングは、バッテリーのパフォーマンスを向上させるためにWindows 7に導入された新しい機能です。

オペレーティングシステムのリソース使用状況に応じて、コンピューターの電力消費と熱放射を削減するために、マルチコアCPUの1つまたは複数のコアをパークする場合があります。操作により多くの処理能力が必要になると、パークされたコアが再びアクティブになり、タスクを支援します

だから私の質問は、Ubuntu 12.04 「コアパーキング」でそれを行う方法はありますか?


3
いい質問です!
NlightNFotis

回答:


9

当分の間、これに対する明確な答えはありませんが、Linuxカーネルがいくつかの省エネメカニズムを使用していることは明らかです

しかし、いくつかの簡単な調査を行った結果、最新のLinuxカーネルはAdvanced Configuration and Power Interfaceの頭字語であるACPIと呼ばれる機能を使用していることにすぐに気付きました。

ACPIの機能:

Advanced Configuration and Power Interface(ACPI)仕様は、オペレーティングシステムによるデバイス構成と電源管理のオープンスタンダードを提供します。

ウィキペディア経由。

基本的に、ACPIはさまざまなCPU状態の制御を可能にし、電力管理を改善します。

異なるACPI CPU状態:

CPU Cステート(電源管理)

基本的に、CPUの「C状態」に関して心配する必要のあることはおそらくないでしょう。これらは、現在のシステム負荷を考慮して、カーネル+ ACPIシステムによって自動的に制御されます。(警告:以下のAMD AthlonおよびDuronプロセッサに関するメモをご覧ください)。新しい(2.6+)カーネルのACPIコードは、アイドル時間があるとCPUを自動的にスリープ状態にします(注:これはCPU周波数を変更しません。「P状態」によって制御されます-以下を参照)。

認識すべき唯一のことは、CPUが一時的に停止したときに、システムが完全に「意識的」であることです。ほとんど違いに気付かないでしょう。ただし、電力の節約はかなり可能です。CPUがアイドル状態のときはいつでも何千もの「マイクロナップ」を取っていると考えてください。

CPU-T状態(スロットル)

これらは「C状態」に非常によく似ています(同じHLT命令が使用されます)が、違いは、「C状態とは対照的に、4番目のサイクルごとに強制的にスリープサイクルになるように」上記の値は、システムの負荷によって自動的に決定されます)。頻度は変更されていないことに注意してください。以下の「P状態」を参照してください。

CPU-P状態(パフォーマンス)

最近の多くのプロセッサ(特にラップトップ)では、実際に「オンザフライ」でクロック周波数を遅くすることができます。これにより、電力が大幅に節約されます。Intelはこれを「SpeedStep」と呼び、AMDは「Cool'n'Quiet」または「PowerNow」と呼びます。より一般的には、これらの状態は「P状態」と呼ばれます。BIOSにアクセスして、この機能を最初にCPUに対して有効にする必要があります。

**いくつかの消費ベンチマーク:**

上記のCPU状態からの節電は何ですか?以下のデータは、AMD Webサイトから抽出されたものです。1 MBのL2キャッシュを搭載したAMD 64 3400 + / 2200MHzを検討してください。ところで、私がここにいる間に、AMDの命名規則について不平を言ってみましょう。3400+という数字は、ジャックスクワットを意味するものではありません。これは、このプロセッサが3400MHzで動作するIntel Pentium-4に「似ている」というAMDの言い方です。これが彼らの市場シェアを失わない方法だと思います。PおよびT状態の消費電力値は次のとおりです(C状態はT状態と同じHLT命令です)。

  • パフォーマンス状態0(完全にアクティブ)(2200MHz):89ワット
  • パフォーマンス状態1(2000MHz):70ワット
  • パフォーマンス状態2(800MHz):35ワット
  • スロットル(HLT命令):2.2ワット

さらに読むための参考資料

編集

[EDIT#1]:周りグーグルで、私はあまりにもいくつかのフォーラムでは、いくつかの他の記事を見つけました(openSUSEのフォーラムは、あなたが求めるものに関連すると思わ)、これはそれがウィンドウのLinux用の問題の多くであるとことではないことが判明し、特にゲームで。また、関連があると思われるRedHatメーリングリストの2つのメール(最初のメールと2番目のメール[フォローアップ])で情報を掘り下げました。現在、その情報を調査しています。

[編集#2]:私はこの問題を少し調査しましたが、知らないACPIがない限り、Linuxにコアパーキングメカニズムがないことをますます確信しています。いくつかの興味深い発見は、CPUの直接操作を可能とするソフトウェアのいくつかの作品と同様に、その上で動作するプロセスですcpusetのnumactlと最後ではなく、少なくとも、CPUfreqの。私の研究を続けます。


一部のAndroidデバイスでは、1つ以上のコアを無効にできると思います。ただし、これがハードウェアまたはカーネルによって直接管理されているかどうかはわかりません。
レオ

2

ここで、コアパーキングは、電力を節約するためにcステートを進めるコアの設定に関連していると言及している記事があります。c状態は、halt命令で設定されます。NlightNFotisが述べているように、これはLinuxのACPIサポートを使用して行われます。

Intelが作成したpowertopsudo apt-get install powertop)オープンソースプログラムを使用すると、Linuxによってコアが配置される状態に関する情報をさらに取得できる場合があります。ハードウェアがさまざまなc-stateをサポートしている場合、Ubuntu Linuxによってコアがこれらの低電力状態にされる時間の割合を伝えることができるはずです。下記参照。Cステートが大きいほど、節約される電力が大きくなります。

さらに多くの情報も提供します。

また、Windowsのように、Linuxを実行する作業がある場合、需要の量、電力を節約したい欲求などに応じて、コアが実行される頻度を調整できます。

私のラップトップはc-statesをサポートしていませんが、中断することができます。以下に示すように、Atomプロセッサを搭載した小さなAcerがそれらをサポートしています。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.