田口勉

田口勉

Neural Cash(Trie)で「予想可能なルックアップ時間」「ハッシュ不要なアーキテクチャ」「パフォーマンスのインパクトなし」を実現するNeutrix Cloud

Neural Cashは「予想可能なルックアップ時間」「ハッシュ不要なアーキテクチャ」「パフォーマンスのインパクトなし」という特徴でデータ量に依存しないデータ検索時間を実現します。ほとんどのI/OをDRAMフラッシュで処理できるので、マシンラーニングやAIも含めたワークロードの特性に合わせたCash技術が成立し、これによって非常に高いキャッシュヒット率を実現しています。

従来のCashの方法では、Cash部分は速いメモリを使うのが普通ですが、これは我々のInfini Boxのように必ずしも階層ストレージとして最適化されたデザインにはなっていません。いわゆるLRU(Least Recently Used)だけをCashに置いておくことが多いので、意外とパフォーマンスが出ないのです。しかし、Neutrix Cloudはまったく新しいアルゴリズムを実装しています。ここが大きな差別化要因です。

Updated by Tsutomu Taguchi on September, 26, 2022, 5:00 am JST

Trie技術をストレージに活用(特許取得済)

Trie(トライ)技術を少し詳しくご説明しましょう。まず、よくGoogleで文字列の検索をするときに、例えばニュートリックスというのはNeutrixなんですけども、N、e、uまで打つとGoogleがサジェストしてきて、ニュートラルだとかニューロンだとかニュートリノだとかニューラルネットワークだとか……。N、e、u まで入れてNeutrix Cloudって出てくればうれしいのですが(笑)、いわゆる自動補完が実行されますよね。これがTrieの基本構造です。

特許を取得したTrie(トライ)技術。

このTrieを使っているところは、例えばスマホの予測変換であるとか、ブラウザのアドレスバーでも同じような機能が使われていまして、前方一致検索と呼ばれているものです。自動補完以外にも、例えばURLやIPアドレスのルーティングだとか、スペルチェックなど、さまざまなところに使われています。このTrie自体もとてもシンプルなプログラムでして、実際にPythonで書くと、わずか20行くらいのコーディングで済むようなものです。

Trieを利用し、高速にデータを検索するためのデータ構造をつくって、格納されているデータ量によらず、検索する単語の長さに比例した時間で検索できることになります。これをストレージの技術に応用し、大量のデータの追跡を高速で実行し、メモリ内の処理だけでなく、システム内全体のデータを追跡するためにTrieを使っています。ホットデータとコールドデータを正確に瞬時に判断して、より高いキャッシュヒット率を実現できる、というようなことがソフトウェアベースで実現できています。これがキーテクノロジーの一つになっているのですね。

Cash技術とTrie技術で高いキャッシュヒット率が可能に。

Neutrix Cloudのサービス

我々はクラウド上のストレージサービスとして、Blockストレージ、Fileストレージ、Archiveストレージ(BlockストレージのIOPSを下げたもの)、そしてObjectストレージを使っています。この4つのストレージをメガクラウドと接続して、クラウド接続ストレージとして利用できます。このような構成ではレイテンシーが問題になるのが一般的ですが、メガクラウドにサーバーとそのストレージを置いたときよりも、我々にストレージを分けたときのほうが処理速度が速くなるケースさえあります。そこがNeutrix Cloudというマルチクラウドのメリットですね。

さまざまなタイプのストレージ。

Neutrix Cloudの優位性

Neutrix Cloudのクラウドサービスにはいろいろな機能があるのですが、3つだけポイントを言っておきますと、パブリッククラウドと比較して、とにかく「ストレージ」の性能が良くて、価格も安くて、信頼性も高い。

他社製品と比較して高い優位性を持つNeutrix Cloud。

さらに2番目として「コンピュート」のところですね。一般的には、パブリッククラウドですと、インスタンス、vCPUがいくら、メモリがいくら、こういったものを月額いくらで使えますよという説明が一般的ですが、我々は少し一計を案じて、リソースプール方式というのを採用しました。これは(サーバー1台の場合はなかなか難しいですが)複数サーバーがあるときに、サーバーのCPUやメモリの使用率が1年365日を通して、ずっと100%であるということはほぼありませんので、複数のサーバーを預けるのであれば、このリソースプール方式であると余っているリソースを有効に使えるので、最終的には価格も安くなります。

