最適化問題に対する超高速&安定計算

大規模最適化問題、グラフ探索、機械学習やデジタルツインなどの研究のお話が中心

F1, F2, F3 式とスレッドの競合 その2

2009年03月16日 03時56分29秒 | Weblog
○実行マシン1:AMD Opteron 2384 (2.7GHz) : メモリ 32GB : CentOS 5.2 for x86_64
○実行マシン2:Intel Core i7 965(3.2GHz) : メモリ 12GB : Fedora 10 for x86_64
○実行マシン3:Intel Xeon 5460 (3.16GHz) : メモリ 48GB : CentOS 5.2 for x86_64

例えば上記のマシンの中で1と3は CPU が2個あるので、合計で8コアあることになる。よって例えばこれらのマシンで8スレッドで計算した場合には、CPU 0 上では F1, F2, F3 式の計算による競合が起きたとしても、CPU 1上では全ての計算が F3 式で行っている場合には少なくともCPU 1では競合は発生しない。多くの SDP は疎な問題が多いので実際には F3 式で計算することが一番多い。というわけで8コアあるマシンでは、4コアではなく8コアで計算した方が良いという考えが浮かぶのだが、
1: CPU 0 と CPU 1 が別のメモリチャンネルを持っていること
2: メモリバンド幅が十分に広いこと
という条件が必要になる。現時点ではマシン1はこの二つを満たしているのだが、マシン3は満たしていない。つまり現在の AMD Shanghai 系、あるいはもうすぐ登場する Intel Nehalem-EP 系のマシンならば8コアで実行するのは有効そうである。

問題 theta6.dat-s (計測時間が実時間)
○実行マシン1 (メモリバンド幅 21 Gbytes/sec.)
SDPA 7.2.1 (1スレッド) : 1m22.088s
SDPA 7.2.1 (4スレッド) : 41.477s
SDPA 7.2.1 (8スレッド) : 34.892s
SDPA 7.2.1.rev7 (4スレッド) : 25.627s ; 8スレッドでの F3 式の合計計算時間 10.715s
SDPA 7.2.1.rev7 (8スレッド) : 15.211s ; 8スレッドでの F3 式の合計計算時間 5.528s

○実行マシン3(メモリバンド幅 6 Gbytes/sec.)
SDPA 7.2.1 (1スレッド) : 1m1.274s
SDPA 7.2.1 (4スレッド) : 28.656s
SDPA 7.2.1 (8スレッド) : 23.836s
SDPA 7.2.1.rev7 (4スレッド) : 23.855s ; 8スレッドでの F3 式の合計計算時間 14.252s
SDPA 7.2.1.rev7 (8スレッド) : 15.653s ; 8スレッドでの F3 式の合計計算時間 15.670s

実行マシン1は予想通りだが、マシン3でも同様に8スレッドで性能が上がっている。しかし F3 式の計算時間はマシン1では相当速くなっているが、マシン3では少し遅くなっている。というわけで F3 式の計算性能がメモリバンド幅に依存するというのは確からしい。
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする