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

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

研究関係の計算サーバ停止のお知らせ

2011年03月16日 00時01分30秒 | Weblog
首都圏の電力不足から研究室の全てのクラスタ計算機を含めて、ほとんどのサーバを停止しました(3月12日停止)。
稼働再開は様々な状況を判断して決めたいと思います。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

2011年度第1回 SCOPE講演会

2011年03月15日 23時04分08秒 | Weblog
2011 年度の第1回 SCOPE 研究会をOR学会後の 3月19日に行ないます。当日は土曜日のため 6号館では暖房が使えませんので、3号館の 3300 号室を用います。夜は懇親会もありますので、是非ご参加下さい。

○2011年度第1回 SCOPE 研究会
日 時 : 2011年3月19日(土)14:00~
会 場 : 中央大学 後楽園キャンパス 3 号館 3300 号室(いつもと場所が異なります)
講演1
講演者 : 北原知就氏 (東京工業大学 大学院社会理工学研究科 経営工学専攻)
題目 : 単体法によって生成される実行可能基底解の個数の上界について
概要 : 単体法は線形計画問題に対する最初の解法で,実用上は非常に効率的であることが知られている。しかし,一般的な線形計画問題に対する単体法の反復回数の評価はほとんど知られていない.その大きな障害となっているのが,Klee-Mintyによって発表された単体法が指数回の反復回数を必要とし得るという事実である.北原-水野(2010年)はマルコフ決定問題に対するYeの解析(2010年)を応用し,単体法が生成する実行可能基底解の上界を示した。得られた上界は問題の制約式の個数、変数の個数,およびすべての実行可能基底解の正の要素の最大値と最小値の比,の多項式で表される.そして問題が非退化のとき,この上界は反復回数の上界となる。本講演では、上界を得るための解析について詳しく説明する。また,新たに開発した簡易版Klee-Minty問題を使い,良い上界が得られていることを示す.

講演2
講演者 : 今野浩氏  (中央大学 理工学部 経営システム工学科)
題目 : 数理計画法とともに過ごした半世紀
概要 : 最初に、われわれのグループの最新の研究成果:「最大マージン超楕円面を用いた企業の格付け」を
手短に紹介した後、"数理計画法とともに過ごした50年"を回顧したいと思います。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

全米グラフに対する中心性

2011年03月14日 00時50分11秒 | Weblog
全米グラフに対して四つの中心性を厳密に計算するという実験を行っているが、予想よりも時間がかかっている(120 CPU コアでは少なかったか?)。現在ではすでに半分(進捗度 50%)を越えている。この中心性の計算についても SDP とは異なった意味で、CPU コア数にスケーリングして性能が上がっていくので、反対に多数の CPU コアが使える場合に非常に有利となろう。

中心性の定義


全米グラフに対する計算経過

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

クラスタ計算機

2011年03月13日 00時26分57秒 | Weblog
東工大の研究室で Magny-Cours 48 コア搭載マシンが 5 台構成のクラスタ計算機を見せていただいた。これでだけでも 48 x 5 = 240 コアなので、以下のクラスタ計算機をコア数では上回ることになる。結果的には SDP でも最短路の計算でも Magny-Cours クラスタでも良かったかもしれない。SDP の計算のおけるボトルネック箇所は問題の規模や疎性に依存するので、CPU メニーコアが有利な問題、CPU + GPU で大規模並列を行うと爆速になる問題など何でも作ることができるし、実際に様々な種類の大規模実用問題が存在している。



当初はこのクラスタ計算機はメモリ 144GB (18 x 8GB) にする予定だったのだが、予算の都合で 128GB となった。購入前に Nehalem-EP マシンでいろいろと試してみた。例えば量子化学に対する SDP に対しては CPU コア内部の演算以外の処理で時間がかかるので、メモリバンド幅がボトルネックになることは起こりにくく、それよりもメモリ量を重視した方が良いという結論になった。それでも以下のように巨大 SDP に対しては大量のメモリが必要となるので、16 ノード x 128GB = 2TB のメモリでも全く足りない。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

