【LinuxCon 2日目レポート】新UI「GNOME Shell」や「Ubuntu Unity」、高機能ファイルシステムBtrfsなどを解説

名物コーナー「Kernel Developer Panel」もレポート


 Linuxの開発者が集まる世界的な技術カンファレンス「LinuxCon Japan Tokyo 2011」が6月1日から3日まで開催されている。2日目の6月2日にも、パネルディスカッション「Kernel Developer Panel」をはじめ、20以上のテクニカルセッションが開かれた。

 

カーネルへマージされる新機能について議論

 「Kernel Developer Panel」は、著名カーネル開発者たちが壇上に上り、最近のLinuxカーネル事情について、くつろいだ雰囲気で語りあう名物パネルディスカッションだ。今回も、Red HatのLennart Poettering氏による司会のもと、Jon Corbet氏、Greg K-H氏、Christoph Hellwig氏、Ted Ts'o氏が、時にユーモラスに、時にシビアに、会場をまじえてトークした。

 最初の話題は、最近メインラインのカーネルにマージされるようになったいくつかのプロジェクトについて。Greg K-H氏がperfをうまくいった例として挙げると、Hellwig氏は「ツールとしてはいいが、カーネルに入れると作業が増えて正直面倒」とコメント。そこからカーネルのAPIの互換性や安定性をいかに保証するかの論議となり、Greg K-H氏が「私はユーザープロセスを壊すことで有名」と苦笑。Ts'o氏は「みな失敗して学んだ。ライブラリで吸収すれば変更の影響はない」と語った。

 また、POSIX規格にないLinux固有のカーネル機能をアプリケーションが使うことの是非については、「移植性のないソフトはいらつく。固有の機能はいらない」「じゃあudevのホットプラグもinotifyによるファイル更新通知も使わないのか」といった議論から、用途によって事情が異なるという話に進行。さらに、電源管理やQoSなどは、用途やハードウェアによって、管理するのがハードウェアだったりカーネルだったりアプリケーションだったりするので、インターフェイスのデザインの問題でもあるとの指摘もあった。

 cgroups機能については、カーネル開発者や利用者の間では不要論も多いようで、「オーバーヘッドが0でないなら認められない」という極端な声も紹介された。Corbet氏が「後から入った機能なので、できるだけほかに影響を与えないように既存のサブシステムと重複した機能を持っているのが構造としてよくない。いまそうした個所がクリーンアップされているところ」と解説する一方、Hellwig氏は「インターフェイスが変。同じくインターフェイスが変なSysV IPCが使われ続けた過ちを繰り返すことはない」とツッコみ、そこからかんかんがくがくの議論がくり広げられた。

 会場からは、標準カーネルでノートPCのファンクションキーやファン制御などのハードウェア固有機能がサポートされないことも多いことについて意見を求める質問も出た。そこからLinuxカーネルが常に抱えるドライバーサポートの問題となり、Greg K-H氏は「最近のLinuxはよくサポートできているし、USB 3.0もWindowsより先にサポートしている。ただ、サポート数が多くても自分のPCがサポートされてないから問題になるんだけど」と語った。

 デバイスの問題としては、さらに組み込みLinuxの話に発展した。Ts'o氏は「PCではデバイスを認識する機能があるが、組み込み機器では搭載しているデバイスの情報をソースコードにハードコーディングしていたりする」という問題を指摘。さらに話題はAndroidのコードのメインラインカーネルへのマージに及び、会場のカーネル開発者を巻き込んで論争が盛り上がる中、時間が来てパネルディスカッションが終了した。

左から、Ted Ts'o氏、Christoph Hellwig氏、Greg K-H氏、Jon Corbet氏司会のLennart Poettering氏

 

