学位論文要旨



No 118995
著者(漢字) 歌野原,陽一
著者(英字)
著者(カナ) ウタノハラ,ヨウイチ
標題(和) 専用計算機を用いたDSMCシミュレーションの高速化に関する研究
標題(洋)
報告番号 118995
報告番号 甲18995
学位授与日 2004.03.25
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第5727号
研究科 工学系研究科
専攻 航空宇宙工学専攻
論文審査委員 主査: 東京大学 教授 安部,隆士
 東京大学 教授 森下,悦生
 東京大学 助教授 鈴木,宏二郎
 東京大学 助教授 小紫,公也
 宇宙航空研究開発機構 助教授 坪井,伸幸
内容要旨 要旨を表示する

希薄気体力学における計算手法としてよく用いられているものに、DSMC(Direct Simulation Monte Carlo)法がある。DSMC法はサンプル分子と呼ばれる粒子の挙動を追跡することで流れを調べる計算手法である。DSMC法は、一般的な流体の数値計算法に比べ計算に多くの時間を費やし、特に分子の衝突計算はかなりの計算量となる。ゆえに、衝突計算を高速化できればDSMC法全体の計算効率を向上させることができる。

一般に、シミュレーションの高速化に関する研究は、アルゴリズムの改良や近似による計算量の軽減といった、ソフトウェアの面からのものが大半である。一方で、計算機の内部にまで立ち入って、シミュレーションに最適化された専用計算機を開発するといった、ハードウェアの面からの研究も行われている。具体的には、杉本、牧野らは重力多体系シミュレーションにおいて、計算量の多い部分を計算するGRAPE計算機を開発し、シミュレーションの高速化を実現している。

DSMC法の高速化に関する研究では、専用計算機開発という方法はこれまで行われていない。そこで本研究では、実現可能な専用計算機を開発し、それを基に、DSMC法の高速化のためにはどのような構成の専用計算機が適しているかを検討することを目的としている。

第1章では、科学技術計算において用いられている高性能な計算機について概観し、近年注目を浴びつつある専用計算機開発の有用性について述べる。また、DSMC法を高速化する手段として、専用計算機の開発は有効であるか検討することを目的に設定する。検討に当たって、実際に専用計算機の作成を行った。作成した専用計算機は、計算量の多い部分を専用計算機が計算し、それ以外の部分をホスト・コンピューターが計算するという、GRAPE型専用計算機にした。

本専用計算機の高速化のためには、演算回路を1つのICに詰め込み1チップ化することが望ましい。つまり、衝突計算を行う演算回路を1チップに詰め込んだ専用計算機の開発が望ましい、ということになる。しかし、現在手に入るICの容量の限界のため、衝突計算全体の演算回路を1チップ化することは難しい。よって、衝突計算全体ではなく、衝突判定に限定した専用計算機を開発することにした。

第2章では、本専用計算機を説明するにあたり必要となる範囲で、希薄気体における諸関係式およびDSMC法の概略について述べる。DSMC法の主要な計算部分は、サンプル分子の自由運動、indexingと呼ばれる操作、サンプル分子同士の衝突計算(衝突判定、衝突後速度計算)である。DSMC法の衝突計算アルゴリズムには最大衝突数法を採用した。

第3章では、本専用計算機の仕様や設計方針について述べる。

本専用計算機の演算回路は、パイプライン処理を利用して高速化を試みている。演算回路の作成にはPLD(Programmable Logic Device)というデバイスを用い、1チップ化を行った。インターフェースには比較的高速なPCIを採用した。ホスト・コンピューターにはOSとしてLinuxを搭載したPC/AT互換機を使用した。DSMC法はモンテカルロ法であり、衝突判定を行うにおいて乱数が必要となるので、本専用計算機上に乱数発生器を搭載した。また、発生させる乱数のランダムさを調べるため、乱数のランダムさを検定し、満足の行くランダムさが得られていることを確認した。

第4章では、作成した本専用計算機の詳細について解説する。

