世界のスーパーコンピュータとそれを動かす人々


2月 5, 2015

NVIDIA K80 GPUシステムがバイオインフォマティクスのツールを12倍に高速化

HPCwire Japan

John Russell

少し前までは、DNAシーケンシングの高コストで相対的な遅さはバイオメディカル研究においては律速ボトルネックであった。今日、ポスト・シーケンシング・データ解析は最大の課題だ。もちろん、その理由は現代の次世代シーケンサー(NGS)機器(例えば、イルミナやThermoFisher/Life Technologies)の圧倒的な解析パイプラインからの驚異的な出力だ。

効率的にデータの宝をふるい分けすることはバイオインフォマティクス・コミュニティの大きな頭痛の種だ。さらには、多くの違った種類のポスト・シーケンシングデータ解析(例えばアセンブリ、アラインメント、多型コールやRNAシーケンシング)があり、どれもが違った手法でHPCシステムにストレスを掛ける。近頃、HPCのブロガーであるRichard CaseyはNVIDIAのTeslaシリーズの最新のGPUである新Tesla K80を使って12倍の解析スピードアップを報告した。

Caseyは彼のブログの中でこの件を詳述している。彼は良く使われ時間の掛るステップであるNGSのデータ・アラインメントに取り組む事を選択した。Caseyはコロラド州立大学次世代シーケンシングコアのバイオインフォマティシストである。彼の主な役割はコアの次世代シーケンサを利用する主任研究員と研究者にバイオインフォマティクスやデータ解析のサポートを提供することだ。

ブログの抜粋:「一般的には、シーケンサから出てくるDNAリードを参照ゲノムと呼ばれる配列にします。このステップは参照ゲノムにサンプルのリードをマップしようとし、その結果はSNP解析や他のレポートタイプに利用されます。現在の人間の参照ゲノムは約31億のヌクレオチド塩基を含んでいます。これはかなり大きなゲノムです。(他の種ではもっと大きなゲノムもありますが)」

「参照人ゲノムに対するNGSサンプルリードの配列アラインメントは、かなりのハイエンドサーバやクラスタでも実行に2、3時間から数時間掛ります。現在のシーケンサが処理するサンプルの剪断数やNGSコアまたはラボ内の複数のシーケンサにおいて、これは単一のサンプルとしては過大なものではなく、配列アラインメントのステップにおいて使われる積算時間は問題となる可能性があります。」

「このアラインメントの問題を軽減するために、私達は並列配列アラインメント・アルゴリズムやソフトウェア・アラインメント・ツールを評価しているのです。以前のブログ記事でも述べたように、NVIDIA GPU上でNVBIOスイートを試験しています。nvBowtieはこのソフトウェア・スイートの中でのGPU対応の配列アラインメント・ツールです。bowtie2はnvBowtieに対して一般的なCPUのみの対応ソフトウェアとなります。これら2つのアプリケーションの性能を比較するために、人ゲノム・データセットでのDNA配列アラインメント・ベンチマークテストを実行しました。」

完全な詳細についてはCaseyのブログを参照した方がベストだ(サンプルソース、使用シーケンサ、使用参照ゲノム等)。ベンチマークに使ったツールはNVBIOスイートからnvBowtie v0.9.9.3およびbowtie2 v.2.2.4配列アラインメント・ツールが含まれている。「nvBowtieは高並列なGPUのみの配列アラインメント用に設計されているのに対して、bowtie2は中程度に並列なCPUのみのアラインメント用に設計されています。ある意味で、これは細粒度対粗粒度の並列の競争でもあるのです。」とCaseyは書いている。

数値シミュレーションはMicrowayのTesla GPUテストドライブ高速化計算クラスタで行われた。性能比較はCPUのみとGPUのみのシステムで実施された。

CPUのみのテストはbowtie2が使われ、次のシステムと構成で実行された:

  • Cray XT6m
  • 計算ノード当り(2) 12-core AMD Opteron 6100 CPU
  • 計算ノード当り32 GB RAM
  • 12 CPUスレッド
  • 単一計算ノードでbowtie2を実行

CPUのみの配列アラインメントの結果は206分または3.4時間であった。

GPUのみのテストはnvBowtieが使われ、次のシステムと構成で実行された:

  • インテルクラスタ
  • 計算ノード当り(2) 12-core Xeon E5-2680v3 CPU
  • 計算ノード当り128 GB host CPU RAM
  • 計算ノード当りNVIDIA Tesla K80 GPU
  • 単一計算ノードでnvBowtieを実行

GPUのみのnvBowtieは12.8倍高速であった。(206分/16分)

Caseyは書いている:「K80 GPUにおけるnvBowtieの12.8倍のスピードアップは心強いものです。人ゲノムの配列アラインメント・アルゴリズムにとって、数時間から数分に掛る時間を短縮するものです。」

「これらの試験で使われた古めのAMD Opteronシリーズ・プロセッサは、他と同じように新しいAMD FXシリーズやインテルの第5世代プロセッサに取って代わられています。ここで見られたスピードアップは新しいCPUプロセッサモデルと比較した場合には間違いなく減少するでしょう。しかし、nvBowtieは現在まだバージョン0.9(バージョン1でもまだない)です。私達はnvBowtieにおける継続的なアルゴリズムの開発と最適化で、結果としてコードの性能向上により、スピードアップを8倍から10倍あたりの範囲で維持することを期待しています。いずれにしても、配列アラインメントの実行時間を短縮することは重要なのです。」

K80の仕様は以下のとおり:

  • 4,992 GPUコア
  • 24 GB GDDR5 RAM
  • 480 GB/秒のメモリ帯域幅
  • 300 W消費電力 (重要!)