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

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

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

[Chris Evans,Computer Weekly]
Computer Weekly

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

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

14783.gif

本記事は、プレミアムコンテンツ「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時間は、ほぼ同じになるからだ。

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

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

この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事

Loading

注目テーマ

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

news091.jpg

グランドデザインの「Gotcha!mall」がDMA国際エコー賞を受賞
グランドデザインは、同社のスマートフォンオムニチャネルプラットフォーム「Gotcha!mall...

news088.jpg

コムニコマーケティングスイート、Instagramアカウント分析機能を拡張
コムニコは、ソーシャルメディア運営支援ツール「コムニコマーケティングスイート」のIns...

news034.jpg

Salesforce Pardot、「日本語化」だけではない重要な強化ポイントとは?
本稿では「Salesforce World Tour Tokyo 2017」におけるセッション「生まれ変わったPardo...