『僕はそんなにエキスパートじゃないんだけど・・・』はにかみながら部屋に入ってきた今回のエキスパートはストレージとホストとのギャップをその豊富な知識と経験でつないできたMakotoさん。Makotoさんはフォーラムでもスレッドだけでなくブログやエキスパートイベント(XtremIODSSD)  へ何度も登場してくださっているフォーラムエキスパートでもあります。(本人がそれを良しとしているかは怖くて聞けないけど・・・)

makoto5.JPG.jpg

どんな事でもわかりやすい言葉と優しい物腰で素人にもわかる説明ができるのは彼の持つ天性。

 

そこでみんなが話しているのになんだかわからない、でも恥ずかしくてちょっと聞けない、どこから聞けばいいのかわからない『NVMe』についてMakotoさんに聞いてみました!

 

ボトルネックはどこだ?

ayas:NVMeってなんですか。

Makoto:NVMeは手っ取り早く言うと早くなりすぎたSSDに合わせるために生まれた規格です。

SAS、SATAで接続すると接続規格が邪魔してSSDの良さ(速さ)を生かかせない、(ボトルネックが生まれる)

さてどうするか、それじゃPCIeに直接接続できるものをつくっちゃえばいい、それがNVMeなんです。

 

makoto8.JPG.jpg

ayas:むむむ、、それでもちょっとわからない・・・・

Makoto:まずメモリからDiskへのDataの経路を考えてみましょう。

今も主流だと思いますが、PCだと、Diskを接続してデータを読み書きるために、接続規格としてSATA(Serial ATA) が使われています。これは回転するDiskの時代なら皆が幸せな規格だった。しかしSSDという超高速の記憶装置が登場したためにHostCPU→PCIe→SATA→Disk という経路を使うとSATAの部分がボトルネックになり、SSDの高性能を活かせない。じゃ、そういう余計なものはなくして、HostCPU→PCIe→Diskとしてしまおう、ただしそうすると今までの方法ではデータのやり取りが出来ないので、コマンドやソフトウェアを規定しているインタフェース規格もSATAの時代のものから新しくをつくろう、ということでできたのがNVMeなのです。

だからNVVeは不揮発メモリをPCIe 上で接続するプロトコル、規格といってもいいのです。(左図参照)

ボトルネックがなくなったことによってSSDの高速機能が十分に発揮され、それまで実測500MB/秒程度で頭打ちだったものが、実際に3GB/秒近く出るような製品がでてきています。もはや4GB/秒という PCIe Gen3 x4の帯域がボトルネックになりそうな勢いという恐ろしい状況。PCIeというのはレーン構造なので増やせば増やすほどその帯域が増えるものですがそれじゃおっつかなるかもしれない。それくらいSSDの進化が早い。

 

ayas:なるほど。。。とにかく途中で遅くしているものをNVMeに変えたことですべてが早くなったんですね。

Makoto:そうです。でもここで話しているのはあくまでホスト、内蔵Diskの話。。


早すぎた天才DSSD

makoto1.pngMakoto:このNVMeを内蔵Diskの話だけにとどまらせるのではなく、外部Diskにも広げようというのがNVMe over Fabricになります。まだまだ若いエリアなのでいろいろな表記方法(NVMe over Fabric、NVMf、NVMof )がありますが・・・・

つまり、Fabric越しにDiskをNVMeでつなげる、ここでいう「Fabric越し」とはエンタープライズ系になじみがある人ならFibre Channelで複数ホストとストレージをつなげる、というのが一番イメージしやすいでしょう。

 

ayas:ここからEMC的になってきますね!

Makoto:そうです!ここでDSSDの話ができます。というのもDSSDはNVMeを使うものの、独自に複数ホストとの接続方法を持っていた製品だったんです。PCIe接続なのに共有できた。それこそNVMe over Fabricが標準化され、それに基づいた製品が今後いろんなベンダーからでてくるでしょうが、DSSDはまさしく先駆けで、その技術を確立していました。ただ時代が追い付いていなかった。時期尚早だったのかもしれませんね。最新テクノロジの常として。

 

 

やっと時代がついてきた

