Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
六面体メッシュの六面体メッシュの適合 並 細適合 並 細適合型並列局所細分化と適合型並列局所細分化と
負荷分散負荷分散負荷分散負荷分散
Conforming parallel adaptive mesh refinement for hexahedral elementshexahedral elements
中島 研吾中島 研吾東京大学情報基盤センター
2008年並列/分散/協調処理に関する 『佐賀』サマー・ワークショップ(SWoPP佐賀2008)2008年8月5日~7日
SWoPP2008 2
概 要概 要
• AMRとData Migration• AMRとData Migration• 断層における応力蓄積シミュレーション
• 単位すべり応答関数計算用フレームワーク
– 六面体メッシュと局所細分化
– 負荷分散
• 評価評価
– PCクラスタ
– T2Kオープンスパコン(東大)T2Kオ プンス ン(東大)
• まとめ
SWoPP2008SWoPP2008 33
適応格子法(適応格子法(AMRAMR)()(1/21/2))適応格子法(適応格子法(AMRAMR)()(1/21/2))• 差分法 有限要素法などで空間を離散化する場合差分法,有限要素法などで空間を離散化する場合,精度良い解を求めるためには,細かいメッシュが必要である要である。
• 細かいメッシュを切ると,それだけ,計算量,必要記憶容量が増加する。
• 細かいメッシュを必要とするのは 解析領域全体で• 細かいメッシュを必要とするのは,解析領域全体ではなく,ごく一部である。
衝撃波 渦 剥離– 衝撃波,渦,剥離
– 応力集中,亀裂
– 従属変数が急激に変化する領域
SWoPP2008SWoPP2008 44
適応格子法(適応格子法(AMRAMR)()(2/22/2))適応格子法(適応格子法(AMRAMR)()(2/22/2))• しかしながら 多くの場合 これらの現象が生じる領しかしながら,多くの場合,これらの現象が生じる領域は,前もって分かっていない。
比較的粗いメ シ から始めて 計算結果に応じて• 比較的粗いメッシュから始めて,計算結果に応じて,局所的な細分化(refinement)を自動的に実施し,
精度良い解を効率的に求める手法が,適応格子法(Adaptive Mesh Refinement,AMR)である。( dapt e es e e e t, )である。
– 非定常問題の場合,細かいメッシュが必要でなくなった領域のメッシュを粗くする(coarsening)場合もありうる領域のメッシュを粗くする(coarsening)場合もありうる。
SWoPP2008SWoPP2008 55
適応格子法の応用例(適応格子法の応用例(1/41/4))適応格子法の応用例(適応格子法の応用例(1/41/4))構造力学,有限要素法構造力学,有限要素法
Mises StressInitial Mesh Adapted MeshMises StressInitial Mesh Adapted Mesh
SWoPP2008SWoPP2008 66
適応格子法の応用例(適応格子法の応用例(2/42/4))適応格子法の応用例(適応格子法の応用例(2/42/4))流体力学,有限要素法流体力学,有限要素法
2-Lev. Adapted1-Lev. AdaptedInitial Grid
SWoPP2008SWoPP2008 77
適応格子法の応用例(適応格子法の応用例(3/43/4))適応格子法の応用例(適応格子法の応用例(3/43/4))流体力学,ブロック格子流体力学,ブロック格子
• Rayleigh-Taylor Instability• Block-structured adaptive
grid• 宇宙物理学の世界ではよく使われているようである。
Argonne National Laboratory
SWoPP2008SWoPP2008 88
適応格子法の応用例(適応格子法の応用例(4/44/4))適応格子法の応用例(適応格子法の応用例(4/44/4))可視化,ボリュームレンダリング可視化,ボリュームレンダリング
L Chen (Tsinghua U ) H Matsui (UC Berkeley)
• FEMによる地球外核のMHD解析結果
非構造格子の計算結果をブロ ク格子にマ ピングしてレンダ
L.Chen (Tsinghua U.), H.Matsui (UC Berkeley)
• 非構造格子の計算結果をブロック格子にマッピングしてレンダリングを実施する:変化が多いところは細分化
SWoPP2008SWoPP2008 99
適応格子法の応用例(適応格子法の応用例(4/44/4))適応格子法の応用例(適応格子法の応用例(4/44/4))可視化,ボリュームレンダリング(続き)可視化,ボリュームレンダリング(続き)
かなり複雑な 状 も適 能 ある(
L.Chen (Tsinghua U.)
• かなり複雑な形状にも適用可能である(Mobile Pentium Pin-Grid Array 熱応力解析)
SWoPP2008SWoPP2008 1010
適応格子法の現状・問題点適応格子法の現状・問題点適応格子法の現状・問題点適応格子法の現状・問題点
• 並列計算
局所的な細分化によって 負荷バランスが均等でなくな– 局所的な細分化によって,負荷バランスが均等でなくなる可能性がある ⇒ 動的負荷分散(Dynamic Load Balancing:DLB)Balancing:DLB)
• 形状再現性
– 例えば,曲面上のメッシュを細分化する場合,もとの形状を忠実に再現する必要がある。
– CADとの連動。
– 近似的な曲面表現手法の開発近似的な曲面表現手法の開発。
Supersonic Flow around a SphereSupersonic Flow around a SphereM 1 40 Uniform Flow Ideal Gas Re 10M 1 40 Uniform Flow Ideal Gas Re 1066M=1.40 Uniform Flow, Ideal Gas, Re=10M=1.40 Uniform Flow, Ideal Gas, Re=1066
4 PE cases (tetrahedron only)4 PE cases (tetrahedron only)
2-Lev. Adapted1-Lev. AdaptedInitial Grid
before DRAMA3834 25272769 2526
before DRAMA793 652696 650
before DRAMAPE0 137 -PE1 137 -
SWoPP2008 11
2703 25221390 2524
668 652448 651
PE2 136 -PE3 136 -
SWoPP2008SWoPP2008 1212
負荷分散のためのプロセス負荷分散のためのプロセス負荷分散のためのプロセス負荷分散のためのプロセス
AMR• AMR• 領域再分割(Repartitioing)p g
– ParMETIS(U.Minnessota),JOSTLE(U.Greenwich)• デ タ再構成 デ タマイグレ ション(Data• データ再構成,データマイグレーション(Data
Migration)– Zoltan(Sandia)
SWoPP2008 13
Procedures for Parallel AMRProcedures for Parallel AMR
• Start from initial distributed mesh– coarse, load-balanced
SWoPP2008 14
Procedures for Parallel AMRProcedures for Parallel AMR
• Start from initial distributed mesh– coarse, load-balanced
SWoPP2008 15
Procedures for Parallel AMRProcedures for Parallel AMR
• Start from initial distributed mesh– coarse, load-balanced
SWoPP2008 16
Procedures for Parallel AMRProcedures for Parallel AMR
• Parallel AMR– zones to be refined are specified– based on templates
Load Imbalance !!Load Imbalance !!
SWoPP2008 17
Procedures for Parallel AMRProcedures for Parallel AMR
• Repartitioning for Load Balancing – ParMETIS
SWoPP2008 18
Procedures for Parallel AMRProcedures for Parallel AMR
• Data Migration– Moving data according to information for repartitioning
SWoPP2008SWoPP2008 1919
データマイグレーションデータマイグレーションデ タ イグ ションデ タ イグ ション
• 領域再分割(Repartitioning)で決まる領 p g 決のは,「節点」の所属先(宛先)
自由度が存在する– 自由度が存在する
• 以下については別途移動する
– 節点の座標,境界条件
– 接続する要素,その上の節点接続する要素,その上の節点
– 要素物性等
領域間通信テ ブル– 領域間通信テーブル
• アプリケーションに依存:標準化困難?• 結構時間がかかる
SWoPP2008 20
Local Data StructureNode-based Partitioning
internal nodes - elements - external nodes
21 22 23 24 25
6 715
PE#0
4 5 6 12PE#1
21 22 23 24 25
PE#0PE#1
21 22 23 24 25
1617 18 19
20
4 514 13
PE#0
3111
2
1617 18 19
201617 18 19
2016 20
1112 13 14
15
1 2 3107 8 9 10
10 1211
16 20
1112 13 14
15
16 20
1112 13 14
155
67 8 9
10
8 9 11 12
10 9 11 12
695
5
67 8 9
10
5
67 8 9
10
1 2 3 4 55
684
34
8
6
1 2 3 4 51 2 3 4 51 2 3 4 5
7 1 2 3
PE#21 2 7
PE#3
1 2 3 4 5
PE#2PE#3
1 2 3 4 5
SWoPP2008 21
Adaptive Mesh Refinement (AMR) and Load Balancing (LB)
Some slides from:
N k ji K Fi b J Ok d H (2001) P ll l 3D Ad iNakajima, K., Fingberg, J. Okuda, H. (2001), Parallel 3D Adaptive Compressible Navier-Stokes Solver in GeoFEM with Dynamic Load-Balancing by DRAMA Library Lecture Notes in Computer ScienceBalancing by DRAMA Library, Lecture Notes in Computer Science 2110, 183-193.
*DRAMA Library: Repartitioning Library developed by NEC Europe
DRAMA
DRAMA
DRADR
SWoPP2008 22
Supersonic Flow around a SphereM=1 40 Uniform Flow Ideal Gas Re=106M=1.40 Uniform Flow, Ideal Gas, Re=106
4 PE cases (tetrahedron only)
2-Lev. Adapted1-Lev. AdaptedInitial Grid
before DRAMA3834 25272769 2526
before DRAMA793 652696 650
before DRAMAPE0 137 -PE1 137 -
2703 25221390 2524
668 652448 651
PE2 136 -PE3 136 -
[Nakajima, Fingberg and Okuda, 2001]
Refinement Patterns of TetrahedronRefinement Patterns of TetrahedronNO “H i ” N dNO “H i ” N dNO “Hanging” NodesNO “Hanging” Nodes
3 edges ona same
1 edgemarked
a samesurface are
marked
2 edges ona same
2 children(Binary)
a samesurface are
marked
4 children3rd edge is 4 children(Quadtree)more than
2 edges ondifferent
surfaces aremarked
3 d edge sautomatically
marked
marked
more than
SWoPP2008 23
8 children(Octree)
more than4 edges are
marked 6 edges areautomatically
marked
Directional Refinement of PrismsDirectional Refinement of PrismsDirectional Refinement of PrismsDirectional Refinement of Prisms
SWoPP2008 24Initial GridInitial Grid Edge CutEdge Cut
Embedded grid obtained after quadtreeEmbedded grid obtained after quadtreeand binary divisionsand binary divisions
of the triangular facesof the triangular faces
SWoPP2008 25
Results (Hybrid) : LAMP Cluster8 PE cases with 1 level adapted meshes8 PE cases with 1-level adapted meshes
Initial Mesh : 16,050 nodes, 76,800 meshes Final Mesh : 29,852 nodes, 117,694 meshesFinal Mesh : 29,852 nodes, 117,694 meshes
PP--JOSTLE : Vicinity of the Sphere Wall SurfaceJOSTLE : Vicinity of the Sphere Wall Surface[Nakajima, Fingberg and Okuda, 2001]
SWoPP2008 26
Results (Tet.Only) : LAMP Cluster8 PE cases with 2-level adapted meshes8 PE cases with 2-level adapted meshes
Final Mesh : 10,240 nodes, 69,462 tet.
PP--JOSTLEJOSTLE PP--MMEETTIISSkk--wayway
NONORepartitionRepartition
RCBRCBbucketbucket
[Nakajima, Fingberg and Okuda, 2001]
SWoPP2008 27
Results (Tet.Only) : LAMP Cluster16 PE cases with 1 level adapted meshes16 PE cases with 1-level adapted meshes
Initial Mesh : 16,050 nodes, 92,160 tet.Final Mesh : 47,074 nodes, 306,236 tet.Final Mesh : 47,074 nodes, 306,236 tet.
Elaplsed Time for 1,000 stepsRepartitiongRepartitiong Edge #Edge #RepartitiongRepartitiong
MethodsMethods Total EdgecutTotal EdgecutEdge #Edge #(min./max.)(min./max.) Time (sec.)Time (sec.)
NO RepartitionNO Repartition 10,576/48,49510,576/48,495 39,88839,888 1,6831,683NO RepartitionNO Repartition
PP--JOSTLEJOSTLE
10,576/48,49510,576/48,495
21,089/22,23321,089/22,233
39,88839,888
25,08525,085
1,683 1,683
874 874
Para MPara MEETTIISS 21,201/22,63021,201/22,630 26,27426,274 880 880
RCB simpleRCB simple 22,520/23,09022,520/23,090 41,98041,980 899 899
RCB bucketRCB bucket 21,231/23,26921,231/23,269 37,19237,192 926 926
[Nakajima, Fingberg and Okuda, 2001]
SWoPP2008 28
ResultsResults
pA D
epHYBRIDCNTL.
ADAP
RAMP
T A
GridGrid
SWoPP2008 29
ResultsResults
pA D
epHYBRIDCNTL.
ADAP
RAMP
T A
GridGrid
AMAAMA
DRAMDRAM
SWoPP2008 30
GeoFEM: FY.1998-2002http://geofem.tokyo.rist.or.jp/
• 文部科学省「科学技術振興調整費総合研究」
– 「高精度の地球変動予測のための並列ソフトウェア開発に関する研究」の一部
• 固体地球シミュレーション用並列有限要素法プラットフォームラットフォ ム– 並列I/O,並列線形ソルバー,並列可視化をサポート
固体地球 地球内部⇒コア マントル対流 地殻変動– 固体地球:地球内部⇒コア・マントル対流,地殻変動
• HPCと自然科学の緊密な協力
SWoPP2008SWoPP2008 3131
心残り心残り心残り心残り
DRAMA(Repartitioning)のあとのData Migration• DRAMA(Repartitioning)のあとのData Migration(by NEC Europe)がやたら時間がかかっていた
SWoPP2008SWoPP2008 3232
本研究の目的本研究の目的本研究の目的本研究の目的
以下の機能を有する並列メッシ 生成フレ ムワ ク• 以下の機能を有する並列メッシュ生成フレームワーク
– 並列細分化(AMR)
– Repartitioning– Data MigrationData Migration
• Data Migrationを「自作」
ブ プ プ– 標準化ライブラリのためのプロトタイプ
– とにかく自分で実装してみる
• T2K(東大)
SWoPP2008 33
• AMRとData Migration• AMRとData Migration• 断層における応力蓄積シミュレーション
• 単位すべり応答関数計算用フレームワーク
– 六面体メッシュと局所細分化
– 負荷分散
• 評価評価
– PCクラスタ
– T2Kオープンスパコン(東大)T2Kオ プンス ン(東大)
• まとめ
34
地震発生サイクルシミュレーション
• プレート境界における準静的応力蓄積過程
も も プ• もともとのアプローチ
– 非線形接触問題をNewton-Raphson法によって解く
– ALM法(Augmented Lagrangean,拡大ラグランジェ法)による拘束条件:ペナルティ数
– 領域分割による並列有限要素法• GeoFEM,地球シミュレータ
前処理付き反復法 [N k ji 2003] [N k ji 2006]• 前処理付き反復法 [Nakajima, 2003],[Nakajima, 2006]
SWoPP2008
35
現 状
• 2003年以降 全てをFEMで解こうという考え方から方針転換
現 状
• 2003年以降,全てをFEMで解こうという考え方から方針転換
– 接触モデリングの困難さ
境界条件– 境界条件
伝統的な境 積分法 境 素法を使 する• 伝統的な境界積分法,境界要素法を使用する
– 単位すべり応答関数(ある場所,t=0における単位すべり量が時間場所 お る応力変 を与 る る寄与 積分 重ね合わt-s, 場所xにおける応力変化を与える)による寄与の積分(重ね合わ
せ)
不均質場における「単位すべり応答関数 を計算する必要がある– 不均質場における「単位すべり応答関数」を計算する必要がある• 有限要素法の使用
• 〔Hori et al 2004〕
SWoPP2008
• 〔Hori et al 2004〕
SWoPP2008 36
BEM/BIEM Approach (1/3)BEM/BIEM Approach (1/3)pp ( )pp ( )[Hashimoto & Matsu’ura, 2000][Hashimoto & Matsu’ura, 2000]
Elastic lithosphere divided into 2 partsElastic lithosphere divided into 2 partsi fi it l l ti l i t fi fi it l l ti l i t finfinitely long vertical interfaceinfinitely long vertical interfaceinteraction between the 2 parts : fault slipinteraction between the 2 parts : fault slip
Fault Slip Fault Slip ““ww””ppvvplpl steady plate motion ratesteady plate motion rateuu perturbationperturbation
Plate A
)t,(uv)t,(w pl xx Plate B
SWoPP2008 37
BEM/BIEM Approach (2/3)BEM/BIEM Approach (2/3)pp ( )pp ( )[Hashimoto & Matsu’ura, 2000][Hashimoto & Matsu’ura, 2000]
Shear Stress (Shear Stress () due to Fault Slip(w)) due to Fault Slip(w)HH Unit “Slip Response Function”, Unit “Slip Response Function”, analyticallyanalyticallyp pp p y yy y
calccalcuulatedlated BEFORE simulation)BEFORE simulation)1st term : steady plate motion1st term : steady plate motion2 d t li t b ti2 d t li t b ti2nd term: slip perturbation2nd term: slip perturbation
ξdd)0ξ(H),ξ(u)()(t
steady platemotion slip perturbation
ξdd)0,ξ;t,(H),ξ(u)t,()t,(
0 s0 xxx
Constitutive Relation between Constitutive Relation between ““ww”” and and ““uu””Aochi and MatsuAochi and Matsu‘‘ura (1999) : New Modelura (1999) : New Model
xxx );t,(wf)t,( Aochi and MatsuAochi and Matsu ura (1999) : New Modelura (1999) : New Model
SWoPP2008 38
BEM/BIEM Approach (3/3)BEM/BIEM Approach (3/3)pp ( )pp ( )[Hashimoto & Matsu’ura, 2000][Hashimoto & Matsu’ura, 2000]
Spatial DiscretizationSpatial Discretizationppslip slip ““uu”” is defined by combination of is defined by combination of ““MM”” Cubic Spline Cubic Spline
Basis.Basis.)()t()t(
M
)()t(a)t,(u m1m
m xx
Solve EquationsSolve EquationsConstruct Nonlinear Coupled EquationConstruct Nonlinear Coupled Equationp qp qLinealized by LevenbergLinealized by Levenberg--Marquardt Method using Marquardt Method using ““NN””
pointspointsN MN MN>MN>M
solve linearized equation for solve linearized equation for ““aamm(t)(t)”” at each iterationat each iterationrequires M*M dense matrix inversionrequires M*M dense matrix inversion
SWoPP2008 39
Unit “Slip Response Function”: Hp p
ξdd)0,ξ;t,(H),ξ(u)t,()t,(t
0 xxxsteady plate
motion slip perturbation 0 s
• “H” is a function of time and location
ξdd)0,ξ;t,(H),ξ(u)t,()t,(t
0 s0 xxx
– Unit slip rate at (X’=x, T’=0) gives stress perturbation “H” at (X=, T=t-)
– Values of “H” for every combination of (X,T;X’,T’) have to be calculated BEFORE computation.
– “H” can be analytically defined for simple geometries but it’s difficult for heterogeneous/complicated geometries.
SWoPP2008 40
Current Status (After FY.2003) (2/2)Ch f St tChange of Strategy
ξdd)0,ξ;t,(H),ξ(u)t,()t,(t
0 xxxsteady plate
motion slip perturbation 0 s
• Calculate “H” by FEM !!
ξdd)0,ξ;t,(H),ξ(u)t,()t,(t
0 s0 xxx
41
FEMによる「単位すべり応答関数」計算
• GeoFEM
FEMによる「単位すべり応答関数」計算
• GeoFEM• 分割節点法(Split Node Method)による,食い違い変位(Di l ti )モデル(Dislocation)モデル
– 断層をはさんだ変位の食い違い量を仮定し,仮想変位に相当する節点力を外力項として与える点力を外力項として与える
– 特殊な要素は不要,定式化も簡単,観測値の利用
SWoPP2008
42
FEMによる「単位すべり応答関数」計算FEMによる 単位す り応答関数」計算(続き)
• 不均質粘弾性モデル
– Maxwell粘弾性体Maxwell粘弾性体
11 dd
11
dtd
Edtd
• ちなみに弾性体は・・・t t
E1
SWoPP2008
E
43
局所細分化の必要性
• 1km×1kmの応答関数を求めるためには 数十m幅のメッ
局所細分化の必要性
• 1km×1kmの応答関数を求めるためには,数十m幅のメッシュが必要
数百k ×数百k の領域を扱うため 全領域をこの大きさの• 数百km×数百kmの領域を扱うため,全領域をこの大きさのメッシュで切ることは不可能
局所細分化 ( )– 局所細分化:Adaptive Mesh Refinement (AMR)
SWoPP2008
SWoPP2008 44
• AMRとData Migration• AMRとData Migration• 断層における応力蓄積シミュレーション
• 単位すべり応答関数計算用フレームワーク
– 六面体メッシュと局所細分化
– 負荷分散
• 評価評価
– PCクラスタ
– T2Kオープンスパコン(東大)T2Kオ プンス ン(東大)
• まとめ
45
単位すべり応答関数計算の現状
• 「粗い」初期全体メッシュ(O(105~106)要素)
単位す り応答関数計算 現状
粗 」初期 体 ッシ ( ( )要素)
• 局所細分化
• 領域分割• 領域分割
• 六面体メッシュ(Tri-Linear)– コミュニティーの要請
– 精度,アプリケーション
• 必要とする単位すべり応答関数のセットの数にもよるが,必要とする単位す り応答関数のセットの数にもよるが,数千~数万種類の計算が必要
– 高速
SWoPP2008
高速
– 局所細分化された分散メッシュファイルは不要
46
単位すべり応答関数計算用フレームワーク
• プロセス
単位す り応答関数計算用 ワ ク
伊豆マントル
伊豆マントル
– 「粗い」分散メッシュ(数百m~1km)
– 局所細分化
四国伊
四国伊
– 負荷分散
– 単位すべり応答関数
フィリピン海プレート 太平洋プレート
マントル
フィリピン海プレート 太平洋プレート
マントルxy z
xy z
• 必要とする単位すべり応答関数のセットの数にもよるが,数千必要とする単位す り応答関数のセットの数にもよるが,数千~数万種類の計算が必要
– 高速高速
– 局所細分化された分散メッシュファイルは不要
• 六面体メッシュ(Tri-Linear)
SWoPP2008
六面体メッシュ(Tri-Linear)
SWoPP2008 47
単位すべり応答関数計算用フレームワーク単位す り応答関数計算用 ワ ク
Initial Distributed Mesh FilesAMR
Repartitioning(ParMETIS)
Location ofRefinement
Data Migration & Management
L ll R fi d Di t ib t dLocally Refined Distributed Mesh Files (on memory)
Parallel FEMParallel FEM(GeoFEM)
Unit ResponseUnit ResponseFunction
48
六面体要素のAMR
実は六面体要素のAMRは難しい
六面体要素のAMR
• 実は六面体要素のAMRは難しい
• 八分木(二次元では四分木)は細分化レベルの境界でHanging Nodeを生じてしまう
– 四面体,三角形ではこのようなことはないが,断層のモデリングには六面体要素が望ましく,六面体要素が一般的に用いられている
SWoPP2008
Refinement Patterns of TetrahedronRefinement Patterns of TetrahedronRefinement Patterns of TetrahedronRefinement Patterns of Tetrahedron3 edges on
a same
1 edgemarked
a samesurface are
marked
2 edges ona same
2 children(Binary)
a samesurface are
marked
4 children3rd edge is 4 children(Quadtree)more than
2 edges ondifferent
surfaces aremarked
3 d edge sautomatically
marked
marked
more than
SWoPP2008 49
8 children(Octree)
more than4 edges are
marked 6 edges areautomatically
marked
50
対処法:27分木 [Schneiders et al 1996]対処法:27分木 [Schneiders et al, 1996]
• Quadtree/Octree with Conforming Refinement• 各辺の分割単位を2ではなく,3とする。各辺の分割単位を2ではなく,3とする。
– 細分化レベル境界でHanging Nodeを生じない
– 二次元:9分木二次元:9分木
– 三次元:27分木
SWoPP2008
51
(a)(a)
Octree/Quadtree: Hanging Nodesto be refinedrefined
(b)Octree/Quadtreewith Conforming Refinement: NO Hanging Nodes
SWoPP2008
g g
52
27分木 における分割パターン27分木 における分割パタ ン[Schneiders et al, 1996]
A B
C D
SWoPP2008
53
27分木 による細分化例27分木 による細分化例初期レベル
SWoPP2008
54
27分木 による細分化例27分木 による細分化例細分化レベル1
SWoPP2008
55
27分木 による細分化例27分木 による細分化例細分化レベル2
SWoPP2008
56
27分木 による細分化例27分木 による細分化例細分化レベル3
SWoPP2008
57
27分木 による細分化例27分木 による細分化例細分化レベル3(拡大図)
SWoPP2008
SWoPP2008 58
Examplep
59
SWoPP2008
速度:
背景色:位置:
モード:
透明度:
60
単位すべり応答関数計算用フレームワーク
• 並列細分化(AMR)
単位すべり応答関数計算用フレ ムワ ク
– Double Numberingの導入 [Nakajima & Fingberg, 2001]– 局所的な細分化情報の通信局所的な細分化情報 通信
– 四面体と比較すると膨大な組み合わせを考慮する必要がある
• ParMETISによる領域再分割(Repartitioning)ParMETISによる領域再分割(Repartitioning)– http://glaros.dtc.umn.edu/gkhome/metis/parmetis/マルチレベル的な手法 節点数がバランスするような手法– マルチレベル的な手法,節点数がバランスするような手法
– ParMETIS_V3_PartKway
• データマイグレーション(Data Migration)– 節点座標,要素コネクティビティ,物性値,グループ情報,通信テー
SWoPP2008
ブル等の領域間の移動
– 領域間オーバーラップ深さの自動変更機能(未実装)
SWoPP2008 61
細分化におけるルール(1/3)• Double Numbering:並列計算向け
ロ カル番号– ID(i,1)=ローカル番号
– ID(i,2)=所属領域番号
節点 要素 面 辺– 節点,要素,面,辺
– ローカル番号+グローバル番号より便利
• 隣接要素
– 2レベル以上異ならない⇒自然に満たされる
SWoPP2008 62
細分化におけるルール(2/3)• 連続して異方性のある分割を行わない
C 次は必ず 分割を適用– A,B,Cの次は必ずDの分割を適用
A B C DA B C D
SWoPP2008 63
細分化におけるルール(3/3)• 節点を重複して生成するのを避けるため,辺,面,要素に所属する節点を決めておく素に所属する節点を決めておく
64
METIShttp://www-users.cs.umn.edu/~karypis/metis/
チ ベ グラ 理論に基づ た方法• マルチレベルグラフ理論に基づいた方法
SWoPP2008
65
METIShttp://www-users.cs.umn.edu/~karypis/metis/
マルチレベルグラフ理論に基づいた方法• マルチレベルグラフ理論に基づいた方法
– 特に通信(edge-cut)が少ない分割を提供する
安定 高速– 安定,高速
– フリーウェア,他のプログラムに組み込むことも容易
• 色々な種類がある
– k-METIS 通信量(edge-cut)最小
– p-METIS 領域間バランス最適化
– ParMETIS 並列版
– 領域分割だけでなく,オーダリング,データマイニングなど色々な分野に使用されている
SWoPP2008
• 接触,衝突問題における並列接触面探索
• ParMETIS:並列版
66
データマイグレーション(Data Migration)• データマイグレーション(Data Migration)
デ タマイグレ ション(Data Migration)• デ タマイグレ ション(Data Migration)
– 節点座標,要素コネクティビティ,物性値,グループ情報,通信テーブル等の領域間の移動ブル等の領域間の移動
– 領域間オーバーラップ深さの自動変更機能(未実装)
• 極力,All-to-All型の通信を避ける
• 隣接領域との通信のみに限定
SWoPP2008
SWoPP2008 67
• AMRとData Migration• AMRとData Migration• 断層における応力蓄積シミュレーション
• 単位すべり応答関数計算用フレームワーク
– 六面体メッシュと局所細分化
– 負荷分散
• 評価評価
– PCクラスタ
– T2Kオープンスパコン(東大)T2Kオ プンス ン(東大)
• まとめ
SWoPP2008 68
性能評価(ParMETIS+Data Migration)性能評価( g )
Initial Distributed Mesh FilesAMR
Repartitioning(ParMETIS)
Location ofRefinement
Data Migration & Management
L ll R fi d Di t ib t dLocally Refined Distributed Mesh Files (on memory)
Parallel FEMParallel FEM(GeoFEM)
Unit ResponseUnit ResponseFunction
SWoPP2008 69
例 題• 三次元弾性問題
初期メ シ
例 題
• 初期メッシュ
– 203 節点/コア,~512コア (4M節点)
体 体– 立方体メッシュ(六面体)
• 細分化
– 4領域に1領域の割合で,1~2個の要素を細分化• 16領域であればそのうち4領域が細分化
– 2レベル~4レベルケース
細分化レベル
最小節点数
最大節点数
平均節点数
1 2
8,000
17,290 10,3242 3 68,560 23,1403 3 247 648 67 192
,3 3 247,648 67,1924 4 812,320 209,080
SWoPP2008 70
性能評価手法
• Weak Scaling16~512領域– 16~512領域
• GeoFEM-type Parallel Distributed Data StructureN d b d 1 L O l i– Node-based, 1-Layer Overlapping
安• 評価の目安
– Data Migrationの時間がParMETISと同様,または短い
SWoPP2008 71
1/4 of entire domains are refined
SWoPP2008 72
ハードウェア等
• PCクラスタ(VT社製)
ハ ドウェア等
• PCクラスタ(VT社製)
– Dual-core Opteron 275 (2.2GHz) Cluster up to 64 coresInfiniband Gigabit Ethernet– Infiniband, Gigabit-Ethernet
• T2Kオープンスパコン(東大)Hitachi HA8000– Quad-core Opteron (2.3GHz) , up to 512 cores (32 nodes)
• F90+C+ MPI– Flat MPI– PGI(PCクラスタ)
– Hitachi(HA8000)
SWoPP2008 73
PCクラスタ(Infiniband, Pathscale MPI)ケース2(3レベル),初期実装
■ New Pointers■ Data Migration
1.50
■ Data Migration■ Double Numbering■ ParMETIS
1.00
sec.
0.50
s
0.004 8 16 32 48 64
#
• Data MigrationはParMETISと比べて計算時間は少ないが領域数増加とともに増大
core#
領域数増加とともに増大
SWoPP2008 74
デ タマイグレ シ ンの各プロセスと特徴データマイグレーションの各プロセスと特徴A:領域間通信,B:非スケーラブル処理領域 通信, 非
名 称 機 能 A B名 称 機 能 A B
■ New Local ID 新局所番号生成 ○ △
■ Comm. Table 領域間通信テーブルサイズ決定
× △サイズ決定
■ Data Transfer 領域間データ移動 ◎ △
■ Data Removal 不要データ消去 × △
SWoPP2008 75
非スケ ラブル処理非スケーラブル処理
do ip= 1, PETOTdo i= 1, N(…)
enddoenddoenddo
SWoPP2008 76
Data Migrationの中での内訳Data Migrationの中での内訳
0.60■ New Local ID
0 40
0.50■ New Local ID■ Comm. Tab. Size■ Data Transfer
0.30
0.40
sec.
■ a a a s e■ Data Removal
0.10
0.20
0.00
0.10
4 8 16 32 48 644 8 16 32 48 64
core#
SWoPP2008 77
Data Migration:改良点Data Migration:改良点
名 称 変更点名 称 変更点
New Local ID 無し
Comm Table 探索アルゴリズム効率化Comm. Table 探索アルゴリズム効率化
Data Transfer 送受信バッファの初期化省略
探索アルゴリズム効率化Data Removal 探索アルゴリズム効率化送受信バッファの初期化省略
SWoPP2008 78
改良:64ノードで半分以下に
0 600 60
改良:64ノ ドで半分以下に
0.50
0.60
0.50
0.60
Original Improved
0.30
0.40
sec.0.30
0.40
sec.
0.10
0.20
0.10
0.20
0.004 8 16 32 48 64
core#
0.004 8 16 32 48 64
core#
■ New Local ID■ Comm. Tab. Size■ Data Transfer■ Data Removal
SWoPP2008 79
Comm. Tab. SizeComm. Tab. Size
■ original0.40
■ original■ improved0.30
0.20sec.
0 00
0.10
0.004 8 16 32 48 64
core#
名称 変更点名称 変更点
New Local ID 無し
Comm. Table 探索アルゴリズム効率化
D T f 送受信バ フ の初期化省略Data Transfer 送受信バッファの初期化省略
Data Removal 探索アルゴリズム効率化送受信バッファの初期化省略
SWoPP2008 80
Data Transfer0.15
Data Transfer
■ original
0.10
■ original■ improved
0.05
sec.
0 000.004 8 16 32 48 64
core#
名称 変更点名称 変更点
New Local ID 無し
Comm. Table 探索アルゴリズム効率化
D T f 送受信バ フ の初期化省略Data Transfer 送受信バッファの初期化省略
Data Removal 探索アルゴリズム効率化送受信バッファの初期化省略
SWoPP2008 81
Data Removal0.08
不要データ消去
■ original0.06
■ original■ improved
0.04sec.
0 00
0.02
0.004 8 16 32 48 64
core#
名称 変更点名称 変更点
New Local ID 無し
Comm. Table 探索アルゴリズム効率化
D T f 送受信バ フ の初期化省略Data Transfer 送受信バッファの初期化省略
Data Removal 探索アルゴリズム効率化送受信バッファの初期化省略
SWoPP2008 82
PCクラスタ ネ トワ ク MPIの影響PCクラスタ:ネットワーク,MPIの影響
■ IB+PathScale MPI■ IB+MPICH■ GB+MPICH■ GB+MPICH
1.50 1.50
1.00 1.00
ParMETIS Data Migration
0.50
sec.
0.50se
c.
0.00 0.004 8 16 32 48 64
core#
0.004 8 16 32 48 64
core#
SWoPP2008 83
ケース1(T2K)ケ ス1(T2K)
0.80 0.25
0.600.20
0.40sec.
0.10
0.15
sec.
0 00
0.20
0 00
0.05
0.0016 32 64 128 256 384 512
core#
0.0016 32 64 128 256 384 512
core#
■ New Pointers■ Data Migration■ D bl N b i
■ New Local ID■ Comm. Tab. Size
■ Double Numbering■ ParMETIS
■ Data Transfer■ Data Removal
SWoPP2008 84
ケース2(T2K)
0.401.50
@64cores ParMETIS:0.54sec.⇒0.57,DM:0.23⇒0.13
0.301.00
0.20sec.
0.50
sec.
0 00
0.10
0 00
0.50
0.0016 32 64 128 256 384 512
core#
0.0016 32 64 128 256 384 512
core#
■ New Pointers■ Data Migration■ D bl N b i
■ New Local ID■ Comm. Tab. Size
■ Double Numbering■ ParMETIS
■ Data Transfer■ Data Removal
SWoPP2008 85
ケース4(T2K)
4.00 5.00
ケ ス4(T2K)
3.004.00
2.00sec.
2.00
3.00
sec.
0 00
1.00
0 00
1.00
0.0016 32 64 128 256 384 512
core#
0.0016 32 64 128 256 384 512
core#
■ New Pointers■ Data Migration■ D bl N b i
■ New Local ID■ Comm. Tab. Size
■ Double Numbering■ ParMETIS
■ Data Transfer■ Data Removal
SWoPP2008 86
ケース4(T2K)
5.00
ケ ス4(T2K)
15.0
4.00
10.0
2.00
3.00
sec.
5.0
sec.
0 00
1.00
0 0
5.0
0.0016 32 64 128 256 384 512
core#
0.016 32 64 128 256 384 512
core#
■ New Pointers■ Data Migration■ D bl N b i
■ New Local ID■ Comm. Tab. Size
■ Double Numbering■ ParMETIS
■ Data Transfer■ Data Removal
SWoPP2008 87
デ タマイグレ シ ンの各プロセスと特徴データマイグレーションの各プロセスと特徴コア数増大による計算時間増大数増 算 増
名 称 機 能 1 2 3 4名 称 機 能 1 2 3 4
■ New Local ID 新局所番号生成 ○ ○ ○ ○
■ Comm. Table 領域間通信テーブルサイズ決定サイズ決定
■ Data Transfer 領域間データ移動 ○ △
■ Data Removal 不要データ消去 ○ ○ ○ ○
SWoPP2008 88
Example of “non-scalable” processesExample of non scalable processesin “NEW Local ID”
do ip= 1, PETOTif (ip-1 eq my rank) thenif (ip-1.eq.my_rank) then
do i= 1, NODEtotLorgnn= NODE_ID_NEW(i,2)
t( +1) t( +1) + 1gcount(nn+1)= gcount(nn+1) + 1NODE_ID_NEW(i,1)= gcount(nn+1)
enddoendifcall MPI_BCAST ( gcount, PETOT, MPI_INTEGER, ip-1, &
MPI_COMM_WORLD, ierr )_ _enddo
SWoPP2008 89
MAX Number of “destinations” for data transfer
30
● Case-1○ Case-2▲ Case-320A
TIO
N
△ Case-4
10#: D
ESTI
NA
10
MA
X #
010 100 1000
core#
SWoPP2008 90
• AMRとData Migration• AMRとData Migration• 断層における応力蓄積シミュレーション
• 単位すべり応答関数計算用フレームワーク
– 六面体メッシュと局所細分化
– 負荷分散
• 評価評価
– PCクラスタ
– T2Kオープンスパコン(東大)T2Kオ プンス ン(東大)
• まとめ
91
問題点
• 非スケーラブルプロセス
問題点
● Case-1○
非 ケ ラ ル
– New Local ID– Data Removal
○ Case-2▲ Case-3△ Case-4Data Removal
– 当面はこれでも問題無いが
1.30
1.40
tio
• ParMETIST2Kが遅い(64coresで
1.20
alan
ce R
at
– T2Kが遅い(64coresで0.53sec⇒0.57sec.)
– ロードインバランス 1.00
1.10
Load
Imba
– ロ ドインバランス• ケース3,4はあまり現実的ではないが
0.9010 100 1000
SWoPP2008
core#
92
今後の展望
• 改良
今後 展望
改良
– 非スケーラブル処理の部分
• 標準化
多様なデ タ構造を受容 きるようなも ある必要がある– 多様なデータ構造を受容できるようなものである必要がある
– かつ高速
• METIS,ParMETIS– 他の関数,パラメータ
– いつまでもこれに頼っていて良いのか?
SWoPP2008
までも れ 頼 て て良 の