Qualcommがモバイルデバイスとオープンソース技術との関係を説明

 2日目の基調講演には、QualcommのMark Charlebois氏と、LinaroのDavid Rusling氏が登壇した。

 Mark Charlebois氏は、「Demand for Mobility Drives Open Source Innovation」と題して、モバイルデバイスの普及と発展、そこに使われるオープンソース技術について語った。

 Charlebois氏は、現代がモバイル中心の時代となっていることを、さまざまな数字を上げて説明。データ通信量や機能が速いサイクルで成長していることを示した。

 そして、モバイル機器の現状として、オープンソースと独自仕様が混在していると説明。また、HTML5によるWeb技術がネイティブアプリケーションに近づいてきていることや、P2Pの可能性などについて説明した。さらに、コンパイラ基盤のLLVMに可能性を感じると語った。

 Charlebois氏は最後に、同社の取り組むP2P技術「AllJoyn」について説明するビデオを上映した。友人3人がそれぞれNexus OneとNokia N900、ノートPCを持ち、物理的に近くに集まるとP2P技術によっていっしょにゲームができるという様子を説明。「Qualcommはこれからもこういうエクスペリエンスを開発者に提供していきたい」と語った。

QualcommのMark Charlebois氏P2P技術「AllJoyn」について説明するビデオ

 David Rusling氏は、「Linaro: One Year On」と題して、Linaroと、開始して1年の歩みを紹介した。

 LinaroはARMアーキテクチャ上のLinux開発のためのプラットフォームで、非営利組織が2010年6月に設立された。ARMやフリースケール、TI、IBM、サムスンなどの企業が参加している。Rusling氏によると「シリコンとソフトウェアの間に立つ」というコンセプトだという。

 歩みとしては、最初の6カ月間はチームを作り、ツールチェーンとカーネルに焦点を当てて開発。次の6カ月にはグラフィックとマルチメディアのチームを追加して、より難しく長期的な問題に取り組んだと紹介された。

 この先の取り組みとしては、低価格の組み込みボードや、ブートのアーキテクチャ、メモリ管理などの予定が語られた。また、Linux 3.0でARMアーキテクチャのサブアーキテクチャの集約作業が始めたことなども紹介された。

 最後に、ここまでで学んだこととして、新しいエンジニア会社を作るのは大変なことと、それまでARMではコラボレーションできないと言われていたができたことの2つを挙げ、「オープンソースはすばらしい」と語って話を締めくくった。

David Rusling氏(Linaro)Linaroの位置づけ

 

モバイルシステムの電力消費、カーネルでの省電力効果は大きくない?

 2日目には、「Current Work in File Systems」と題して、ファイルシステムに関連したパネルディスカッションも開かれた。Red HatのRic Wheeler氏の司会のもと、SCSIサブシステムのメインテナーのJames Bottomley氏(Parallels)、Virtualization Mini-Summitを担当するFernando Luis Vazquez Cao氏(NTT OSSセンタ)、Btrfsの開発者であるChris Mason氏(Oracle)が議論した。

 4月にサンフランシスコで開かれた「Linux Storage and Filesystem Summit 2011」についての話から始まり、Bottomley氏は、ファイルシステムとストレージ、メモリという異なるサブシステムの間で議論して合意がなされたと回答。Chris Mason氏も、異なるサブシステムの人と議論することでBtrfsが改善に向かったことを挙げた。また、Cao氏は、cgroupsをカーネルの一級市民としてあつかうべきだと合意がとれたと語った。

 高速なSSDの時代のファイルシステムについては、特に重点を置いて議論がなされた。James Bottomley氏が「速度の基準はスループットからIOPs(秒あたりのI/O数)に」と語り、I/Oスケジューラや並列性などの論点について互いに語られた。

 また、仮想化環境についても話題に上がり、I/Oスケジューリングを誰がやるかの問題や、並列なI/Oがext3/4などのジャーナリングで直列化されてしまう問題などについても議論された。

 会場からは、モバイルデバイスなどでのストレージの電力消費についての意見も求められた。それに対しJames Bottomley氏は、電力消費については電源管理のサブシステムが担っていると説明し、しかしハードウェアの挙動によるものが大きく、カーネルでもコントロールしようとしているが効果は大きくないだろうと答えた。

左から、Chris Mason氏(Oracle)、Fernando Luis Vazquez Cao氏(NTT OSSセンタ)、James Bottomley氏(Parallels)司会のRic Wheeler氏(Red Hat)

 

