12月3日、Linuxの新しいカーネルLinux 2.6.32がリリースされた。約3ヵ月ぶりのアップグレードとなる新カーネル、数多くの変更/改良が実施されているが、ここでは今後出てくるディストリビューション、とくにデスクトップ環境にとって重要になってくると思われる「CFQスケジューラ」の新機能について着目してみたい。
LinuxカーネルのI/Oスケジューラにはいくつかのアルゴリズムが採用されており、目的によって選択することが可能だが、最近のカーネルではCFQスケジューラがデフォルトに設定されている。CFQとは"Completely Fair Queuing"の略で、いったんI/O要求をキューに蓄積し、優先度に従って処理を実行するしくみ。2.6.32ではこのCFQスケジューラに"ローレイテンシ(low_latency)モード"が提供され、デフォルトでONとなっている。
CFQ開発者のJens Axboe氏によれば、このローレイテンシモードがONになっていると、デスクトップ環境で動画や音楽など容量の大きいデータを再生する際、非常にスムースに実行することが可能になるという。これは、バックグラウンドで実行されている他のI/Oプロセスに実効が邪魔されることを減らすためで、たとえばハードウェアデバイスから同期的なI/O要求があっても、アイドル状態にして可能な限り"放って"おくのだ。
非同期なI/O要求の場合も、ゆっくりとプロセスが実行されるため、デスクトップアプリケーションに及ぼす影響が少なくなるというわけだ。もちろん、このモードをONにするとシステム全体のパフォーマンスに大きな影響を及ぼすため、Axboe氏はスループットが重要なサーバ用途などではOFFにしておいたほうがよいとしている。
Linuxユーザの間口を広げようと、初心者にも使いやすいLinuxディストリビューションがいろいろ登場しているが、やはり一般ユーザに訴求するにはデスクトップアプリケーションが快適に使えることが重要になる。とくにインタラクティブな動画や音楽がストレスなく楽しめることは、一般ユーザにとっては譲りたくない条件だ。そういった意味で今回のCFQスケジューラの改良は、Linuxユーザの拡大にひと役買う可能性が高いといえるかもしれない。