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

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

SDPARA と Magny-Cours 48 コア と Affinity 設定

2011年03月02日 00時42分52秒 | Weblog
以下の計算サーバ (AMD Opteron : 通称 Magny-Cours) を 4 個搭載しているので、合計で 4 x 12 = 48 コアが存在する。この Magny-Cours は AMD Isntabul (6 コア) の CPU を二つ重ねたような構造を持っているので、12 コアの CPU であるが 6 コア x 2 CPU という構造とみなすこともできる。以下は現在所有している Dell PowerEdge R815 を前提とした内容である。

○計算サーバ (4 CPU x 12 コア = 48 コア)
CPU : AMD Opteron 6174 (2.20GHz / 12MB L3) x 4個
メモリ : 256GB (16 x 16GB / 1066MHz)
OS : Fedora 14 for x86_64

numactl コマンドで構成を調べると以下のようになる(8 nodes x 6 コアの構成)。

numactl --hardware
available: 8 nodes (0-7)
node 0 cpus: 0 4 8 12 16 20
node 0 size: 32758 MB
node 0 free: 24475 MB
node 1 cpus: 24 28 32 36 40 44
node 1 size: 32768 MB
node 1 free: 29383 MB
node 2 cpus: 3 7 11 15 19 23
node 2 size: 32768 MB
node 2 free: 26170 MB
node 3 cpus: 27 31 35 39 43 47
node 3 size: 32768 MB
node 3 free: 30255 MB
node 4 cpus: 2 6 10 14 18 22
node 4 size: 32768 MB
node 4 free: 23721 MB
node 5 cpus: 26 30 34 38 42 46
node 5 size: 32768 MB
node 5 free: 29136 MB
node 6 cpus: 1 5 9 13 17 21
node 6 size: 32768 MB
node 6 free: 29008 MB
node 7 cpus: 25 29 33 37 41 45
node 7 size: 32768 MB
node 7 free: 28666 MB
node distances:
node 0 1 2 3 4 5 6 7
0: 10 16 16 22 16 22 16 22
1: 16 10 16 22 22 16 22 16
2: 16 16 10 16 16 16 16 22
3: 22 22 16 10 16 16 22 16
4: 16 22 16 16 10 16 16 16
5: 22 16 16 16 16 10 22 22
6: 16 22 16 22 16 22 10 16
7: 22 16 22 16 16 22 16 10

物理的には CPU とコアの構成は以下のようになっている。
CPU 0 : 0 4 8 12 16 20 24 28 32 36 40 44
CPU 1 : 3 7 11 15 19 23 27 31 35 39 43 47
CPU 2 : 2 6 10 14 18 22 26 30 34 38 42 46
CPU 3 : 1 5 9 13 17 21 25 29 33 37 41 45

次の問題と SDPA, SDPARA を用いて幾つか実験を行ってみる。
◯問題 NH3+.2A2".STO6G.pqgt1t2p.dat-s

実験結果は以下の通りになる。

1: SDPA 48 コア (affinity 設定無し) : 236.9秒
2: SDPA 48 コア (affinity 設定有り) : 167.3秒
3: SDPARA 4 プロセス x 12 コア (affinity 設定無し) : 178.8秒
4: SDPARA 4 プロセス x 12 コア (affinity 設定有り) : 176.4秒
プロセス 0 : 0 4 8 12 16 20 24 28 32 36 40 44
プロセス 1 : 3 7 11 15 19 23 27 31 35 39 43 47
プロセス 2 : 2 6 10 14 18 22 26 30 34 38 42 46
プロセス 3 : 1 5 9 13 17 21 25 29 33 37 41 45

5: SDPARA 8 プロセス x 6 コア (affinity 設定無し) : 200.9秒
6: SDPARA 8 プロセス x 6 コア (affinity 設定有り) : 181.3秒
プロセス 0 : 0 4 8 12 16 20
プロセス 1 : 24 28 32 36 40 44
プロセス 2 : 3 7 11 15 19 23
プロセス 3 : 27 31 35 39 43 47
プロセス 4 : 2 6 10 14 18 22
プロセス 5 : 26 30 34 38 42 46
プロセス 6 : 1 5 9 13 17 21
プロセス 7 : 25 29 33 37 41 45
コメント (4)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« CH4.1A1.STO6G | トップ | openmpi と mvapich2 その2 »
最新の画像もっと見る

4 コメント

コメント日が  古い順  |   新しい順
Unknown (後藤)
2011-03-02 02:22:56
SDPARA + Affinity ではメモリのアクセスがローカルになるので性能劣化が起こるとは思えません。ということは、MPI 化によるオーバーヘッドがかなり大きいことがわかります。それから、Affinity 設定の有無の差が小さすぎるような気がします。MPI の方で勝手に Affinity が設定されているような気がします。
返信する
Unknown (藤澤)
2011-03-02 02:42:08
SDPARA は SDPA と比較すると様々なオーバーヘッドがありますので、SDPA と SDPARA の性能差は意外に少ないという感じです。ちなみに CPU_ZERO 関数などを用いて affinity の設定を行っているのは、SDPARA 内部でマルチスレッドを生成する部分だけです。

確かに affinity 設定の有無による性能差が小さ過ぎます。ためしに筋の悪そうな affinity の設定を手動で行うと性能が悪化しますので、MPI 側で Affinity の設定が行われている可能性があると思います。MPI は mpich2-1.3.2p1 を使っています。
返信する
Unknown (後藤)
2011-03-02 04:43:24
SDPARA 内での Affinity 設定は MPI のランクが考慮されているのでしょうか?
返信する
Unknown (藤澤)
2011-03-02 09:47:37
はい。考慮しています。

Istanbul 24 コアの時ははっきりと差が出ていました。
http://blog.goo.ne.jp/sdpaninf/e/a0f01c8881e7bffd99a1ea358519f8da
返信する

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

Weblog」カテゴリの最新記事