並列ゼミ’95: H. Morse, Practical Parallel Computing,Chap. 1
報告: 久野1995.9.5

前書き

技術的なトレンド→並列指向

1.1「並列」とは? 異なる部品どうしの並行動作? それ「これくらいの計算量をこなさなければならない。並列計算機を使うべきかどうか? 使うとしたら、どの機種?」 だったら 10 万円の PC でもやっている。

• どんな種類のハードがあるの?

• 計算機の能力 = 1CPU の能力× CPU 台数。

• 計算内容や性能目標にどれくらい適合する?

• MPP とは、比較的遅い CPU を多数使って高性能を達成。

• 解きたい問題は並列処理に向く/向かない?

• 伝統的なアプローチでは、比較的少数の 1CPU を高速化して済ませる。

• 既存のシステムとうまく組合せられる?
• アルゴリズム、OS、開発ツール、環境、テスト、ベンチマーク?

どちらも利点と欠点がある。

• リスク?

1.1.1• I/O?

• ク ロック …6MHz(1985) →著者は実際にそういう立場に立たされてきたので、「こういう本があったらなあ」と思って書いたのがこの本。

• Part 1: 基本概念
• Part 2: ソフトウェア

50MHz(1993) →1GHz(2001?)• 同一構造の CPU では、性能はクロック数の比率以上に向上することはない。
• メモリ帯域やバス容量が制約しないなら、クロック数に比例して性能が向上。

• Part 3: マネージメント• クロック数向上の流れに乗っていれば、必要な性能本書はアジではない。本当に並列システムを採用すべきかどうかについて、バランスのとれた視点を提供する。

1

クロックの限界

MPP の現状と将来は待っていれば得られ、従って MPP は不必要???

• 逆に、クロック数向上には物理的上限があるから、ゆえに 1CPU 性能の向上は限界があり、ゆえに MPPは不可欠。

• 簡単にいえば、パッケージングと冷却の問題。クレイが偉大なのは、速く動くことではなく「融けずに並列処理は…「苦難に満ちている」が「避けられない」。現状は伝統的なアーキテクチャのメーカと並列マ動く」こと。

シンのメーカの綱引きだが、伝統派のメーカも並列の研究はしている。なぜ「避けられない」か?

スーパーコンピュータの世界では、クロックの壁は明らか。

1• Cray Y-MP: 167MHz(1986) — Cary C-90: 1.1.3 メモリ帯域
250MHz(1991)。たった 50%しか向上していない。
TR : メモリのアクセス時間。この逆数→メモリ帯域。
(CPU を 8 → 32 と増加させて性能をかせいでいる。)
1 チップあたり DRAM だと 80nsec → 12.5MW/sec、• Cray-3 はガリウム砒素半導体で 1nsec(1GHz) クロッ SRAM だと 10nsec → 100MW/sec くらい。これにメモクと言われていたが、2nsec にまで後退して未だに リ幅を掛ける。
完成していない。

例: 486 PC で 32bit バス (1 アクセス 4 バ

おそらく、1GHz あたりにクロックの壁。結局、TFLOPSイト) とすると、12.5M W/sec × 4B/W =マシンには CPU 数の増加しかない!

1.1.2

50M B/sec。これはクロック数や CPU 速度とは無関係。

信頼性

メモリ帯域を増やすには、ワード幅を増やす。クレイはMPP は信頼性の点でも有利。メインフレームやスー Y-MP から C-90 で 8 バイト→ 16 バイトにした。または、パーコンでは CPU は多数のチップを組み合わせて構成。 T を減らす。Y-MP で 15nsec、C-90 で 6nsec。しかし、
R1CPU の性能向上のため様々な代償。
DRAM では容量は順調に増えているが T は 80nsec とR• 部品数の増加

ほぼ一定のまま。そのため、CPU 速度とメモリアクセ• 実装密度の低下

ス時間のギャップが増大。もう 1 つは、メモリバンクを増やすこと。

• 実装空間の増大

一般に、1FLOP あたり 2 ワードのメモリ帯域が必要• 電力消費の増大といわれる。

• 配線数の増加

例: 倍精度 (8 バイト/語) の 20GFLOPS マ

MPP ではできあいの CMOS CPU と DRAM が使われる。

シンでは、40GW/sec = 320GB/sec の帯域が必要。10nsec の SRAM を使うとして、• 高密度、低消費電力、廉価、安定、量産。

40GW/sec ÷ 100M W/sec = 400 つまり 400• 結局、1CPU は遅くてもその分以上に多数詰め込める。

バンク必要。80nsec DRAM だと 3200 バンクになる。

しかも、CMOS CPU/DRAM は市場の要求によってす しかし、どうやって多数のバンクを少数の CPU につなごい勢いで進化する。現在は 0.7 μ線幅で 2,000,000〜 ぐのか? 旧来の方法では、SRAM で必要なバンク数を3,000,000 トランジスタ/チップ。2000 年には 0.3 μ線幅 減らした上で、10〜20 個の CPU と各バンクの間を高速でその分機能やオンチップメモリが増大し、クロックも のクロスバースイッチで接続する。(典型的な共有メモ向上する。DRAM もまもなく 256MB があたりまえに。 リマシン。)
これらはすべて MPP にそのまま利用できる。

MPP ではずっとエレガント。つまり、各バンクにCPU をつけてしまう!。つまり、多数の CPU がそれ

例: nCube 2 → 1 ノードが 11 チップ (CMOSCPU + 10 DRAM) → 1.25”× 3.25” ボー

ぞれローカルにメモリを持つ (分散メモリ)。

