コールドキャッシュとウォームキャッシュの概念とはどういう意味ですか?


10

論文を読み、「コールドキャッシュ」と「ウォームキャッシュ」という用語を使用しました。コールドキャッシュとウォームキャッシュの概念とはどういう意味ですか?私はこれに行きますが、もっと何かが必要です。


1
何が便利だと思いますか?この情報をどのように使用しますか?あなたが知っている、ので、私は尋ねる:google.com/search?q=wikipedia+cold+cache
mikeserv

この概念を論文で使用したいので、詳細を知りたい。
アミール

連続体には「有用性」が存在するため、特定のキャッシュの有用性を理解するための比喩として温度を使用しているだけです。ウォームキャッシュはヒット率が高いのに対し、コールドキャッシュはおそらくすぐには要求されないデータで満たされているため、領域を占有しているだけです。
Bratchley 2014

@JoelDavis-キャッシュがエラーを処理する必要がない場合、上記は真であり、これまで開発が必要であったキャッシュデータを置き換える唯一の方法はLFUですが、データはさまざまな理由でエラーが発生しやすいため、処理コールドキャッシュは、最も使用頻度の低いデータを置き換えるよりも少し複雑です。
mikeserv 2014

回答:


13

要約すると、ウォームキャッシュは便利ですが、コールドキャッシュは役に立ちません。実際、コールドキャッシュは危険な場合があります。

キャッシュの重要なポイントは、頻繁にアクセスされるデータにアクセスできるようにすることです。たとえば、DNSキャッシュは、最近リクエストした名前解決の結果をローカルに保存し、同じ解決が再度リクエストされた場合、結果はすでに利用可能であり、より大きな、おそらくオフサイトの名前データベースをクエリすることなくすぐに提供されます。 。言い換えると、コンピュータはインターネットサービスプロバイダのドメインネームサーバーにgoogle.comへのIPアドレスを要求する必要はありません。これは、コンピュータがすでにそれを認識しているためです-DNS キャッシュウォームです。

ただし、GoogleのIPを要求しない場合は、キャッシュに保存されません。冷たいキャッシュはどちらか便利であるには余りにも古くなっている-それが含まれているデータのように可能性があり、あまりにも古いことは、正確な -またはそれは完全にある空、との空にたくさんの寒さを。

しかし、多くの場合、空のものは古いものよりも優れています-これはもちろん、キャッシュされているデータに大きく依存しています。Emptyは、単に埋めるだけで簡単に処理できます。これは非常に簡単ですが、古いキャッシュにはエラー修正が必要です。これは、キャッシュシステムを開発および維持する上での主要なロジスティクス上の問題です。キャッシュしたデータが最新であるかどうか、また最新でない場合はどうすればよいですか。

私はこれらの質問のどちらにも答えません-どちらも実装に依存し、おそらく私の能力をはるかに超えています-しかし、すべてのキャッシングシステムに不正確な固有のリスク伴うことを理解する必要があります。それは領土と一緒です。リスクはそれほど大きくない可能性があります。多くの場合、処理時間に数ナノ秒の余分なリスクがあるだけです。キャッシュシステムは、キャッシュデザイナーによって実装されたフェイルセーフに対して要求されたデータをチェックします。フェイルセーフが必要であることが判明した場合、キャッシュシステムは、たとえばISPのDNSにgoogleのIPを照会し、すべてが正常です。

キャッシュ暖かく、しかし、あまりそこにされて危険にさらしました。暖かいキャッシュの恩恵親愛なるデータを維持するには、近く上回るリスク冷たいキャッシュのおそらくあなたがキャッシュすべきではない...欠点をか。


7
有名な引用が言うように、「コンピュータサイエンスには2つの難しい問題があります。物事の命名、キャッシュの無効化、および1つずれたエラーです。」キャッシュされた値が古いことを知ることは、キャッシュの無効化が意味することとまったく同じです:)
Riking

キャッシュの不正確さについてのあなたのコメントでは、それは必ずしも本当ではありません。システム/アプリケーションがデータソースに排他的にアクセスできる場合、キャッシュエントリは必要に応じて更新または削除できます。この問題が発生するのは、同時にアクセスされるソース(DNS、NFS、CIFSなど)を処理している場合のみです(DNSの場合など、書き込みアクセスが1つしかない場合でも)。
Bratchley 2014

「そうでなければなぜキャッシュするのか」他のものをキャッシュするのと同じ理由、つまり高レイテンシに対する保護。たとえば、ファイルシステムキャッシュは、OSが一般的な要求のためにディスクにアクセスする必要がないようにするためのものです。ただし、ローカルファイルシステムへの変更はとにかくカーネルを経由する必要があるため、キャッシュはまだ一貫した状態にあります。この種の破損はキャッシングがキャッシングであることによるものではないため、ECC部分は実際には関係ありません。ハードウェアエラーが原因で、どのように設計されていてもすべてのシステムに等しく影響を及ぼします。
Bratchley 2014

ディスクはRAMのキャッシュですか?
Bratchley 2014

あなたは関係が逆転したと思います。最近アクセスしたディスクの内容はRAMにキャッシュされるため、メモリはディスクのキャッシュになります(または、少なくともキャッシュシステムの一部として使用されます)。ディスクアクセスは、メモリへのデータの格納が回避されるように設計されている遅い操作です。
Bratchley 2014

6

一般的に、コールドキャッシュは、まだ十分に実装されていない(まだ)キャッシュです。したがって、キャッシュが冷たい場合は、おそらく遅い方法を使用して情報を取得する必要があります。これは通常、アプリケーションが起動した直後、またはクエリの種類が大幅に変更された場合に発生します。

逆に、ウォームキャッシュには、最近または頻繁に取得した情報が十分に読み込まれます。

extファイルシステムとディレクトリ構造に関して、Linuxの仮想ファイルシステム(VFS)でのキャッシュの一般的な動作に関する情報がいくつかあります。http//www.tldp.org/LDP/tlk/fs/filesystem.html


「最近または頻繁に」?最近、そうです。しかし、頻繁に?
Faheem Mitha 14年


1
@FaheemMithaそれは本当です-LFUは間違いなくこの部門で遭遇する非常に一般的な頭字語です。キャッシュに最近の情報のみが含まれていることが合理的に確実であり、それがいっぱいである場合は、新しいデータを読み取るときにどの情報を置き換えるかを決定する他の方法が必要です。LFUはおそらくあなたが行く方法です。
mikeserv 2014年

@cpugeniusmvリンクありがとうございます。それはあなたの答えに合理的に含めることができます。
Faheem Mitha 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.