Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

一番のボトルネックはメインメモリへのアクセス速度というのを聞いたのですが、本当でしょうか?

以前、一番ボトルネックになる部分はCPUの速度じゃなくてメインメモリへのアクセス速度というのを聞いたことがあります。
これは本当でしょうか?
HDDなどの主記憶装置へのアクセスは除きます。

0

2Answer

何をもって「一番のボトルネック」というのかはわかりませんが。

一般的にハードウエア的に遅いもの順で(いろいろ抜けているかもしれませんが)

  • ネットワークアクセス・通信や、物理的な移動(ロボットのアームを動かすとか、ハードディスクのヘッドのシークとか)など
  • その他の装置(雑な分類ですが。例えばSSDなども、メモリと比べると遅い)
  • メモリ
  • CPU/キャッシュ

といった感じになると思います。

(理屈の上では CPU ネックもあるでしょうけど、最近の CPU は性能が良いので、メモリの方が遅いと思います)

ただし、ソフトウェア的にボトルネックがあることもあり、その場合には、メモリアクセスなんて誤差ぐらいに遅くなることはあります。

  • リソースを消費しすぎ(スワップアウトされたり、ガベージコレクションが多発したり)
  • アルゴリズムが悪い場合

質問の意図がわかりませんが、メモリとCPUだけ比べるなら、メモリ側がボトルネックになると思います。
(一般的にはそのレベルの最適化、高速化は、CPUキャッシュにどれだけ載せられるか、メモリアクセスをどれだけ減らせるかがポイントになると思います)

例えば、書籍「プログラマが知るべき97のこと」の「45. 限界を知る」あたりが参考になるかもしれません。
CC-by-3.0でライセンスされており、Web でコピーが公開されているので読んでみるとよいと思います。

全体的にアルゴリズムの話がメインですが、途中ハードウェア的な話もあります。

3Like

Comments

  1. @suittizihou

    Questioner

    ありがとうございます!!!
    普段プログラムを組んでいて、メインメモリへのアクセス速度が遅いと感じたことが無かったので、疑問に思い質問させていただきました。
    添付してくださった記事に掲載されていた速度表のおかげでモヤモヤしていた部分(実際にはどのくらい遅いのかなど)がスッキリいたしました。
    本当にありがとうございます!

映像処理分野だと大抵の処理がメモリー律速してきがちですね

rigayaの日記兼メモ帳 2015年を振り返る (エンコ編)
http://rigaya34589.blog135.fc2.com/blog-entry-715.html

自動フィールドシフト (afs)
今年は自動フィールドシフトを速くするネタを思いつけなかった。誠に遺憾である。

まあこれまでも結構速くしたのだけど、24pへのインタレ解除はこれしか使わないので、もっと速くしていきたい。とはいっても演算律速というわけではなくメモリ律速なので、できることが限られているのが辛い。

QSVEnc
QSVはハードウェアエンコーダの中でも高速で、画質もまあ、比較的よいほう。

今年の大半はQSVEncCのavqsv周りをやっていた気がする。QSVでデコード→Vpp→エンコードまでを一貫して行うavqsvモードは、QSV高速化のためには必須であり、やっとQSVEncCが他のQSVエンコーダと比べて遅いという嘆かわしい状態を解決できたと思う。高速化とは良いものだ。まあ、最終的にはメモリ速度律速なのだけど…。

0Like

Your answer might help someone💌