LTN Blog 〜 Lenovo Technology Network 〜

レノボのソリューション・サーバー製品に関する技術情報、お役立ち情報をお届けします

HCIの10Gbで本当に大丈夫!?~AHV Turboを少し調べてみよう~

皆さん、こんにちは レノボ・エンタープライズ・ソリューションズ 小宮です。

本日はNutanixのAHV Turboについてお話したいと思います。

いきなり、AHV Turboって何ですか?という人もいらっしゃると思いますので、簡単に説明すると昨年の.NEXT 2017で発表されてAOS5.5でサポートされたI/Oを高速化する技術です。

パッと聞くとすごい技術に思えますが、果たしてそのまま使ってよいのかどうかも含めて考えてみました。

 

1. AHV Turboのアーキテクチャ

AHV Turboのアーキテクチャを簡単に図式化すると以下のようになります。

f:id:t_komiya:20180407234907p:plain

NutanixでI/Oを司るのはCVMですが、現状はCVMがI/O処理する際に並列処理されているわけではないため、高速のI/Oを求める際にはどうしてもボトルネックになってしまいます。現状のNutanixはHDD・SSDで10Gがあれば十分に足りるI/Oパフォーマンス・ネットワークであるが、今後NVMeや3D XPointなどの高速デバイスが登場した場合に問題が生じますと考えます。

今回AHV Turboを対応したことで、NVMeなどのデバイスをそのまま対応させても問題ないのか?ということを少し考えてみました。

 

並列処理がなぜ良いかは以下にイメージを載せておきます。f:id:t_komiya:20180408000715p:plain

ここで例に出しているのは、スーパーのレジで5人が1台のレジで待っているのか、5台のレジを開放して、それぞれ1人ずつ並んで処理できるかという話です。

つまりストレージのI/O要求が多ければそれだけ処理できるCPUが多くなければI/O処理が出来ないわけです。

 

2. NVMeのアーキテクチャってどうなっているのか?

NVMeだけでなく、SATAおよびSASインタフェースも比べてみましょう。

f:id:t_komiya:20180407235708p:plain

SATA、SASについてはHBAがサポートされているスピードも決められており、またコマンドキューはあまりにも少なくなっています。

それに引き換えNVMeについては、PCIeのスピードをそのまま生かせるようなデバイスになっている。またコマンドキューもSATA/SASに比べても比較にならない数を対応することが可能です。(上図参照)

このことから、NVMeのような並列処理が対応しているデバイスに対してAHV Turboが必須機能であることが明らかであるとわかるかと思います。

 

ではこれをそのまま、10Gbネットワーク上のNutanix環境に入れて動作させても問題ないのかどうか考えて見ましょう。

 

3. NVMeを10Gネットワーク環境で入れてみると・・・

f:id:t_komiya:20180408001343p:plain

ここで重要なのは、Nutanixはデータローカリティで内部のNVMeに書き込みを行い、その後Replication Factorで他のノードにデータをコピーします。内部のI/Oが早く処理が出来たとしても、他のノードに転送するネットワークがコピーするデータが多くなりますし、当然ボトルネックも発生することになります。NVMeは64Kのコマンドを処理できることから、そのパフォーマンスが必要なデータが転送されたら、いくら10Gのネットワークでも遅延は十分に想定されます。

そのため、25G(50Gや100Gなど)のネットワークも今後は検討する必要あります。現状では10Gや40Gよりも25G(50Gや100Gなども)のほうがPCIeの帯域幅の効率性も良いため、採用するケースが多くなっています。

また、単なるネットワークの高速化だけを行うのではなく、利用するアプリケーションからネットワークを転送するデータを有効的に利用できる技術を利用できるように、RDMA(Remote Direct Memory Access)についても少し説明しておきたいと思います。

 

4. RDMA(Remote Direct Memory Access)って何がいいの?

まず、RDMAについての説明を以下に記載します。

f:id:t_komiya:20180408002732p:plain

ネットワークのノード間通信を最適化するために、CPUをオフロードするために仕組みです。ピンとこない人がいると思いますので、もう少しわかりやすい図も用意しました。

f:id:t_komiya:20180408003116p:plain

これを見るとひと目でわかると思いますが、ネットワークから入っているデータがアプリケーションに届くまでに、1回です済むものが4回必要になります。回数だけでなく、CPUを経由しないでアプリケーションのメモリ領域にアクセスできることで帯域を有効的に利用できます。

 

5. 追加情報

I/O高速化ソリューションはAHV Turbo以外にもDatacore社のParallel I/Oも同様のテクノロジーで動いております。

DX8200Dのご紹介【その1】 - LTN Blog 〜 Lenovo Technology Network 〜

 

f:id:t_komiya:20180408005705p:plain

もちろん、AHV TurboはAHV上でしかサポートされませんので、ESXiやHyper-Vをご利用のお客様はDataCore社の選択肢がございます。

Lenovoは両ベンダーとも対応しておりますので、是非ご検討頂ければと思います。

 

宜しくお願い致します。