Infinidat Blog

Infinidat Neural Cache:ディープラーニングを活用し、パフォーマンスの向上を低コストで実現

オールフラッシュアレイ(AFA)が最初に登場したとき、このストレージに対する大方の評価は「非常に高速だが、物理ストレージキャパシティのコストが高い」というものでした。Infinidatのアーキテクトは、エンタープライズ向けストレージ分野での数十年の経験を生かし、オールフラッシュより高速でありながら、物理ストレージキャパシティのコストを大幅に低減するアーキテクチャを設計しました。しかも、その主な構成要素は、費用対効果が非常に高いハードディスクドライブ(HDD)です。一体、どのように実現したのでしょうか?もちろん、この背景にはいくつもの革新的な設計技術がありますが、中でも重要なのは、読み取りキャッシュヒット率の最大化を目的とした、読み取りキャッシュ容量の管理方法です。

ほとんどのエンタープライズ向けストレージシステムは、容量が小さい高価なDRAMキャッシュと、低速ではあるものの、コストが大幅に低い大容量永続ストレージで構成された階層型設計を採用しています。要求されたデータをキャッシュに格納する時点で、システムは通常、次に参照される可能性が高い追加データをプリフェッチしておきます(そのデータが必要になったとき、すぐにアクセスできます)。プリフェッチが正確であれば、システムの読み取りキャッシュヒット率が上がり、全体的なパフォーマンスが向上します。ただし、プリフェッチが正確でないと、システムの処理速度が低下してしまいます(要求されたデータを低速な永続ストレージからキャッシュに取り込むまで、処理を続行できません)。また、新たにプリフェッチされるデータの容量を確保するため、LRULeast Recently Used)」や「FIFOFirst in First out)」など従来のアルゴリズムを使用して、キャッシュから削除するデータを決定しています。結局のところ、読み取りキャッシュに特化した管理方法では、大規模な運用環境では特に、システム全体のパフォーマンスに大きな影響を及ぼすことになります。

Infinidatは、「Neural Cache」と呼ばれる独自のアプローチを開発しました。このアプローチでは、階層型ストレージ設計にインテリジェントなデータ配置を取り入れることにより、優れたコスト効率で読み取りキャッシュヒット率を最適化します。Neural Cacheは、メタデータのタグ付け機能を使用し、アクセス頻度だけでなく、従来のシステムでは追跡できないその他のさまざまなメトリック(ブロックサイズ、読み取り/書き込み頻度、併用されるデータ、関連するアプリケーションのI/Oプロファイルなど)を追跡します。さらに、これらのデータに基づいて、ブロック固有の「アクティビティベクトル」を作成します。作成されたアクティビティベクトルは、ブロックのメトリックの変化に応じて時間とともに変わります。つまり、常に最善の情報に基づいて、一緒に参照される可能性が高い(プリフェッチすべき)データと、(キャッシュから移動するデータの)書き込み先を決定できます。一緒に使用される可能性が高いデータを示すアクティビティベクトルをリアルタイムで分析して、プリフェッチするデータが決定されます。Neural Cacheでは、空間的局所性と時間的局所性の両方の情報がブロック単位で維持されます。さまざまなワークロードが実行され、ランダムアクセスとシーケンシャルアクセスが混在するエンタープライズ環境でも、このアプローチにより、読み取りキャッシュヒット率が大幅に高まることが実証されています。また、この手法はディープラーニングアプローチをベースとしているため、条件の変化に応じて迅速に最適化されます。(家電のサーモスタットのように)恒常的アプローチを使用し、手動で調整しなくても、常に最良のパフォーマンスが得られるようにシステムが維持されます。

InfiniBoxの設計には、極めて高い読み取りキャッシュヒット率を可能にするその他の特徴がいくつかあります。まず、InfiniBoxでは複数のストレージ階層を使用します。非永続のDRAMキャッシュ、永続的なソリッドステート階層、そして残りのすべてのシステムキャパシティは低コストのハードディスクでまかなわれます。Infinidatでは、ほとんどのエンタープライズストレージベンダーより大容量のDRAMキャッシュを使用しており、大型システムなら最大3テラバイト(TB)の大規模なキャッシュ容量を実現しています。この大容量キャッシュには2つのメリットがあります。より多くのデータをCPUの近くに格納できるため、キャッシュヒット率が向上します。また、データがキャッシュ内に留まる時間が長くなるため、後続のデータ要求に迅速に対応できると同時に、より適切なデータに基づいてアクティビティベクトルを作成できます。これらは、今まで以上に効率的なデータ配置につながります。DRAMキャッシュは、永続的なソリッドステート階層によって支えられています。大型システムではこの階層に368TB相当が確保され、そのキャパシティのほとんどは2次キャッシュとして管理されます。システムの残りのキャパシティはHDDでまかなわれることになり、4ペタバイト(PB)を超える大型システムでは、システムのキャパシティ全体の90%以上をHDDが占める場合があります。以前のブログで紹介したとおり、実際に設置されているシステムのうち、2PB以上のHDDを擁するシステムは70%を超えます。

