ラウンドロビン, ランダムという言葉と、ARMのキャッシュ
- YukiharuYABUKI
- 5698
- 0
- 0
- 0
ラウンドロビンの説明を、アトランダムにマシンを割り当てるという説明は初めて聴いた。ほんとうのランダムなら同じマシンがずっとわりあたっても文句はいえない。ある規則で順番にわりあてる以外の用法ってポビュラーなのかなあ。
2011-05-28 01:51:56@YukiharuYABUKI ARM(CPU)には「キャッシュリプレースポリシーをラウンドロビンとランダムから選べる」という機能があります。ラウンドロビンとランダムは別という扱いです。
2011-05-28 02:10:42. @takehiro_t キャシュって、LRUで古いやつがおしだされる方式で、キューになっているのが普通とばかりおもってました。ランダムにするとなにが幸せなんでしょうか。うむむ
2011-05-28 02:16:04@YukiharuYABUKI それはマットウな構成のキャッシュですね。ARMは昔からずっとランダム置換です(最新のARM-A9 CPUとPL310というL2$でも同じ)。LRUの記録や比較用の機構が不要、ライン競合時の性能劣化が最悪値になりにくいのが利点ですかね
2011-05-28 02:19:55@YukiharuYABUKI とくにARMは制御系というマットウでない、やくざな領域(ひどい言い方)に使われることが多いためか、最悪時の性能劣化を出来るだけ下げることに注力しているように思えます。
2011-05-28 02:21:33@takehiro_t なるほど、最悪はあまり発生しないように、ハッシュというか、一様になるようにしかけがあるのだろうなあ。勉強になりました。ありがとうございます。
2011-05-28 02:22:02@takehiro_t なるほど、少い手数(a.k.a 手抜き)で、そこそこの性能を出すというのも、凄い仕事だ。普通、がくっ、と性能がおちて使い物にならないのを何とかするのは、わりきりのセンスがいりますし
2011-05-28 02:26:58@YukiharuYABUKI ですね。ただ、結局のところ、ランダムとラウンドロビンでは何がちゃうの?という素朴な疑問は残ります。ARMは「実装依存の非公開の方式で計算した擬似乱数」としか教えてくれないし。その計算方法って(n+1)&15とかじゃないのか、と問い詰めたくなる^^;
2011-05-28 02:29:53@YukiharuYABUKI 個人的には「非常に運が悪くて乱数アルゴリズムだと最悪の事態が起きる」時に別の乱数アルゴリズムが選べます、それはラウンドロビンです、ということなのかなあなどと思ってます。なお普通のソフト動かしている限り、この設定変えても性能ほとんど変わりませんでした
2011-05-28 02:31:55