概要
参加人数が増え、セッションも二日間に渡る開催となり、それぞれ個別の議論も盛んに行われ、かなりの盛り上がりを実感しました。
dynamic NUMA, rtなど、やはりコアの仮想化技術から周辺への移行が進んでいるようでした。Red Hat社で正式にサポートされているため、安定性が非常に重視される様になったように思われます。また、それなりにコードが成熟してきた事の証とも言えるでしょう。
今後の発展にとって、現在のqemu code baseでは限界が来ているため、qemu coreを何とかする必要があり、その一つの現象としてnative kvm toolが挙げられているのでしょう。IBMやRed Hatが開発を主導しているのでクラウド関連に対応した機能が充実していくと考えられます。
1日目(8月15日)
-
KVM on the IBM POWER7 Processor:Paul Mackerras
- POWER7へのポートを行っている事の発表。x86とはハードウェアが違っていて、PCI pass-throughサポートには色々変更が必要である。
- VFIO: PCI Device Assignment Breaks Free of KVM:Alex Williamson
- device assignmentに関して発表した。現在KVMで使われているコードを捨てて、VFIOを使って書き直すものである。netlinkを使った通知は興味深。これによりデバイス側からの通知が可能となる。
- 今のところ用途はPCI device hot plugだが、色々と用途がありそうである。次のステップとしてPCI Express対応を挙げていた。この辺はQ35 チップセット対応を含めて協力したいところである。
- The Reinvention of qcow2:Kevin Wolf
- qcow2のこれまでとこれからの方向性についての発表。これまでqcow2を最適化してきて他の新しいっフォーマット (qed, fvd)に対しても引けを取らない性能を出しているとの事。
- KVM on the IBM POWER7 Processor:Paul Mackerras
- POWER7へのポートを行っている事の発表。x86とはハードウェアが違っていて、PCI pass-throughサポートには色々変更が必要である。
- Virtio SCSI: An Alternative Virtualized Storage Stack for KVM:Stefan Hajnoczi & Paolo Bonzoni
- 動機はストレージに対する要求を満たすのはvirtio diskでは難しいので、SCSIが使いたいというところである。P2V/ V2Vでdrop-inで使えるというのは地味ながら利点である。
- virtio-scsiでゲスト側にはSCSI HBAが見えて、ホスト側にはSCSI Targetを用意するということだそうだ。ホスト側では使用するSCSI TargetはQemu内にあるものと、LinuxカーネルにあるTargetの二通りがある。
- KVM on the IBM POWER7 Processor:Paul Mackerras
- POWER7へのポートを行っている事の発表。x86とはハードウェアが違っていて、PCI pass-throughサポートには色々変更が必要である。
- Navive Linux KVM Tool:Asias He
- Native KVM Toolの紹介。質問ではそもそもQemuがあるからNative KVM Toolはいらないのではというのが出ていた。デモでは起動が非常に簡単に出来るところを見せていた。これはQemuがおかしいだけではある。
-
What’s Coming From the MM For KVM:Andrea Arcangeli
- Linux MMに関連するトピックの紹介。THP (transparent huge pages)やEstimating Working Setなどを紹介した。一番大きなトピックはNUMAでCPU SchedulerをMemory-awareにしたり、逆にvCPUが動作しているnodeにメモリをMigrationしようというものである。また、vNUMAも視野に入れている。
- 【Estimating Working Set】
- balloon
- thp friendly
- auto balloon v.s. page hint
- ksm
- using dirty bit
- numa aware
- cpu schedulerをmemory placement awareにしたい
- cpu-follow-memory pof implementationあり
- mempory-follow-cpuも必要か
- knumad
- soft numa bindings
- Linux MMに関連するトピックの紹介。THP (transparent huge pages)やEstimating Working Setなどを紹介した。一番大きなトピックはNUMAでCPU SchedulerをMemory-awareにしたり、逆にvCPUが動作しているnodeにメモリをMigrationしようというものである。また、vNUMAも視野に入れている。
- Using KVM as a Real-Time Hypervisor:Jan Kiszka
- RT-Hypervisorへの取り組みの紹介。かなり進んでいる印象を受けた。いかにslow pathを避けるoptimizationを行うかが肝である。その後、結局のところ、Qemu EmulationがネックになるのでQemuを何とかしなければいけないというストーリー。デバイス毎のロックは難しいようなのでServer Threadを作成してそこでDevice Emulationを動作させる。
- Experiences Porting KVM to SmartOS:Bryan Cantrill
- smartOSはOpenSolaris Open-source forkであり、そこにKVMをportした経験の紹介。知らなかったが、元々SUNの人たちでDTraceの有名人とかだったりするそうです。取り敢えずcompileが通るようになったらまずdebugger (KMDB)を動作させる所などが興味深い。
2日目(8月16日)
- Performance Monitoring in KVM Guests:Avi Kivity
- vPMUについて紹介を行った。方針としてはIntel Architecture PMUを実装して、後にpv化を行う。
- Code Generation For Fun and Profit:Anthony Liguori
- 現在Qemuは全体的なフレームワークが無くてコードの見通しが非常に悪くなっている。そのためQAPI, QOM(Qemu Object Model), plugs/socketsを導入してコードのclean upの提案を行った。
- Migration: One Year Later:Juan Quintela
- Live Migrationの現状と今後の方向性についての発表がされた。FrameworkとしてVMStateを導入してclean upを行ってきて、次の課題が見えてきたところか。Subsectionを導入したが色々と問題がある。dirty bitmapの扱いやincomming側での扱いを改善する必要がある。結局はLive Migrationのformatをどうするかは大問題である。Postcopyを検討するべきかと提議していた。
- ? Enhancing Live Migration Process for CPU and/or Memory Intensive VMs Running Enterprise Applications:Benoit Hudzia
- SAPで適用するためにLive Migrationの最適化を行っている。down timeを小さくするための手法としてwarm up, xbzrleによるcompression, page priotizingを評価した結果を発表した。
-
Yabusame: Postcopy Live Migration For QEMU/KVM:Takahiro Hirofuchi & Isaku Yamahata
- Postcopy Live Migrationの提案とその実装について議論を行った。実装方法についてはavi, andreaからは賛成が得られた。character deviceで実装を行う.cuse(user space character device)で実装が可能かを調べるのは課題である。minor fault時、async page fault時の性能に問題が出るのでは無いかと思われるが、両方実装して評価するしか無いと思われる。
Qemu MaintainerのAnthonyからそもそもPostcopyの利点について強く疑問が呈された。そこで議論百出した。Postcopyを考えていた開発者は多く味方も多かった。しかし、use caseとbenchmarkをしてprecopyでは出来ないことを示すしかないとの結論になった。AnthonyはLive Migrationのコードのclean upを行って、さらにprecopyの最適化を行ってからだと主張した。
- Postcopy Live Migrationの提案とその実装について議論を行った。実装方法についてはavi, andreaからは賛成が得られた。character deviceで実装を行う.cuse(user space character device)で実装が可能かを調べるのは課題である。minor fault時、async page fault時の性能に問題が出るのでは無いかと思われるが、両方実装して評価するしか無いと思われる。
- 資料をPDFにまとめましたのでこちらからもお読みいただけます。
- プレゼン資料『Yabusame: Postcopy Live Migration for Qemu/KVM』 (PDF:1 MB)