本を読む

読書やコンピュータなどに関するメモ

第5回The Linux Foundation Symposium

 Linux(カーネル)の大物を海外から招くセミナーイベント第5回The Linux Foundation Symposiumに参加した。以下、覚え書き。

Linux Kernel Weather Forecast

 LWN.netの人で、「Linuxデバイスドライバ」の著者でもあるJonathan Corbet氏の講演。Linuxカーネル関連の最新動向を幅広く解説していた。

 開発者動向から始まり、Kernel 2.6.22や2.6.23の新機能を紹介。ディスクサイズの増加にファイルシステムが追随できてなくて、fsck時間の問題などもあり、chunkfsとかtilefsとかBtrfsといった分割型ファイルシステムが登場した、とかいうのも紹介されていた。

 仮想化については、Xen以外の技術も台頭してきたという話で、Lguest(a.k.a. Rustyvisor)とかKVMとかContainersとかの名前があがった。

 Trackingについて、Dtrace対抗(?)でutraceとかSystem Tapとかが説明されていた。

 あとは、Tickless kernelが電源管理や仮想化で有効とか、無線LAN/ビデオドライバーの開発体制とか、GPLv3とかも紹介された。

 ちなみに、後で立ち話で聞いたところによると、LWN.netは4人で作っているとのことでびっくり。「LKMLのメッセージを全部読んでるのですか?」と聞いたら、「そりゃ無理。トピック単位で追っている」と答えてくれた。

Resource Control and Isolation Adding Generic Process Containers th the Linux Kernal

 GoogleのPaul Menage氏が、ライトウェイトな仮想化技術Containerのジェネリックなフレームワークを解説した。いや、私の理解のキャパを超える話だったのだけど。

 基本的には、ひとつのLinux空間で、プロセスをグルーピングしたりリソース制御するための基礎技術の話、だったと思う。あとでTomoyo Linuxの中の人が「セキュアOSのMACに近い」と書かれているのを読んで、なるほどと思った(←わかってません)。

 方向性としては、オーバーヘッドを最小限にすることと、拡張性を持たせること。ただ後者については、APIの命名規則などを考える必要があるだろうということだった。

 基本的には、VFSを利用して階層的なディレクトリの中でコンテナを管理し、サブシステムが各種リソースを管理する、という話だった、と思う。で、リファレンスカウントとかの管理のために、タスクからサブシステムを指す間にcontainer subsys stateという構造を噛ませたり、とか。その結果、基本的にはオーバーヘッドがないのだけど、container subsysのlinked listあたりではオーバーヘッドがあるとか。

 Q&Aで、Google社内でContainer技術を使っていると聞いたが?、という質問があり、「Virtualizationよりリソースの切り分けに使っている」との答えだった。

Linux Fault Injection

 午後一番のセッションは、日本から美田晃伸氏(株式会社フィックスターズ)が登場し、最近メインラインのカーネルに取り入れられたFault Injectionの機能を解説した。

 機能としては、ページアロケーションなどの「失敗」を人為的に発生させて、バグをチェックするというもの。たとえば、モジュールのロード/アンロード中のスタブアロケーションを5%の確率で失敗させたり、モジュールからのページアロケーションを1000回に1回失敗させたりして、カーネルのバグをいくつか発見したという。いやぁ、名だたるハッカーさんたちでも、エラーチェック漏れってあるもんですな。

 元はfailmallocに触発されて作り、LKMLに投稿してみたところ、Andrew MortonやAndi Kleen、Don Millsなどが改良案をくれたので反映し、メインラインへの採用に至ったとのこと。今後は、そのものの機能を複雑にするつもりはなく、テストスイートを充実するといいかと考えているとのことだった。

The Linux Foundation Collaboration Summit報告

 Anthony Liguoriのプレゼン(KVM&Xen)が、本人が来れなくなったので中止。かわりに、The Linux Foundation Japanの工内隆氏がピンチヒッターで講演した。

 内容は、6/13~16に招待制で開かれたイベント「The Linux Foundation Collaboration Summit」の報告。場所はMountain ViewのGoogle Campusで、招待制。開発コミュニティのリーダーや、ディストリビュータ、ISVなど230人以上が集まった。技術的課題、法的課題、アプリ移植性、ユーザー要件などについて議論がなされ、特に開発コミュニティーのリーダーがほぼ集まったことで技術的な進展があったという。

 トピックとしては、デバイスドライバー開発の問題、電源管理の問題、GNOMEとKDEを統合するPortland Projectの話(日本からはKDEの亀田さんが活躍)、プリンタドライバーの話、カーネルのエラーメッセージを整理する話、テスティングプロジェクトの話などが紹介された。

