おがさわらなるひこのオープンソースとかプログラミングとか印刷技術とか

おがさわらなるひこ @naru0ga が技術系で興味を持ったりなんだりしたことをたまーに書くブログです。最近はてなダイアリー放置しすぎて記事書くたびにはてな記法忘れるのではてなブログに移行しました。

クリエイティブ・コモンズ・ライセンス
特に断りがない場合は、本ブログの筆者によるコンテンツは クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。

第95回 カーネル読書会 The Linux Foundation Collaboration Summit 参加報告

4/30 に行われた YLUGカーネル読書会に参加してきました。

主宰の hyoshiok 様、スピーカーの鈴木さま、天野さま、大岩さま、会場ご提供いただいたミラクルリナックス様、インターネット中継にご尽力いただいたよしだ様*1、懇親会などで遊んでいただいた皆々様に感謝の言葉を。


今回のテーマである The Linux Foundation Collaboration Summit というのは Linux の標準化・公報・支援を行う任意団体である The Linux Foundation (以下 TLF) という団体が関係者を一同に集めて行うイベントであって、TLF のイベントではあるけど参加希望出せば Reject されることはまずない、比較的オープンではある、TLF のメンバーに限らない (Gnome とかの開発コミュニティの人とか) 割と自由なイベントです。
私は2007年、TLF が発足した初めての Collaboration Summit (会場は Mountain View の Google 本社でした) に行ったことがあります。今年の会場は San Francisco のジャパンタウンにある Kabuki Hotel、スポンサーカンパニーは IntelGoogle だったそうです。

前述のお三方は主にカーネルまわりのお仕事をされているのかな? という感じですので今回のカーネル読書会は主にカーネルまわりの動きの報告という形になりましたが、それ以外にも LSB (Linux Standards Base) や DAM (Desktop Architect Meeting)、そして一応 Printing のセッションもあるはずです。

開始前トーク

宣伝したってしょうがないのですが、なんか特にみんな話すネタがないようなので不肖ワタクシメがなんとなく手をあげてみました。
だってお題が Collaboration Summit なのに、印刷の部会があるなんてことを知らないで帰っていただくなんてもったいないことできないじゃん。
ということで OpenPrinting の活動内容など。

とはいえプレゼンの準備なんかしてるわけなかったので、OpenPrinting.org のサイトから Summit の Agenda ページに飛んで、その内容をさらっと舐めただけです。Common Printing Dialog (d:id:naruoga:20081122:1227319637 で前に紹介しました) の概念とか Printer Validation の話とかね。

ちゃんとプレゼン資料作っていけばよかったと思う半面、ゼロよりイチにすることが大事なんだから、まあいっかなと。


お次は The Linux Foundation Japan の小薗井さんから秋の Linux Symposium Tokyo / Kernel Summit Tokyo のボランティア募集のお願い。
有休使いきってる身としてはムリだけど、週末だけでも一緒できれば楽しそうだなぁ。でもオレカーネル屋さんには縁がないのよね。

鈴木さんパート

  • The Linux Foundation と Collaboration Summit とはなんぞや、という紹介を写真入りで説明。
  • 詳しくは ITPro の現地レポート (初日 二日目 三日目) を読むとよいでしょう。
    • この記事、現地速報とのことで、毎日英語のプレゼン聞いて記事になるレベルまで噛み砕いてメモに落としてレセプションで酒飲んだ後記事書いて発送するというのは非常にしんどかったそうな。
  • 鈴木さんは Linux Weather Forecast のセッションと Moblin のセッションにちょっとだけ参加したそうな。
    • LWF のセッションは非常に面白かったけどガラガラだったとか。
Q
盛り上がっていたセッションは?
A
感覚だと、次のあたりではないか?
  • FileSystem
  • Tracing (デバッグや性能測定などのためにシステムコールをフックしていろいろなことをする仕組み)*2
  • Moblin
  • Device Driver Backport
    • デバドラを古いカーネルに突っ込んだり動的ロードする仕組みじゃなかったかな? NovellRed Hat が推進しているそうな。
