Skip to main content
QUICK REVIEW

[論文レビュー] Computing alignment plots efficiently

Peter Krusche, Alexander Tiskin|ArXiv.org|Sep 10, 2009
Algorithms and Data Compression参考文献 11被引用数 4
ひとこと要約

この論文では、編集距離をハミング距離の代わりに使用することで、データ並列アルゴリズムを高度に効率化し、ベクトル化された演算とseaweedアルゴリズムを活用して、標準的な動的計画法よりも最大10.2倍の高速化を達成した。この手法は、γ幅のベクトル演算を用いて、2つの文字列のすべてのwウィンドウペア間の編集距離をO(mnw/γ)時間で計算する。実験結果から、生物学的配列において顕著な性能向上と強い並列スケーラビリティが示された。

ABSTRACT

Dot plots are a standard method for local comparison of biological sequences. In a dot plot, a substring to substring distance is computed for all pairs of fixed-size windows in the input strings. Commonly, the Hamming distance is used since it can be computed in linear time. However, the Hamming distance is a rather crude measure of string similarity, and using an alignment-based edit distance can greatly improve the sensitivity of the dot plot method. In this paper, we show how to compute alignment plots of the latter type efficiently. Given two strings of length m and n and a window size w, this problem consists in computing the edit distance between all pairs of substrings of length w, one from each input string. The problem can be solved by repeated application of the standard dynamic programming algorithm in time O(mnw^2). This paper gives an improved data-parallel algorithm, running in time $O(mnw/γ/p)$ using vector operations that work on $γ$ values in parallel and $p$ processors. We show experimental results from an implementation of this algorithm, which uses Intel's MMX/SSE instructions for vector parallelism and MPI for coarse-grained parallelism.

研究の動機と目的

  • ハミング距離の代わりに編集距離を用いることで、生物学的配列比較におけるドットプロットの感度を向上させること。
  • 入力サイズに比例して効率的にスケーリングする実用的で高性能なアラインメントプロット計算アルゴリズムを開発すること。
  • ベクトル化演算と並列処理を活用して、繰り返し動的計画法を用いる場合と比較して実行時間を大幅に短縮すること。
  • SIMDおよびMPIを用いて、実際の生物学的配列を対象に、スケーラビリティと性能向上を実証すること。

提案手法

  • アルゴリズムは、半局所的シーケンスアラインメントのためのseaweedアルゴリズムを用いて、2つの文字列のすべてのwウィンドウペア間の編集距離を計算する。
  • γ幅の値に対してベクトル化された演算を適用し、複数のアラインメントスコアを並列処理することで、時間計算量をO(mnw/γ)に低減する。
  • ギャップペナルティをモデル化するために、各文字の前に特別な文字を挿入することで入力文字列を変換し、標準的なLCS計算によって編集スコアが得られるようにする。
  • seaweedアルゴリズムに必要な最高スコアの部分行列を効率的に計算するために、分布行列を用いる。
  • 実装にはC++を用い、Intel MMXおよびSSEインライン関数を用いてベクトル並列処理を実現し、MPIを用いて複数プロセッサ間での粗い粒度の並列化を実施する。
  • ウィンドウサイズw = 100を最適化対象としており、アラインメントDAGの定数サイズの拡大を考慮し、入力文字列を事前にw = 200に変換する。

実験結果

リサーチクエスチョン

  • RQ1繰り返し標準的な動的計画法を適用するのとは異なり、アラインメントプロットをより効率的に計算できるか?
  • RQ2ベクトル化演算と並列処理を用いることで、アラインメントプロットの編集距離計算の実行時間はどの程度短縮できるか?
  • RQ3実際の生物学的配列において、seaweedベースのアルゴリズムはBLCS やヒューリスティックDPといった既存手法と比べて実際の性能でどう異なるか?
  • RQ4大規模な配列比較において、マルチコアおよび分散システムにおけるこのアルゴリズムのスケーラビリティはどの程度か?

主な発見

  • 8ビットベクトル演算(Sea-8)を用いたLinuxデスクトップ環境下で、ヒューリスティックDP法(Heur)よりも最大10.2倍の高速化が達成された。
  • 長さ200の配列に対して、Sea-8実装は、既存で最も優れた手法(BLCS)よりも7倍以上も高速であった。
  • 64コアのIBM HPCクラスタ上では、最大データセットに対して、シングルコアのHeur法と比較して20.5倍の高速化が達成された。
  • MPIを用いたスケーリングにおいて、1から64コアに拡張した際、最大データセットで14.9倍の高速化が示され、強力なスケーラビリティを示した。
  • 8ビット演算(Sea-8)を用いることで、16ビット演算(Sea-16)と比較して実行時間が2.6倍短縮された。これはデータ型最適化の利点を示している。
  • 全テストデータセットにおいて、BLCSおよびHeurの両方を上回る性能を示し、特に長配列において最大の性能向上が観察された。

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

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

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

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