詳解 システムパフォーマンスを読む⑩

前回の続き

 

syachineko.hatenablog.com

 

 

 

 

syachineko.hatenablog.com

  

P.30あたりから

 

 

キャッシング

 データをディスクではなくメモリに展開する

 キャッシュの種類がレベル1, 2, 3とあり、ストレージサイズ、レイテンシがこの順で上がる

 キャッシュのパフォーマンスの代表:ヒット率

  ヒット率=ヒット/全アクセス(ヒット+ミス)

 

  ヒット率が高ければ高いほど、指数的にパフォーマンスが上がる

  ※98%と99%の差は、10%と11%の差よりよほど大きい

 

 キャッシュミス率:1秒当たりのキャッシュミス

  ヒット率が高くても、キャッシュミス率が高ければ、それだけミス数が多くなり実行時間が遅くなる

  上記のヒット率と合わせて、実行時間を以下のように整理できる

   実行時間=(ヒット率*ヒットレイテンシ)+(ミス率*ミスレイテンシ)

 

 アルゴリズム

  キャッシュの限られたスペースに何を格納するか

   キャッシュ保持ポリシーと、キャッシュ削除ポリシーがある

   ※何を残すか、または何から消すか、をポリシーとして定義したもの

 

   MRU(Most Recently Used):キャッシュ保持ポリシーで、もっとも最近使われたキャッシュを残していく

   LRU(Least Recently Used):キャッシュ削除ポリシーで、もっとも古いキャッシュを削除する(上と同義)

 

   MFU(Most Frequency Used)とLFU(Least Frequency Used)もある

ホット、コールド、ウォームキャッシュ

 キャッシュの状態を表すいくつかの表現

  コールドキャッシュ:空、または不要なデータが格納されたキャッシュ、ヒット率は0

 

  ホットキャッシュ:よく要求されるデータがセットされていてる状況、ヒット率は99%とか

 

  ウォームキャッシュ:役立つデータもキャッシュしているが、ヒット率は高くない状況

 

  最初に初期化されたメモリは、コールド状態である

  そこからウォームアップを挟み、最終的にホットキャッシュとなる

  

以上