並列 Cholesky 分解のパラメータ その2

2011年03月12日 16時03分46秒 | Weblog
Two-dimensional block-cyclic 分割するときの行列のサイズのパラメータ調整を今度は 8 スレッドで行った。クラスタ計算機には 16 ノード x 12 コアで合計 192 コアが搭載されているが、16 ノード x 8 コア で合計 128 コアだけを用いて適切な行列のブロッキングサイズを計算により求めていく。8 スレッドの場合でも 12 スレッドと同様にブロッキングサイズ 128 が最速となった。



◯ブロッキングサイズ
64 : 621.62秒
80 : 690.68秒
88 : 651.95秒
92 : 649.06秒
112 : 638.43秒
120 : 595.71秒
128 : 471.00秒
136 : 597.74秒
144 : 582.23秒
160 : 511.34秒
192 : 495.42秒
224 : 521.09秒
256 : 499.47秒



○新クラスタ計算機
1:PowerEdge M1000e(ブレードエンクロージャー) x 1台
2:PowerEdge M710HD(ブレードサーバ) x 16台
ブレードサーバの仕様:
CPU : インテル(R) Xeon(R) プロセッサー X5670(2.93GHz、12MB キャッシュ、6.4 GT/s QPI) x 2個
メモリ: 128GB (16X8GB/2R/1333MHz/DDR3 RDIMM/CPUx2)
Disk : 73GB x 2(1台のみ 300GB x 2)
NIC : GbE x 1 & Inifiniband QDR(40Gbps) x 1
OS : CentOS 5.5 for x86_64
コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Magny-Cours 48 コア v.s. Nehalem-EX 32コア

2011年03月11日 16時03分46秒 | Weblog
今度は Magny-Cours 48 コア v.s. Nehalem-EX 32コアの対決となる。以下の小さな問題ではいい勝負なのだが、この種の量子化学の問題では以下のようなブロック対角構造をしているので(ブロック数が多く、行列のサイズが大きい)、さらに大きな問題ではコア数が多い方が有利となり、両者の差は大きく開いていくだろう。



◯ソルバー SDPA 7.3.3

◯FH2+.1A1.STO6G.pqgt1t2p.dat-s
計算サーバ1: 45.68s
計算サーバ2: 46.99s

◯NH3+.2A2".STO6G.pqgt1t2p.dat-s
計算サーバ1: 162.34s
計算サーバ2: 193.30s

◯Be.1S.SV.pqgt1t2p.dat-s
計算サーバ1: 723.74s
計算サーバ2: 780.94s

○計算サーバ1 (4 CPU x 12 コア = 48 コア)
CPU : AMD Opteron 6174 (2.20GHz / 12MB L3) x 4個
メモリ : 256GB

◯計算サーバ2 (4CPU x 8 コア = 32 コア)
CPU : Intel Xeon X7550 (2.0GHz / 18MB L3) x 4個
メモリ : 512GB
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Graph 500, 超大規模ネットワークにおける高速探索, 中心性

2011年03月10日 14時59分49秒 | Weblog
現在の研究に対する説明のスライドを掲載。内容については以下の画像を参考にしていただきたい。

Graph 500


超大規模ネットワークにおける高速探索


中心性

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Magny-Cours 48 コア v.s. Westmere-EP 12コア

2011年03月09日 01時56分09秒 | Weblog
Magny-Cours 48 コア (AMD Opteron 6174) は当初はあまり性能面で期待していなかったのだが、使い方に慣れてくると意外と?使えるマシンと思えてきた。特に問題2は Magny-Cours 48 コアが弱いと思われたいた Cholesky 分解で Westmere-EP 12コア に圧勝しての結果(49456.7秒 v.s. 129667.2秒)なので、特筆すべき結果となる。48 コアが 12 コアに勝って当たり前と思われるかもしれないが、両者の取得に関するコストが同程度となっている。Westmere-EP は使用上 2-way までなので、Magny-Cours 48 コアに勝とうと思うと、Nehalem-EX 4-way 32 コアマシンを使うしかないが、こちらの取得コストは非常に高い。

