問題タブ [lru]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - Cassandra を LRU キャッシュとして使用することは可能ですか?
キーと値のペアを Cassandra に保存し、固定のストレージ サイズに達するとエントリを LRU 方式で自動的に削除したいと考えています。
Cassandraを使用してこれを行うことは可能ですか?もしそうなら、それを行うための最良の方法は何でしょうか. そうでない場合、すべてのデータをメモリに保持する必要がなく、このユースケースをサポートする分散ストレージ システムは他にありません。
c++ - stl::list を使用した挿入と消去のシーケンス
leetcode の練習をしていると、次のような問題に遭遇しました。
stl::list
LRU アルゴリズムのキャッシュとしてコンテナーを使用しました。しかし、アイテムを消去してアイテムを挿入する順序は結果を変えました。
私はそれが実際には二重リストであることを知っていstl::list
ます. また、イテレータを使用する場合、挿入と消去の順序は重要ではありません。
コードはこちら
java - removeEldestEntry を使用した Java LinkedHashMap で java.lang.NullPointerException が発生する
エラーは次のようになります
中getLastFinishedCommands
で使ってる
古いエントリを自動的に削除するマップを作成したかったので、このスニペットを使用しました
こんな感じで使いました
明らかに、複数のスレッドで使用するときに発生するある種の CocurrentModifcationException です。しかし、内部でクラッシュするのはなぜですか? 関数全体に try/catch を配置するだけに頼らずに、これを修正しようとしていgetLastFinishedCommands
ます。
古いジャンクから自動的に消去されますが、少なくとも 5000 個のキー/値エントリを保持するマップが必要です。
caching - 最終レベルのキャッシュ置換ポリシー
Intel IvyBridge キャッシュ交換ポリシーに関するブログ記事を見つけました。彼は、Ivy Bridge の L3 キャッシュ置換ポリシーはもはや疑似 LRU ではないと結論付けました。
新しいキャッシュ置換ポリシーの下で、L3 に 4 つのセットがあり、セット 0 と 1 がプロセスによって使用されているとします。セット 2 と 3 を割り当てることができます。他の CPU からの新しいプロセスが 2 つのページを L3 キャッシュにロードしようとした場合、新しいプロセスがそのページをセット 2 と 3 にロードすることが保証されますか? つまり、最後のレベルのキャッシュに使用可能なキャッシュ セットがある場合、HW は常に使用可能なセットを選択して新しいページをロードしますか?
operating-system - オペレーティング システム用の C 言語の最も古いアルゴリズム
このコードを作成しましたが、これはページ フォールトに対して異なる値を示しています。私を助けてください。time は、ページが参照された回数を格納する配列です。そして、「foo」は、フレーム リストの 1 ページの最小時間を返すように設計された関数です。
caching - LRU キャッシュは CPU にどのように実装されていますか?
私は面接のために勉強していて、キャッシングについての記憶をリフレッシュしたいと思っています。CPU に LRU 置換ポリシーを備えたキャッシュがある場合、それは実際にどのようにチップに実装されているのでしょうか? 各キャッシュ ラインはタイムスタンプ ティックを格納しますか?
また、両方の CPU が 1 つのアドレスに同時に書き込むデュアル コア システムではどうなりますか?
python - Pythonでのメモリ認識LRUキャッシング?
Python 3 の組み込みfunctools.lru_cache
デコレーターを使用して、いくつかの高価な関数をメモしています。あまりにも多くの値をキャッシュするとスラッシングが発生するため、メモリをあまり使用せずにできるだけ多くの呼び出しをメモしたいと考えています。
Python でこれを達成するための推奨される手法またはライブラリはありますか?
たとえば、この質問は、システム メモリを意識した LRU キャッシング用の Go ライブラリに私を導きました。Python に似たものが理想的です。
注:maxsize
いくつかのプロセスが装飾された関数を並行して呼び出すため、値ごとに使用されるメモリを推定してそれに応じて設定することはできません。ソリューションでは、空きメモリの量を実際に動的に確認する必要があります。
lru - LRU アルゴリズムのページ フォールト
プログラミングの講義で何かを理解するのに苦労しています。ページ置換アルゴリズムにはページ フォールトがあることを知っています。
LRU アルゴリズムで、ページ フォールトが発生するのはいつですか? 空き枠がなくなったときですか?フレームが既に存在するが、既に使用されている場合ですか?
私は講義のプレゼンテーションにこの写真を持っています (オリジナルは別の言語であるため、重要な部分だけを切り取っています):
この図の質問は、「フレームが 4 つしかない場合、LRU アルゴリズムを使用するとページ フォールトが発生するのはいつですか?」というものです。ご覧のとおり、最初の 3 行に x があります。空きフレームが残っているときにページ フォールトが発生するかどうかを尋ねているのはそのためです。それとも、フレームを「キックアウト」する必要があるときに、赤い X でのみページ フォールトが発生しますか?