SIProp勉強会で@oza_x86氏による『仮想化とかカーネルとかのお話』を聞いてきた。
周囲に高層建築がないのでとても見晴らしがいい。
- 仮想化はクラウドとからめて話されることが多いが、実は方向が逆:
- 仮想化はできるだけハードウェアの利用効率を上げるためにつかわれるのに
- クラウドはスケールアウトで並列化で性能を上げる
- 仮想化されると別のノードだとおもっていた通信相手が実は同じHWに載っているということがあるので通信が高速化されるケースあり。
- VM間通信はCPUがボトルネックになる。
- 基本的に実機で遅いものは仮想化しても遅い。一部例外:通信がethernetからlocal pipeになるようなケース。
- periodic tickは重要な機能になっている:
- ageing memory
- accounting process
- fire timer
- でも1/HZごとに割り込み処理が入るのはたいへん。
- もし100台のゲストOSが動いていたとすると、とんでもない負荷になる。
- 特にやることがなくても割り込み処理だけで deep sleep が妨げられてしまう。
- もし100台のゲストOSが動いていたとすると、とんでもない負荷になる。
- Timekeeping in VMware Virtual Machines: http://www.vmware.com/pdf/vmware_timekeeping.pdf
- guest OSがidle 100%のとき
- periodic tickだとhost OSはCPU 20%消費しているとろ
- dyntickにすると5%まで落ちる!
- 今はcallout queueが空のときでもring一周分(128tick)したらタイマ割り込みするようにしている。
- 現状、local APICのドライバの中からcallout queueを参照しているのでレイヤバイオレーション。
- linuxではそのあたりがフレームワークとして規定されている。
- powerTOP
- つくば方面でPlan9がはやりだした理由は、これといったきっかけはない。なんとなくブーム。
ウタゴエの話
- デモ動画が水のせせらぎなのは、この配信が商業利用に耐えるかことを示している。
- sharecastはtree型
- UGはmesh型
MyCloudの話
- 性能がいい
- apache WebDAVではなくてC#で実装されている。
- SkyDriveR(スカイドライバー)とかも
構造化オーバーレイの話
- 超大規模向けのアルゴリズムは100台程度の規模でも使えるか?
- つまり小規模なら1ホップで通信したい。
- ちなみに1ホップなのか0ホップなのか、直接通信は0ホップ。1ホップ = 1 forwardingと考える。
- 既存の経路表はきちっとしていて(表の管理が簡単にするため)、物理的な距離を導入しにくい。
- 経路長がO(log N)に抑えらえるのが構造化オーバーレイの特徴。
仮想化はクラウドとからめて話されることが多いが、実は方向が逆、というのが目からうろこでした。
講演会の内容が、とても興味深いです。