アプリ版:「スタンプのみでお礼する」機能のリリースについて

キャッシュでのミスヒット率NFPを小さくするためには、

1.頻繁に使われる処理を1つのルーチンにまとめる
2.LRU方式など、古く使われないブロックから追い出す

これ以外に方法はあるでしょうか?
ブロックサイズを大きくするというのも手かなと思いましたが、実際のところはどうでしょうか。

A 回答 (1件)

う~ん。

 ご質問の方は、CPUハード系の設計者だと思うのですが?

NFPを小さくすることは、CPUの処理効率を上げる上で、最大のファクターかも知れませんね。

>1.頻繁に使われる処理を1つのルーチンにまとめる

>2.LRU方式など、古く使われないブロックから追い出す

CPU処理効率を向上する常套手段として使われていますよね。

>ブロックサイズを大きくするというのも手かな

は、結構いい案だと思うのですが、結局は「どういうデータをどのように
処理する」かで、採る対策が決まると思います。

極端な例を言えば、スパコンで採用されてるベクトルプロセサでは

一度読み込まれたデータは、再読込される確率が極めて低いため、キャッシュ
メモリは殆ど役に立ちません。

そこで対策として、インターリーブの数を1024, 2048と増加させて
見かけ上のメモリ応答を改善している訳です。

「データ処理技法」の用途に合わせて採る手段を変えざるを得ないと思います。

プロセス側から動的にキャッシュコントロールのアルゴリズムを変化させる
という手もあるかも知れませんが、CPUは頻繁にプロセスを切り替えているので
両刃の刃的とも思えます。

つまるところ、大容量のキャッシュを備えるしかないと思います。

すみません、ありきたりの回答になってしまいました。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!