キャッシュメモリの効果

 キャッシュメモリの効果

以下動画のテキストです
https://youtu.be/QZUiU3jg09Q

842515eaf8fbb2dfcc75197e7797dc15?s=128

Satoru Takeuchi

July 18, 2020
Tweet

Transcript

  1. キャッシュメモリの効果 Jul 18th, 2020 Satoru Takeuchi twitter:satoru_takeuchi 1

  2. もくじ • キャッシュメモリとは • 実験方法 • 結果 • まとめ 2

  3. もくじ • キャッシュメモリとは • 実験方法 • 結果 • まとめ 3

  4. キャッシュメモリとは • CPUレジスタ上の計算速度とメモリアクセス速度には大きく違いがある ◦ レジスタ上の計算速度 : 最速1ナノ秒未満 ◦ メモリアクセス速度: 100ナノ秒オーダー

    • 性能向上のために2つの間に存在する記憶装置がキャッシュメモリ • Latency Numbers Every Programmer Should Know ◦ https://colin-scott.github.io/personal_website/research/interactive_latency.html メモリ キャッシュメモリ レジスタ 高速アクセス、 小容量、高価 低速アクセス、 大容量、安価 4
  5. キャッシュメモリがうれしいとき • ワーキングセットがキャッシュメモリ上におさまっていれば、見かけ上のメモリアクセ ス速度はキャッシュメモリへのアクセス速度に等しい • 詳細は本チャンネルの「その6 キャッシュメモリ」 5 メモリ キャッシュメモリ

    汎用レジスタ(x86_64だと16個) 読み書き 読み書き ワーキングセットが キャッシュメモリに おさまればここは不要
  6. もくじ • キャッシュメモリとは • 実験方法 • 結果 • まとめ 6

  7. 実験 • プログラム 1. 第一引数で指定された量のメモリ (KiB単位)をワーキングセットとして獲得 2. ワーキングセットにシーケンシャルアクセスを繰り返し、合計 4GiBのデータにアクセス 3.

    所要時間[秒]を出力 • わたしの環境 ◦ キャッシュメモリ: L1dが32KiB、L2が256KiB、L3が12288KiB • 測定範囲 ◦ 1KiBから64MBまで • 結果の図示方法 ◦ X軸: ワーキングセットサイズ [KiB] ◦ Y軸: 所要時間 [秒] 7
  8. もくじ • キャッシュメモリとは • 実験方法 • 結果 • まとめ 8

  9. 結果 9

  10. 結果: キャッシュメモリ容量との関係 10 L3キャッシュアクセス速度 L1キャッシュサイズ (32KiB) L3キャッシュサイズ (12288KiB) L2キャッシュサイズ (256KiB)

    各キャッシュメモリの 容量前後で劇的に所要 時間が変化する
  11. もくじ • キャッシュメモリとは • 実験プログラム • 結果 • まとめ 11

  12. まとめ • キャッシュメモリはレジスタ上の計算とメモリアクセス速度の差を埋める • ワーキングセットがキャッシュおさまっていると最大限の効果が出る • 現実に活かせる知識(キャッシュメモリを知らなければ理解できない) ◦ ワーキングセットを減らすと性能が劇的に改善することがある ◦

    ワーキングセットが大きくなると突然性能劣化することもある 12