学位論文要旨



No 114912
著者(漢字) 川井,敦
著者(英字)
著者(カナ) カワイ,アツシ
標題(和) 専用計算機GRAPE上のBarnes-Hutツリーコード
標題(洋) Implementation of the Barnes-Hut Treecode on GRAPE Special-Purpose Computers
報告番号 114912
報告番号 甲14912
学位授与日 2000.03.29
学位種別 課程博士
学位種類 博士(学術)
学位記番号 博総合第254号
研究科 総合文化研究科
専攻
論文審査委員 主査: 東京大学 助教授 牧野,淳一郎
 東京大学 教授 江里口,良治
 東京大学 教授 川合,慧
 東京大学 助教授 小河,正基
 東京大学 助教授 蜂巣,泉
内容要旨 1イントロダクション

 天体物理学で扱う対象の多くは、多数の粒子が重力で相互作用している系、すなわち重力多体系として近似できる。重力多体系は非線形な系であり、その振舞いを理解するには数値計算が重要である。

 重力は遠距離力であるため、重力多体系の数値計算では、粒子数を増すと粒子間重力の計算量が急激に増加する。GRAPEはこの粒子間重力の計算を高速に行う専用計算機である。またツリーコードは、遠方の粒子からの重力をまとめて扱うことで、重力の計算量を減らすアルゴリズムである。

 GRAPE上でツリーコードを用いると、重力多体系の数値計算を大幅に高速化できる。ツリーコードを使った場合でも粒子間重力の計算量は依然として大きく、全計算量の大部分を占める。この部分をGRAPEで高速に計算することで、全体の計算を10〜30倍程度高速化できるのである。ツリーコードのGRAPEへの実装は牧野(1991)などが行っており、実際に天体物理学の計算に使用されている。

 本論文では、特に専用計算機とツリーコードに着目し、重力多体系の数値計算を高速化する手法について述べる。論文前半では重力多体問題専用計算機GRAPE-5の開発について述べ、後半ではGRAPE上で高精度ツリーコードを実行するためのアルゴリズム、P2M2ツリーコードの開発について述べる。

2重力多体問題専用計算機GRAPE-5

 GRAPE-5はGRAPE-3の後継機である。GRAPE-3は奥村ら(1993)によって開発され、現在も国内外で広く使われている。しかし5年以上昔に開発された計算機であることもあり、計算速度や通信速度が、現在のホスト計算機に見合うほど充分に高速であるとは言えなくなってきている。基本的には、進歩した半導体技術を利用してGRAPE-3の計算速度、通信速度、計算精度を約1桁向上させたものがGRAPE-5である。

 GRAPE-5システムはGRAPE-5プロセッサボード、ホスト計算機、PCIインタフェースボードからなる。プロセッサボードは粒子間重力を計算するプロセッサ、G5チップを8個搭載しており、これを使って粒子間重力を計算する。ホスト計算機は粒子間重力以外すべての計算を行う。PCIインタフェースボードはプロセッサボードとホスト計算機の間のデータ転送を行う。このシステムのうち、私はプロセッサボードの開発を行った。G5チップの開発は福重らが行った。

 プロセッサボードの設計はシステム全体の性能に大きく影響する。ボードがG5チップを設計どおりの速度で動作させられることと、ホスト計算機との間のデータ転送を高速に行えることは特に重要である。G5チップを高速動作させるために、私はチップが発生する熱の処理や、ノイズ対策、チップ内外のクロック間位相の調整方法などを考慮して設計を行った。その結果、G5チップを80MHzのクロックサイクルで動作させた。この動作周波数では、チップ当り毎秒1.6×108組、ボード当り毎秒1.28×109組の粒子間重力を計算できる。この計算速度はGRAPE-3に比べて8倍高速である。

 またGRAPE-5ボードがホスト計算機と高速にデータ転送を行えるように、私はPCIインタフェースボードを介してホスト計算機とGRAPE-5ボードを接続した。PCIインタフェースボードはGRAPE-4で用いられているもので、私が修士課程在籍中に開発した。PCIインタフェースボードはホスト計算機との接続にPCIバスを用いており、高速である上に様々な計算機に接続できるという利点がある。データ転送やホスト計算機の速度は、ツリーコードなど計算量を減らすアルゴリズムを用いる場合に重要となる。これは粒子間重力の計算量が減り、相対的にデータ転送やホストの計算量が増えるためである。GRAPE-5とホスト計算機との間の実効的なデータ転送速度は約40MB/sである。この速度はVMEバスを採用したGRAPE-3の転送速度に比べて約10倍高速である。

 私は完成したGRAPE-5上にツリーコードを実装し、実効性能の評価を行った。評価にはGRAPE-5プロセッサボード2枚をCOMPAQ AlphaStation XP1000(Alpha 21264/500MHz)に接続した計算機を用いた。その結果、1ステップ当りの計算時間は、粒子数が100万、粒子分布が球内の一様分布の場合、見込み角=0.75で9秒、=0.4で13秒であった。この計算はGRAPE-3を用いた場合に比べて約1桁高速である。

 GRAPE-5の性能は汎用計算機に比べても価格性能比の面ではるかに優れている。矢作ら(1999)は富士通のスーパーコンピュータVPP300/16PE上にツリーコードを実装した。彼らのコードの計算速度を、見込み角=0.75での値に換算すると、1ステップ当りの計算時間は約10秒となり、GRAPE-5上の計算時間とほぼ等しくなる。またWarrenら(1998)は大規模ワークステーションクラスタ(DEC Alpha 21164A/533MHz×70台)上にツリーコードを実装した。彼らが行った宇宙論の計算を、これとほぼ同じ精度(=0.4)のGRAPE-5上での計算と比較すると、計算時間はやはり同程度となる。計算機の価格性能比は、GRAPE-5上の計算はWarrenらの計算に比べて数倍、矢作らの計算に比べて2-3桁優れている。維持費、消費電力、占有スペースなども考慮に入れれば、この差は一層大きくなる。

 私がGRAPE-5を用いて行った宇宙論的計算は、本年のGordon Bell賞を米国電気電子学会(IEEE)から授賞した。この賞は実用的な科学計算のうち、もっとも優れた性能を記録したものに与えられる。賞は価格性能比部門で$7/Mflopという値を達成したことに対して与えられた。

