CREST
Development of System Software Technologies for post-Peta Scale High Performance Computing Project Overview
Atsushi Hori RIKEN AICS
1
CREST Development of System Software Technologies for post-Peta - - PowerPoint PPT Presentation
1 CREST Development of System Software Technologies for post-Peta Scale High Performance Computing Project Overview Atsushi Hori RIKEN AICS 2 Research Groups RIKEN AICS A. Hori (PI) Hitachi A. Sutoh Tokyo Univ. of
1
2
3
4
5
6 Linux Address Map Multi-Thread
TEXT DATA & BSS HEAP STACK0 STACK1 KERNEL
Process
TEXT DATA & BSS HEAP STACK KERNEL
LOW HIGH Address
PVAS Address Map
PVAS Task 0!
PVAS Task 0!
PVAS Task 1!
PVAS Task 0!
PVAS Task 1!
LOW HIGH Address
Multiple PVAS! Address Map
Many-Core Mutli-Core TEXT HEAP STACK DATA & BSS Export PVAS! T ask 1 KERNEL PVAS! Task 0
Many-Core! KERNEL Multi-Core! KERNEL
7
Memory is Invaluable
consumes a lot of memory
taken into account 300MB = 5% of 6GB
5 B B B B B B B B B B B B B B B B B J J J J J J J J J J J J J J J J J H H H H H H H H H H H H H H H H H 1 10 100 1,000 10,000 100,000 300,000 0.1 1 10 100 1000 10000100000 IMB PingPong Latency [usec] IMB PingPong Message Size [KByte] B SM BTL J SM-KNEM BTL H Vader BTL B B B B J J J J H H H H 0E+0 1E+3 2E+3 3E+3 Memory Usage [MByte] Eager Protocol Rendezvous Protocol B B B B J J J J H H H H 100 200 300 400 500 600 60 120 180 240 Total Page Table Size [MByte] IMB AlltoAll (2KiB) Number of Processes Rendezvous Protocol300MB
Better 6 Better 7Better
8 CREST領域会議 2013/10/11PVAS [島田@PGAS’12、島田@MES’13 他]
PVAS (Partitioned Virtual Address Space) ⇒プロセスとスレッドの「いいとこ 取り」 ⇒Linux カーネルにパッチ メニーコアCPUにおけるコア間通信 の高速化 ⇒ノード内「通信」はメモリアクセ スと等価 ⇒OMPにおいてデフォルトをprivate とするのとほぼ同じ ⇒PGAS系言語で特に有効
RIKEN AICS CREST中間評価PVAS - VM ops [島田@MES’13]
In this benchmark, multiple tasks executes mmap, memset, and munmap
mmap and munmap operations update the memory region tree mmap allocates 1MB of memory Page fault handling operations incurred by memset update the page table tree
RIKEN AICS CREST中間評価PVAS を用いたノード内通信の評価
11
1E+0 10E+0 100E+0 1E+3 10E+3 10E+0 100E+0 1E+3 10E+3 100E+3 1E+6 10E+6 Bandwidth [MB/s] 0.1 1 10 100 1000 10E+0 100E+0 1E+3 10E+3 100E+3 1E+6 10E+6 Latency [us] NEMESIS-Redezvous NEMESIS-Eager PVAS 100E-3 1E+0 10E+0 100E+0 1E+3 10E+3 100E+3 1E+0 10E+0 100E+0 1E+3 10E+3 100E+3 1E+6 10E+6 100E+6 Bandwidth [MB/s] 0.0001 0.001 0.01 0.1 1 10 100 1E+0 10E+0 100E+0 1E+3 10E+3 100E+3 1E+6 10E+6 100E+6 Latency [us] GASNSET-Shmem GASNET-AM PVASMPIC One Sided [島田@PGAS’12]
RIKEN AICS CREST中間評価NPB (XcalableMP) での評価
CG (NP=8) IS (NP=8)
[島田@PGAS’12]
CREST領域会議 2013/10/11
PVAS [島田@PGAS’12、島田@MES’13 他]
PVAS (Partitioned Virtual Address Space) ⇒プロセスとスレッドの「いいとこ 取り」 ⇒Linux カーネルにパッチ メニーコアCPUにおけるコア間通信 の高速化 ⇒ノード内「通信」はメモリアクセ スと等価 ⇒OMPにおいてデフォルトをprivate とするのとほぼ同じ ⇒PGAS系言語で特に有効
RIKEN AICS CREST中間評価
PVAS - VM ops [島田@MES’13]
10
RIKEN AICS CREST中間評価
PVAS を用いたノード内通信の評価
[島田@PGAS’12]
RIKEN AICS CREST中間評価
NPB (XcalableMP) での評価
CG (NP=8) IS (NP=8)
[島田@PGAS’12]
情報処理学会研究報告
図 の性能
5 10 15 20 25 32 64 128 32 64 128 32 64 128 32 64 128 XMP-MPI XMP-MPI-NOALLOC XMP-PVAS MPI
Time (s)! gmove reduction
図 12 NPB-CG の反復回数 32 回による通信時間 図 の通信を省いた計算時間
では,通信のための と 通信が発生した. を使用することで, を省き, 通信 を 回に置き換えた.その結果, 次元ステンシ ル計算の 次元分割では,袖通信の通信時間を に減少 させることができた. の 次元分割では,重複して持 たせたベクトルの転置の通信時間を 程度に減少させる ことができた. 姫野ベンチマークでは, , , の性能 が同程度であり,プロセス数によっては, を 使用するこで, よりも性能を引き出すことができた. では, と が よりも高い性 能を得ており, や を使用することが望まれる. は 通信と 通信によって,性能が低 下した. を使用することで, 通信の時間を抑 えることができ, との性能差を縮めることができた. を用いることで, の通信時間を抑えるこ とができれば,さらに との性能差を縮めることがで きる. 現在の設計, 実装では, 内並列化に対応しているが, 間,ノード間通信に対応していない.そこで,今後 は,大規模計算に対応できるように,複数 ,複数ノー ドを対象とした設計,実装を行い,性能測定を行う.また, 他の通信として, 通信の設計を行う予定である. 参考文献
仕様書, 島田明男, 堀敦史, 石川裕:新しいタスクモデルに よる ノード内通信の高性能化,情報処理学会研究報 告, 姫野ベンチマーク:姫野ベンチマーク,
ⓒ Vol.2015-HPC-148 No.22 2015/3/3
XMP (gmove) のPVAS実装,大川他(筑波大) IPSJ-SIGHPC, 3月,2015
8
図 の実行結果
リゲーションにより性能が悪化し, ( )または ( )以上ではデリゲーショ ン方式による性能改善が可能であることが明らかになった. ノード間通信 通信 において を用いた 通信の結果を図 から に示す.図中には,メニーコア単独方式である「 」とデリゲーショ ン方式である「 」 ,およびデリゲーション方式による ノード間通 信においてホストの で要した時間を「 」に示 す.また参考としてメニーコアではなくマルチコアで ノード間通信を実施した際の所要時間 を「 」に示している.メニーコア単独方式では を,デリゲーショ ン方式では を ライブラリとして使用している. 「 」におけ る 通信と 通信のスレッショルドはデリゲーション方式と同一とした. 図 は 通信におけるノード間通信の遅延時間を測定する の結果である. ノード間通信の評価結果と異なり,すべての転送サイズでデリゲーション方式の所要時間がメ ニーコア単独方式よりも短くなる結果となった.メニーコア単独方式を基準としたデリゲーショ ン方式の所要時間の削減率は,最小転送サイズである 時に約 となり, プロトコ ルから プロトコルに変更される転送サイズ では約 ,最大転送サイズの 時には約 となった.デリゲーション方式におけるメニーコアからホストへの処理依頼 には転送サイズ 時に約 を要したが,ホストでの処理により削減された所要時間が本 遅延時間を上回ったため,メニーコア単独方式よりも所要時間が削減される結果となった.なお ノード間通信での評価結果と同様に,デリゲーション方式の所要時間は同じくホストの プ ロセスを用いるホスト単体の所要時間よりも大きくなった.最大転送サイズの 時では, ホスト単体基準で約 増大している.
Role Sharing Example
MPI (MVAPICH2)
9 Small message latency is halved !
Master Thesis, 2014.
図 の実行結果 リゲーションにより性能が悪化し, ( )または ( )以上ではデリゲーショ ン方式による性能改善が可能であることが明らかになった. ノード間通信 通信 において を用いた 通信の結果を図 から に示す.図中には,メニーコア単独方式である「 」とデリゲーショ ン方式である「 」 ,およびデリゲーション方式による ノード間通 信においてホストの で要した時間を「 」に示 す.また参考としてメニーコアではなくマルチコアで ノード間通信を実施した際の所要時間 を「 」に示している.メニーコア単独方式では を,デリゲーショ ン方式では を ライブラリとして使用している. 「 」におけ る 通信と 通信のスレッショルドはデリゲーション方式と同一とした. 図 は 通信におけるノード間通信の遅延時間を測定する の結果である. ノード間通信の評価結果と異なり,すべての転送サイズでデリゲーション方式の所要時間がメ ニーコア単独方式よりも短くなる結果となった.メニーコア単独方式を基準としたデリゲーショ ン方式の所要時間の削減率は,最小転送サイズである 時に約 となり, プロトコ ルから プロトコルに変更される転送サイズ では約 ,最大転送サイズの 時には約 となった.デリゲーション方式におけるメニーコアからホストへの処理依頼 には転送サイズ 時に約 を要したが,ホストでの処理により削減された所要時間が本 遅延時間を上回ったため,メニーコア単独方式よりも所要時間が削減される結果となった.なお ノード間通信での評価結果と同様に,デリゲーション方式の所要時間は同じくホストの プ ロセスを用いるホスト単体の所要時間よりも大きくなった.最大転送サイズの 時では, ホスト単体基準で約 増大している.PrototypeM-PVAS
10 11
測定環境: , 図 間でのデータ転送帯域 のメモリから のメモリへ による アクセスを実施したことを示す.また 「 」であれば, が主体となり のメモリから のメモ リへ による アクセスを実施したことを示す.図 では大きな転送単位では圧倒的 に が高帯域だが,想定する転送サイズに近い バイトでは, が と互角か若 干高帯域である.よってデータ転送遅延,帯域幅,コヒーレンシ維持の 観点において が 有利であることがわかる. 以上より におけるリモートメモリアクセス方式には を用いることと する.なお, 間で大量のデータ転送を高帯域に実施するための基盤として, モデルに基づいた を検討する必要があると考えている.少量データの転送は ,大量データの転送は と異なる基盤を構築することで,ハードウェ アを余すことなく活用した高性能なアプリケーション実行基盤を実現できる. なお,現状の が対応している 規格バージョン による では, ロックの実装などに広く使われる 命令( など)がサポートされていな い. 規格バージョン では 経由での 命令がサポートされるため,次 期 が登場するまでの間, 空間上で 間での排他制御を実施する場合 には ではなく などの代替手段を利用する必要がある.12
B B B B B B B B B B B B B B B B J J J J J J J J J J J J J J J J H H H H H H H H H H H H H H H H
10 800 850 900 950 20 40 60 80 100 120 140 RoundTrip Latency [usec] Data Size [Byte] B M-PVAS (Xeon→Xeon Phi→Xeon) J M-PVAS (Xeon Phi→Xeon→Xeon Phi) H Intel Offloading
x86_64 Xeon Phi HCA x86_64 Xeon Phi HCA x86_64 Xeon Phi HCA High Speed Network
MVAPICH2 2.0b MPSS 3.1.2
9
Japan USA Switzerland Germany France India Canada Italy Unknown Japan USA Switzerland Germany France India Canada Italy Unknown
more than 100 downloads since Nov. 2014
10
11