Q
前説で、TLF はメンバーに企業が多いので企業色が強いというのがあったと思うが、例えば TLF のフェローなどを除いて、一般のカーネル開発者は来ていなかったのか?*3
A
そもそも今の Linux Kernel のコントリビュータは7割が企業の人間なので、一般のカーネル開発者、という存在自体が少ない。
Q
今回は同じ日程で ELC (Embedded Linux Conference) があったはずだが、相互交流などはあったのか?
A
会期が1日だけ被っていたので、ELC からこちらのセッションに参加する人などいた。

天野さんパート

  • 基本的には Moblin な人
  • だから LFCS も Moblin のセッションのために参加
Moblin について
  • Intel が Mobile PC (MID / Netbook) のための Linux を作ろうと立ち上げたプロジェクト
  • 今は TLF に移管された
  • 穿った見方をすれば「ATOM 強化プロジェクトでしょ」とも言われるけど、一応コアメンバー的には「ARM の実装とか誰かが書いたら取り込むつもりはあるよ」だそうな
  • 主要メンバーは Intel OTC (Open Source Technology Center) 所属。
Moblin の歴史
  • '07/07: Moblin v1 Ubuntu ベース
  • '08/08: Moblin v2 alpha Fedora からの派生
    • Fedora ベースのディストリではなく、新たな派生ディストリを作るということらしい
    • パッケージシステムが dpkg/APT から rpm/YUM に移行*4
今回のセッションで面白かったトピック

すみません、ここ全部聞き取れてないと思います。YLUG の資料ページで公開されている資料を見た方がいいかも。

  • REST によるプロセス間通信*5
  • Connection Manager
    • 今の Network Manager の置き換え
    • もう Network Manager の設計は限界に来ているので、プラグイン形式を導入して新規に書き直した
    • まだ未完成な部分もあるがかなり動くところまで来ている
    • レポジトリはなぜか kernel.org にある*6
  • Clutter: OpenGL を使った GUI アニメライブラリ
  • Moblin Complient: デバイスやディストリを Moblin 対応として謳うための標準
    • 機能要件だけでなく、性能要件も含まれる
    • LSB とも多分カバーする関係にあるだろう
Q
Connection Manager は Network Manager の置き換えとしてかなり有望だと思うが、Moblin から一般のプロジェクトにフィードバックする予定などは?
A
聞いていないが、レポジトリが kernel.org にあるということはそういう理由もあるのかも。

大岩さんパート

大岩さんは Green IT のお話で自らもスピーカーをされたそうな。

  • Green IT = (Green by IT) + (Green of IT)
    • Green by IT: IT によってエコロジー
      • 例えば環境に対するeラーニング、リサイクルの促進、などなど
    • Green fo IT: IT そのもののエコロジー
      • 例えば省電力化などなど
    • 以下は主に Green of IT のお話
  • データセンタの場合 (参考 URL: NEC Real IT Cool Plaza)
    • 建物のレベルで排熱処理などを検討する必要がある
    • エアコンの過剰利用を避けるために水冷の導入
    • 電源の直流化(AC-DC変換時の排熱を防ぐ)
  • 一方デスクトップLinuxについてはカーネルレベルで必要な道具立てはだいたいそろっている
    • すでに実装されている省電力機能を活用することが重要!*7
    • 一つの方法:ARP 応答などで省電力状態にあるPCを起こさないよう、Proxyや無線LANのAPなどが代わりに回答してあげる
  • Idle CPU Power Management
    • Intel の CPU の場合、コアごとに電力供給を止められることを利用し、次のような戦略で省電力動作を行う。(■はCPU負荷)


  • PowerTop
    • CPU を一番起こしている (= 電気を食っている) プロセスを検知して改善するものを見つける試み
  • デバイスの省電力
    • なかなか効果を open にしているところがない。==> なぜ?
      • IPA から採択事業で計測してみた。
      • 結果は LFCS のページにあるでしょう。探してみましょう。
  • ネットワークの省電力化
    • サーバルームのすべてのPCのNICが生きているわけじゃない!*8
    • ケーブルが抜けてるPCや ifdown したときの電力消費を調べたら面白いのでは?
  • e1000/e1000e は賢いのでケーブルが抜けていると電力が落ちる。*9
  • e100 はそういう処理が入っていないのでドライバにパッチを当ててみたがうまく行かない
    • ケーブルの挿抜をポーリングして処理してみたが、挿抜を監視する処理で電力を大幅に消費してしまう*10
  • ifdown はデフォルトでは省電力にならないが、パッチは意図したどおりに働いた。
    • データセンタなどで ifdown することはないだろうが、例えば組み込み商品(テレビなど)でネット接続機能を使わない時には ifdown するというのも戦略としてありだと思う。