3P2M2による高精度ツリーコードの実現

 私はP2M2を用いて高精度のツリーコードを開発し、GRAPE-4上に実装した。このコードは多重極展開の高次項をGRAPE上で計算する初めてのツリーコードであるばかりでなく、おそらく世界で初めての、任意次数ツリーコードである。

 GRAPEとツリーコードの組合せによって重力多体系の数値計算を大幅に高速化できることは既に述べたが、その用途は、これまで主に低精度の計算に限られていた。GRAPE上のツリーコードでは、遠方の粒子のグループからの重力を、重心においた1粒子からの力として扱う。これは粒子のグループがつくる重力場を、その多重極展開の1次の項までで近似することに相当する。GRAPEが計算できるのは粒子からの力だけなので、より高次の項をGRAPEで計算することはこれまで不可能であった。そのため高い精度が必要な計算では、計算量が急激に増えてしまうという問題があった。

 私の開発したツリーコードでは、P2M2(牧野1998)という手法を用いてこの問題を解決した。P2M2は多数の粒子の分布を、それと同じ多重極展開を持つ少数の仮想的な粒子の分布に変換する手法である。使用する仮想粒子の数を増せば、より高次の展開項までを表現できる。高次の展開項が粒子からの力として表現されるため、GRAPEでそれらの項を計算できる。

 私はこのコードをGRAPE-4に実装し、その精度と計算速度の関係を評価した。評価はGRAPE-4ボード1枚(15Gflops)をCOMPAQ AlphaStation XP1000(Alpha 21264/500MHz)に接続して行った。1ステップ当りの計算時間は、粒子数が65536、粒子分布が球内の一様分布の場合、相対誤差10-3で3秒、10-6で10秒であった。この値はGRAPEを使わない計算に比べ、それぞれ20倍、130倍高速である。私の開発したコードによって、高精度を要する計算にもGRAPE上のツリーコードを効率良く使えるようになったことが、この結果から分かる。

