【LinuxCon Japan/Tokyo 2010】参加レポート(Saori) | サイバーエージェント 公式エンジニアブログ
こんにちは。インフラエンジニアの卵、新卒2年目のsaoriです。
先月末に開かれたLinuxCon Japan/Tokyoに業務の一環として参加させていただいたので、その会の雰囲気や、私が聞いた講義の中でおもしろかったものをいくつかご紹介させていただきたいと思います。

LinuxConとはなんぞや、というと、

The premier Linux conference for the Asia Pacific Linux community, gathering developers for education and collaboration.
(アジア・パシフィックのlinuxの開発者集まれー。みんなで話そうよ。ってことだと思います。)


大学では文系専攻で考古学やら人類学ばっかりやっており、インフラエンジニアリングとは1年半前に「初めまして」をした私ですが、そんな私がLinuxConに参加して全体を通して感じたことをざっくりと。

1. オープンな雰囲気
   外国人参加者が醸し出すオーラと匂いのせいかと。オープンソースってのももちろんありますよね。
2. B2Cからの参加者が少なめ
   ラフな格好で参加してるのって外国人か弊社の参加者ぐらいでした。
3. 女がいない
   2日間参加しましたが、女性は3人ぐらいしか見かけませんでした。私服で女の私は会場でめちゃくちゃ浮いてました。。。
4. 若い人が少ない
   平均年齢30前半ぐらいでした(見た目で判断ですが)。20代の人はこのようなカンファレンスにあまり興味がないのでしょうか。
5. 表面的なことしか話さない講義が多かった。
   半分くらいが日本人のスピーカーだったのですが、言葉の壁もあったとは思いますが、残念なことに表面的なことだけで終わってしまう講義が多かったような気がします。

会場の雰囲気を写真でも共有します。

サイバーエージェント 公式エンジニアブログ-ペンギン
受付にて。講義のスケジュールが張り出されてます。後ろのペンギンさんが気になるところです。

サイバーエージェント 公式エンジニアブログ-かんだん
待合室にて。ここで他の参加者との交流があったりします。コーヒーや日本のお菓子としてうまい棒が配られてました。女性が見当たりません。

$サイバーエージェント 公式エンジニアブログ-ぱねる
Kernel maintainerのJames Bottomley氏、Christoph Hellwig氏、Jon Corbet氏、Greg K-H氏、Peter Zijlstra氏によるパネルディスカッション。



では次に参加した講義についてご紹介いたします。

■10+ Years of Linux at IBM by Dan Frye, Vice President at IBM
 IBMのlinuxでの取り組みの歴史を失敗や学びで追っていくセッションでした。細かく何年に何をしたまで話していただいたのですが、ここでは割愛します。
 全体の話を通して、一番苦労したのはlinuxのcommunityにどう参加していくか、でした。
 そこでFrye氏が繰り返しおっしゃっていたのが、
 "Don't assume you can control the open source process and community."
「linuxコミュニティーをコントロールしようとするのではなく、一参加者として共に開発していく意識でないといけない。」
 ということですね。

