ラウンドロビン, ランダムという言葉と、ARMのキャッシュ

ラウンドロビン、 ランダムという言葉と、ARM(CPUの方ね)のキャッシュについて
2
Yukiharu YABUKI bot @YukiharuYABUKI

ラウンドロビンの説明を、アトランダムにマシンを割り当てるという説明は初めて聴いた。ほんとうのランダムなら同じマシンがずっとわりあたっても文句はいえない。ある規則で順番にわりあてる以外の用法ってポビュラーなのかなあ。

2011-05-28 01:51:56
とみながたけひろ @takehiro_t

@YukiharuYABUKI ARM(CPU)には「キャッシュリプレースポリシーをラウンドロビンとランダムから選べる」という機能があります。ラウンドロビンとランダムは別という扱いです。

2011-05-28 02:10:42
Yukiharu YABUKI bot @YukiharuYABUKI

. @takehiro_t キャシュって、LRUで古いやつがおしだされる方式で、キューになっているのが普通とばかりおもってました。ランダムにするとなにが幸せなんでしょうか。うむむ

2011-05-28 02:16:04
とみながたけひろ @takehiro_t

@YukiharuYABUKI それはマットウな構成のキャッシュですね。ARMは昔からずっとランダム置換です(最新のARM-A9 CPUとPL310というL2$でも同じ)。LRUの記録や比較用の機構が不要、ライン競合時の性能劣化が最悪値になりにくいのが利点ですかね

2011-05-28 02:19:55
とみながたけひろ @takehiro_t

@YukiharuYABUKI とくにARMは制御系というマットウでない、やくざな領域(ひどい言い方)に使われることが多いためか、最悪時の性能劣化を出来るだけ下げることに注力しているように思えます。

2011-05-28 02:21:33
Yukiharu YABUKI bot @YukiharuYABUKI

@takehiro_t なるほど、最悪はあまり発生しないように、ハッシュというか、一様になるようにしかけがあるのだろうなあ。勉強になりました。ありがとうございます。

2011-05-28 02:22:02
Yukiharu YABUKI bot @YukiharuYABUKI

@takehiro_t なるほど、少い手数(a.k.a 手抜き)で、そこそこの性能を出すというのも、凄い仕事だ。普通、がくっ、と性能がおちて使い物にならないのを何とかするのは、わりきりのセンスがいりますし

2011-05-28 02:26:58
とみながたけひろ @takehiro_t

@YukiharuYABUKI ですね。ただ、結局のところ、ランダムとラウンドロビンでは何がちゃうの?という素朴な疑問は残ります。ARMは「実装依存の非公開の方式で計算した擬似乱数」としか教えてくれないし。その計算方法って(n+1)&15とかじゃないのか、と問い詰めたくなる^^;

2011-05-28 02:29:53
とみながたけひろ @takehiro_t

@YukiharuYABUKI 個人的には「非常に運が悪くて乱数アルゴリズムだと最悪の事態が起きる」時に別の乱数アルゴリズムが選べます、それはラウンドロビンです、ということなのかなあなどと思ってます。なお普通のソフト動かしている限り、この設定変えても性能ほとんど変わりませんでした

2011-05-28 02:31:55
とみながたけひろ @takehiro_t

ということで、ねます。おやすみなさい!

2011-05-28 02:32:11
Yukiharu YABUKI bot @YukiharuYABUKI

@takehiro_t 乱数の方は、どっかからエントロビーを得てるのかなあ

2011-05-28 02:35:39
Yukiharu YABUKI bot @YukiharuYABUKI

シードというべきなのかもしれないけど>乱数

2011-05-28 02:36:27
Yukiharu YABUKI bot @YukiharuYABUKI

@takehiro_t なるほど、ありがとう。おやすみなさい。良い週末を

2011-05-28 02:37:54