本専用計算機は、衝突判定を行う演算ユニットを搭載した演算ボードと、衝突判定に必要な速度データを格納するSRAMを搭載したメモリボードとで構成されている。それぞれのボードの詳細な仕様について述べ、また本専用計算機を用いた衝突判定の動作手順について述べた。

ホスト・コンピューターと本専用計算機間のデータ転送は、デバイスドライバーを通して行った。デバイス・ドライバーの設計は計算効率に影響を与えるため、必要最小限の範囲でLinuxのOSについて言及しながら、デバイス・ドライバーの仕組みを説明した。

本専用計算機で取り扱うデータ型は16bit固定小数点数とした。DSMC計算は、ホスト・コンピューターでは64bit浮動小数点数で行われている。よって、本専用計算機へデータを転送するにあたり、ホスト・コンピューター側のプログラムにおいて、64bit浮動小数点数を16bit固定小数点数に変換するデータ変換ルーチンを用意した。

第5章では、本専用計算機の動作確認を行い、また本専用計算機の計算時間を計測して性能評価を行った。そして、性能評価をもとに、更なる高速化が可能であるかどうか、またDSMC法は専用計算機開発によって高速化可能であるかどうかについて、考察を行った。

本専用計算機の動作確認として定常問題であるクエット流について計算を行った。本専用計算機を用いずホスト・コンピューターのみで行った計算結果と比較し、速度分布、温度分布ともに良好に一致していることを確認した。

本専用計算機を用いて1タイムステップDSMC計算を行った場合の各計算ルーチン部分(サンプル分子の自由運動、indexing、衝突判定、衝突後速度計算)の計算時間を計測した。そして、ホスト・コンピューターのみでDSMC計算を行った場合の計算時間と比較させた。ただし、この比較は本専用計算機の性能の評価には繋がらない。ここでは、通常のソフトウェアでの計算に対して、本専用計算機の使用はどのような影響を及ぼすのかを見ている。比較の結果、本専用計算機の使用により衝突判定の計算時間は短縮することができたが、DSMC全体の計算時間はそれほど短縮できていなかった。これは、本専用計算機を用いるために、データ変換ルーチンなどの余計な部分にかかる時間が、本専用計算機による短縮時間を埋めてしまったからである。

次に、本専用計算機が衝突判定を行っている間、どういった部分にどれぐらい時間がかかっているかを計測し、それをもとに本専用計算機の演算速度を算出した。本専用計算機の動作は、データ転送と衝突判定計算に分けることができる。本専用計算機作動時間のうち、約90%はデータ転送に費やされ、実際に衝突判定を行っている時間は10%程度でしかなかった。速度データの平均転送速度は89.2[MB/sec]と、PCIのBurst転送における最大転送速度133[MB/sec]の70%程度の速度が出せていることを確認した。次に本専用計算機の演算速度であるが、算出する演算速度は2種類あり、データ転送時間なども含めた本専用計算機の作動時間及び行った演算数をもとに算出する平均演算速度と、本専用計算機が実際に衝突判定を行った時間及び行った演算数をもとに算出するピーク演算速度がある。平均演算速度は25.3[MFLOPS]相当、ピーク演算速度は191.4[MFLOPS]相当であった。

作成した本専用計算機の演算速度は満足のいくものではない。その理由を以下に述べる。計算量の多い部分に専用計算機を適用するという点では、本専用計算機はGRAPE計算機と同じ着想に基づいて設計されている。しかし、GRAPE計算機で行う重力計算は、粒子数をNとするとNの2乗に比例する計算量であるが、DSMC法で行う衝突判定はNに比例するものでしかない。また、GRAPE型専用計算機を用いることにより付け加わる部分(データ変換ルーチン、データ転送など)にかかる処理量もNに比例したものである。GRAPE計算機ではNを大きくしていくと、重力計算に比べそれ以外のNに比例する部分は無視できるようになる。しかし、本専用計算機では無視できないばかりか、逆に本来の目的である衝突判定よりも処理に時間がかかるということもあり得る。よって、DSMC法に特化したGRAPE型専用計算機を作成しても、そのままではGRAPE計算機ほどの効果を上げる見込みは低くなってしまう。そこで、どのような改良を行えばDSMC法に特化したGRAPE型専用計算機の性能を向上させることができるのか考察を行った。

