2015 Fiscal Year Research-status Report
ビッグメモリアプリケーションを考慮した仮想マシン移送に関する研究
Project/Area Number |
15K15967
|
Research Institution | Tokyo University of Agriculture and Technology |
Principal Investigator |
山田 浩史 東京農工大学, 工学(系)研究科(研究院), 准教授 (00571572)
|
Project Period (FY) |
2015-04-01 – 2017-03-31
|
Keywords | 仮想マシン移送 / ビッグメモリアプリケーション / 仮想マシンモニタ / GPU |
Outline of Annual Research Achievements |
本課題では,インメモリデータベースやグラフ解析といったビッグメモリアプリケーションを対象に,これらのアプリケーションが稼働している仮想マシン(VM) を移送する方式について研究する.ハイパフォーマンス分野において成熟した GPGPU を活用して,大量のメモリサイズを保持する VM の移送を迅速に行う. 平成 27 度は提案方式の詳細設計およびプロトタイプの実装を行った.提案方式の有効性を確かめるために,オープンソースで広く利用されている仮想マシンモニタである Xen に組み込む形で実現した.その上で稼働させる OS カーネルは Linux を対象とし,その上でメモリを確保した後にゼロで初期化したり,ランダムにアクセスしたりといった単純なワークロードを用意し,プロトタイプの挙動を細やかに確認した. 具体的には次のとおりである.Xen では Domain 0 と呼ばれる特殊な VM が存在し,その上で稼働しているプロセスが仮想マシン移送を実行している.このプロセスに 1).移送対象の VM のメモリを圧縮,伸長する処理を GPU 上で実行する機構,2). CPU と GPU との非同期性を活かすために,移送対象のVM のメモリ取得部分,GPU 処理部分,メモリ転送部分をパイプライン化して CPU とGPU とが並列に動作できるようスレッド化する.第一段階として,圧縮アルゴリズムには Run Length Encoding を採用している. シンプルなワークロードとして,VM を Idle の状態,VM のメモリページを 0 で埋め尽くすプロセス(Best case),VM のメモリページを全て異なるようカラーリングするプロセス(Worst case)を稼動させたところ,Best case で最大 4 倍,Worst case でも 1.2 倍のスピードアップに成功している.
|
Current Status of Research Progress |
Current Status of Research Progress
1: Research has progressed more than it was originally planned.
Reason
研究は当初の計画以上に進展しており,当初計画していた上述の内容達成に加えて,プロトタイプ上において MySQL や Memcached といったデータベース(ビッグメモリアプリケーションの仲間)を稼動させた状態での移送に成功している.また,Run Length Encoding のみならず,Delta Compression と呼ばれるメモリページの差分のみを転送する圧縮方式の実現にも成功しており,現在その効果を確かめる実験を実施している.
また,対外発表に関しても 2 件行っており,ひとつは"データ圧縮型仮想マシン移送におけるGPU アクセラレーション"というタイトルで第134 回システムソフトウェアとオペレーティング・システム研究会にて口頭発表を,もうひとつは"GPU を用いたデータ圧縮型仮想マシン移送のアクセラレーション"というタイトルで,第 13 回ディベンダブルシステム研究会にてポスター発表を行っている.
|
Strategy for Future Research Activity |
平成 28 年度には,作成したプロトタイプを用いて,実アプリケーションを稼働させたときの有効性を定量的に評価する.提案方式は仮想マシンモニタレベルで動作する方式なので,Amazon EC2 といった環境を利用することは困難なため,実験にはクラウド環境を模した環境を構築して実験する.
具体的には次の作業を実施する.まず,クラウド環境を模した環境を構築する.VM 移送用計算機,ストレージサーバを利用してAmazon EC2 を模した環境を構築する.Amazon EC2 で提供されているVM のスペックを参考に同スペックの VM を複数用意する.特に R3 インスタンスと呼ばれる,メモリ容量の多いVM を一通り用意して稼働させる.次に,実アプリケーションを稼動させて実践的なワークロード下での移送を試みる.具体的には,MySQL に対しては OLTP のワークロードを模した TPC-H を,また.Memcached については,Twitter のワークロードを与えてプロトタイプの挙動を解析する.これらのワークロードはすでにセットアップ済みである.
また,これらの実験データをまとめ,対外発表を行う予定である.
|