審査要旨

 多くの恒星が集まってできている銀河、球状星団、あるいは銀河団といったシステムは、多くの粒子が重力だけで相互作用しているシステム、すなわち重力多体系として扱うことができる。

 重力多体系がどのように進化するかということを研究するには、数値計算が重要な役割を果たす。これは、重力多体系の振舞いを記述する方程式には、粒子数が3以上の場合は特殊な初期条件を除いて解析的な解が存在しないためである。

 数値計算では、時間ステップ毎に各粒子への重力を計算し、それを使って軌道を数値積分していく。一つの粒子への重力は他のすべての粒子からの重力の和である。もっとも単純な方法では、実際にこの和を計算することになり、ステップ当たりの計算量が粒子数の2乗に比例することになる。Barnes-Hutツリー法やメッシュ上でポテンシャル場をFFTを使って高速に解く方法などでは、計算量をO(N log N)の程度に下げることができるが、FFTを使う方法では空間分解能に制限がつき、またBarnes-Hutツリーの場合にはそのような問題はないものの計算量がO(N2)に比べては大きく減っているとはいえ依然として大きい。特に、高い精度を要求すると計算時間が急速に増える。

 どの程度の粒子数を必要とするかは問題によって大きく異なるが、銀河形成や宇宙の大規模構造の形成の場合、数値計算で扱える粒子数よりも実際の粒子数のほうがはるかに大きく、その意味で現実の系はほぼ粒子数無限大の極限である連続分布であり、それを有限の粒子数で近似していることになる。このために、近似誤差が分布関数の数値的な拡散(緩和)となって現れるので、現在のところ粒子数によって計算の信頼性が制限されており、計算を高速化することが極めて重要であるといえる。

 論文提出者は主に上のBarnes-Hutツリー法について、その高速化を専用ハードウェアを開発するという方向と高次精度を実現する新しいアルゴリズムを開発・実装するという方向の2つについて行なった。

 主論文は3章からなる。その一部は既に1篇の論文として印刷公表されており、またもう1篇現在投稿中の論文がある。これら2篇の論文は、それぞれ1名および3名の共著者との連名であるが、そのすべてが論文提出者の川井敦が筆頭著者であるだけでなく、彼の主導で研究が進められたものであることを論文審査において確認した。なお、その論文の内容を主論文のなかに含めることについては、共著者の承諾書が得られている。

 主論文第1章は序論であり、以上のような研究の背景や従来の研究の問題点をまとめ、本研究の目的と意義を述べている。

 第2章では、専用ハードウェアを開発することによってBarnes-Hutツリー法等を加速するというアプローチについて、具体的に開発したGRAPE-5とそれによって得られた性能をまとめている。

 GRAPE-5は東京大学教養学部で開発されて来た多体問題専用計算機GRAPEシリーズの5号機である。GRAPEの基本的なアイディアは、重力多体系の数値シミュレーションにおいて、もっとも計算量の多い相互作用計算の部分だけを専用機化し、他の部分は汎用計算機に行なわせるというものである。開発自体は杉本らの主導により1990年代初めに始まっており、現在までにGRAPE-1からGRAPE-4までの一連のハードウェアが完成している。

 本論文で述べられているGRAPE-5の特色は、ツリー法の高速実行を目的に全体の設計を最適化しているという点にある。GRAPE-3に比べると、GRAPE-5で開発した専用LSIの演算性能は約10倍になっている。これはLSIの集積度の増大と、それにともなう動作周波数の増加によるものである。しかし、ツリー法の場合、これだけでは全体システムとしての性能向上への効果は小さい。というのは、ツリー法では、ホスト計算機の仕事とGRAPEハードウェアでの計算量、両者の通信量がどれもオーダーとしてはN log Nであり、全体としてバランスのとれた性能向上を実現する必要があるためである。特にこのなかで問題になるのは通信速度である。これは、汎用計算機でも問題は同じであり、性能向上にはプロセッサ間、あるいはプロセッサと主記憶の間の通信を速くすることが鍵となる。

 GRAPE-5では通信速度の向上を実現するため、GRAPE-4までで採用されていた共有バスによる結合方式に代わって、ポイント・ツー・ポイントの専用通信チャネルでホスト計算機に接続する方法をとった。もちろんこれが完全に有効に働くためにはホスト自体が並列に入出力を行なえるチャネルを持つ必要があるが、近年のワークステーションでは2本以上の独立動作するI/Oバスが一般化しており、またクラスタによる並列化も可能であるためこれは大きな問題ではないと論じられている。

 実際に完成したGRAPE-5では、ボード一枚当たり50MB/s程度と従来のGRAPE-3に比べてほぼ10倍の高速化を実現し、さらに計算・通信を複数ボードで並列に行なうことで並列度に応じた性能向上が可能であることを実証している。具体的な性能については、GRAPE-5プロセッサボード2枚を1台のホスト計算機につないだものを、汎用並列計算機と比べた場合、富士通のスーパーコンピュータVPP300/16PEや70台のワークステーションクラスタでの並列ツリーコードとほぼ同等となり、さまざまなコストを考慮すると非常に大きな性能改善が実現されている。

 第3章では、P2M2(Pseudo-particle multipole method,疑似粒子多重極法)を実装し、従来は困難とされていた高精度の計算をツリー法で可能にしたこと、またP2M2法自体も改良してさらなる高速化を実現したことが述べられている。

 P2M2法自体は1998年に牧野が提案した方法である。基本的な考えは、ポテンシャル場の多重極展開を表現するのに、その係数自体を用いるのではなく同じ展開係数を持つようななるべく少ない数の(疑似)粒子を用いるというものである。この方法の利点は、定式化が単純になることと、GRAPEを使った高速化が可能になることである。

 論文提出者はまずこのP2M2法を世界で初めて計算コードとして実現し、実際にこの方法が数値的に安定であり実用可能であることをさまざまなテストを通して示した。さらに、専用計算機GRAPE-4上に実装し、特に高い計算精度が要求される時に専用計算機が極めて有効であり、大きな高速化が実現できることを示した。

 さらに、現在のところ2次(四重極)までではあるが、牧野が提案したもともとの方法に比べて少ない疑似粒子数で多重極展開を表現する新しいアルゴリズムをも提案・実現している。この方法により同じ計算精度で計算速度はほぼ4倍高速になっている。

 以上を要するに、本論文は重力多体計算の高速化という天体物理、あるいはさらに広く長距離相互作用をもつ粒子系の研究にとって極めて重要な問題に対して、ハードウェアによる高速化、新しいアルゴリズムによる高速・高精度化という2つのアプローチによって大きな貢献をしたものである。よって本論文は博士(学術)の学位論文としてふさわしいものであると、審査委員会は認める。

UTokyo Repositoryリンク