データ転送時間は本専用計算機作動時間の90%をも占めており、そのため平均演算速度とピーク演算速度に開きがでた。平均演算速度をピーク演算速度に近づけるには、データ転送量に対する本専用計算機での計算量の割合を増加させるか、データ転送時間を短縮する必要がある。まず、データ転送量に対する本専用計算機での計算量の割合を増加させる方法として、衝突後速度計算のハードウェア化がある程度有効であると思われる。しかし、パイプライン処理特有の問題であるパイプライン・ハザードにより、衝突前後における運動量及びエネルギーが保存されない可能性があるので、パイプライン・ハザードを回避する方法について考察した。他にデータ転送時間を短縮する方法として、データの転送量を減らす工夫、およびより高性能なインターフェースの導入などの考察を行った。

ピーク演算速度を向上させる手段として、本専用計算機での計算量の増加、本専用計算機の動作周波数の向上、本専用計算機の並列化、といった点から考察を行った。並列化は、並列化された専用計算機全体の持つ能力の向上には有効であるが、データ転送時間が並列台数分だけ積み重なってくるので、データ転送時間が無視できない本研究の場合、達成できる平均演算速度には限界がある。並列化による性能向上を期すには、データ転送時間を短縮する必要がある。他に、並列計算機で問題となってくるプロセッサ間でのメッセージ・パッシングによるオーバーヘッド、及びプロセッサ間のロード・バランスについても考察を行った。

以上の考察をもとに、現段階で考えられる様々な改良を施してDSMC法に特化したGRAPE型専用計算機の演算速度を見積もってみたところ、8台並列させたもので平均演算速度7.0[GFLOPS]程度が限界であった。この値は開発の労力に見合った値ではなく、DSMC法に特化したGRAPE型専用計算機の開発によりDSMC計算を高速化することは現在のところ非常に難しいと言える。

DSMC法に特化したGRAPE型専用計算機は、GRAPE計算機とは異なり、データ転送時間の影響を無視することができないため、現時点では高速化を行うことが難しい。今後、技術の向上により高速なインターフェースが開発され、データ転送時間が格段に短縮できるのであれば、GRAPE型専用計算機によるDSMC法の高速化は可能性があるかもしれない。

GRAPE型専用計算機の他に考えられる設計方針として、ホスト・コンピューター、専用計算機と分けて構成したものではなく、一体化させたものが考えられる。つまり、マイクロプロセッサと演算ユニットでメモリを共有させるような計算機であり、これによりデータ転送時間を削減することができる。これはDSMC法全体に特化された計算機を開発することであり、量子色力学の分野で開発されているCP-PACSやQCDSPのような並列計算機に近いものとなる。

第6章では、本論文のまとめを行い、結論を述べる。なお、メモリボードの作成は基板の設計から行った。回路図などの詳細を付録Bで述べる。

本専用計算機とソフトウェアとでの計算時間比較

本専用計算機による衝突判定計算の時間内訳

審査要旨 要旨を表示する

修士(工学)歌野原陽一提出の論文は「専用計算機を用いたDSMCシミュレーションの高速化に関する研究」と題し、本文6章及び付録2項から成っている。

気体分子の平均自由行程が飛翔体のサイズ程度となるような希薄な流れを把握するには、数値解析的な手法が有効である。そのような流れを数値解析的に把握する手法として、直接シミュレーションモンテカルロ(DSMC)法が広く用いられているが、比較的計算量の多い手法であり、実用的な問題を解析するには、多大な計算量を必要としているのが実情である。従来、DSMC法による計算を高速化するため、アルゴリズムの改良が行われて来ているが、それにはおのずと限度があり、本研究では別のアプローチとして、専用の計算機を構築することで高速化を達成する可能性の検討を行う。その際、実現可能な範囲を模索するため、雛形としての専用計算機の設計、製作を行い、それをもとに専用計算機による計算高速化の可能性について検討を加えることとしている。