◯ソルバー SDPA 7.3.3

○問題1:H2O.1A1.DZ.pqgt1t2p.dat-s
Magny-Cours : 189947.0秒
Westmere-EP : 329022.3秒

○問題2:esc32a_r2.dat-s
Magny-Cours : 54987.7秒
Westmere-EP : 133039.9秒

○問題3:TSPeil51.dat-s
Magny-Cours : 11404.4秒
Westmere-EP : 16620.0秒

○問題4:r3_l.dat-s
Magny-Cours : 460.7秒
Westmere-EP : 272.1秒

○計算サーバ : Magny-Cours (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

○計算サーバ : Westmere-EP (2 CPU x 6 コア = 12 コア)
CPU : Intel Xeon X5670(2.93GHz / 12MB L3, 6.4 GT/s QPI) x 2個
メモリ: 128GB (16X8GB/2R/1333MHz/DDR3 RDIMM/CPUx2)
OS : CentOS 5.5 for x86_64

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

並列 Cholesky 分解のパラメータ

2011年03月08日 01時50分40秒 | Weblog
SDPARA では、Cholesky 分解の並列化に ScaLAPACK を用いているが、Two-dimensional block-cyclic 分割するときの行列のサイズのパラメータを調整してみたところ、128 が良いという結果になった。もっと大きな方が良いのかと思ったのだが、結果は結果として尊重することとする。



ただし、この結果はクラスタ計算機のハードとソフトに依存すると思われるので(1個前のクラスタ計算機では 192 が一番良かった)、以下にクラスタ計算機のスペック等を記しておく。



ちなみに 2003 年のブロックサイズ 40 とは以下のクラスタ計算機での測定結果で決まった。40台で 160GFlops というのが何とも時代を感じさせる。


コメント (4)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

超大規模グラフと最短路計算

2011年03月07日 01時52分17秒 | Weblog
10 億点を越えるような超大規模グラフはランダム生成したものしか保有していないので以下のグラフを用いて最短路計算を行った。データ量が大きくなるので1コアのみを用いる。ある種ごまかしのきかないベンチマークである。

◯ ランダム生成グラフ 10 億点, 20 億枝

◯ Intel Xeon X5670 (2.93GHz / 12MB L3) : 870.18秒
◯ AMD Opteron 8439 (2.80GHz / 6MB L3) : 1755.43秒
◯ Intel Xeon X5460 (3.16GHz / 6MB L2) : 1289.81秒

多くの AMD 製の CPU はコア数が多いのだが、1 コアで見ると Intel 製の CPU の方が高速である。特に X5670 (Westmere-EP) の性能は非常に優れている。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

MacBook Pro と最短路問題

2011年03月06日 04時15分48秒 | Weblog
Sandy Bridge 搭載の MacBook Pro を用いて、最短路問題に対するソフトウェアによる比較実験を行った。最短路問題では浮動小数点演算をほとんど使用しないので、既存の Core i7 に対する優位性は特に見られない。

◯問題 DIMACS USA データ:1000クエリ

Core i7 2720QM 4 コア 2.2GHz (Sandy Bridge) MacBook Pro : 9分51秒
Core i7 2720QM 8 コア HT 2.2GHz (Sandy Bridge) MacBook Pro : 7分37秒
Core i7 965 4 コア 3.2GHz (Bloomfield) : 7分54秒
Xeon X5670 12 コア 2.93GHz (Westmere) : 3分22秒
Opteron 6174 48 コア 2.2GHz (Magny-Cours) : 1分45秒
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

DNN緩和問題と QAP(二次割当問題) その6

2011年03月05日 02時56分43秒 | Weblog
DNN緩和問題と QAP(二次割当問題)に関する講演を聞いたが、n = 15, 16 ぐらいでも SDP 緩和問題を解く際には、かなりの CPU 時間を要するようだ(15000 秒から 20000秒)。ところが以下の計算機と SDPARA を用いると

39 2.0e-10 7.3e-10 4.1e-13 +7.42e-01 +7.42e-01 2.1e-01 2.3e-01 1.00e-01

phase.value = pdOPT
Iteration = 39
mu = +1.9789880605459796e-10
relative gap = +3.3306690738754696e-15
gap = +3.3306690738754696e-15
digits = +1.4347743318354052e+01
objValPrimal = +7.4177945899576170e-01
objValDual = +7.4177945899575837e-01
p.feas.error = +7.3281422967362119e-08
d.feas.error = +4.0968586064464731e-11
total time = 490.836345

となるので、500 秒以内で終わってしまう。最新のソルバーや計算機の能力向上によって驚くほど速く問題を解くことができる。

○新クラスタ計算機
1:PowerEdge M1000e(ブレードエンクロージャー) x 1台
2:PowerEdge M710HD(ブレードサーバ) x 16台
ブレードサーバの仕様:
CPU : インテル(R) Xeon(R) プロセッサー X5670(2.93GHz、12MB キャッシュ、6.4 GT/s QPI) x 2個
メモリ: 128GB (16X8GB/2R/1333MHz/DDR3 RDIMM/CPUx2)
Disk : 73GB x 2(1台のみ 300GB x 2)
NIC : GbE x 1 & Inifiniband QDR(40Gbps) x 1
OS : CentOS 5.5 for x86_64
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

SCOPE@つくば -未来を担う若手研究者の集い2011

2011年03月04日 00時28分24秒 | Weblog
今年も SCOPE@つくば合宿を行う予定です。以下は開催日等の情報ですが、今後変更する予定もありますのでご注意下さい。任期3年目ということでいよいよ SCOPE@つくば合宿も今年で最後となります。

開催日 : 2011年5月28日(土), 29日(日) (予定)
会 場 : 筑波大学 筑波キャンパス 春日地区 講堂(予定)
参加費 : 無料(ただし, 宿泊, 懇親会への参加は有料)
事前登録 : 不要(ただし, 筑波大学の宿泊施設利用希望の場合は必要)
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

openmpi と mvapich2 その2

2011年03月03日 01時44分16秒 | Weblog
現在運用中の以下の新クラスタ計算機では二種類の MPI が使用可能である。

1: OpenMPI 1.5.1
2: MVAPICH2 1.6rc1

念のために両者の性能差があるのかを調べてみた。結果は以下の通り。現時点では速度差はともかく超巨大 SDP の場合では MVAPICH2 でしか解くことができない。

◯問題1 : nug12_r2.dat-s
OpenMPI 1.5.1 : 29.2秒
MVAPICH2 1.6rc1 : 27.8秒

◯問題2: N.4P.DZ.pqgt1t2p.dat-s
OpenMPI 1.5.1 : 535.3秒
MVAPICH2 1.6rc1 : 534.7秒

◯問題3: TSPeil51.dat-s
OpenMPI 1.5.1 : 1694.0秒
MVAPICH2 1.6rc1 : 1713.7秒

○新クラスタ計算機
1:PowerEdge M1000e(ブレードエンクロージャー) x 1台
2:PowerEdge M710HD(ブレードサーバ) x 16台
ブレードサーバの仕様:
CPU : インテル(R) Xeon(R) プロセッサー X5670(2.93GHz、12MB キャッシュ、6.4 GT/s QPI) x 2個
メモリ: 128GB (16X8GB/2R/1333MHz/DDR3 RDIMM/CPUx2)
Disk : 73GB x 2(1台のみ 300GB x 2)
NIC : GbE x 1 & Inifiniband QDR(40Gbps) x 1
OS : CentOS 5.5 for x86_64

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

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でシェアする