■Ftrace - The Linux Kernel Tracer by Steven Rostedt, Red Hat
※ 私のつたない翻訳力で訳すとよくないと思い、あえてスライドや話をメモしたものを訳さず載せます。
 What's Ftrace
  -traces the internal operations of the kernel
 Static tracepoints within the kernel (event tracing)
 Dynamic kernel function tracing
  - can pick and choose what functions to trace
  - can call graphs
 Latency traces
  - how long interrupts are disabled
 Wake up latency
  - how long it takes a process to run, after it is waken
 acceptable globs
  only march*,*march,*march*
 trace command
  -extract -o file
  -stop ( "stop" doesn't stop the overhead of trace)
  -split ( split by time,events,CPU)
  -listen (listen for connections from other boxes)
 Kernel Shark
  front end reader of ftrace, analyzer of the results of tracer
  strongly recommended, for it is graphical and easy to manage the result of tracer

 ここでは紹介できないですが、ftraceの各機能で(event tracingやlatency traces)結果がどのように見えるかを実際にデモしていただき大変興味深かったです。
 最後に紹介してくれたKernel Sharkは地味なtracingの作業を効率よくだけではなく楽しくしてくれそうなツールでした。
 実際に趣味程度に使ってみて、いずれはアメーバサービスの最適化に利用できたら面白いなあと思います。

■ Linux Kernel Panel by James Bottomley,Jon Corbet,Greg Kroah-Hartman,Peter Zijlstra,Christoph Hellwig
 前半で写真でも紹介しましたが、会場でも一番大きなセミナー室で行われたkernelメンテナーによるパネルディスカッションです。
 基本オーディエンスからの質問に答えていく形式でしたが、あまり深い質問はされなかったように思います。(特に日本人からは)
 大体は「kernal developerになるにはどうしたらいいですか」や「communityに入りにくいのですが、どうしたらいいですか。」など。
 で、答えは決まって「言葉の壁なんて気にするな。やりたいなら飛び込め!」という感じ。
 最後の方はパネラーの方々が同じような質問にイライラしているように見えました。
 英語での質問はハードルが高くて質問できなかった私が言えることではないですが、正直もう少しつっこんだ質問をする人がいたら、もっと盛り上がったんじゃないかなぁと思います。
 でも、パネラーの方々が終始ジョークを飛ばしあうなど、楽しい雰囲気でした。

■Statistical Analysis of Linux Kernel Development by Tsugikazu Shibata, NEC
 ここ数年のkernelの容量、コードの行数、developerの数の推移をレポートするセミナーでした。
 つまりはすごいスピードで開発が進んでいるということを伝えたかったのでしょうか。
 面白かったのは、こうゆう数字を追ってる人がいるということが知れたことでした。
 
 2.6.35 status
  how big? compared to other software
   - 3 times bigger source code, lines, files than firefox
   - GCC is 10 times bigger than linux kernel
 Linux top directory
  major director is driver 51%
 Status of linux code development
  -source code growth
  - 2.4ML grew in '09, about 1ML in this year
  -the number of lines in each release
  - over one million of lines had been added per year
  - more than 4000 lines and 10 files are added per day
 Conclusion
  -Linux is becoming the fundamental part for phones and any of embedded space with distributions such as Android.
  -Linux is enoughly LARGE.

■Btrfs File System: Status and Future by Chris Mason, Oracle
 Btrfs開発責任者のMason氏の講演とあって、はりきって聞きにいきました。会場は満席で注目度の高さがわかりました。
 講義の内容は、Btrfsの基本的特徴や機能でしたが、今後やりたいことについても聞けて、面白かったです。
 信頼性を一番に考えているファイルシステムであるということ、信頼性をあげるCOWは場合によってはパフォーマンス劣化の原因になるということがわかりました。

 Features
  -extent based file storage
  -copy on write metadata and data (can be off)
  -writable snapshots
  -space efficient packing of small files
  -online resize,defragmentation,device management
  -offline conversion from ext3 and ext4
  -specialized log for fast fsync and O_SYNC writes
  -zlib
  -btree
 Btree
  -generic key/value pair storage
  -protected by copy on write for crash safety
  -transaction id stored in block headers and pointers
    - allows efficient searches for recent changes
 Snapshot and subvolumes
  -copy the block and the references to other blocks
  -subvolume is the unit of snapshotting
  - individual files may be cloned without a full snapshot
  -subvolumes may be created anywhere in the directory tree
  -snapshots not suitable for continuous data protection
 Multi-device support
  -devices are added into a pool of available storage
  -raid can co-exit
 Thin provisioning
  -btrfs storage chunks are well suited to thin provisioning
  -btrfs can return large chunks of storage back to the array
 Synchronous operations
  -COW transaction subsystem is slow for frequent commits
    - forces recow of many blockes
    - forces significant amounts of IO writing out extent allocation metadata
 Future
 -pending projects(short)
    - readonly snapshots
    - dedicated metadata/data drives
    - chunk tree backups
    - benchmarking
 -pending projects(long)
    - track IO errors on a per device basis
    - random write performance tuning
    - front end caching SSDs
    - online semantic fsck
    - free inode number cache
    - snapshot aware file defragmentation
    - btree lock contention


 他にもいくつか講義に参加しましたが、これ以上ずらずらと書いてもあれなので、この辺でやめておきます。
 LinuxConに参加してみて、私自身の英語力や知識の未熟さを思い知ったわけですが、英語力は大好きな映画を字幕なしで見まくるとして、私の小さい脳みその中に、雨霰のように降り注いできた未知のワードを興味ありそうなものからひとつずつ紐解くきっかけをいただけただけでも、外部カンファレンス参加を推奨する弊社の雰囲気や制度、連れて行ってくれたNさんに感謝です。

 最後までお付き合いいただきありがとうございました。では、このへんで。