Skip to main content
QUICK REVIEW

[論文レビュー] GPU-Accelerated BWT Construction for Large Collection of Short Reads

Chi-Man Liu, Ruibang Luo|arXiv (Cornell University)|Jan 29, 2014
Algorithms and Data Compression参考文献 16被引用数 28
ひとこと要約

本稿では、GPU並列処理、マルチコアCPUスレーディング、およびクラスタベースの分散コンピューティングを活用して、大規模な短鎖DNAリードコレクションのバーローズ・ウィルラー変換(BWT)を構築するためのGPUアクセラレート手法CX1を提示する。CX1は、1台のマシン(4コアCPU + GPU)で100 GBの短鎖リードのBWTを2時間未塔で構築でき、4ノードのGPUクラスタでは43分未塔で完了し、I/Oオーバーヘッドを除いて最大3.72倍の高速化を達成。これは、BRC やGPU最適化されたBWT構築手法といった先行ツールを著しく上回る性能を示している。

ABSTRACT

Advances in DNA sequencing technology have stimulated the development of algorithms and tools for processing very large collections of short strings (reads). Short-read alignment and assembly are among the most well-studied problems. Many state-of-the-art aligners, at their core, have used the Burrows-Wheeler transform (BWT) as a main-memory index of a reference genome (typical example, NCBI human genome). Recently, BWT has also found its use in string-graph assembly, for indexing the reads (i.e., raw data from DNA sequencers). In a typical data set, the volume of reads is tens of times of the sequenced genome and can be up to 100 Gigabases. Note that a reference genome is relatively stable and computing the index is not a frequent task. For reads, the index has to computed from scratch for each given input. The ability of efficient BWT construction becomes a much bigger concern than before. In this paper, we present a practical method called CX1 for constructing the BWT of very large string collections. CX1 is the first tool that can take advantage of the parallelism given by a graphics processing unit (GPU, a relative cheap device providing a thousand or more primitive cores), as well as simultaneously the parallelism from a multi-core CPU and more interestingly, from a cluster of GPU-enabled nodes. Using CX1, the BWT of a short-read collection of up to 100 Gigabases can be constructed in less than 2 hours using a machine equipped with a quad-core CPU and a GPU, or in about 43 minutes using a cluster with 4 such machines (the speedup is almost linear after excluding the first 16 minutes for loading the reads from the hard disk). The previously fastest tool BRC is measured to take 12 hours to process 100 Gigabases on one machine; it is non-trivial how BRC can be parallelized to take advantage a cluster of machines, let alone GPUs.

研究の動機と目的

  • デノボゲノムアセンブリやエラー補正に用いられる大規模な短鎖リードコレクションにおけるBWT構築の計算ボトルネックを解消すること。
  • GPUの巨大な並列性、マルチコアCPU、および分散クラスタを活用して、CPUオンリーツールの限界を超えてBWT構築を高速化すること。
  • 動的で大規模なリードデータに対して頻繁にBWTインデキシングを要するバイオインフォマティクスパイプラインにスケーラブルかつコスト効率の良いソリューションを提供すること。

提案手法

  • CX1は、GPUアクセラレートされたサフィックスソーティングとCPUベースのマルチスレッド処理、GPU搭載クラスタノード間の分散I/Oを組み合わせたハイブリッドアプローチを採用する。
  • アルゴリズムは入力リードコレクションをチャンクに分割し、GPU上で並列処理を行う。チャンク間の同期はCPUスレッドが管理する。
  • まずリードを接頭辞ごとにグループ化し、その後各グループに対してGPUアクセラレートされたサフィックスアレイ構築を適用する、多段階ソーティング戦略を採用する。
  • メモリ使用量は調整可能なパラメータ $m_2$ を介して制御され、パフォーマンスとメモリフットプリントのトレードオフを可能にする。
  • 複数のGPUノード間での動的ロードバランスと、データ圧縮およびSSD最適化入力配布により、I/Oボトルネックを最小限に抑える。
  • CX1は既存のストリンググラフアセンブラと統合可能であり、BWTの固有構造を活用して効率的なk-merカウントを実現し、エラー補正に貢献する。

実験結果

リサーチクエスチョン

  • RQ1CPUオンリーツールと比較して、GPUアクセラレーションが大規模な短鎖リードコレクションのBWT構築に要する時間を著しく短縮できるか?
  • RQ2クラスタ内の複数のGPU搭載ノードにおいて、GPUアクセラレートBWT構築のパフォーマンスはどのようにスケーリングするか?
  • RQ3本手法は、より長いリードを処理する場合でも効率的であるか。また、リード長に対する感受性は、既存ツールと比較してどの程度か?
  • RQ4I/Oおよびデータロードオーバーヘッドを考慮した場合、分散環境で近似的に線形のスループット向上が達成できるか?
  • RQ5利用可能なGPUまたはメインメモリが制限される状況で、メモリ使用量とパフォーマンスのトレードオフはどのように振る舞うか?

主な発見

  • CX1は、4コアCPUとGPUを搭載した1台のマシンで、100 GBの短鎖リード(長さ100の10億個のリード)のBWTを2時間未塔で構築でき、従来で最も速かったツールBRCと比較して20倍の高速化を達成した。
  • 4ノードのGPUクラスタでは、同じタスクを43分未塔で完了し、I/Oオーバーヘッドを除いて3.72倍の高速化を達成。近似的に線形のスケーラビリティを示した。
  • 10億個のリードに対して、単一ノードでは6,886秒から4ノードでは1,580秒に短縮され、強力な並列効率を示した。
  • BRCと比較して、CX1はより長いリードに対して著しく感受性が低い。400-bpリードでは125%の追加時間しかかからず、BRCは290%の追加時間を要する。
  • パラメータ $m_2$ のチューニングにより、メモリ使用量を45 GBから16 GBに削減可能で、1億個のリードセットでは実行時間の増加がわずか126秒にとどまる。
  • 大規模データセットではCPUコア数の増加に伴い効果的にスケーリングする。CPUメモリアクセスが主なボトルネックとなるため、将来的な向上はGPUにより多くの処理をオフロードすることにかかっている。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。