概要

今年のLinux Kernel Developers Summitも、例年通りOTTAWAで開催。世界中から主だったカーネル開発者が集まり、次期Linuxカーネル 2.7に向けた活動に関して議論がなされた。

セッションのトピックの中心はやはりエンタープライズ用途の機能が多く、それにデスクトップ向けのセッションが幾つか用意されていた。今年のセッショントピックの驚きのひとつが、RAS Toolsが取り上げられていたことである。今までなら、このようなツールが議題になることは有りえなかったように思える。

しかし、Agendaに載っている“Imawoto”ってのはちょっと情けない響きだ。日本語名は馴染みがないので難しいらしい。

  • Monday
  • 11:30 – Hot Plug Memory and CPU
  • Session chair: Imawoto Toshiro

0日目

夕方に Meditheo という店で前夜祭のようなものがあるというので、そこに向かった。別に貸し切りでもなかったので、入り口は普通の雰囲気だったのだが、奥に通されたらすぐにわかった。去年東京でメモリホットプラグのアイデアを相談した Rusty Russell と Andrew Morton に挨拶をしてきた。

1日目

「Hot Plug Memory and CPU」セッションを担当する岩本
セッション全景

最初のセッションはスポンサーの CPU メーカー各社(Intel、AMD、IBM)がCPUやロードマップを説明するというものだった.どのメーカーも1つのCPUパッケージ内に複数のCPUコアを実装する方向に進んでおり、キャッシュの階層構造、CPU構成の検出法やCPUID の対応関係などが説明された。

今後更に多プロセッサ環境でのLinuxカーネルのスケーラビリティとNUMA的な機能が重要になっていきそうだ。

また、Intelからはハードウェアとしてのメモリホットプラグサポートの計画の説明もなされた。私の提案しているメモリホットプラグ機能と組み合わせて使われることになるかもしれない。

続くNUMAのセッションでは、discontig memory の環境でmem_map をどうするか、ACPI3.0、スケジューラードメインなどの話が雑多に行なわれた。NUMAはCPUやメモリのホットプラグともかかわってくる機能で、私達の開発動向も気にしていた。

hotplug memory and CPU のセッションでは、私達が行なった実装を簡単に説明、のはずだったのだが、勝手に議論を始められてしまってなかなか先に進まなかった。しかし概ね反応は好意的だった。ハードウェア機能によるメモリ交換だけでなく、論理パーティション機能など塔載メモリサイズを変更する用途には、ソフトウェアによるメモリ移動が必要であることを理解してもらえた。その上で、Linusからも実装に関して良い提案をもらうことができた。

2日目

2日目は Customer panel という linux を使っている側の立場から、どういうふうに使っていて何に困っているかを説明するセッションから始まった。

大規模ストレージの問題(ドライバやデバイス名の安定性)、クラッシュダンプなど障害対応の問題、カーネルの開発に追従することの困難さ、テストケースの不足などが述べられていた。

続いてClustered storageというセッションが行われた。クラスタファイルシステム各種(GFS、OCFS2、Lustre)の話とLVMをクラスタ拡張したCLVMの話を聞けると思っていたら、GFS実装の概要の話をしているだけで、セッション時間を殆ど使い切ってしまった。

kexec / fastboot セッションでは、高速なシステム再起動のための様々な提案がなされた。kexec機能を活用してBIOS(ファームウェア)の処理の省略、デバイスの初期化の並列化、検出処理の省略、rcスクリプトの並列実行などを検討している話があった。組み込みLinuxを手がけているメーカにとっては非常に興味深い話である。

次のセッションはRAS toolsであった。RASツールがLinux Kernel Developers Summitの議題にあがること自体が、時間の流れを感じさせる。今まで多くのメーカやベンダが要求しても、Linusはガンとして認めてこなかった。各種RASツールにふれたが、そのひとつとしてLinuxカーネルクラッシュ時のメモリダンプがあった。現在の信頼性のないlkcdに代わり、kexecによる方式の提案がなされた。

午前最後のセッションは kernel networking summit であった。今年から、Linuxネットワーク機能に関しては、Network Summitとして、Linux Kernel Developers Summitの直前に開かれた。USAGIメンバも参加していたとのこと。本Summitでは、その報告がなされた。Mobile IPv6、VPNなどの暗号化処理のハードウェアアクセサレータ利用、NICカードの各種オフローディング機能の活用など、数多くの項目の改善を目指していくとのこと。

2日目午後一番のセッションはAIOであった。現在のAIOコードの現状説明に続け、今後のAIO機能拡張の可能性に関して議論が行われた。ネットワークのAIOに関する実装提案があったが、ネットワークのAIO実装に対しては、否定的な意見が多く見られた。

続くmultipathセッションでは、現在バラバラとなっているマルチパスドライバとデバイスマッパを統合したいと考えていることを話していた。

virtualizationセッションでは、仮想環境一般の話がなされた。現在の単に動いているというレベルのものから本格的な仮想化を目指して色々な作業が並行して存在している。ゲストOSに割当る資源量の制御のひとつとして、CPUとメモリのホットプラグ機能も必須となるが、順調に進んでいるので期待しているとのこと。また、仮想環境の動作効率化は重要な課題であり、解決しなければならない問題が山積みである。

securityセッションでは、現在進行中の様々な取り組みに関し、それぞれの機能の方向性が示された。

最後のセッションとして、Class-Based Resource Managementが行われた。もっとFairな資源割り当ての制御を行おうとする試みである。プロセスの集合やユーザを基本クラスとして、そのクラスが利用できる各種資源(CPU、メモリ、I/Oなど)の総量を定義するという機能である。現在の提案は複雑であるため、もっと綺麗な方式がないかとの突込みがあった。

まとめ

サミットの締め括りとして、2.7の開始時期に関する話と、来年(2005年)のサミットに関する議論が行われた。早く2.7を始めたいと主張する開発者達が多い中、 Linusはいつ2.7を始めるかといことについて、具体的な回答は行わなかった。延々と同じような議論が繰り返される中、いままでのような失敗を繰り返さないためにも、2.6をキチンと仕上げてから始めたいとのLinusの意向があり、首を縦に振ることはなかった。

また、来年度の開催地や開催方法についても議論がなされた。ヨーロッパやオーストラリアでの開催はどうだろう?といった話もあったが、やはり世界中の開発者が集りやすいOTTWAで開催されることになりそうだ。また今年はカーネルサミットと別にネットワークサミットを開催し上手くいった実績から、来年度は同様にデスクトップサミットを併設することになるかもしれない。