A Virtual Machine Migration System Based on a CPU Emulator


My Reserches

INDEX

目的、問題

  • QEMU上で実装されたVM Migration System (Quasar)を用いて、異なるアーキテクチャ上(x86-PowerPC間)でのVMマイグレーションを行う

動機、背景

  • VMwareなどのVMモニターはx86上でしか動作しない。
    • Quasarは多くのアーキテクチャ上で動作
    • 特定のアーキテクチャを意図して作ったプログラムを修正せずに、異なるアーキテクチャ上で動かすことができる
  • Javaなどの言語VMはアプリケーションレベルのサポートあるであるため、実行環境(ファイルシステムなど)を巻き込んだマイグレーションには適していない。
    • Quasarは実行環境をマイグレーション
    • OSレベルでサポート

貢献

  • 実用レベルの性能を提供する、CPUエミュレーション上でVMマイグレーションシステム
    • Virtual Networking Facilit:
      • マイグレーション前後で、SSHのセッションなどの接続を切ることなく、マイグレーションを完了する
      • DHCPで割り当てられたIPをそのまま使用する。
    • Staged Migration:
      • マイグレーションを2段階に分けることでマイグレーションによるダウンタイムを削減

提案手法、アイディア、システム

qua1.jpg
qua2.jpg

実装上の仮定

  • QuasarはQuasarVM(QVM)とforwarding routerからなる(Figure1)
    • forwarding router:マイグレーションとネットワークルーティングの管理
      • forwarding routerはLAN上に一つ存在しなくてはならない。
      • forwarding routerは物理マシン上で動作させ、外部のネットワークからアクセスできなくてはならない
    • QVM:仮想計算環境を提供(Figure2)
  • 全てのマシン上では仮想ディスクを使用している必要がある。

Virtual Networking Facilit

  • forwarding routerがLAN上にいる全てのQuasarVMのリストを管理することによって、移動後のQuasarVMの位置を特定できる。

Staged migration

qua3.jpg
  • 従来の方法:(a)Bundle migration
    • VMをストップ-VMを移動-VMを再起動
    • この方法だと、マイグレーションによるダウンタイムが長くなってしまう
  • 提案手法:(b)Staged migration
    • migrationのリクエストがついたら、その時点でのディスクイメージ(など)を送信
      • その間VMは動作し続ける。
    • 転送が終了したら、VMを停止させマイグレーション中に発生したダーティデータを送信
      • ダウンタイムはこの差分の送信時間だけ。
      • ダーティビットの記録はQEMUが提供するSoftwareMMUを使用

提案したものの評価

実験環境


Server側(PMhp)

  • HP workstation xw4100
    • Linux2.6.13 kernel
    • CPU:Intel Pentium4 (3.0GHz), HyperThreading?有効
    • Memory:1GB

Client側(PMtp)

  • Thinkpad R51
    • Linux2.6.14 kernel
    • CPU:Intel PentiumM (1.5GHz)
    • Memory:512MB

実験1

  • Netperf 2.4.1を使用してネットワークのスループットを測定
    • Server側:netserverが動作
    • Client側:netperfが動作
    • VMメモリ=256MB
  • 1byteのデータを送信しスループットを測定
  • QuasarVM、UML、Xenで比較

結果

qua4.jpg

実験2

  • ApacheBench2.0.41を使用してスループットを測定
    • Server側:Apache 2.0.54を動かす
    • Client側:ApacheBench2.0.41を動かす
    • VMメモリ=256MBに設定
  • ClientがServer対し1KB、100KBのファイルの送信を1024回リクエスト
    • 同時にリクエストする量を1-128まで変化させる
  • QuasarVM、UML、Xenで比較

結果

qua5.jpg

実験3

  • マイグレーションによるダウンタイムの比較
    • Bundle MigrationとStaged Migrationを比較
  • PMhp→PMtpへマイグレーション
    • VMメモリ:256MB
    • VMディスク:1.25GB
    • PMhp上でforwarding routerを動かす
  • SSLを有効・無効で測定
  • Workload
    • top:
      • CUIログイン後、topコマンドを実行
      • VMメモリ、VMディスクへの書き込みは小さく、CPUへの負担も小さい
    • x-top:
      • CUIログイン後、X window systemを起動
      • その後、twm,xterm,topを実行
    • kernel:
      • CUIログイン後、カーネルイメージ(bzImage)を作成
      • VMメモリへの書き込みは大きく、CPUへの負担も大きい
    • em-kernel:
      • CUIログイン後、emacs2lパッケージを、ダウンロード-インストール-設定
      • このパッケージはさらに依存関係にある6つのパッケージをダウンロードする
      • その後、bzImageを作成する
      • VMメモリやVMディスクへの書き込み量は大きい

結果

qua6.jpg

結果(おまけ)

  • 本実験のStaged Migrationにおける、マイグレーションデータのサイズ
    qua7.jpg

著者

  • University of Tokyo
    • Koichi Onoue
    • Yoshihiro Oyama
  • The University of Electro-Communications
    • Akinori Yonezawa

出典

  • VTDC06

その他

  • 感想など