2つ目の特徴は、書き込みキャッシュ内のデータがアクティビティベクトルに基づいて結合され、永続ストレージに順次書き込まれるため、書き込み効率が向上する点です。ソリッドステートストレージでは、ガベージコレクションアクティビティが長期にわたって最小限に抑えられ、回転ディスクでは、HDDのシーケンシャル書き込みの処理パフォーマンスが(ランダム書き込みの処理パフォーマンスと比べて)向上するというメリットが得られます。付随するメリットとして、フラッシュ上でのランダム書き込みが最小限に抑えられることで、メディアの耐久性が高まり、同様にHDDでのランダム書き込みが抑えられることで、デバイスレベルでの信頼性が高まります。

3つ目の特徴は、すべてのシステムメタデータが階層型データ構造でDRAMに格納され、迅速かつ効率的なアクセスが実現する点です。もともと、インターネット検索の高速化を目的としてGoogleが活用していた設計を基に、Infinidatは、ストレージアクセスに最適化した同様の設計を開発し、特許を取得しました。階層型データ構造では、非常にスケーラブルな方法で、数十億のオブジェクト(データブロックなど)を極めて迅速に参照できます。深い「ツリー」を経由する必要もなければ、ハイパースケール環境でハッシュアルゴリズムの衝突が発生するリスクもありません。データがまだプリフェッチされていないまれなケースでも、少ない命令サイクルで必要なデータを「見つける」ことができます。つまり、(データが最後に使用されてから、アクティビティベクトルが更新されていないため)データが一緒に配置されていない場合でも、目的のデータを効率的にまとめてプリフェッチできます。

InfinidatNeural Cacheには、ディープラーニングとして知られる人工知能と機械学習(AI/ML)の一部が独自に採用されています。ディープラーニングでは、複数の決定オプションを評価して、目的を果たすうえでより役立つと実証された選択肢とそうでない選択肢を継続的に学習し、「ニューラルネットワーク」のようなものを有効に活用して目標を達成します(この場合は、データの配置を長期にわたって最適化し、読み取りキャッシュミスを最小限に抑えること)。ディープラーニングの期間が長くなるほど目標に近づき、状況が変わったときには(最新のワークロードではよくあります)、その変化に適応してもう一度目標に近づくことを試みます。このような完全自己管理型の優れた例が示されたことで、ほとんどのストレージベンダーは、最終的には同様のシステム内蔵方式のアプローチへと移行し、静的なキャッシュ管理や手動作業の多いアプローチから脱却して、現在主流となっているシステムの最適化という戦略を採用することになるでしょう。

 

Eric Burgener氏について

Eric Burgener氏は、IDCの企業インフラストラクチャープラクティス部門のリサーチバイスプレジデントです。主な調査分野は、ストレージシステム、ソフトウェア/ソリューション、四半期追跡、エンドユーザー調査で、アドバイザリサービスやコンサルティングプログラムも担当しています。エンタープライズ向けストレージの分野で培った経験を生かして、特にフラッシュ最適化アレイ、最新の永続性メモリ技術、ソフトウェア定義のストレージに関する調査に重点的に取り組んでいます。2017年にIDCAlexander Motsenigos Memorial AwardOutstanding Innovation in Market Researchを受賞。ARInsightsARchitect Analyst Power 100ではアナリストトップ1001人に選出されており、IDCIT Buyers Research Programにも積極的に参加しています。

アバウト Eric Burgener

IDCの企業インフラストラクチャ・プラクティス部門リサーチ・バイスプレジデント。主な担当はストレージシステム、ソフトウェア/ソリューション、四半期追跡、エンドユーザー調査、アドバイザリサービス/コンサルティング・プログラムです。企業用ストレージで培った経験を生かして、特にフラッシュ最適化アレイ、発展中の永続性メモリ技術、ソフトウェアデファインド・ストレージに重点的に取り組んでいます。IDCのITバイヤー調査プログラムに活発に参加し、インフラストラクチャやデータ管理をテーマとするブログを、年間を通じて発信しています。