流体計算は、その時代の優れた計算機資源を活用することで発展してきました。そのプラットホームは大型計算機、スパコン、UNIX機、UNIX並列計算機へとダウンサイジングが進み、高速化を目指して並列化にも対応してきました。そして最近、64bit Linuxを搭載したインテルアーキテクチャ計算機が熟成し、価格、性能、信頼性など多くの点で過去の計算機を越える実績を示すに従って、多くの流体計算用アプリケーションが主要動作環境として移行してきました。
さて、現在のインテルアーキテクチャ計算機は、有り余るCPUコア、大きなメモリ空間、高速なシステムインターコネクト、高速大容量ストレージ、優れた開発環境など、非常に優れた計算機環境を備えています。それを以下に簡単に整理します。
◇ インテルはアーキテクチャの刷新と対応コンパイラの開発を積極的に進めており高速化が継続
◇ Quad-Core Xeon 2ソケット 8CPUコアにより単体計算機の並列性能が向上
◇ さらなるマルチコア化を目指すインテルプロセッサ (8コア 2ソケット 16CPUコア機の誕生)
◇ マルチCPUコア機のノード内MPI並列性能はIntel-MPIにより高速化
◇ Intel-MPI + DDR 20Gbps InfiniBand により大規模並列にも活路
◇ ネットワーク並列環境を構築する場合はMPIの実装に注意
◇ ワークステーションでは64GBのメモリが搭載可能
◇ システム単価が一定で、コア数は倍増するため、コア単価は低下
◇ システムあたりの消費電力は一定でコア数が増えるため、消費電力性能比は向上
さらにシステムレベルでは以下の要素も備えています。
◇ デルなどの量産サーバは、HPC用として価格、性能、品質、機能を高いレベルで達成させている
◇ デルのサーバでは3年間の翌営業日オンサイト保守と部品保証が付帯する
◇ 弊社 (専門業者) による小型HPCのシステムインテグレーション水準は高くなっている
また流体計算アプリケーションに関しては素人の雑な理解で申し訳ないのですが
◇ メジャーな商用アプリはインテル・Linux環境での並列化を終えている
◇ メジャーな商用アプリの多くは並列数に応じたライセンス費が必要
◇ フリーの流体アプリも並列化が進んでいる
◇ 先端的な自作流体アプリも並列化が進んでいる
これらの状況を考慮しながら、お客様の用途に適した計算機システムの構成を考える必要があります。
流体計算は、メッシュを細かくするほど精度の高い計算を行うことができます。しかしメッシュを細かくすると、必要とするメモリサイズが増加し、計算量はさらに急激に増加します。そこで、並列処理により計算負荷とメモリ空間を複数の計算機に分散させることで、この課題を解決する手法が一般的です。そのため、自作やフリーの並列化対応流体計算アプリケーションを利用されている場合には、上記のように並列計算機環境が進歩しているため、これらを適切にインテグレートして導入するだけで高い計算性能を容易に入手できるようになりました。
◇ 最新の開発環境を用いて実コンパイルと実ベンチマークテストを行い導入する
Quad-Core Xeon 8CPUコアなどの搭載コア数の多い計算機が廉価になったため、CPUコア数の多い並列計算環境の導入が増加します。その場合の注意点として、システム間を接続するネットワークの問題があります。CPUコア数の多い計算機を用いると、ノード数が同じでも計算機の性能が向上していますから、ネットワーク性能がボトルネックとなる場合が多くなり、折角のCPUコア数が計算性能の向上に貢献しない場合が出てきます。そこで、高速なシステムインターコネクトであるInfiniBandの検討をお奨めします。この場合の構成の注意点としては、Quad-Core Xeon + Intel-MPI + InfiniBand + 最新のインテル開発環境の組み合わせが必須です。
◇ 導入する機器と最新の開発環境を用いて実コンパイルと実ベンチマークテストを行い導入する
商用の流体アプリケーションを使用される場合に、その商用アプリケーションの多くはライセンス数によって実行できる並列数に上限を設けているためシステムの選定には注意が必要です。ポイントはCPUコアあたりの処理能力の高さを最優先し、次いで並列効率の高さを優先した計算機の選定が肝心です。そのためにはシステムの事前テストは必須です。それは、計算機環境を構成する多くの要素が急激に改善され日進月歩の状況にあるからです。手間はかかりますが、以下の手続きは必要です。
◇ ベンダーの公開しているテスト結果を調べる (計算機、ソフトウェア環境、設定)
◇ 導入予定機器での実ベンチマークテスト (直近のテスト結果)
◇ Dual-Core Xeon 4CPUコアの高クロック機も検討する
Dual-Core Xeon 4CPUコア機やQuad-Core Xeon 8CPUコア機などを搭載するマルチコア計算機にて、高額な商用アプリケーションを並列利用される場合には、利用ライセンス数での最高性能 (最高効率) 達成を目的にする必要があります。そして並列数を上げて計算速度を求められる場合には、高速なシステムインターコネクトとしてInfiniBandの採用をお奨めします。この場合の構成の注意点としては、マルチコアXeon + Intel-MPI + InfiniBand + 最新のインテル開発環境の組み合わせが必須です。
◇ 導入する機器と最新の開発環境を用いて実コンパイルと実ベンチマークテストを行ってから導入する
大規模な流体計算を行うとアウトプットファイルも大きくなります。これを保存しておいたり、可視化結果を画像データとして保存される場合や、さらに実際の計測結果データなども保存される必要がある場合もあります。これらのデータを快適かつ安全に利用するためには、高速かつ堅牢な大容量のストレージシステムが必要です。これらも計算機システムと同時に導入されると、システムとしての完成度がより高まり便利です。弊社では高速、大容量、低価格なストレージシステムをHPC計算機システムと一緒にご提供できます。
流体計算用の計算機システムではWindows CCSを利用したシステムの採用も良い場合があります。現在では、流体計算ソルバーの実行用にはLinuxを利用されるお客様でも、プリポスト処理ではWindows機を利用されている方が多くなっています。Windows環境では高速なグラフィック性能を持つ計算機が廉価に提供され、多くのプリポスト処理用ソフトが開発され、これらを便利に利用できるからです。しかし、このようなWindowsとLinuxとが混在した環境ではデータの受け渡しに手間がかかり、それを面倒と感じられる方もいらっしゃいます。また、新しく計算を始められる方がLinuxの学習に迫られ、これを負担に感じられている場合もあります。このような場合にWindowsCCSの導入は良いソリューションとなります。
これまでのWindowsは32bitOSであったためメモリサイズに2GBという制限があり計算サイズに上限がありました。しかし、WindowsCCSは64bit OSのため、メモリサイズの上限は計算機の実装メモリのサイズとなり、大規模な計算でも実行できます。もちろん、インテルの最新の開発環境も動作します。そのため大規模な流体計算の実行もWindows環境上で問題なく行うことができます。このため、同じOSを搭載した計算機上で、プリポスト処理と計算処理の双方を行うことができます。その結果、データの双方での利用が非常に容易になります。
さらに、WindowsCCSはリモート接続機能が強化されているので、Linux機と同等にネットワーク接続によりモート接続して他の計算機を操作することが可能です。そのため、個々の計算機にマウスとキーボードを接続して直接操作するような使い方する必要が無くなっています。もちろん、複数のユーザーが計算機をリモートから共同利用することもできます。Linux搭載の計算機に近い利用環境がWindowsにも実現してます。
このようにブリポスト処理から流体計算処理までがWindows環境上で利用でき、しかもLinuxライクな利用環境の便利さを兼ね備えている環境がWindows CCSで実現できます。この環境の導入も検討をお願いします。
■ご参考 マイクロソフト社のWindows CCSのページに掲載されている導入事例へリンク 「Windows CCS 日本語版 第一号出荷 ユーザー様 導入レポート。(クライアントとサーバーの双方が Windows であることの利点)」