未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

第49回カーネル読書会

お疲れ様でした。カーネル読書会です。今回は初めてミラクル・リナックスセミナールームを使いました。いかがだったでしょう?汐留に引っ越して以来、初の読書会だったので、段取りが上手じゃなくてすいません。椅子も足りなくて立見が出たりして。
武田さんのLKSTのデモと五十嵐さんのoprofile+LKSTを利用した性能分析の手法のお話。どちらも興味深かったですけど、質問がいつもより出なかったような気がするのは気のせいかな?つーか、いつもはわたしががしがし色々な事をあれやこれや聞く役になるのだけど、今日の話題はIPAのプロジェクトでやっていて内容を知っているから質問つーか、突っ込みがなくて、すいません。(ぺこり)
LKSTの性能測定機能の拡張で、各システムコールの実行時間とかロックの待ち時間、実行時間、スケジューラの実行時間などなどお手軽に測定できるようになって、すごい。測定できるだけではなくて簡単にグラフ化もできてすごい。
五十嵐さんの説明では、ベンチマーク結果を

  1. CPUビジー
  2. CPUアイドル型
  3. ロック型

と分類してそれぞれのパターンについてのoprofileとLKSTでの性能分析手法を紹介。CPUがビジーの場合は、その実行コストの多くをメモリのコピー(!)に費されているとかを定量的に示していたりして、渋い。CPUがアイドルの場合はhlt命令で時間を費していると。なんでCPUがアイドル(空いている)かというとIO命令を発行してその実行を待っているということをLKSTで測定しBIOのキューの長さがCPUビジー型に比べて長いということをこれまた定量的に示していたりする。すごい。iozone(というベンチマークプログラム)を複数流して、人工的にロックが多発する環境を作って測定したところ、カーネルのロックのボトルネックを発見もできたり。
今までカーネルの性能的なボトルネックを発見することは非常に難しかったのだけど今回のLKSTの機能拡張とoprofileを利用すればいとも簡単にそれを発見できるようになったのでした。今後はこれらのツールを使ってLinux Kernelのスケーラビリティや性能を向上させる必要があると感じた一夜であった〜
ジャンケン大会でミラクルグッズのプレゼントとかMiracle Techinical Conference http://www.miraclelinux.com/event_seminar/2005/event0302.html のランチチケットプレゼントとかミラクル・リナックスでやった特典もありますた。