The Linux Home Page at Linux Online |
UbuntuなどLinuxカーネルを採用したOSをワークステーション/デスクトップ用途で使っている場合、並列度の高いカーネルビルドを実行するなどすると、ほかのアプリケーションのインタラクティブ性が低下することが知られていた。カーネルの開発者など、頻繁に並列度の高いビルドを実行する場合など、ビルド中にインタラクティブ性が低下してもっさりした印象を受けるという問題があった。
この問題は、次のUbuntuでは解消される可能性がある。Linus Torvalds氏はこの問題に対処する方法として、TTYごとにタスクグループを自動的に作成してスケジューリングに利用する方法を提案。Mike Galbraith氏がこれを実現するパッチを作成。ユニファイ形式のdiffで380行ほどのパッチだが、その効果は絶大だとLinus Torvalds氏が絶賛している。パッチとMike Galbraith氏のコメント、Linus Torvalds氏のコメントは次のメールに掲載されている。
- 'Re: [RFC/RFT PATCH v3] sched: automated per tty task groups' - MARC
- 'Re: [RFC/RFT PATCH v3] sched: automated per tty task groups' - MARC
パッチを適用しない場合と、適用した場合の動作の違いがPhoronixにおいて動画で掲載されている。glxgearsの動作がパッチが適用された方がスムーズに動作するようになること、スタベーションが発生して処理が追いついていないないウィンドウが少なくなっていること、動画がスムーズに表示されるようになることなどが確認できる。
Linus Torvalds氏が試したのはmake -j64でカーネルを並列ビルドしている間にWebブラウザでメールをチェックしたりスクロールしたりというもの。インタラクティブパフォーマンスが著しく改善されていると評価している。印象としてはまるで新しいPCを手に入れたようだと表現している。
make -j64といったビルドや同様の負荷状態を日常的に体験しているユーザとなると、Linuxカーネル開発者か、あるいはコンパイルを必要とするある程度の大きさのソフトウェアを開発または移植している開発者、CPU処理に特化した科学技術計算を実施する研究者などに限られてくるとみられる。インタラクティブ性はCPUスケジューラ以外にもIOスケジュールやグラフィックドライバなども関連してくるので、このパッチが多くのユーザにとってすぐに体感できる効果を出すとは限らない。しかし、メールに掲載されているような状況では高いインタラクティブ性を実現するのは間違いないようだ。パッチもTTYごとのタスクグループを自動作成するというシンプルなもので取り込みやすい。
Ubuntuは次期メジャーリリースとなるUbuntu 11.04で新しいウィンドウシステムWaylandの導入を目指している。今回Linus Torvalds氏が高く評価したパッチが取り込まれることになれば、ライトウェイトな利用ではなく特定の高負荷時という状況で効いてくることになるが、デスクトップOSとしての俊敏性がさらに引き上がる可能性がある。