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 両者の性能評価の図を比べると、アプリ ケーションは異なるものの、前者よりも後 者の方が速度向上が良い
© Copyright 2024 ExpyDoc