BlueGene - oraccha/omicron GitHub Wiki
IBM が開発中の遺伝子解析研究をメインターゲットとしたスーパコン.TOP500 では,BlueGene/L が地球シミュレータを抜き,世界最速へ.BlueGene/L は BlueGene/P (目標1PFLOPS) の light 版.
-
[http://www.research.ibm.com/bluegene 本家] (IBM)
-
[http://www.llnl.gov/asci/platforms/bluegene/agenda.html BlueGene/L: Applications, Architecture and Software Workshop agenda]
- [http://www.llnl.gov/asci/platforms/bluegenel/pdf/software.pdf An Overview of the Blue Gene/L System Software Organization]
-
[http://pcweb.mycom.co.jp/articles/2004/10/14/fpf/ Fall Processor Forum 2004 - 地球シミュレータをもしのぐIBM BlueGene/L] (MYCOM PCWEB 2004-10-14)
-
[http://slashdot.jp/article.pl?sid=05/10/29/228210 Blue Gene/L、ついにフルスペックに] (SlashdotJapan 2005-10-29) . 計算ノード 65536,IOノード 1024,280TFLOPS.
プロセッサは PowerPC 440 FP2/700MHz dual core (コアは組込み向け32bitプロセッサ).二つの FPU を SIMD 的に使っている(SIMOMD: Single Instruction Multiple Operation Multiple Data)? 通称 Double Hummer.
- co-processor mode と virtual node mode があって,最初のはCPU0は計算して,CPU1は通信専用(たとえば MPI)のように利用するので,ピーク性能は 2.8 GFlops.virtual node mode のピーク性能は 5.6 GFlops.MPIを使うには,co-processor mode の方が性能がよい(BlueGene/LはほとんどMPI計算機だって言ってた).
- virtual node mode で性能が悪いのは,たぶん,利用できるメモリサイズが半分になるから.
- BlueGene/P では,どうなるのか?
インタコネクトは 64x32x32 のトーラスネットワーク.パケットサイズは32B単位で32〜256B.
OS は Linux を使っているんだけど,結構手が入ってそう.計算ノードのカーネル(Compute Node Kernel: CNK)はプログラムのロード,実行,ファイルアクセス,IO ノードとの通信に必要な機能以外は削って,軽量化されている.BlueGene/L Run Time Supervisor (BLRTS) とも呼ばれている? シングルプロセスが計算ノードを占有して実行される実行モデルである.Unix 的なシステムコール(fork, exec, pipe, mount, umount, setuid, setgid,...) がないとか仮想記憶が V=R だとか(256MB 固定,フラットなアドレス空間で,ページングなし.カーネルとユーザプロセスはアドレス空間を共有する.カーネル領域は MMUで保護される),ユーザプロセスがノンプリエンプティブだとか(計算に専念したいから TSS である必要はない).あと,sigaction()を使った非同期シグナル,プロセス間通信,サーバサイドソケットAPI,poll/select もサポートしていない.
-
BG/L 外のワークステーションでクロスコンパイルして,ジョブを投入という感じ.ファイルシステム (GPFS or NFS) は BG/L と WS で共有されている(NIC/GbE でつながれている).
-
IO ノードには,PowerPC 440GP 用の 2.4.19 カーネルベースで,特殊なデバドラ向けの変更が主.ジョブコントロールやIOデーモン(CIOD)が動作している.
-
計算ノードがファイルIOを呼び出した場合,CNK がインタコネクトのパケットに変換し,インタコネクト経由でIOノードの CIOD に送信される.CIOD は NFS over GbE 経由でファイルサーバにアクセスし,結果を計算ノードに返す.
-
ちなみに Cray XT3 (RedStorm)も計算ノードには [http://gaston.sandia.gov/cfupload/ccim_pubs_prod/CUG2005-CatamountArchitecture.pdf Catamount] と呼ばれる軽量カーネルを使っている.ファイルシステムは Luster.
独特な筐体の形は放熱を考えてのこと.
BlueGene/Pでは、PPC 450/850 MHz quad coreで、BlueGene/Lと比較してチップあたりで2.4倍高速化。しかも、消費電力は20%増にとどまっている。
- コプロモードの代わりに、4コアで共有メモリを共有するSMPモードがある。
BlueGene/LとBlueGene/Pの比較 [[[[[ [[[[ [][Blue Gene/L][Blue Gene/P] ]]]] [[[[ [Processor][PowerPC 440 700 MHz dual core][PowerPC 450 850 MHz quad core w/SMP] ]]]] [[[[ [Main Memory][512 MB/1 GB DDR 5.6 GB/s][2 GB DDR2 13.6 GB/s] ]]]] [[[[ [L3 cache][4 MB][8 MB] ]]]] [[[[ [Peak performance][5.6 GFLOPS/node][13.6 GFLOPS/node] ]]]] [[[[ [Torus network][175 MB/s x 12 = 2.1 GB/s][425 MB/s x 12 = 5.1 GB/s w/DMA] ]]]] [[[[ [Tree network][350 MB/s x 2 = 700 MB/s][850 MB/s x 2 = 1.7 GB/s] ]]]] ]]]]]
BlueGeneの起源はコロンビア大の[http://phys.columbia.edu/~cqft/qcdsp/qcdsp.htm QCDSP]/QCDOCにある。実際このマシンのアーキテクトがIBMに引き抜かれて開発されたのがBlueGene。QCDSPではPowerPCではなくDSPが使われていた。QCDSPは4D torus、QCDOCは6D torus。一方、BGはQCD専用計算機ではなく、プロセッサの単体性能を上げると同時に、トポロジは3D torusと次元数を下げた。またbcast/reduce用にツリーも組めるようにした。
IBMはBlueGene系と平行してPOWER7を搭載した BlueWaters を開発中であるが、こちらはPOWER3を搭載したASCI Whiteの進化形なのかな。
関連ニュース
- [http://japan.cnet.com/special/story/0,2000056049,20075599,00.htm IBMのもう1つのスパコン技術は温故知新の複合型] (CNET 2004-11-09)