第1章は、序論であり、希薄気体流れの数値解析としてのDSMC法とその高速化の必要性、および、現状が述べられる。続けて、さらなる高速化のひとつの手段として、専用計算機の可能性を指摘し、本研究の目的が述べられている。

第2章では、次章以降の説明に必要となるDSMC法の概略、及び希薄気体における諸関係式が示される。DSMC法の主要な計算部分は、サンプル分子の自由運動、indexingと呼ばれる操作、サンプル分子同士の衝突計算(衝突判定、衝突後速度計算)である。このうち、比較的演算量の多いサンプル分子の衝突判定演算に特化した専用計算機を開発することとしている。DSMC法の衝突判定アルゴリズムには最大衝突数法を採用している。

第3章では、専用計算機の仕様および設計方針について述べている。本専用計算機では、DSMC法における衝突判定の演算を、パイプライン処理と並列化を利用して高速化を図ることとしている。衝突判定以外の演算は、ホストの汎用計算機において行われる。本専用計算機の演算回路の作成にはPLD (Programmable Logic Device)というICデバイスを用い、ホスト計算機とのインターフェースには、汎用でありながら比較的高速なインターフェースであるPCIを採用している。演算回路にPLDを用いることにより容易に回路の実現が可能となっているため、本研究で行おうとしている、いわば数値計算用ソフトウェアの一部のハードウェア化に対する敷居を低くすることが可能となっている。

第4章では、作製したDSMC専用計算機の詳細について述べている。まず、専用計算機を用いた衝突判定の動作手順について述べられ、さらに、専用計算機の構造が述べられている。具体的には、衝突判定を行う演算ユニットを搭載した演算ボードと、衝突判定に必要なサンプル分子の速度データを格納するメモリであるSRAMを搭載したメモリボードとで構成されており、それぞれのボードの詳細な仕様について述べている。また、ホスト計算機とのデータ転送についても詳述している。

第5章では、専用計算機の動作確認を行い、さらに性能評価を行っている。まず、専用計算機の動作確認として、クエット流について計算を行い、速度分布、温度分布ともに妥当な結果を与えることを確認している。

次に、専用計算機の性能を評価するため、処理に要する時間の計測を行っている。まず、専用計算機を用いて計算した場合とソフトウェアのみで計算した場合について、要する時間の比較を行っている。その結果、専用計算機の使用により衝突判定の計算時間が格段に短縮していることを確認している。専用計算機の作動時間の内訳として、データ転送と衝突判定演算にかかる部分に分けることができるが、それぞれ、理論的に可能な限度に近い性能が達成されている。現状においては、専用計算機作動時間のうち、実際に衝突判定を行っている時間より、データ転送に費やされている時間の方が多くなっている。ただし、この比率は、DSMCのアルゴリズムに依存し、ここで用いられた最大衝突法よりさらに正統的なアルゴリズムでは、衝突判定に要する時間の比率が格段に大きくなる可能性がある。

引き続き、専用計算機のさらなる高速化の可能性を模索している。まず、データ転送の高速化であり、将来の技術動向を検討している。また、並列化による高速化についても検討を行っている。以上の考察をもとに、ここで検討した衝突計算については、そのような工夫により現段階で考えられる様々な改良を施した専用計算機の演算速度として、8台並列させたもので平均演算速度7.0[GFLOPS]程度と予測している。

第6章は結論であり、希薄気体のDSMC法によるシミュレーションの高速化が可能であることを実機の作製を通して示し、さらなる高速化の可能性を示した、としている。

以上要するに、本論文は希薄気体のシミュレーションの専用計算機による高速化の可能性を示し、将来の大規模計算の可能性を示した点で、宇宙工学に貢献するところが大きいと認められる。

よって、本論文は博士(工学)の学位請求論文として合格と認められる。

UTokyo Repositoryリンク