研究日誌。

大規模なグラフ処理に対してメモリ階層構造を考慮した高性能なソフトウェアを開発。

ボトルネックの検出 - その2。

2008-07-23 22:54:44 | Weblog
今回は CPU クロックを変化させての実験を行った。環境は Intel(R) Xeon(R) CPU 5160 @ 3.00GHz で、2.00GHz と 3.00GHz の2通りに変化させ、実行時間がどのように変化するか調べた。

まず、1プロセスで実行させた場合、クロック変化の比率(x 1.50)に比べ、x 1.37 に留まってしまっているが、もちろん異なったダイ上のコアでの2プロセスで実行させても、ほぼ同じ比率 (x 1.36) である。しかしながら CPU 内での何らかの処理によって、クロック変化の比率分だけの効果を得られていないようだ。

また、L2 を共有したコア上での2プロセス実行させると、性能が明らかに低下する。しかしながら、クロックの変化により実行時間も変化する。それも x 1.29 と他の場合と比べそこまで低速化していない。このことから、メモリバンド幅だけに依存しているのではないことが推測される。メモリバンド幅が飽和しているのであれば、メモリバンド幅だけに依存し、クロックが変化しても実行時間は変化しないからだ。違ったアーキテクチャの CPU でも実験してみるといろいろわかるかるかもしれない。
                    2.00GHz   3.00GHz
1process  (x 1.37)    36.03     26.30 
other die (x 1.36)    36.45     26.81 
L2 shared (x 1.29)    43.51     33.78 


最新の画像もっと見る

コメントを投稿