RMMAによる内部解析 - RAM Latency(グラフ180~187)

CacheのLatencyの結果も一通り見たところで、次はDRAM Latencyを。今回の場合、全ての環境でメモリはDDR4-2666で統一しているので、あとは純粋にメモリコントローラの性能ということになる。厄介なのはCore i7-6950Xで、何しろL3が25MBもあるので、実質的なLatencyは32MBあたりをみないと判然しないことになる(RYZEN 7 1800Xの16MBも結構アレだが)。

ちなみにここまでの結果はいずれも結果をcycle数で示してきた。L3まではcycleで示しても問題ないが、Memoryは別のClockで動いているわけで、cycleが必ずしも適当とは言えない。そこでcycleの結果とあわせて、実際の経過時間(ns)での結果も示した。

ということでまずはForward(グラフ180とグラフ181)。Core i7-7700Kが非常にLatencyが多いのも気になるが、RYZEN 7 1800Xが15cycle/4.2nsあたりできれいに一定の数値になっている。これはかなり上手くPrefetchユニットが動作しており、実際のLatencyが遮蔽されているのではないかと思う。

この傾向はBackward(グラフ182とグラフ183)も同じで、Core i7-6950Xと同等といのはいくらなんでも高速すぎる。

ではPrefetchが効かなそうなRandom(グラフ184とグラフ185)は? というと、これが実際の実力というところではないかと思う。ここまでのテストでも、メモリアクセス性能はIntelの2製品に及ばない(グラフ27とグラフ28のRMMTの結果などその最たるものだ)結果が出ており、このRandom Accessの結果は素直に信じられる。

ただ、Pseudo-Random(グラフ186とグラフ187)を見ると、ある程度規則性があればLatencyが80cycle/23ns弱に抑えられるあたり、かなりRYZEN 7 1800Xに搭載されたPrefetchユニットは強力なものだ。逆に言えば、これがもう少し改良されると、もっと実効メモリアクセス性能が高まり、性能の底上げに繋がるかもしれない。もっともその前にメモリコントローラそのものを高速化したほうが早いのかもしれないが。