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

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

マルチスレッド計算時の性能比較 : MIP その2

2011年08月27日 10時21分16秒 | Weblog
昨日の続きで、roll3000.mps の問題に対して、スレッド数 2, 4, 8, 16, 32, 48 でそれぞれ7回ずつ計算を行った。現時点では特に統計処理は行っていないで、結果のみを掲載した。

2スレッド
1 : 5897.00
2 : 5787.80
3 : 6236.59
4 : 6041.58
5 : 5804.74
6 : 5994.20
7 : 5760.94

4スレッド
1 : 1437.00
2 : 2853.85
3 : 4183.15
4 : 2986.87
5 : 2927.55
6 : 2826.98
7 : 3167.58

8スレッド
1 : 3044.85
2 : 2485.03
3 : 1125.37
4 : 1055.43
5 : 965.62
6 : 1163.85
7 : 1523.26

16スレッド
1 : 406.17
2 : 837.75
3 : 2117.94
4 : 606.44
5 : 450.79
6 : 1675.71
7 : 1094.18

32スレッド
1 : 2479.35
2 : 1998.15
3 : 1803.23
4 : 1542.21
5 : 2403.46
6 : 3262.99
7 : 2516.65

48スレッド
1 : 5270.78
2 : 4389.12
3 : 6695.13
4 : 6877.30
5 : 4610.14
6 : 5493.50
7 : 6990.08

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

○参考:1から48スレッドまでの結果
コメント (3)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« マルチスレッド計算時の性能... | トップ | マルチスレッド計算時の性能... »
最新の画像もっと見る

3 コメント

コメント日が  古い順  |   新しい順
Unknown (Yuji)
2011-08-27 23:49:42
ありがとうございました.
2スレッドの計算時間と逐次版の計算時間の差が,本質的なオーバーヘッドのような気がします.そもそもオーバーヘッドは大きいはずです.このぐらいオーバーヘッドがあっても,探索に関連した種々のアルゴリズムの工夫で,それなりに速くできる可能性があるというのは朗報です(これは1インスタンスに限らず,MIPLIB2010のベンチマークインスタンス全体でも,多少は速くなりました.全インスタンスに対して,4スレッドと8スレッドで7回実験した結果の平均で評価しました).

この結果で気になるのは3スレッドの結果です.これはたまたま運が悪かったのか,あるいは,かなりの頻度で起こり得るのか知りたいです.申し訳ないですが,3スレッドも,あと6回実験してみて頂けないでしょうか?

SDPAはコア数に応じて,確実に加速する理想的な状態で実装されているようですね.Gurobiでの実験でもわかるように,MIPソルバではあり得ないです.それでも理想とする動作状態というのはあるので,そこを目指して頑張ります.先はまだまだ長そうです.
返信する
Unknown (Fujisawa)
2011-08-28 21:37:51
> このぐらいオーバーヘッドがあっても,探索に関連した種々のアルゴリズムの工夫で,それなりに速くできる可能性があるというのは朗報です

この問題(roll3000.mps)は小さい方だと思いますので、もっと大きな問題では多数コアの効果が見えてくるのではないでしょうか?

> 3スレッドも,あと6回実験してみて頂けないでしょうか?

今実験中ですが、Magny-Cours 48 コアマシンは計算需要が大きいので、他の研究の実験も行う必要があります。Affinity の実験を含めて Instanbul 24 コアマシンで実験を行ってもよろしいでしょうか?

> SDPAはコア数に応じて,確実に加速する理想的な状態で実装されているようですね.

加速率はともかく解きたい問題の大きさに対する絶対性能がまだ足りません。アイデアはいろいろありますので、こちらも頑張ります。
返信する
Unknown (Yuji)
2011-08-29 03:02:05
おっしゃる通りで,roll3000は,このMIPソルバの性能を勘案すると17スレッド以上使うには易しすぎるのです.それでも,スレッド数が増えた際の挙動は,16スレッド以降,緩やかに上昇するというのを期待していたので,この結果は残念でした.Gurobiの結果より大暴れになってしまいました.いくつか考えられることはあるので,試してみたいと思います.ただ,あまり期待できない理由もあります.

あと実験ですが,もちろんそちらの実験を優先してください.MIPの実験は急がないでも良いですし,そちらの実験の都合で,いくらでも遅らせてもらって良いです.現在,行って頂いた実験だけで十分助かりました.

今後の実験ですが,遅くなって良いので,48コアで行ってみて頂けないでしょうか.32コアまでの実験であれば,古い上に色々と大変なことはあっても,こちらの環境で都合をつけて試せると思います.
返信する

コメントを投稿

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

Weblog」カテゴリの最新記事