2014年07月28日 08時00分 公開
特集/連載

基礎から分かるキャッシュ技術どこでどのように? キャッシュ技術/製品最新動向

キャッシュをどこに(サーバ内かOSか)、どのように(ライトスルー、アラウンド、バック)実装するのか? どのような製品があるのか? 低レイテンシとスループット向上を実現するキャッシュ技術の最新動向を探る。

[Chris Evans,Computer Weekly]
Computer Weekly

 キャッシュの実装とは、高速でアクセスできる記憶媒体(すなわちメモリ)をローカルのCPU側と、大容量記憶装置とは別の場所の2カ所に配置して、そこにデータのコピーを一時的に保存する技法だ。これについてはコンピューティングと同じくらい古くから議論が続けられている。

Computer Weekly日本語版 7月16日号無料ダウンロード

本記事は、プレミアムコンテンツ「Computer Weekly日本語版 7月16日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。


 キャッシュは、コンピューティングアーキテクチャ上のコアコンポーネント間で、パフォーマンスの特質がかみ合わないこと、言い換えると、CPUとアプリケーションの処理に関して大容量記憶装置はパフォーマンス上の要求を満たせないところから、(その問題の解決策として)実装されるようになった。

 現在はキャッシュと一口に言っても、ライトスルー方式、ライトアラウンド方式、ライトバック方式と選択肢が幾つもあって、多くの製品はこれらのキャッシュを組み合わせて活用している。それだけに、最大のパフォーマンスを得るためにどの選択肢を採用するかを検討するのは大仕事でもある。

キャッシュの利点

 データにアクセスする際のレイテンシ(待ち時間)を短縮すると、アプリケーションのパフォーマンスが向上する。通常、ディスクI/O処理に要する時間を短縮するとアプリケーションの処理速度が上がる。アプリケーションのワークロードはほとんど全ての場合、I/O操作によって左右されるためである。

 無論、最近はレイテンシを短縮してパフォーマンスを向上させるフラッシュメモリをストレージとして配備できる。ただし大抵の場合、フラッシュメモリは現実的な方法ではなく、費用効率に優れているともいえない。ほとんどのIT環境では、ある時点で保持しているのはワーキングセットと呼ぶ一部のデータだけだからだ。そこでキャッシュの登場となる。

キャッシュの効果

  • アクティブなデータのレイテンシを短縮するので、アプリケーションのパフォーマンスが向上する
  • ほとんどの入出力をキャッシュとCPUとの間で実行するので、外部ストレージとの間のI/Oを実行する回数が少なくなり、ストレージエリアネットワーク(SAN)のトラフィックやSANの競合のレベルが下がる
  • 外部のストレージアレイや従来のストレージにデータをずっと残しておくことができる。アレイが提供するスナップショットやレプリケーションなどの機能を利用して、データの整合性と完全性を維持する
  • Flash SSDを利用してワークロードのレイテンシを低減するとパフォーマンスが向上する場合がある。ストレージの費用効率を高めることができる

キャッシュの種類

 展開できるキャッシュの方式は主に3種類あり、それぞれに長所と短所がある。

◯ライトスルー方式

 ライトスルー方式のキャッシュの場合、ホストに対して入出力操作が完了したかどうかを確認することなく、キャッシュと永続的なストレージの両方に対して直接入出力の書き込み動作を実行する。このような方法で、例えば共有ストレージアレイ上に、更新されたデータが安全に保存されることを保証している。ただしこの方式にはストレージへの書き込みが必ず含まれるので、I/Oのレイテンシがやはり発生するという欠点がある。ライトスルー方式のキャッシュは、データを書き込んだ後に再読み取りの処理を頻繁に実行するアプリケーションに適している。データがキャッシュに保存されているためにレイテンシが低いからである。

◯ライトアラウンド方式

 ライトアラウンド方式のキャッシュは、ライトスルー方式に似ている。ただし書き込みのI/Oでは、キャッシュをバイパスして永続的なストレージに直接書き込む。こうすることで、書き込みのI/O時にキャッシュがあふれて結果的に再読み込みに失敗するインシデント(障害)の発生率を減らすことができる。ただし、直近に書き込みを試みたデータに対する読み取り要求が「キャッシュミス」(キャッシュからデータを読み取れない)となり、低速の大容量ストレージからの読み取りを余儀なくされることでレイテンシが増大するという短所がある。

◯ライトバック方式

 ライトバック方式の場合、I/Oの書き込み先はキャッシュとなり、書き込み動作が完了したかどうかを、ホストに対して直ちに確認する。従って書き込み処理の多いアプリケーションでは、レイテンシが低下すると同時にスループットも向上する。ただし利用可能なデータを(不用意に)公開するリスクもある。書き込まれたデータのコピーはキャッシュだけに置かれるからだ。サプライヤーは、二重書き込みを実行する製品にシステムの耐障害性を追加した。データが外部ストレージに置かれるまで公開されずに保存されるように、ライトバック方式のキャッシュが十分なデータ保護機能を提供しているかどうかを検討する必要がある。ライトバック方式のキャッシュは、混合ワークロードでは最高のパフォーマンスを実現できるテクノロジーだ。読み取りと書き込みの両方のI/O時間は、ほぼ同じになるからだ。

キャッシュをどこに実装するか

 キャッシュソリューションを導入できる場所は幾つかある。以下に例を挙げる。

ITmedia マーケティング新着記事

news129.jpg

新型コロナウイルス感染拡大で米国のEC取引が急増――Adobe Digital Economy Index
Adobeは、「Adobe Analytics」と、オンラインでの商品およびサービスの売り上げを測定す...

news025.jpg

SNSマーケティングの「中と外」
「ITmedia マーケティング」では、気になるマーケティングトレンドをeBookにして不定期で...

news143.jpg

Google トレンドで探る新型コロナウイルスに関連する検索動向
新型コロナウイルスの脅威が高まる中、国内の関心はどのように移り変わっているのか。「G...