GPUクラスタを用いた並列分散データ処理の実現に向けて,GPUを用いたデータのクラスタ分析に関する研究を行なった.データのクラスタ分析を行ない,その結果を基にGPUクラスタの計算ノード上にデータを配置することで,分散処理中のノード間の通信を削減でき,効率的な処理が可能になると考えられる.具体的な研究成果は以下の通りである.
前年度に開発したGPUを用いたグラフクラスタリング手法の拡張・改良を行った.具体的には以下の三つの点となる.(1) GPUメモリ上に乗り切るサイズのデータのみを対象としていたところを,GPUメモリ以上のサイズのデータも処理可能となるよう拡張した.提案手法では,一般的に性能のボトルネックとなりやすいCPUとGPU間のデータ転送を,GPU上での計算とオーバーラップして行うことでデータ転送による遅延をほぼ無しで処理可能としている.(2) さらに上記の手法を,GPUのみでなくCPUでも同時に処理を行うよう拡張した.これにより,以前は利用していなかった計算資源であるCPUも活用可能になりさらなる高速化が達成できる.(3) また,提案手法において必要となる集計処理の並列化の改良も行った.以前はGPUに適した処理であるデータ並列プリミティブを組み合わせて集計を実現していたところを,ロックフリーなハッシュ表を用いることで高速化を図った.これにより,並列化によって導入された余計な計算コストの削減が可能となる.
実験により,これらの手法が既存手法と比較して数倍高速であることを確認した.
|