そしてこのコンピュートの部分ですが、今ではサーバーが全部ソフト化されていますので、そのソフト化されたサーバーというのは、高性能ストレージの空間で生きているということになりますので、高性能なストレージであること自体でI/Oのボトルネックが減少して、サービスのリビルドの話も含めて、障害も少なく、安定した運用ができるということになります。

3つ目が「マルチクラウド」です。これは、どこにもできないことで、データをNeutrixにおいて、メガクラウドのインスタンス、もしくはオンプレミスのインスタンスから処理ができるというものになっています。

Neutrix Cloudの特徴—本当のマルチクラウド

実際にどんな特徴があるのかと言いますと、今までお話しした大容量のストレージ、高性能・高信頼性のストレージ、経済性が「本格的な大容量でもデータ処理に使える」ということですね。月額料金も固定化される。一般的にパブリッククラウドを使う場合には、データ転送料が課金されます。データを入れるときは無料ですけど、抜き出すときは取られる。Neutrix Cloudにはそれがありません、データ転送料もありません。データ転送の自由度が高いことは、本格的なマルチクラウドの必要条件でしょう。もちろんストレージだけではなくて、クラウド基盤(コンピュート、ネットワークその他)を兼ね備えています。バックアップ・レプリケーションにも秀でていると自負しています。スナップショットも優れているし、オンプレミスやOEM(ホワイトボックス)もご要望に応じて積極的に対応しています。このようなクラウドベンダーは他にないと思います。

Neutrix Cloudが持つ12の特徴。

クラウドの主役は「データ」である

多くのクラウドサービスがある中で、Neutrix Cloudの立ち位置をちょっとお話ししたいと思います。クラウドは、メガクラウドがあればよいと考えることが今までは多いと思うのですが、そのクラウドの主役はデータなんですね。データは事業規模にかかわらず、多くの企業にとって事業成長に必要不可欠な経営資源になっていくと考えられています。データの活用こそが将来の企業優位性に影響を与えるということですね。企業収益の原動力を左右しかねない時代がもう来ているとも考えています。

Neutrix Cloudがデータの民主化を可能にする。

単なる安価なクラウドでコスト削減するだけではなくて、このクラウドの主役となるデータをどう扱うか、さらには今の時代、メガクラウドを使うというのは避けて通れないことでしょうから、このメガクラウドとどう共存していくか、どうデータ中心のクラウドという概念を持ってやっていくか、ということが重要になっています。

単に一般のパブリッククラウドを使った場合には、データもその主権がパブリッククラウド側に、ある意味取られてしまうケースもありますし、例えば100テラあげたデータは、なかなか移動することもできなくなります。でも、我々はデータの主権はユーザーにあって、このデータをロックインされたり、選択肢を狭められたりしてはいけないと考えています。

Neutrix Cloudは、クラウドに新たな選択肢を提供します。Neutrix Cloudでコンピュートとか、ストレージとか、一般的なパブリッククラウドと同じように利用するだけではなくて、自社のオンプレミスのITの環境を、そのまま、例えばL2延伸のような形で、このNeutrix Cloudまで延伸してくることができます。そうすると、この白い大きな雲のように、Neutrix Cloudまでがお客様のクラウドの総合的な環境になるということで、その上でメガクラウドとも接続して、メガクラウドの都合がいいものを使って、場合によっては、メガクラウドのAWSAzureに切り換えてもデータはNeutrix Cloud側にありますので、移行がスムーズにできるわけです。

我々、Neutrix Cloudの中にデータを置いておけばデータ転送料もかからず、安心してメガクラウドを利用することもできます。Neutrix Cloudは、中立的、公平性、それからデータ転送料もなし、メガクラウド、パブリッククラウドとのHUBにもなりますし、ゲートウェイにもなるべくデザインされている、とご理解ください。
そしてクラウドサービスのキモは、やはりストレージの性能です。Neutrix CloudはINFINIDATのストレージを軸としつつ、ソフトウェアデファインドで、フラッシュを超えるパフォーマンスを実現しつつ、アルゴリズムでハードディスクの壁を打ち破ったわけです。