|
Numerical Wind Tunnel (NWT)を用いた並列計算
航空宇宙技術研究所
高木 亮治
1.はじめに
航空宇宙機の研究・開発においても計算流体力学(CFD)の重要性が高まりより高度なCFDが要求されるようになった。より複雑な物理現象やより複雑な実機形状の解析、また最適設計等の膨大なパラメトリック計算等、CFDに対する要求はより高度になり、それとともに計算機への性能要求も留まる所を知らなかった。こういった要求に答えるためNALでは富士通との共同開発により世界初のベクトル型並列計算機を開発し、従来の計算機性能の百倍の性能を実現した。このNWTの出現はCFDにもインパクトを与え、従来では規模的に困難だった計算をより身近なものとした。NWTを用いて極超音速流れの計算や次世代超音速実験機の空力設計を行うことができた。
ここではそれらの概要を、特に並列化の観点から紹介する。また並列計算機のソフトウェアの視点からの性能評価も実施した。並列ベクトル計算機は従来型の計算機に比較するとハードウェア、ソフトウェア等より複雑なものとなっている。特にハードウェアの発達にコンパイラ、OS等のソフトウェア技術が追従できておらず利用者に過大な負担を強いている。このため並列化プログラムの作成は容易ではなく、並列計算機を使う上での大きな問題となっている。NWTでは専用並列言語としてNWT-Fortran、汎用的な並列言語(メッセージパッシングライブラリ:MPL)としてPVM、MPIが用意されている。これら二種類の並列化手法の比較についても紹介する。
2.次世代超音速実験機まわりの流れの解析
NALの次世代超音速実験機NEXST-11,2)の空力設計はCFDを用いて行われた3)。空力設計を実施する際に最適化設計手法と組み合わせて数多くの機体形状に対する解析計算を実施した。図1に解析結果の一例を示す。実際の航空機まわりの流れの解析を比較的短時間で行うためマルチブロック構造格子法を用いた。マルチブロック構造格子は計算空間を複数の領域(ブロック)に分割して格子の生成を行うため、複雑な物体形状であっても比較的簡単に空間構成を生成できる。ここではマルチブロックによるブロック分割と並列化による領域分割をマッピングさせた。
更に柔軟な計算が可能となるように複数のブロックを並列計算単位(各並列プロセス)に割り当てられるようにすることで任意の並列度数の計算を実行可能とした。これらマルチブロックのデータの受渡処理、並列計算のデータ通信処理を統合し、単領域の計算ソルバーと切り離すことで複雑形状への適用性を向上させた。詳細に関しては文献4,5)を参照のこと。この考えはその後さらにプログラムの階層化へと発展してUPACS6,7,8)へと引き継がれた。
|
図1 NEXST−1の解析結果(機体表面圧力分布)
|
3.極超音速流の解析
宇宙往還機が帰還する際には極超音速飛行を行うが、極超音速飛行では機体の前方に強い衝撃波が発生する。そのため衝撃波後方では気体温度が数千度にもなり、空気を構成する酸素分子、窒素分子が解離するなど通常の空気とは異なった現象を示す。これらの現象を一般に実在気体効果または高温効果と呼ぶが、これらの影響を考慮しながら流体の解析を行う必要がある。そのため通常の三次元粘性流体の方程式に各化学種の質量保存式、内部エネルギを示す振動エネルギの保存式を連立させて解く。化学反応モデルや熱的モデル(Parkの二温度モデル)等、数値解法の詳細については文献13,14,15,16)を参照のこと。
並列化はNWT-Fortranを用いて領域分割による並列化を行った。このプログラムは左辺の時間積分方にLU-SGS法を用いているが、この解法はHyper
Planeを用いることで完全にベクトル化することができるのでベクトル計算機向きの解法である。しかしそのため並列化の自由度がHyper Planeのスイープ方向しかなくなるため領域分割による並列化の際には問題となる。非並列のアルゴリズムと厳密に一致させるためには領域間にまたがってスイープの順番待ち同期を取る必要があるが、ここでは定常解への収束を目指しているので厳密に同じアルゴリズムを実現する事は放棄し各領域で同時にスイープを実行させた。そのため1タイムステップでの収束性は若干悪化したがほとんど問題とならなかった。
NWTの出現により実機に近い三次元形状まわりの実在気体効果を含んだ解析が可能となった。
|
図2 DEASの流れ場 |
非並列化コードを利用して大量のパラメトリック計算25,26,27,28)、つまりジョブ並列を実施した。 これはDirected Energy
Air Spike(DEAS)による流れの計算(図2)で、DEASとは超音速以上の高速で航行する鈍頭物体の前方に熱源を設定した流れ場でこの流れ場が鈍頭の先端に尖ったスパイクを付けた流れ場と似ているためこう呼ばれている。熱源としてはレーザー加熱、逆噴射燃料の燃焼、マイクロウェーブが考えられている。DEASにより物体の空力抵抗と空力加熱率が減少するが、DEASを制御する三つのパラメータ、熱源の位置、大きさ(分布形状)、投入エネルギ量に対して大規模なパラメトリック計算をジョブ並列で実行し、パラメータ空間の特性を把握した。このような大規模パラメトリック計算もNWTで始めて可能となった。
4.並列化手法の比較
極超音速流の解析に用いた計算コードはNWT-FortanとMPL(PVM、MPI)の二種類の手法で並列化を行った。またNWT-Fortanでは通常の一次元分割と多次元分割の比較も行った。これらの比較はシステムが導入された初期の段階で行ったものであり、その後性能等が改善されている場合もあるので注意していただきたい。
NWT-Fortran による並列化はデータ/手続き分割による並列化を実施した。並列化作業としては、主要な配列(データ)の分割と主要なDoループ(手続き)の分割をプログラム全体に渡って実施した。この時一次元元分割と三次元分割の両方を試みた。この計測を実施した当時は多次元分割による並列化はシステムの制約上性能が良くなく、期待程の効果はなかった。しかしながら実問題の解析では、ある方向だけ格子点数が十分多いことは期待できず、並列台数に制約ができてしまう。そのため多くの並列台数を必要とする大規模計算では多次元分割を行う必要があり、多次元分割での性能が非常に重要となる。
PVMを用いた並列では領域分割およびマスタースレーブモデルによる並列化を行った。正確にはシステムの制約(spawnができない)のため準マスタースレーブ方式となる。並列化作業としてはプロセスの管理等を行うマスタープログラムの作成と元のプログラムのスレーブ化(データ通信を境界条件として追加、マスターとの通信の追加)となり元プログラムのソルバー部は一切変更する必要がない。そのため短期間での並列化が可能となりMPLを使った並列化のメリットと考える。
NWT-FortranとPVMの並列化効率を図3に示す。小規模並列(プロセス数が50以下)ではPVMによる並列化がNWT-Fortranによる並列化より性能が良いが大規模並列(プロセス数が50以上)では逆にNWT-Fortranの方が性能が良い。どちらの手法を用いても125プロセスで並列効率は23程度である。並列化効率という数字だけを見ればかなり低い数字と思われる。これは一儀的にはCPU性能に比べて相対的にネットワーク性能が遅いことを意味しているが、後程言及するように単にネットワーク性能だけの問題でなくCPU、メモリ、ネットワーク性能、更には計算プログラムの特性のバランスの問題である。
|
図3 並列化効率 |
5.NWTの問題点
NWTを使って筆者が感じたNWTの問題点についてまとめる。これらの問題点を指摘することで次期計算機がより使い易く、より良い計算機システムになることへの一助になれば幸いである。
- 筆者の計算コードでは並列化効率が悪いなどCPU性能に比してネットワーク性能が相対的に遅く感じた。これはCPU性能に比してメモリが少ない事とも関連している。CPU、メモリ、ネットワークのバランスは使う計算コード、問題に依存するので一概に議論できないが、単体の計算性能だけを追求するのではなく、システムとしてのトータルバランスを考慮することが大切である。
- I/O性能が低かった。計算機の進歩は日進月歩であり、短いサイクルでの更新を考えないとすぐに陳腐化してしまう。特にNWTではネットワークを含めたI/O性能が弱かった。
- NWT-Fortranは専用並列化言語ということで特殊性の弊害があった。特にデバッグ環境を含めた開発環境が整備されておらず(ジョブ運用を含めて)当初並列化が進まなかった原因である。未だ並列化は敷居が高いので専用言語を使用するのであればより使いやすい開発環境を整備するなどユーザーに使いやすい環境を整備することが大切となる。
- MPLに関してはやはり並列化を含む開発環境の不備が問題として挙げられる。またシステムによる制限機能があるなど汎用ライブラリとして移植性に問題があった。
逆にNWTの優れていた点をまとめる。
- 分散メモリ型ではあるが、ネットワークに階層構造がなく単純な構造のクロスバだったため ネットワークの負荷バランスが取りやすかった。
- 各ノードがベクトル計算機のため使いやすかった。 ベクトル計算機は使いやすく性能も出しやすかった。
- センター運用で柔軟なジョブスケジューラーが開発されジョブのスループット率が高かった。
最後にNWTを利用できたことを感謝します。
参考文献
- K. Sakata. Superonic research program in nal, japan. In 1st CFD Workshop for
Supersonic Transport Design, 1998.
- 真保雄一、吉田憲司、岩宮敏幸、高木亮治. 線形理論及びCFDを用いた超音速旅客機形状の空力特性解析設計. 第29回流体力学講演会講演集, 1997.
- 高木亮治, 岩宮敏幸, 橋本桂子. 小型高速実験機におけるCFD解析. 第15回航空機計算空気力学シンポジウム論文集 NAL SP-37, pp.
57-61, 1998.
- 高木亮治. 複雑形状まわりの流れの数値解析手法の開発. 航空宇宙技術研究所報告 NAL TR-1375, 1998.
- 高木亮治. 複雑形状まわりの流れの数値解析手法の検証. 航空宇宙技術研究所報告 NAL TR-1376, 1998.
- 山本一臣、他(航技研UPACSプロジェクトチーム). 並列計算CFDプラットフォームUPACSについて. In Proceedings of Aerospace
Numerical Simulation Symposium'99, pp. 351-355. NAL SP-44, February 1999.
- 山根敬、他(航技研UPACSプロジェクトチーム). CFDコード共有化プロジェクトUPACSの現状. In Proceedings of Aerospace
Numerical Simulation Symposium 2000, pp. 45-50. NAL SP-46, December 2000.
- 高木亮治、他(航技研UPACSプロジェクトチーム). UPACSの現状と今後の課題. In Proceedings of Aerospace Numerical
Simulation Symposium 2001, pp. 69-73. NAL SP-53, January 2002.
- R. Takaki, Y. Matsuo, T. Iwamiya, and N. Hirose. First europe-us high speed
flow field database workshop part ii. In First Europe-US High Speed Flow Field
Database Workshop Part II, 1997.
- 高木亮治. HSCT模型の数値解析(その5). 航空宇宙数値シミュレーション技術シンポジウム98論文集,
1992.
- 高木亮治、石川敬掲、岩宮敏幸. UPACSによる航空機まわりの流れの計算. In Proceedings of Aerospace Numerical
Simulation Symposium 2001, pp. 87-92. NAL SP-53, January 2002.
- 高木亮治、他(航技研UPACSプロジェクトチーム). UPACSを用いた2次元翼型失速特性の数値シミュレーション. In Proceedings of
Aerospace Numerical Simulation Symposium 2000, pp. 163-168. NAL SP-46, December
2000.
- 高木 亮治、和田 安弘、渡辺泰夫. アーク風洞のnavier-stokes数値解析. 第11回航空機計算空気力学シンポジウム論文集 NAL SP-22,
pp. 139-144, 1993.
- 高木亮治. 極超音速非平衡流れの数値解析. 航空宇宙技術研究所報告 NAL TR-1407, 2000.
- R. Takaki. A parallelization of an algorithm for reacting flow problems. In
Proceedings of the Sixth Parallel Computing Workshop, 1996.
- R. Takaki. Numerical simulation by nwt for reacting flows. In N. Satofuka,
J. Periaux, and A. Ecer, editors, Parallel Computational and Fluid Dynamics, pp.
331-338. Elsevier Science B.V., 1995.
- R. Takaki and Y. Wada. Numerical simulation of high enthalpy flow - high enthalpy
flow workshop -. In Proceedings of 13th NAL Symposium on Aircraft Computational
Aerodynamics - High Enthalpy Flow Workshop -, pp. 171-177. NAL SP-29, 1996.
- 高木亮治、伊藤健. 極超音速飛行実験(HYFLEX)におけるCFD解析. 第14回航空機計算空気力学シンポジウム論文集 NAL SP-34, pp.
49-54, 1997.
- 伊藤 健、高木 亮治、寺岡 謙. 極超音速飛行実験(HYFLEX)におけるプラズマ密度計測. 第37回宇宙科学技術連合講演会講演集, 1993.
- 伊藤 健、寺岡 謙、中村 良治. HYFLEX搭載リフレクトメータに関する地上基礎試験. 日本航空宇宙学会第26期年会講演会講演集, pp. 156-157,
1994.
- 伊藤 健、高木 亮治、寺岡 謙. リフレクトメータによる機体まわりのプラズマ電子密度測定. HYFLEX/HOPE-Symposium 講演集, pp.
155-161, 1996.
- T. Ito, R. Takaki, and K. Teraoka. Measurement of Plasma Electron Density
around HYFLEX Vehicle. In Proceedings of HYFLEX/HOPE-Symposium (in Japanese),
pp. 155-161, 1996.
- R. Takaki. Hypersonic cfd high enthalpy flow - numerical simulation by parallel
computer. In First U.S.-Japan Symposium on High Speed Ground Testing and Computations,
1997.
- 高木亮治、伊藤健. 極超音速飛行実験におけるブラックアウトシミュレーション. 第8回計算流体シンポジウム論文集, 1997.
- 高木亮治. Directed Energy Air Spikeによる空力加熱率減少の数値シミュレーション.
In Proceedings of Aerospace Numerical Simulation Symposium 2000, pp. 181-186.
NAL SP-46, December 2000.
- 高木亮治. Directed Energy Air Spikeにおける熱源位置の影響. ながれ, Vol. 19, No. 5, pp. 342-345,
October 2000.
- R. Takaki and M.S. Liou. Parametric study of heat release preceding a blunt
body in hypersonic flow. AIAA Journal, Vol. 40, No. 3, pp. 501-509, March 2002.
- R. Takaki. A Numerical Study on Reduction of Aerodynamic Drag and Heating
Rate via Energy Release Preceding a Blunt Body in Hypersonic Flow. 東京大学学位論文, 2001.
|
|