ppt

Open for SMP ClusterのSurvey
Talk by Shuhei Ohkado
Email: [email protected]
なぜSMP Cluster(の研究)か?




HPC using clusters of commodity
hardware
Cluster with fast network provide high
performance equal to MPP
Cost-effective parallel computing
platform
SMP Cluster向けのHPCの研究の方向性
なぜOpenMPか?

Emerging standard for parallel
programming on shared-memory
multiprocessors
OpenMPってどんなの?


並列性を記述する指示文を追加
Fork-join型
OpenMPの利点



Incremental approach to parallelization
of sequential program
Portability
Programmingが容易
OpenMPのdirective



Parallelism/work sharing
Data environment
synchronization
これからの話


Hybrid Programmingの紹介
Inserting Remote communication
primitiveの紹介
紹介する論文


吉川 茂洋, 早川 秀利, 近藤 正章, 板倉 憲一, 朴 泰祐,
佐藤 三久,"SMP-PCクラスタにおけるOpenMP+MPIの性
能評価", 情報処理学会ハイパフォーマンスコンピュー
ティング研究会 (HOKKE2000),2000-HPC-80-27, 2000,
pp155-160.
M. Sato, S. Satoh, K. Kusano and Y. Tanaka,
TsukubaResearch Center, Real World Computing
Partnership, "Design of OpenMP Compiler for an SMP
Cluster", First European Workshop on OpenMP EWOMP’99, Lund University, Lund, Sweden,
September 1999
SMP-PCクラスタにおける
OpenMP+MPIの性能評価







SMP Clusterのデザイン
COSMO(Clusters of Symmetric MultiprOcessor)
ハイブリッドプログラミング
OpenMP+MPIの問題点
ベンチマークアプリ
性能評価
まとめ
SMP Clusterのデザイン


分散メモリ:ノード間でメッセージパッシング
共有メモリ:ノード内でマルチスレッド
COSMOの仕様




Intel Pentium-II Xeon(450MHz)x4
4ノード構成
100base-TX Ethernet Switch
Linux 2.2.10 SMP
ハイブリッドプログラミング

OpenMPとMPIの混合



ノード内ではOpenMP
ノード間ではMPI
Pthread+MPIのハイブリッドの論文もある
ハイブリッドとメッセージパッシン
グ統一型の比較

ハイブリッドプログラミング



プログラミング難しい
性能がより引き出せる
メッセージパッシング統一型


簡単なプログラミング
MPIの豊富な資産
OpenMP+MPIの問題点


並列領域内でMPI関数がある場合排他制
御が必要
安全な通信のためにマスタースレッドのみ
が通信
アプリケーション

Linpack



密行列連立一次方程式のガウス消去法
データの時間局所性が高い
CG



NAS Parallel Benchmarks
大規模疎行列の最小固有値をのCG法
データの時間局所性が低い
性能評価



グラフ略(~9つ)
Full MPI版よりもOpenMP+MPIの方が速
度向上が良い
Linpack


計算粒度を大きくしたら性能が良くなった
CG

速度低下はメモリバスの混雑による
この論文のまとめ



並列化は容易だった
OpenMPは標準APIだからMPIとのハイブ
リッドも可搬性がある(really?)
SMPクラスタではメモリバスボトルネックの
問題解決が必要
Design of OpenMP Compiler
for an SMP Cluster






Omni
OpenMP Design for SMP Cluster
Base DSM runtime
Optimization
COMPas
Preliminary Result
Omni




Experimental compiler
Translator: OpenMP->multithreaded C
Linked with runtime library
Java libraries that analyze & transform
OpenMP Design for SMP
Cluster



Compiler-directed approach
Runtime DSM library
Structured parallel description of
OpenMP(higher)
Extend OpenMP compiler


Memory coherence maintenace code
Insertion
Compiler analysis


SMP cluster


Efficient collective communication
fork & synchronize between different nodes
Software implementation

Flexible cache coherence protocol
Base DSM runtime system




Mapping into same address
Cache by multiple nodes
Status bit
Check code before load/store
Optimization




Parallel extent detection
Redundant check code elimination
Merging multiple check code
(Data-parallel communication
optimization)
COMPaS

COMPaS





Cluster Of Multi-Processor Systems
Eight 4-processor Pentium Pro(200MHz)
Myrinet
Solaris 2.5.1
NICAM


User-level communication layer
DMA
Preliminary Result



グラフ略
Jacobi over relaxation solver of dense
matrix
21.76 speedup/32 node x thread
Concluding Remarks




Extend OpenMP for SMP Cluster
Compiler-directed SDSM
Optimization for the system
Easy to program

Hide configuration of SMP Cluster
全体のまとめ



OpenMP on SMP Clusterの論文を読んだ
一方はMPIを利用、もう一方はShasta-like
両者の性能評価の図を比べると、アプリ
ケーションは異なるものの、前者よりも後
者の方が速度向上が良い