高機能ファイルシステムBtrfsの持つ優位性

 2日目も、午後には5つの部屋に分かれて個別のテクニカルセッションが開かれた。

 新しい高機能ファイルシステムBtrfsの開発者であるChris Mason氏(Oracle)は、Btrfsについて性能面を中心に解説した。Btrfsは、スナップショットやオンラインリサイズ、RAIDに相当するマルチデバイス、透過的な圧縮、SSDのサポートなどの特徴を持ち、SolarisやFreeBSDのZFSに似た機能を備えたファイルシステムだ。

 Mason氏は、ファイル作成やIOPs(秒あたりのI/O数)のベンチマークデータを示してBtrfsの優位性を主張。さらに、書き込みがシーケンシャルになることをディスクのヘッドの移動軌跡を見せるツールで示した。また、ファイルシステムの整合性を検査するscrub機能もデモした。これからの予定としては、ファイルシステム修復ツールを最優先課題として挙げたほか、高いIOPs性能を持つハイエンドSSDなどの活用や、階層ストレージ、重複排除などが語られた。

Chris Mason氏(Oracle)ファイルシステムごとのIOPs性能
Btrfsでの書き込みがシーケンシャルになることを示すデモscrub機能のデモ

 カーネルメンテナーの1人であるTed Ts'o氏(Google)は、「Scaling the Linux Kernel (Revisited): Using Ext4 as a Case Study」と題し、マルチCPUのスケーラビリティにおいてよくロック競合によるボトルネックが問題になることを、ext4ファイルシステムでの改善を例に解説した。Ts'o氏はまず、2001年のマルチCPUがハイエンドサーバーぐらいにしかなかったころから、マルチコアがあたりまえになった現在までのLinuxのSMP対応の流れを紹介した。

 そのうえでext4でのボトルネックの事例を解説。2010年4月に、プリエンプティブなリアルタイムカーネルのオプションを有効にしたカーネルでベンチマークをとるとext4のスピンロックが90.01%の時間を使っていることが発見された話から、ロック競合をなくすためのいくつかのパッチによって改善されていく過程を説明した。そして、カーネル技術者もアプリケーション開発者もSMPでは気をつけよう、特にスピンロックには注意しよう、とまとめた。

Ted Ts'o氏(Google)スピンロックがほとんどの時間を使っている様子
最終結果

大きく変わったユーザーインターフェイス「GNOME Shell」と「Unity」

 LinuxCon Japanでは、Linuxカーネルだけではなく、ユーザーランド(カーネルの制御下で動く一般のプログラム)に関するセッションも開かれている。

 GNOME FoundationのTobias Mueller氏は、Linuxなどで広く使われているデスクトップ環境「GNOME」の最新版「GNOME 3」について、大きく変わったユーザーインターフェイス「GNOME Shell」を紹介した。

Tobias Mueller氏(GNOME Foundation)画面左上をクリックするかSuperキーを押すと、メニューではなくランチャーが表示される
ランチャーのほか、画面上部をクリックして画面内でアプリケーションやウィンドウを一覧することもできる
複数の仮想デスクトップ(画面右)上でアプリケーションを実行できるほか、ドラッグ&ドロップでアプリケーションを移すこともできるJavaScriptによるプラグインでユーザーインターフェイスを拡張できる

 Linuxディストリビューション「Ubuntu」をリリースしているCanonicalのZhengpeng Hou氏は、GNOME Shellと同様に従来のGNOMEのユーザーインターフェイスを置きかえる「Unity」を紹介した。UnityはUbuntuの最新バージョンであるUbuntu 11.04から標準のユーザーインターフェイスとして採用されている。

Zhengpeng Hou氏(Canonical)Unityでの標準画面。画面の左にランチャーが表示される
複数の仮想デスクトップを切り替えられ、一覧表示もできる
画面左上をクリックするかSuperキーを押すと「Dash」が開き、アプリケーションやファイルなどを探して開けるGNOMEパネル(画面上端のバー)を再デザインし、すっきりさせた。写真はGNOMEパネル上のアイコンから音楽再生をコントロールしているところ
システム設定も、シャットダウンと同じメニューにまとめられたUnityの構成
関連情報