トップ «前の日(06-03) 最新 次の日(06-05)» 追記

U-memo

2006|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|08|
2009|08|10|
2010|02|03|
2011|11|12|
2012|04|
2016|02|
All= / Today= / Yesterday=

2007-06-04

_ [雑記] 境界続き

そうそうそれそれ、という感じで徳丸さんに全て語られてしまった。

それにしても

えーっと、i<=101 ではなくて、i<=99のことだと思いますが、それはさておき。

あーっ、穴があったら入りたいぃ!

(問題) f(x) を [a, b] で区分求積法で n等分して求めるプログラムを書くとき、ループはどう書くか?

_ [プロセッサ] 螺旋階段が性能を上げる

プロも愛読しているたるさんの考察なんだけれど。

そもそもね、現在の ILP(Instruction level parallelism の程度、 具体的には IPC (Instructions per Cycle) がわかっていれば、 理論限界性能はカタログスペックの命令 issue rate で定めるところ です。 x86 は CISC で Intel さんは μop fusion やってるという事情から そこの数値が明解では無いんだけれど、 もともと IPC > 1 であればキャッシュパーフェクトでも 性能3倍になることは無いでしょう。 具体的な IPC はワークロードに依存するので一般論では語りようがないけれど。

あと、魔法のパーフェクトキャッシュは L1 でないといけないことに注意。 L2 が大きいだけだと、L1miss-L2hit の待ち時間を隠蔽しきれない時点で 完璧でなくなる。L2(L3)キャッシュが大きくなるのは、 つまりキャッシュヒットでもキャッシュの読み出しのための レイテンシが延びることに他ならない。 スパコンみたいに並列処理が効果的なものであれば絶対レイテンシは あまり意味をなさないけれど、一般的にはレイテンシの影響は結構ある。

そういうわけなので、 「キャッシュ増量とILP向上はセット」いうのは、 L2hit のレイテンシを隠すためにも必要になってしまう、 つまりキャッシュ増量それ自身のために必要なのですね。

それにしても、Intel は (正直に発表を信じるなら) その分岐予測精度のわりにミスペナルティの割合が大きいんですね。 精度向上の努力に較べて、ミスのリカバリの努力がえらく足りないような。

# まぁ、CISC の事情から大変なのはわかるんだけど。