この話はかなり盛り上がり、PC側だけでなく Switch なんかの省電力も視野に入れたらどうか、などといった意見も出てました。CISCO の商品なんか今だいたい Linux ベースだからこういう話も生きてくるかも。

懇親会

いい加減書きすぎた気がするのでさらっと。

関数型でブイブイ言わせてる H さんが、Prolog の話をしたいっていうので呼ばれて行ってみた。
ぶっちゃけ Prolog の弱みは ISO Prolog の範囲が小さいこと、だから面白い処理はみんな処理系依存になっちゃうこと、そしてコレという処理系がないこと(競争がないからね)なんだよなーと愚痴ってみた。

んで逆に関数型言語の各種萌えポイントを聞いてみた。

  • Common Lisp
    • 処理系がすごい。C と遜色ない速度のプログラムを作れる。
  • Standard ML, Caml, OCaml
    • オイラはもっと純粋関数型言語なのかと思ってたら、「いや ML のポイントは非関数型なことですよ。決定的じゃなかったら ML じゃないってぐらい」
  • Haskell
    • 遅延評価は面白いけど、性能は出ないよね。

そこから CLOS の話して、Eiffel の話して。
私も聞きかじりなだけど CLOS ってオブジェクトとメソッドが1対1じゃないんだってさ。だから「ふたつのオブジェクトが揃ったときに呼ばれるメソッド」とか書ける。ある意味 Java とかのオブジェクト指向しかやったことがない人にはあの概念は強烈だよね、って話をしてたら、横で聞いてた kazuho さんが「Eiffel でも似たような概念ありますよね〜」って。
なんなんだこの叡智の塊は。わけわからん。
うーん CLOS と Eiffel も勉強したいなぁ。

その後二次会回って、その途中に kazuho さんのチャリンコを見せてもらって羨ましがったりして、あと新宿に場所を移して三次会、四次会カラオケ、んでマクドでコーヒー飲んで帰って来ました。若くないんだから朝まで遊ぶのは止めよう……。


ともかくみなさんおつかれさまでした!

*1:最初なぜか LIND 様と書いてましたが、hyoshiok さんにご指摘いただきました。なんか脳内イメージが似てるんですよねえ。それぞれ別の方と認識してるのに。言い訳はともかく御両名には失礼致しました。

*2:ここで hyoshiok さんが「詳細は Debug Hacks に書いてあります」とさりげなく宣伝していた。

*3:これは私の質問です。そもそも Printing だと「コミュニティにまったく人がいない」ってのが現状なので、カーネルってどうなのかなって。

*4:個人的には dpkg/APT の方がパッケージシステムとして筋がいいと思っているのでなぜ乗り換えたか聞いてみたら、天野さん曰く「私個人もそう思うしそういう声はあるけれど、Intel の決定なのでどうしようもない」だそうで。

*5:なんか今更間が漂う話だなぁって思ったのは私だけ? REST って XML でネットワーク越しに通信するけど SOAP みたいにスキーマ厳密に決めないでやるって話ですよね?

*6:Moblin 以外にも展開する予定があるのかな、とおもったら、Moblin の事業Intel から TLF に移行するときに moblin.org のレポジトリが不安定だったのでここに置いたんだとか。

*7:ここ、「なぜ活用されてないんでしょう?」と質問したかったんだけど時間切れで聞けなかった。残念。

*8:ここサーバの実運用に詳しくない私には、NICが抜けててかつ動いているPCがサーバルームにいる意味がそもそも分からないのですが、誰もそこについて質問していなかったところを見ると普通のことなんでしょう。

*9:これは、e1000/e1000e はコントローラハードウェアの消費電力がバカにならないので、ハード的にケーブルを抜いたときに電源を落とすようになっているそうな。

*10:これは挿抜検知のために電気を食ってしまうからで、挿抜を割り込みで受けてそれをどこかにプールして、それをポーリングで見ればいいんじゃないか、という議論がありました。