makoto6.JPG.jpgMakoto:先ほど触れたNVMe over FabricのFabric接続方法は、何が主流になるかは正直わかりません。名前が挙がるものとしては、IB(Infiniband)、RoCE(RDMA Over Converged Ethernet)、iWARP(Internet Wide Area RDMA Protocol )、FC(Fibre Channel)があり、Brocadeさんが推しているFCなんかはエンタープライズ系の環境にはかなりいいんじゃないか、とは思っています。というのもほかのFabricがRDMA(Remote Direct Memory Access)というもともとHPC(high-performance computing)の世界で出てくるような通信方式をベースにしている、のに対し、FCはほとんどのエンタープライズ環境で使われているインフラであるFibre Chanelをそのまま使える、という利点がある為です。一方でRDMA は対象ノードへのCPUの負荷をかけないでDataをやり取りできるうえ、非常に遅延が少ない技術なのでそこも捨てがたい。

ちなみにXtremIOもRDMA技術でストレージコントローラ間のDataのやり取りを高速化しています。

インフィニバンドスイッチの内部ネットワークで・・

でもインフィニバンドなど使わずに、複数ホストとのやり取りをDMAで実現させていたのがDSSDです。

 

makoto7.JPG.jpg


NVMeに託す夢

ayas: EMCではそのDSSDに代わるというか、NVMe対応のストレージって出ないんですか?

Makoto :まあそれは(ちょっと口ごもるMakotoさん)確かに・・・・今お伝えできるものに関してはURLだけ教えてあげますよ。。

Dell EMC Storage and Data Protection Webinar Channel | Dell EMC US

ayas:おお、どんなものが出てくるか楽しみですね!11月16日ですね。登録したら日本時間11月17日朝4時だ・・・うう 早起きしなきゃ。

Makoto :おそらく記録画像が公表されると思うのでそれを見たらいいのでは・・・・

makoto9.png

 

ayas:ウェブキャストはひとまず考えときます・・・

ずばりNVMeという超高速の転送技術が生む未来をMakotoさん的にはどう感じていらっしゃいますか?

Makoto :NVMeの持つ高いIO性能、はかなりの可能性を持っているのですよ。

NVMe、すなわち『高いIO性能』というのは製造業で重宝されることが多いのです。DSSDの時も引き合いがありました。例えば車などの製品開発途上で発生するシミュレーションテスト。新製品を市場に出すには車体一つとっても、実物を作る前に、コンピュータ上でどれくらい精度の高いシミュレーションができるか?それも繰り返しいろいろなパターンでできるか?というのが重要になってきます。精度を高めようとすると大量のデータが必要になる。しかも高速で処理できなければならない。NVMe対応の高いIO性能を持つコンピュータを使えば時間も短縮され、より精度の高い調査ができるというわけです。

 

makoto12.JPG.jpg

地球シミュレータ、というのもありますね。これは地球温暖化や地殻変動といった、文字通り地球規模のシミュレーションをして気候変動などの世界的調査に貢献をしているHPCシステムになります。(実際にはいくつものスーパーコンピュータが並ぶData Centerみたいなところです)そこでは、地球の表面をある一定のタイルのように分割して(メッシュといいます)シミュレーションをしています。もしこのメッシュを100Km四方から1Km四方にする事ができたら、含まれるData量は莫大になりますがその分シミュレーション結果は詳細に、かつ正確に出ますよね。CPUの計算能力(FLOPS)が高いことがメインで考えられてきたHPCの世界でも、膨大な量のData、Data Lakeの概念とIO性能、が重要な要素として捉えられるようになっているのです。そこでNVMeの高速転送技術は、かなり重宝されるのではないかと思っています。

 

makoto11.JPG.jpg


ayas:なるほどNVMeSSDなど超高速なData 媒体を高速につなぐことで、膨大なDataを処理しつつ、且つ速さにも応えられる状況を実現する、ということですね

Makoto :そうですね。もっと広がれば、ありとあらゆる人間の遺伝子情報を網羅して、かつ症例もストックして、その解析をしてあらゆる疾患に対応できるオーダーメード医療、とかも夢じゃないですよ。この場合情報集めがまず大変ですけどね。

膨大なData、そしてそれを解析する能力、そして速さ、広がる世界は無限大です。

話は尽きることなく広がっていきますが今回はここまで。NVMeという新しい技術がどんな化け物マシーンを作り出すのか、楽しみです。個人的にはオーダーメード医療の実現を切に願っているayasでした。