LSB and CGL -- Status of TLF's 2 key technical efforts

 CGL(Carrior Grade Linux)とLSB(Linux Standard Base)、OpenPrintingについて、The Linux FoundationのDan Kohn氏が紹介した。

 CGLはNTTなどNECなど日本の企業が活躍して作られたが、最近はひと段落ついた感じになっている。今後の方向性としては、4.0で終了する案、5.0の要求仕様をドキュメントにまとめる案、4.0を引き続き5.0に続ける案の3つがあり、。5.0の要求仕様をまとめる案が採用された。

 LSPについては、ディストリビューションが合意している、gccとglibcのバージョン、ディレクトリ階層の構造、用意されるライブラリなどを対象としていることを紹介。いっぽう、合意していない、3Dデスクトップ(Xgl / AIGLX)、セキュアOS(SELinux / AppAror)、インストーラ(anaconda / yast / d-i / LiveCD)などについては規定していない。その他、テスティングのキットなども紹介された。

 OpenPrintingについては、目的のひとつとして、ディストリビューションにかかわらずドライバーを使えるようにすることが紹介された。「LSB Driver Development Kit」も最近提供され、プリンタの機種を選んでダウンロードするAPIも用意されているという。11月にはOpenPrinting Meetingを日本で開催する計画もあるんだとか。

Panel discussion(柴田次一、Jonathan Corbet)

 Anthony Liguori氏がキャンセルになったためか、パネルディスカッションというよりJonathan Corbet氏のセッションPart 2という感じになった。テーマは、カーネル開発者にこれからなるための心得。

 いろいろな話があったのだけど、主なネタを箇条書きにしてみる。

  • 早めに話を出せ。早めにリリースせよ。「社内でQA(Quality Assurance)したあとにリリース」では遅い
  • パッチを投げるのに正しいMLを見つけよう。LKMLだけがパッチを投げる先じゃない
  • 複数箇所のパッチをまとめないで、1つのパッチごとにリリースしよう
  • パッチはgit bisectでregressionチェックをしよう
  • パッチはdiff -uを使おう。MIME添付はやめよう。signed-off-by行を付けよう
  • レビューアーの意見をちゃんと聞こう。レビューアーは、あなたを個人攻撃しているわけではない(はず)

 ほか、LWN.net入門の説明もあった。Dan Kohn氏(だったと思う。不詳)が会場から「LWN.netが日本語で読めたらうれしい人、手を上げて!」と言っていたけど、本当にそうなったら私はうれしい。

 Q&Aも多数寄せられた。「社内でQAしていては遅いというけど、決済とか大変なんだよねと海外のセッションでしゃべったらそこでもウケた」という意見には、「それグローバルな問題だね(笑)」という回答で、「成功例を積み重ねて見せていくしかないよね」と。「LWN.netの表現は口語的で日本人にはわからないこともある」という指摘もあって、「それは気がつかなかった。グローバルな説明は大変だ」と考え込んでいた。

 「OLS(Ottawa Linux Symposium)で日本人が増えた?」という質問には、「増えたと思う。開発者どうしでFace to Faceでビールでも飲みながら議論する機会はとてもためになるので、まだの人もぜひ参加してほしい。日本でもそういうグローバルなイベントがあるといいね」と。で、Usagi Project(IPv6スタック)の吉藤氏が会場から、「シャイにならないことが大切。英語がすばらしくなくてもいい。技術屋だったら通じる。いい技術なら、先達が翻訳/通訳をすることもできる」とエールを送って、ちょうどいい締めとなった。


 そんなこんなで楽しい一日だった。最後に、どさくさにまぎれて「Linuxデバイスドライバ」のアサマシを貼ってみる。

Linuxデバイスドライバ 第3版
ジョナサン コルベット グレッグ クローハートマン アレッサンドロ ルビーニ Jonathan Corbet Greg Kroah‐Hartman Alessandro Rubini 山崎 康宏 長原 宏治 山崎 邦子 長原 陽子
オライリージャパン (2005/10)
売り上げランキング: 16291

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/249-92dcfe3b

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad