Linuxの普及促進や標準化などを行う非営利団体「The Linux Foundation Japan」は2007年7月10日,技術者向けイベント「The Linux Foundation Japan Symposium」を開催した。5回めの開催となる今回は,Linuxカーネルの開発にかかわる技術者らが,カーネルの最新動向や,仮想化,テスト技術などについて講演した。

「LinuxカーネルはGPLv3を採用しない」と予測


写真1●LWN.net主宰 Jonathan Corbet氏
[画像のクリックで拡大表示]
 最初の講演は,Linuxの技術に関する記事で定評のあるニュース・サイト「LWN.net」主宰のJonathan Corbet氏(写真1)によるLinuxカーネルの開発動向予測である。同氏は,今後のカーネルに求められる機能をいくつか挙げた。

 まずはスケーラビリティの拡大である。

 現行のカーネルでは1024個までのプロセッサをサポートするが,この上限を4096に拡大する作業が進行中という。ただしこれを実現するには,複雑化したロック機構を見直したり,プロセッサごとに用意するデータ構造を簡素化するなどの改良を施さねばならない。例えば,メモリー・オブジェクトのキャッシュ確保に使う「SLABアロケータ」はノードやプロセッサごとにオブジェクト・キューを持っていた。このため,大規模なシステムではキューのサイズが指数的に増加してしまい,メモリーを食いつぶす可能性がある。

 この問題については,カーネル2.6.22でマージされた「SLUBアロケータ」で解消されるという。これはインタフェースはそのままに,従来のSLABアロケータを簡素化して効率化したものである。

 続いて,速度向上が少ないままで大容量化が進むハード・ディスクの現状から「新たなファイル・システムが求められている」(Corbet氏)とする。

 開発中のものとしては「chunkfs」や「tilefs」と呼ばれる仕組みを紹介した。いずれも,ファイル・システムを分割して個々の部分ごとに整合性チェックを行えるようにする仕組みである。また,新ファイル・システム「Btrfs」を紹介した。これは,米Oracle社が開発するチェックサム付きのCopy on Writeファイル・システムである。チェックサムを持つことで,整合性チェックが高速になるという。Btrfsはボリューム管理機能も持っており,米Sun Microsystems社の「ZFS」と似たファイル・システムと言える。

 ただしCorbet氏は,ZFSには一切言及しなかった。カーネル開発コミュニティの動向に詳しい同氏の口からZFSの名前が出なかったことから,LinuxカーネルへのZFS統合の動きはないと読み取れる。ZFSが採用するライセンス「CDDL」(Common Development and Distribution License)は,GPLと相容れないため統合が難しいことは従来より指摘されていた。

 Linuxカーネルのライセンスについても触れた。同氏は,先日リリースされた「GPLバージョン3」は採用されず,現行の「GPLバージョン2」が今後も採用されるだろうという見通しを示した。理由には,ライセンス変更について多数の開発者の合意を得ることの難しさを挙げた。

Googleの技術者による同社が開発・利用する「コンテナ」の解説


写真2●米Google エンジニア Paul Menage氏
[画像のクリックで拡大表示]
 続いて,米Google社の大規模クラスタ/グリッド・システムのエンジニアであるPaul Menage氏(写真2)が,仮想化機能の一種である「コンテナ」機能のカーネルへの実装について語った。コンテナは,複数の独立したユーザー空間を提供できるようにするカーネル機能である。ユーザー空間の分割だけでなく使用するリソースを制御する機能も提供する。

 コンテナ機能をLinuxカーネルに実装する方法は,これまでにもいくつか提案されてきた。提案された機能の一部にはすでにカーネルに統合されているものもあるが,個別に開発されていたもののため,データ構造や関数に重複があって無駄が多い。そこでMenage氏は汎用的なコンテナ・フレームワークを提唱し,各機能を整理することを呼びかけている。講演では,このコンテナ・フレームワークの現在の実装や課題,今後の開発計画などを紹介した。このコンテナ・フレームワークは米Google社で使われている(関連記事「“Linus氏の右腕”が語るGoogleでの仕事」)。同社では,コンテナ機能を仮想化目的ではなく,主にリソース配分を制御する目的で使用しているとのことである。