SCMと永続メモリが実現するストレージボトルネックの解消:フラッシュ対SCM(後編)
SCMやNVDIMMを効果的に使えば、これまで解決できなかったストレージボトルネックを解消できる。SCMやNVDIMMの用途や周辺動向を整理して紹介する。
前編(Computer Weekly日本語版 8月8日号掲載)では、NVMeを通して見えてきた次世代技術であるストレージクラスメモリ、不揮発性DIMMについて解説した。
後編では、SCMや永続メモリを使ってストレージのボトルネックを解消する方法について解説する。
ストレージ階層の利用
現在は多種多様なストレージメディアが存在し、パフォーマンスの階層が形作られている。簡単にまとめると、以下のようになる(上から順に高速)。
- NVDIMM
- NVMe SCM
- NVMeフラッシュ
- SAS/SATAフラッシュ
- HDD
ストレージのパフォーマンスに関する問題を解決する鍵は、これらの技術を効率的に利用する方法にある。
ストレージボトルネックの原因
ストレージに関する全ての問題は、2つのシナリオの結果になる可能性が非常に高い。一つはレイテンシが高過ぎる(削減する必要がある)こと。もう一つはスループットが低過ぎる(高める必要がある)ことだ。つまり、IOPSを向上させるかデータ転送量を増やすかのいずれかになる。
こうしたボトルネックを解消するには、プロセッサと保存中のデータの中間にあるアクティブなデータ(ワーキングセット)をターゲットにする。つまり、高速メディアにキャッシュするか、ストレージ自体を高速メディアに交換する。
キャッシュ
キャッシュは、コンピュータの発明以来ずっと存在している。通常、データセットの全データが一度にアクティブになることはない。アプリケーションによって異なるが、アクティブなデータやワーキングセットはほとんどの場合非常に小さい。
キャッシュの狙いは、高速なメディアをワーキングセットで利用できるようにし、コストとパフォーマンスを最適化することだ。このコストとパフォーマンスが、利用するメディアを決める重要な要因になる。
SCMや永続メモリは、キャッシュに適している。それは、どちらも低レイテンシのパフォーマンスを発揮するためだ。ただし、どちらもハードウェアかOSのサポートのいずれか(または両方)を必要とする。また、キャッシュにNVMeドライブやフラッシュドライブを使用することで、互換性の問題を減らすことも可能だ。
「Windows」は、DAX(Direct Access)と呼ぶ技術を使ってSCMをサポートしている。これは「Windows Server 2016」から提供されている。「Linux」カーネルは、リリース4.2からNVDIMMをサポートしている。
ハイパーバイザーは、仮想マシンのパフォーマンスを向上させるためにフラッシュおよびNVMe製品をサポートしている。「VMware vSphere」に搭載されている「vSphere Flash Read Cache」は、個別の仮想マシンのパフォーマンスを向上させる。また、同社の「Virtual SAN」はNVMeとNVDIMMをサポートし、永続ストレージのキャッシュに使えるようにする。
永続ローカルストレージ
SCMや永続メモリは、ローカルストレージにも使える。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Copyright © ITmedia, Inc. All Rights Reserved.