概要

スペイン・バルセロナにて、「LinuxCon Europe 2012」との併設で「KVM Forum/oVirt Workshop 2012」が開催されました。

バルセロナは時期的に日本より暖かく過ごしやすく、食事もパエリアなどおいしい物ばかりでした。

KVM Forumは、年々と参加者が増えており、議論も活発に行われています。数百人の参加者のうち日本からの参加は10名程でした。

1日目(11月7日)

For Performance and Latency, Not for Fun – Jan Kiszka, Siemens

qemu threading に関して議論を行った。

qemu が big lock (QBL) を使用してることにより起因する scalability および latency の問題に対処していくためである。 fine grained lock と user RCU を導入していく事になるのであるが、locking protocol の問題が残る。qemu の対応している device は数多く、performance critical でない物については QBL が残るだろうとした。

理論上、device が相互に dma しあう場合が考えられる。その場合、dead lock を避けるのが難しい。実用上そのようなケースはないと考えられるので、当面はその様なケースは対応しない事で対処していきたい。

最後に Jan の試作した cut-through case でのベンチマークが示された。

 

KVM Scalability: Preparing for big SMP VMs – Andrew Theurer, IBM

Big SMP VMs での評価結果が示された。

vcpu数=80 で非常に大きな guest での評価結果を行っていた。
AutoNUMA, SchedNUMA の比較結果も示された。

Lock Holder Preemption (LHP) が問題になる。しかし pv spin lock でも問題が残る。
一方、Gang Scheduling は Linuxに取り込まれる可能性は低いため、LHP が起きた場合、
すべての vcpu を yeild させ、次の実行時に vcpu を同時に実行開始させる方法で gang scheduling に近い性能がでるとの実行結果を示した。

 

Integrated Testing in QEMU – An Overview of qtest and qemu-test
– Anthony Liguori, IBM

開発者が使用できる様な unit test を提案し、test の書き方と使用方法が紹介された。
patch の半分は既に merge されており、Release 1.3.0 に含まれる。残り半分は、Release 1.4 になるとのこと。

 

Live Migration: Even faster, Now With a Dedicated Thread!
– Juan Quintela, Orit Wasserman (Red Hat), Chegu Vinod (HP)

RedHat の二人と、HP の一人での共同発表である。

大きなメモリを持つ guest を live migration する時の問題に関して議論をし、改善と評価結果を示した。基本的には、現在の qemu live migration の code がいかに駄目かについて語る事となった。

 

  • 必要以上に memory copy を行っている bitmap の管理が悪く、無駄な memory を使っている。
  • bitmap の copy が多すぎる。
  • latency の計算をしても、bitmap 処理が大きく、downtime が長くなっている。

などの事が議論された。Chegu は、big iron machine でのベンチマーク結果を示した。

 

Yabusame Update on Postcopy Live Migration for QEMU/KVM
– Isaku Yamahata, VA Linux Systems Japan K.K.

Qemu/KVM 対応ポストコピー型ライブマイグレーション技術である『Yabusame』についての性能評価と分析結果を発表した。 発表資料は、PDF(186KB)を参照ください。

 

 

 

A New Chipset for Qemu – Intel’s Q35 – Jason Baron, Red Hat

qemu PC emulator として、Q35 チップセットの対応を upstream merge していく事に関して議論がされた。
patch は以前からあったが、merge されていなかった。今回は Release 1.3 に experimental として merge されそうである。
ゲストとしてWindows や FreeBSD での動作確認を行っており、そうとう頑張ってる様だ。
特に、Windows での動作のための debug には 2ヶ月かかったそうで、お疲れ様である。

2日目(11月8日)

Keynote – Anthony Liguori, IBM

今年は QEMU summit を行った。
今回は招待者のみでの開催だが、来年以降はオープンにして、summitを継続していきたい。minutes については、etherpad に公開しているので見てほしい。

 

Virtio & Networking Status and Challenges
– Michael S. Tsirkin, Red Hat

virtio と networking に関する状況報告である。virtio は、OASIS で標準化を進めていく事になった。zerocopy TX や multi queue 対応などが実装されている。

今後の作業としては、同一 machine 内の通信での zerocpoy, zerocopy RX や scalability, NUMA 対応を挙げた。

 

KVM Memory Management Update & Plans – Rik van Riel, Red Hat

KVMに関連する memory 管理まわりのトピックまとめである。

EPT A&D bit, 1GB huge page, baloon driver が紹介された。これらは、upstreamで対応済である。
AutoNUMA と SchedNUMA について議論した。これまで merge されていなかったが、Mel Gorman が新たな patch を投稿したことにより、merge に向け進みそうである。
Anton Vorontsov, Pekka Enberg による vmevent も紹介された。

 

Revamping the QEMU Memory API – Avi Kivity, Red Hat

QEMU 内部 API である memory API について議論された。

 

Partial Device Port Acceleration – Alexander Graf, SUSE

現在 qemu 内で emulation されている device の一部を kernel に持っていくことで、user land への遷移を減らす事ができ、性能向上が見込めることを示した。
実験として、IDE device での bench mark 結果が示された。

 

Enabling Optimized Interrupt/APIC Virtualization in KVM
– Jun Nakajima, Intel

Intel による新たな hardware accelaration が示された。

 

  • APIC-register virtualiztion
  • virtual interrupt delivery (receiving side)
  • posted interrupt processing

である。これによりより一層の性能向上が期待される。

 

Multiqueue Networking for KVM – Jason Wang, Red Hat

10G に向けて、関連 network layer の multi queue 化について紹介した。
virtio-net driver, qemu backend, vhost-net, mq tap (macvtap) に修正を行った。

3日目(11月9日)

Memory Aggregation / Cloud with KVM – Benoit Hudzia, SAP

RDMA を使用した memory swap を実装した。

Linux MMU core には、4箇所の hook を入れるだけで transparent integration with MMU が実現できている。 hookは少ないので、使用しない場合の overhead はなく、upstream にも merge できると考えている。

現在は、postcopy live-migration と memory aggregation を use case として実装し、評価を行った。11月末にはコードを open にできる予定。

資料をPDFにまとめましたのでこちらからもお読みいただけます。
プレゼン資料『Yabusame update:Postcopy Live migration for QEmu/KVM』 (PDF:187 KB)