Skip to main content
QUICK REVIEW

[論文レビュー] A massively parallel algorithm for constructing the BWT of large string sets

Jacopo Pantaleoni|arXiv (Cornell University)|Oct 2, 2014
Algorithms and Data Compression参考文献 8被引用数 4
ひとこと要約

本論文では、ゲノムリードなどの大規模な文字列集合のバーロース・ウィーラー変換(BWT)およびFM-indexを構築するための、並列性が極めて高く、インクリメンタルなアルゴリズムset-bwteを提示する。GPUアクセラレートされたサフィックス配列の構築とCPUベースのランク計算を組み合わせ、外部メモリのボトル neck を最小限に抑え、O(n log σ)のシステムメモリと定数のハイブリッド帯域幅メモリのみを用いることで、長尺リードに対して最高6.5倍の高速化を達成した。

ABSTRACT

We present a new scalable, lightweight algorithm to incrementally construct the BWT and FM-index of large string sets such as those produced by Next Generation Sequencing. The algorithm is designed for massive parallelism and can effectively exploit the combination of low capacity high bandwidth memory and slower external system memory typical of GPU accelerated systems. Particularly, for a string set of n characters from an alphabet with σsymbols, it uses a constant amount of high-bandwidth memory and at most 3n log(σ) bits of system memory. Given that deep memory hierarchies are becoming a pervasive trait of high performance computing architectures, we believe this to be a relevant feature. The implementation can handle reads of arbitrary length and is up to 2 and respectively 6.5 times faster than state-of-the-art for short and long genomic reads

研究の動機と目的

  • 大規模なゲノム文字列集合におけるBWT構築の性能ボトル neck、特に遅い外部メモリアクセスに起因する問題を解決すること。
  • 再計算を伴わずに新しいシーケンスの動的追加が可能な、インクリメンタルなBWTおよびFM-indexの構築を可能にすること。
  • 現代のGPUアクセラレートされたシステムと深いメモリ階層を効果的に活用できる、高並列性のアルゴリズムを設計すること。
  • O(n log σ)のシステムメモリと定数のハイブリッド帯域幅メモリのみを用いることで、メモリフットプリントを削減し、大規模なバイオインフォマティクスワークロードに適したものとすること。

提案手法

  • 入力文字列集合をブロックに分割し、順次前方ループで処理することで、インクリメンタルな更新を可能にする。
  • 各ブロックについて、32ビットワードキーを用いたGPUベースのMSD基数ソートを用いて、サフィックス配列を大量並列に構築する。
  • 各ブロックについて、Ferraginaらのランク補題の逆適用を用いて、既存の外部BWTに対するそのサフィックスのランクを計算し、各ブロックあたりO(|Bint|)の作業量を達成する。
  • そのブロックのBWT記号をその辞書的ランクに従って再順序付け、新しいブロックの挿入を可能にするための新規ページドデータ構造を用いて、外部BWTに挿入する。
  • 複数のバッファリングを用いてI/O、GPUサフィックスソーティング、CPUベースのランク計算および挿入ステージをパイプライン化し、スループットを最大化する。
  • ページド配列と出現回数カウンタを維持し、ページド配列に2n log σビット、カウンタに最大n log σビットを割り当て、合計で≤ 3n log σビットのシステムメモリを用いる。

実験結果

リサーチクエスチョン

  • RQ1BWT構築アルゴリズムは、大規模並列処理とインクリメンタル性を両立させ、インデックスへの動的更新を可能にできるか?
  • RQ2大規模なBWT構築において、外部メモリアクセスの性能ボトル neck をどのように低減できるか?
  • RQ3深いつながりのあるメモリ階層を持つGPUアクセラレートBWT構築において、高いスループットを達成する最適なメモリアクセスパターンは何か?
  • RQ4ブロック単位の前方処理アプローチは、現代の共有メモリシステムにおいて、後方処理やブロック単位のソーティングと比較してより優れた性能を発揮できるか?

主な発見

  • 短尺ゲノムリード(101bp)では、set-bwteは以前の最速非インクリメンタルアルゴリズム(ropebwt-bcr)の2倍まで高速であり、最新のインクリメンタルアルゴリズム(ropebwt2)と比較してほぼ3倍の高速化を達成した。
  • 長尺リード(875bp)では、ropebwt2に対して6.5倍の性能向上が得られ、リード長に伴うスケーラビリティの優位性が顕著に現れた。
  • Xeon E5-2597-v2システムでは、短尺リードの処理においてランク計算が性能ボトル neck となっており、GPUサフィックスソーティングステージよりもほぼ3倍の時間がかかっていた。
  • NA12878データセットでは、サフィックスソーティングで77 Mbp/s、挿入で98 Mbp/sのスループットを達成したが、ランク計算が最も遅く、37 Mbp/sであった。
  • アルゴリズムは定数のハイブリッド帯域幅メモリのみを用い、システムメモリは最大で3n log σビットに抑えられ、大規模応用に適したメモリ効率を実現した。
  • アルゴリズムの性能は平均リード長に対して相対的に感度が低く、多様なゲノムデータセットにわたって堅牢であることが示された。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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