皆さん、こんにちは レノボ・エンタープライズ・ソリューションズ 小宮です。
本日はNutanixのAHV Turboについてお話したいと思います。
いきなり、AHV Turboって何ですか?という人もいらっしゃると思いますので、簡単に説明すると昨年の.NEXT 2017で発表されてAOS5.5でサポートされたI/Oを高速化する技術です。
パッと聞くとすごい技術に思えますが、果たしてそのまま使ってよいのかどうかも含めて考えてみました。
1. AHV Turboのアーキテクチャ
AHV Turboのアーキテクチャを簡単に図式化すると以下のようになります。
NutanixでI/Oを司るのはCVMですが、現状はCVMがI/O処理する際に並列処理されているわけではないため、高速のI/Oを求める際にはどうしてもボトルネックになってしまいます。現状のNutanixはHDD・SSDで10Gがあれば十分に足りるI/Oパフォーマンス・ネットワークであるが、今後NVMeや3D XPointなどの高速デバイスが登場した場合に問題が生じますと考えます。
今回AHV Turboを対応したことで、NVMeなどのデバイスをそのまま対応させても問題ないのか?ということを少し考えてみました。
並列処理がなぜ良いかは以下にイメージを載せておきます。
ここで例に出しているのは、スーパーのレジで5人が1台のレジで待っているのか、5台のレジを開放して、それぞれ1人ずつ並んで処理できるかという話です。
つまりストレージのI/O要求が多ければそれだけ処理できるCPUが多くなければI/O処理が出来ないわけです。
2. NVMeのアーキテクチャってどうなっているのか?
NVMeだけでなく、SATAおよびSASインタフェースも比べてみましょう。
SATA、SASについてはHBAがサポートされているスピードも決められており、またコマンドキューはあまりにも少なくなっています。
それに引き換えNVMeについては、PCIeのスピードをそのまま生かせるようなデバイスになっている。またコマンドキューもSATA/SASに比べても比較にならない数を対応することが可能です。(上図参照)
このことから、NVMeのような並列処理が対応しているデバイスに対してAHV Turboが必須機能であることが明らかであるとわかるかと思います。
ではこれをそのまま、10Gbネットワーク上のNutanix環境に入れて動作させても問題ないのかどうか考えて見ましょう。
3. NVMeを10Gネットワーク環境で入れてみると・・・
ここで重要なのは、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についての説明を以下に記載します。
ネットワークのノード間通信を最適化するために、CPUをオフロードするために仕組みです。ピンとこない人がいると思いますので、もう少しわかりやすい図も用意しました。
これを見るとひと目でわかると思いますが、ネットワークから入っているデータがアプリケーションに届くまでに、1回です済むものが4回必要になります。回数だけでなく、CPUを経由しないでアプリケーションのメモリ領域にアクセスできることで帯域を有効的に利用できます。
5. 追加情報
I/O高速化ソリューションはAHV Turbo以外にもDatacore社のParallel I/Oも同様のテクノロジーで動いております。
DX8200Dのご紹介【その1】 - LTN Blog 〜 Lenovo Technology Network 〜
もちろん、AHV TurboはAHV上でしかサポートされませんので、ESXiやHyper-Vをご利用のお客様はDataCore社の選択肢がございます。
Lenovoは両ベンダーとも対応しておりますので、是非ご検討頂ければと思います。
宜しくお願い致します。