アプリケーションの電力効率を高める
PowerTOPは、Intelによる省電力プロジェクトの一部に過ぎない。また、このプロジェクトのWebサイトには、Linuxカーネルや数々のLinuxアプリケーション向けのパッチが存在する。ある種のアプリケーションについては終了させたり無効にしたりできない、またはそうしたくないので、こうしたパッチを使えば動作の調整や消費電力の削減を行うことができる。
カーネル用パッチの他、現在はWebブラウザFirefox、IMクライアントPidgin、メールクライアントEvolutionをはじめとするアプリケーション用のパッチも用意されている。これらのパッチを利用するには、それぞれのアプリケーションをソースからコンパイルする必要がある。ディストリビューションによって既にインストールされたアプリケーションにはパッチを適用できないからだ。
Firefoxにパッチを当てる場合は、Firefoxのソースtarballをダウンロードして、「bunzip2 firefox-2.0.0.3-source.tar.bz2」による伸張と、「tar xvf firefox-2.0.0.3-source.tar」による展開を順に行う。続いて、MikeのHommey Firefox用パッチをダウンロードし、展開したFirefoxのソースディレクトリ内に置く。このパッチを試すには、「patch --dry-run -p0 -i firefox.patch」を実行する。これにより、実際に変更を加えることなく、パッチが適用できるかどうかを試すことができる。それがうまくいけば、先ほどコマンドから「--dry-run」オプションを除いた「patch -p0 -i firefox.patch」を実行してパッチの適用を行う。パッチの適用が済んだら、引き続き「./configure」、「make」、「make install」を順に実行してFirefoxをコンパイルする。
ソースからアプリケーションをインストールすることに慣れていない場合、パッチの適用は少し難しいかもしれない。しかし、急がなくてもよいのなら、こうしたパッチはそのうちに各アプリケーションに含まれることになるはずだ。事実、Pidginの開発版には、PowerTOPのWebサイトにあるのと同等のパッチが既に当てられている。
PowerTOPは、消費電力を削減してノートPCのバッテリを最大限に活用するためのより大きなプロジェクトの一部である。消費電力の監視は、省電力機能の一面に過ぎない。実際に効果を生み出すのは、アプリケーション動作の調整である。さまざまなアプリケーションにパッチを提供することにより、PowerTOPの開発陣は、アプリケーションがプロセッサバスを不必要に占有してバッテリを消費させる事態を回避している。パッチの適用方法は、もっぱらデスクトップ環境を利用するコマンドラインに不慣れなLinuxユーザにとっては習得が難しいため、PowerTOP開発陣は各種アプリケーションの開発者と連携しながらチューニングやアプリケーション自体へのパッチの組み込みを進めている。PowerTOP本体の開発にも力が入れられており、開発者たちの手元には、PowerTOPによる提案をボタンの押下によって実行する機能など、実装すべき機能の一覧が存在する。
| コラム:Arjan van de Ven氏へのインタビュー |
|---|
|
PowerTOPプロジェクトの詳細と同ユーティリティの機能を知るために、プロジェクトリーダーであるIntelのArjan van de Ven氏に電子メールでいくつかの質問を送り、答えてもらった。
NewsForge(以下、NF): このプロジェクトの背景について少し説明してもらえますか。 Arjan van de Ven氏(以下、AV): 現在、コンピュータの消費電力が注目されています。データセンタ向けのサーバも然り、モバイル社員向けのノートPCも然りです。Thomas Gleixner氏とIngo Molnar氏によるティックレス・アイドル機能の追加は、Linuxカーネル関係者にとって消費電力の面での重要な前進でした。 しかし、この新しい機能を我々が評価したところ、残念な結果が出ました。カーネルが1ミリ秒ごとにウェイクアップすることはなかったのですが、ユーザ空間がそうなっていたのです。こうした頻繁なウェイクアップにより、Linuxは我々Intelのハードウェア専門家が自社製品に追加したこの先進の電力節減機能を十分に活用できず、私自身のLinuxノートPCでもバッテリの持続時間が減ってしまいました。そこで、Linuxでも電力を節減できるようにしようとする個人的な意欲が湧いてきたのです。 NF: プロジェクトの目的は何でしょうか。見たところ、PowerTOPユーティリティの開発と、電力節減のためのアプリケーション用パッチの作成に分かれているように思えますが。 AV: 主たる目的はLinuxの消費電力を減らすこと、つまり、コンピュータの持つ省電力機能をLinuxが最大限に活用できるようにすることです。ただし、この目的はIntel単独では達成できません。広範囲にわたるLinuxコミュニティの協力が必要です。各機能の修正版やパッチの提供も目的の1つですが、これは我々がずっと以前から続けてきて現在も行っていることです。PowerTOPに関しては、開発者が自分のセットアップ環境上の問題をすばやく把握して修正できるようなツールを用意しています。我々は今後もこのツールの利用を続けるので、他のプロジェクト向けのパッチはこのツールによって提供されます。 NF: コミュニティの参加を求めていますか。また、ユーザが貢献できるのはどんな分野でしょうか。 AV: もちろん、コミュニティの参加を求めています。既にIRCチャンネル(irc.oftc.netの#powertop)ではこうしたことが行われています。普通は30~50名の人々がいて、各種アイデア、問題を修正するためのパッチ、PowerTOPのバグレポートをやりとりしています。こうした活動をしている人々のうち数名は、PowerTOP内のバグを修正するパッチも提供してくれています。開発者はさまざまなオープンソースプロジェクトで見つかった問題を修正するパッチを提供し、エンドユーザは自分のマシンでの動作状況を報告したり、そこでわかったチューニング可能な対象について情報交換をしたりしているわけです。良い結果を生み出す優れたアイデアがあれば、他の人々のシステムでも利用できるようにWebサイトに掲載しています。 また、私はさまざまなオープンソースプロジェクトが各自のソフトウェアのチェックと修正にPowerTOPを使い始めることを期待しています(KDEとGNOMEの両プロジェクトでは、既にこうしたことが行われているようです)。 NF: 今のところ、PowerTOPプロジェクトにはドキュメントが用意されていません。メーリングリストとIRCチャンネルは存在するのですが、フォーラム、Wiki、静的なHTML文書は、準備を進めているところですか。 AV: Webサイトの更新は絶えず行っており、そこにはユーザの皆さんからの提案、ヒント、ちょっとしたテクニックの他、IRCやメーリングリストで我々に寄せられた質問に対する回答を載せています。現在、取り組んでいるのはオープンソースプロジェクトの開発者向けのページです。このページは、状況の診断方法や、各アプリケーション内に特定の構造体をコーディングする方法の共通パターンとして見られるアイデアを提供するものです。 Webサイト上のドキュメント全体は「その都度記述される」環境になっていて、掲載される情報やヒントの大半は、IRCチャンネルやメーリングリストから得られたものです。 NF: 私が集めた情報によると、PowerTOPの64ビット版が進行中とのことですが、これまで以上の機能や パッチが期待できるのでしょうか。 AV: PowerTOPは既に64ビット環境で動作しています。ただ、ティックレス機能だけがまだ主要カーネルに組み込まれていません(パッチはLKMLにあります)。本当に省電力の効果を得るには、このティックレス機能が必要です。ソフトウェアの問題はありますが、今でも64ビット環境で省電力機能を動作させることは可能です。 その先には、PowerTOPでまだ実現されていない最大の機能要求として、どのアプリケーションがディスクをビジー状態にしているかを示すという機能が存在します。我々が考えているもう1つの機能強化が、実行中にPowerTOPが「その場で」行う提案の数を増やすことです。おそらく、「この提案を実行するにはキーを押してください」といった機能も実現されるでしょう。 |
