AWS クラウド上での AVS/Express PCE による時系列データ並列可視化実験 富士ゼロックス株式会社 様

実験環境

実験に利用した環境は、以下の2通り。

  • ケースA:cc2.8xlarge インスタンス(仮想コア 32コア)×4台
  • ケースB:cc2.8xlarge インスタンス(仮想コア 32コア)×16台

AWSテスト環境

ケースAでは、1、2、4、8、16、32、64、128 の並列実験を、ケースBでは、それに加え、256、512の並列実験を実施しました。

AVS/Express PCEと時系列データの並列可視化

今回の実験では、時系列データの可視化から動画作成までの処理時間が短縮できるかどうかをターゲットとしました。

例えば、1ステップの可視化に5秒かかるとすると、1000ステップの処理に5000秒、1時間30分の処理時間がかかります。実際には、ソフトの並列起動や各ノードへの命令、データの収集など、並列化できない部分の時間があるため、単純ではありませんが、100並列で一度に100ステップずつ処理すると、10回の繰り返しで済むため、50秒に短縮できる可能性があります。

以下の図に、処理の概要を示します。


AVS/Express PCE による時間並列処理と画像の作成

図は、4並列の例で、最初に001.fld から004.fld のデータを4並列で処理し、001.bmp から004.bmp の画像ファイルを作成します(今回の実験では500×500 のBMP 画像を利用)。次に、005 から008 を処理、 さらに、009 から012 を処理のように、その繰り返しで全ステップの画像を作成します。


AVS/Express による結果動画の作成

最終的に、全ステップの画像ができたら、AVS/Express の標準機能(イメージキャプチャ)を用いて、全 画像ファイルをキャプチャし、AVI 動画ファイル(今回の実験では、圧縮なし、5FPS のAVI ファイル)を 作成します。

実験ケース

可視化の実験としては、先に述べたケースA(4 台)、B(16 台)の2つのノード構成を利用し、以下の並列 数での実験を行いました。

  • ケースA:1、2、4、8、16、32、64、128
  • ケースB:2、4、8、16、32、64、128、256、512(時間の関係で 1 は測定なし)

また、可視化の手法として、以下の2種類の可視化を行っています。

  • ソフトウエア球
  • ポリゴン分割球(約 2800 万ポリゴン)

ソフトウエア球は、AVS/Express の離散点を表現する機能のひとつで、その点に半径(大きさ)を与える ことで、球を直接レンダリングします。ポリゴンを生成しないため、多量の球のレンダリングに向いています。

2つ目は、ポリゴン分割球で、いくつかの三角形ポリゴンで構成される擬似的な球を作成します。今回の データでは、通常、ソフトウエア球による可視化が有効ですが、1ステップの処理時間が長い場合の並列効 果を測定するため、1ステップあたり、約2800 万ポリゴンを生成してみています。


ソフトウエア球とポリゴン分割球

実験結果

以下の表に、実験結果を示します。

今回の実験は、クラスタ上で解析を行った後に、一連の可視化処理から結果の動画作成までを自動化することを想定しているため、毎回、AVS/Express PCEや AVS/Express を起動しています。以下の計測結果には、その起動時間も含んでいます。


数値は、その処理にかかった時間を示しています。「PCE」の行は、PCEの起動から全ステップ(320)の連番画像生成までの時間を、「Express」の行は、1つのノード上で行った1プロセスの処理で、Expressの起動からそれらの画像を収集、動画を作成するまでの時間を示しています。320枚の連番画像からAVI動画を作成する時間は、約10秒程度であることがわかります(この処理は、並列化は関係なく、常に1プロセスが担当)。

なお、「ノードあたり」の行は、1ノードに割り当てたプロセス数を示しています。例えば、ケースAには4ノードしかないため、32並列では1ノードあたり8プロセスで処理しています。ケースBには16ノードあるため、1ノードあたり2プロセスで処理を行っています。

PCEの並列処理に着目したグラフを次に示します。


320ステップの動画作成(ソフトウエア球による可視化)を1プロセスで行うには約33分かかりました(左上の赤丸)。このデータでは、32並列(ケースAの4ノード利用)がもっとも効率がよく、2分25秒まで短縮できました。前述のように、この計測にはPCEの起動時間も含まれているため、64並列以上では、その並列数分のプロセスを起動する時間や一部データの通信に関する時間などのオーバーヘッドの方が大きくなり、効果は出ていません(今回の実験では、内訳の詳細までの検証は行っていない)。

一方、1ステップの処理時間が長い、大規模ポリゴンの実験では、128並列まで効果を見ることができました。今回の実験では、8並列以上でしか計測していませんが、この1ステップの処理には約30秒かかるため、1プロセスでは、動画作成に、30秒×320ステップ、2時間以上かかると推定されます。128並列で処理することで、この時間を約5分まで短縮できます。

それ以上の並列数の測定も行えていませんが、ケースBの256並列の結果を超えることはないため、このデータの最下点は、128並列近辺にあると考えられます。