ド。これを 64 個載せたマザーボード全体で、もちろん、弱点はローカルメモリ以外の場所をアクセ

200MFLOPS/400MIPS、1GB メモリ。消費電スするのが大変なこと。これをどうするかはハードだけ

力は 200W で、空気冷却。

でなくソフトやアプリケーションの問題でもある→後で詳しく出て来る。

そして、できあいの量産部品で点数も少ない→信頼性がこういう考え方は RAID にちょっと似ている。

高い。当然。

21.2

商業的な成功の阻害要因

1.2.1

アプリケーションソフトの入手可能性

MPP は現にまだ普及していない…スーパーコン市場

高性能 WS が売れるようになったのは、十分な機能/が$1,500,000,000 として、その 20%程度が MPP。
「もう品質のサードパーティソフトが流通するようになったかかる」とは言えない。なお、CPU 数が 4〜10 程度の共ら。MPP が売れないのはそういうのがまだないから。

有メモリマシン (SMP) を入れればずっと多いが、SMPで、結局作るしかない。なぜないか?

は MPP とはだいぶ違う→後で詳しく出て来る。

1. 台数が少ない→ソフトハウスは作っても売れない。

しかし、分子モデリングとか OLTP など MPP が受けと呼ばれてしまう。だがそういうことは決してない (伝2. 移植が大変→旧来のソフトを MPP でまともに動くように移植するのは簡単でない。

統的マシンのメーカが MPP をけなすのに使うことば)。

3. 標準がない→ UNIX とネットワーク機能について

MPP が効率良く使えるかどうかは、問題の性質よりは OK だが、言語とアーキテクチャモデルについて入れられている用途も多い。しかし「特殊用途マシン」はひどく不統一。

は問題のサイズによる面が大きい (詳しく出て来る)。そして、どのような分野であれ、問題が十分大きなもので

例: 同じソートでも 2D メッシュのマシン

あれば MPP で扱うのに適さない分野というのはほとん

ではメッシュソート、ハイパーキューブ

どない。例えば:マシンでは 2 分木ソートが向いている。
並列マシンだからどれも同じ、とはいか• AI — ニューロ、CBR、プロダクションシステム、ない。

ロボティクス、パターン認識• SV

4. 検証→ MPP と旧来のコードで値が違ったらどうする? アルゴリズムが変わって計算順序が変わると• 有限要素法 — 常/偏微分方程式、電磁方程式、流(変えないと意味がない)、結果も変わってしまうこ

体なども• ふつうの計算機アルゴリズム — ソート、サーチ、ツリー、グラフ等• 最適化 — LP、DP、IPとが多い。

5. ベンダーの不安定→せっかくソフトを作ってもベンダーが潰れたり、新機種のマシンが旧機種と全然違ってしまうと…しかしベンダーは「そのつどゼロ• DB — SQL、OLTPから出発して速いマシンを」というのが多い。でも• シミュレーション — イベントドリブン、モンテカ

最近は互換性の考慮も行われる。

ルロ法

あと、ビジネスではなく「好きだから」MPP をやって• 信号処理 — FFT、イメージ処理、CG、文字認識、る、という人がいるのも阻害要因ではある。
通信
結局、MPP に対する「ためらい」は「できない」から

1.2.2

ではなく、もっと実際的な点から来ている。具体的には:標準化

OS とネットワークについては、UNIX と NFS、Eth-• アプリケーションソフトがない• 標準化されてない

erNet、TCP/IP、HIPPI、FDDI、ATM/SONET など標準が確立している。だからサーバマシンとして MPP• ベンダーの不安定さを導入するのは容易。
言語については、ベンダーがでんでばらばらに C やFortran の拡張版を提供しているので標準がないに等し3

賛成意見: (1) 資金を提供しなければ MPP 産業はつLinda、STRAND、PVM など。これらはライブラリパッ ぶれてしまう。(2) 安保のため、高性能計算機技術を保い。いくらかは共通言語のようなものもある。Express、ケージで、これらに基づいて書かれたプログラムは多く 持することは米国にとって重要。
反対意見: 政府資金をつぎこまないと成り立たない産の MPP プラットフォームでそのまま動かせる。

業は不健全。

もちろん、ハードウェアがひどく多様だから、という本当のところは…? 次第に、廉価なシステムを多数のが根本原因。アルゴリズムから変えなければならない売って自立できる方向に?

ことが多い→本書のテーマ。

1.2.3

ベンダーの不安定

つぶれた会社はいっぱい。AMetek、BiiN、Multiflow、WabeTracer、Alliant、BBN、FPS、Myrias。そもそも独立して採算が取れる状態でないので、スポンサーの意向を伺わなければならない。スポンサーの CPU を採用したり、スポンサーが提唱しているソフトを組み込んだりする。これからの課題。

1.3

傾向と課題

今後どうなるか?

1.3.1

ハイエンドシステム

スピード競争の時代。
「世界最速のスーパーコン競争」
は日本も結構がんばったが。現在は「世界初の TFLOPSマシン競争」。このマシンは MPP になることは間違いない。図 1-3 を見よ。

1.3.2

ローエンドシステム

ローエンドの世界は経済性。$100/MFLOP くらい(1993)。ということは、$100,000 で 2.5GFLOPS — Cray

Y-MP の性能 — が買える。それをどう使うかはまだ未知だが、社会的インパクトはこちらが大。

1.3.3

政府と政治

1991、USA → HPCCI (High Performance Computing and Communications Initiative)。ゴア副大統領。高性能システムの開発にお金を出す。
4