腕時計の時間をあまり気にしなくて済むようになったら,楽になるのではないか。

 Linuxの基本機能を提供するカーネルの部分に大幅な変更が加えられたのは,こうした考え方からである。Linuxの新バージョンに搭載されている「ティックレスカール」について,プログラマーたちは,同オープンソースOSの効率改善につながると期待している。これは,プロセッサの消費電力を節約することを目的とした技術だ。

 電力効率の向上はどのOSでも望まれていることである。効率改善によってバッテリの駆動時間が延長されれば,Linuxはポータブルコンピュータ分野で,Windowsに対する競争力をもつことになる。また,一般的に24時間稼働するサーバでは,増加する一方の電気料金を節約できる。

 現在進行中の開発作業はティックレスカーネルだけではない。Intelは,コンピュータのプロセッサを長時間使用して電力を消費しているソフトウェアを容易に見つけ出すソフトウェア「PowerTop」を5月にリリースしている。

 IlluminataのアナリストGordon Haff氏は省電力の取り組みについて,「非常に理にかなっている。宣伝に使われてきた最大処理能力は徐々に意味を失いつつある。一般的になりつつあるノートPCでは特にそうだ」と語っている。

 Linuxの技術が広く知られるようになるには何年もかかることがあるが,ティックレスカーネルは既にLinuxの主流になりつつある。

 Linuxの開発を指揮するLinus Torvalds氏は新しいカーネルについて,「リエンジニアリングはほぼ完了している」と述べている。高レベルのソフトウェアに関しては,PowerTopが「非常に有益で,実際に多くの人や(Linux)ディストリビューションがこれに関心を示しているため,ユーザーのアプリケーションにも確実に修正が加えられているようだ」と,同氏は加えた。

 長年カーネルのプログラミングに携わり,現在はIntelに在籍するArjan van de Ven氏によると,まだ作業は残っているが,かなりの展が見られるという。同氏は,「開発現場では現在,Linux搭載ノートPCのアイドル時の消費電力が,約3カ月前のコードベースと比較して15?25%削減されている」と語っている。

チップの省電力化

 大量に電力を消費するコンピュータのパーツはほかにもあるが,なかでもプロセッサは多くの電力を消費する(大半の場合,その消費電力は100ワットの電球1個分以上とされる)。さらに多くの電力を消費するのがコンピュータの熱を排出する冷却ファンで,これをさらに上回るのがデータセンターの空調システムだ。

 しかし近頃は,チップメーカー各社がマイクロプロセッサに対し,最高速での処理が不要な場合は消費電力を落とす仕組みを組み込んでいる。チップの内部周波数が低下すれば電圧も低下し,消費電力も減少する。

 当然,ユーザーがスタンバイモードになるようコンピュータを設定すればプロセッサが省電力モードに入る。しかし,消費電力を節約するためにできることはほかにもある。ギガヘルツレベルの周波数をもつプロセッサは,信号のサイクルが10億分の1秒以下の長さしかないため,タイピングの早い人が2つのキーを押す間でさえ,チップは何度も低消費電力モードに切り替えるというような,細かな節電もあり得るのだ。

 しかし,プロセスのスケジューリングやハードウェアとの通信といった基本的なタスクを処理するコアソフトウェアであるOSカーネルは,常に作業に追われている。1つには,やたらとカーネルをウェイクアップさせるソフトウェアの存在が挙げられる。また,動作速度を落としたりスリープすべきときに,カーネル本体がこういった対応をせずに電気を無駄にしてしまっている場合もある。

 Intelのソフトウェアは前者の問題を発見するのに役立ち,ティックレスカーネルは後者の問題を見つけるのに役立つ。

ティックレスモード

 4月にリリースされたLinuxカーネルのバージョン2.6.21では,ティックレスモードが選択できる。同カーネルは,Red Hatが個人向けに用意している無償版Linux「Fedora 7」に搭載されている。

 Van de Ven氏は,「(ティックレスモードを利用すれば)電力をかなり節約できる」と語っている。

 同氏によると,一般的なモバイルコンピュータ向けIntelプロセッサは,最高の省電力モードを用いた場合に最大1.2ワットを消費するという。Van de Ven氏は,「気をつけなくてはいけないのが,ミリ秒単位でウェイクアップを繰り返していたら,本格的な省電力モードにはほとんど入れない点だ。最終的には,ティックレスが最大の省電力モードを実現する。これにより,消費電力が大幅に節約されてバッテリ駆動時間が延びる」と語っている。

 ティックレスカーネルの下でもタイマーが利用されるが,その手法は異なる。必要な作業を定期的にチェックする代わりに,カーネルはハードウェアをスケジューリングし,必要時に割り込みをかけてもらうようにしている。

 ティックレスカーネルには,電力効率に関してもう1つ別の間接的メリットがある。それは仮想化技術が有効活用できるというもの。仮想化は,同一コンピュータ上で複数のOSを同時に実行できるようにする技術で,複数のサーバーを1台にまとめて,活用効率を上げることができる。

 ティックレスカーネルがあることで,すべてのOSの基盤にある仮想化ソフトウェアには不要な割り込みによる負担がかからなくなる。したがって,理論上は管理者がより効率的にサーバを活用できるわけだ。

 Van de Ven氏は,「仮想化のゲストが50件動作するサーバがあり,各ゲストのタイマーティックが毎秒1000回だったとしよう。何も作業をしない場合でも,タイマーティックが毎秒5万回という計算だ。ティックレスならば,1000を10程度にすることも可能で,ゲストが50件あっても対応が簡単になる」と語っている。

 LinuxハードウェアのパフォーマンスをテストするPhoronixサイトの編集者Michael Larabel氏は,Fedora 7の動作するPentium Mベースの「IBM ThinkPad R52」でティックレスカーネルを利用した場合に,消費電力を28?26ワット削減できることが分かったと述べる。

 Larabel氏は,「(プロセッサベースの)省電力技術と組み合わせれば,ティックレスカーネルにはバッテリの寿命を大幅に伸ばし,発熱を抑える大きな効果がある」と語っている。

PowerTopの活用

 高レベルソフトウェアがカーネルのウェイクアップを頻繁に要求する場合は,ティックレスカーネルのメリットが損なわれてしまう。そこで活用したいのがPowerTopだ。

 Van de Ven氏は同ソフトウェアを発表するにあたり,「一般的なLinuxディストリビューションには,たいした理由もなくプロセッサを頻繁にウェイクアップさせるコンポーネントが多い。PowerTopは,バッテリの寿命に最も悪影響を与えているソフトウェアコンポーネントを教えてくれる」と語った。

 PowerTopで詳しく調べれば,電力を無駄にする犯人を特定できる。例えばテキストディタ「gVim」テキストエディタの点滅するカーソルがカーネルをウェイクアップさせていたり,「Evolution」電子メールソフトウェアが1秒あたり10回のペースで新しいジョブをチェックしていること,またはインスタントメッセージングソフトウェア「GAIM」(現在は「Pidgin」と呼ばれている)がアイドル状態になるべきかを5秒ごとにチェックしていたりすることが,ここから分かる。

この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ

関連記事