270 likes | 384 Views
Open for SMP Cluster の Survey. Talk by Shuhei Ohkado Email: shuhei@yl.is.s.u-tokyo.ac.jp. なぜ 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 の研究の方向性.
E N D
Open for SMP ClusterのSurvey Talk by Shuhei Ohkado Email: shuhei@yl.is.s.u-tokyo.ac.jp
なぜ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 • Efficient collective communication • SMP cluster • 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 • 両者の性能評価の図を比べると、アプリケーションは異なるものの、前者よりも後者の方が速度向上が良い